anchor.diff:  
     function addShape(assetId, assetPath) {
   
  -    var coord = getRandomLeftTop();
  +    var coord = {
  +      left: (- canvas.viewport.position.x / canvas.viewport.zoom) + ( canvas.width / canvas.viewport.zoom / 2),
  +      top: (- canvas.viewport.position.y / canvas.viewport.zoom) + ( canvas.height / canvas.viewport.zoom / 2)
  +    };
   
       fabric.loadSVGFromURL(assetPath, function(objects, options) {
   
  
positive.code:     canvas.add(line);
    });
  
    var boundingBox = new fabric.Rect({
      fill: "transparent",
      width: 6000,
      height: 4000,
      hasBorders: false,
      hasControls: false,
      lockMovementX: true,
      lockMovementY: true,
      evented: false,
      selectable: false,
      stroke: "#333"
    });
  
    canvas.add(boundingBox);
  </script>
negative.code:           angle: <%= element.angle %>,
            fill: "<%= element.fill %>",
            id: <%= element.id %>,
            floor: <%= element.floor %>,
            element_type_id: <%= element.element_type_id %>,
            range_up: <%= element.range_up %>,
            range_down: <%= element.range_down %>,
  