     node.back     = @options.timer.doTask => @back?.clone()
 
 
+
+
   constructor: (polygons, @options={}) ->
     if polygons? and not (polygons instanceof Array)
       @options = polygons

    @matrix ?= new THREE.Matrix4()

    # Start a timer if one wasn't passed
    @options.timer ?= new Timelimit(@options.timeout)

    @tree   = @toTree treeIsh



  check: =>
    return unless @started?
    returning (elapsed = (Date.now() - @started)), =>
      if elapsed >= @timeout ? Infinity
        throw new Error("Timeout reached: #{elapsed}/#{@timeout}")

  start: =>
