     this.animate()
 
 
-  # this function is executed on each animation frame
+  # this is called for each redraw
   animate: ->
     now = (new Date()).getTime()
 

      when 'pause'
        @alg.stop()
      when 'next'
        this.next()
      when 'prev'
        this.prev()
      when 'reset'
        this.to_start()


    if @changers[category] then @changers[category].finish()
    @changers[category] = changer

  to_next: ->
    unless @alg.at_end()
      this.add_changer('move', @alg.next_move().show_do(@world3d))

  to_prev: ->
    unless @alg.at_start()
      this.add_changer('move', @alg.prev_move().show_undo(@world3d))

