 
   # TODO: Integrate this debouncing into the Marking Surface library.
   onMarkChange: ->
-    return if @renderTimeout?
-    @renderTimeout = setTimeout (=> @render arguments...; @renderTimeout = null), 1000 / RENDER_FPS
+    return if @renderTimeout
+    @renderTimeout = setTimeout (=> @render arguments...; @renderTimeout = NaN), 1000 / RENDER_FPS
 
   render: ->
     for point, i in ['p0', 'p1', 'p2', 'p3']


    @controls.moveTo if intersect?
      [intersect.x, intersect.y]
    else
      [
        (@mark.p0[0] + @mark.p1[0] + @mark.p2[0] + @mark.p3[0]) / 4
        (@mark.p0[1] + @mark.p1[1] + @mark.p2[1] + @mark.p3[1]) / 4
      ]

module.exports = AxesTool

    @majorLabelBacker.attr x: majorLengthLabelPoint.x - (LABEL_WIDTH / 2), y: majorLengthLabelPoint.y - (LABEL_HEIGHT / 2)
    @minorLabelBacker.attr x: minorLengthLabelPoint.x - (LABEL_WIDTH / 2), y: minorLengthLabelPoint.y - (LABEL_HEIGHT / 2)

    @majorLengthLabel.attr x: majorLengthLabelPoint.x, y: majorLengthLabelPoint.y, text: "#{Math.floor majorLength * MICONS_PER_PIXEL}µm"
    @minorLengthLabel.attr x: minorLengthLabelPoint.x, y: minorLengthLabelPoint.y, text: "#{Math.floor minorLength * MICONS_PER_PIXEL}µm"

