 
   target.matrix.transformPoint(Point(width/2, height/2))
 
-drawCircle = (context, p) ->
+drawCircle = (context, p, transform=Matrix.IDENTITY) ->
+  p = transform.transformPoint(p)
   context.beginPath()
   context.arc(p.x, p.y, 5, 0, 2*Math.PI)
   context.fillStyle = "magenta"

        target = e.target

      if validTarget(target)
        context.withTransform editor.scene.matrix, (context) ->
          drawRect(context, target)

      return unless state.activeElement


          unless targetMap.has target
            targetMap.set target, []

            drawRect(context, target, editor.scene.matrix)

        prev = path[path.length - 1]
        current = viewMatrix.transformPoint localPosition(e, false)

        line = Line
          start: prev
          end: current

        drawLine context, line, "purple", editor.scene.matrix

        targetMap.forEach (intersections, target) ->
          rectLines(target).forEach (targetLine, i) ->
            intersection = line.intersects(targetLine)

            if intersection
              drawCircle context, intersection, editor.scene.matrix

              intersections.push [path.length, i]
              path.push intersection
