{
   "svg":"",
   "definitions":[
   {
     "name":"OFFSET",
     "value":"25.0"
   },
   {
     "name":"SCALE",
     "value":"200.0"
   },
   {
     "name":"WID",
     "value":"SCALE + OFFSET"
   },
   {
     "name":"conv",
     "value":"%xx.(xx:REAL|xx * SCALE + WID)"
   },
   {
     "name":"dist",
     "value":"RSQRT(x * x + y * y)",
     "comment": "distance to origin"
   },
   {
     "name":"VISB_SVG_BOX",
     "value":"rec(height:2.0 * WID,width:2.0 * WID)"
   },
   {
     "name":"VISB_SVG_OBJECTS1",
     "value":"rec(svg_class:\"rect\",height:2.0 * SCALE,width:2.0 * SCALE,stroke:\"gray\",fill:\"none\",x:OFFSET,y:OFFSET)"
   },
   {
     "name":"VISB_SVG_OBJECTS2",
     "value":"rec(svg_class:\"circle\",r:5,fill:\"red\",cx:conv(x),cy:conv(-y),title:```x:$[2f]{x},y:$[2f]{y},distance:$[2f]{dist}```)"
   },
   {
     "name":"VISB_SVG_OBJECTS3",
     "value":"rec(svg_class:\"polyline\",transform:```translate(${OFFSET},${WID})```, points:svg_axis({x|x:0..400 & x mod 20=0},1.0,400.0,5.0),stroke:\"gray\")",
     "comment":"horizontal x-axis"
   },
   {
     "name":"VISB_SVG_OBJECTS4",
     "value":"rec(svg_class:\"polyline\",transform:```translate(${WID},${OFFSET}) rotate(90.0) ```, points:svg_axis({x|x:0..400 & x mod 20=0},1.0,400.0,5.0),stroke:\"gray\")",
     "comment":"vertical y-axis"
   },
   {
     "name":"VISB_SVG_OBJECTS5",
     "value":"rec(svg_class:\"circle\",cx:WID,cy:WID,r:SCALE,fill:\"none\",stroke:\"gray\")",
     "comment":"position of object"
   },
   {
     "name":"VISB_SVG_OBJECTS6",
     "value":"rec(svg_class:\"polyline\",points:svg_points(EVAL_OVER_HISTORY((x*200.0+225.0) |-> (-y*200.0+225.0),- 1)),`stroke-dasharray`:\"2 2\",fill:\"none\",stroke:\"gray\")",
     "comment":"we cannot use conv here, VisB DEFS are not visible to external function"
   }
   ]
}
