       console.log "! lnk1 " + e.constructor.name
       @placingLink.ln.geom.vertices[1] = ixs[0].object.linep
       ixs[0].object.lines.push(@placingLink.ln)
+
+      @ve.surface.updateLink(@placingLink.ln)
+      
 
       @ve.container.onmousemove = null
       @ve.container.onmousedown = (eve) => @baseDown(eve)

    else
      console.log "! lnk0 miss"


  linkingDown1: (event) ->
    @ve.raycaster.setFromCamera(@pos, @ve.camera)
    ixs = @ve.raycaster.intersectObjects(@ve.surface.baseRect.obj3d.children)


    else if ixs.length > 0 and
      ixs[0].object.userData instanceof Surface
        console.log "! surface clear " + ixs.length
        @ve.surface.clearSelection()

  linkingDown0: (event) ->
    @ve.raycaster.setFromCamera(@pos, @ve.camera)
