   #- Update loop
 
   tick: (e) =>
-    return if @webGLCrashed
     # seems to be a bug where only one object can register with the Ticker...
     oldFrame = @currentFrame
     oldWorldFrame = Math.floor oldFrame


  constructor: (@world, @normalCanvas, @webGLCanvas, givenOptions) ->
    super()
    @webGLCanvas[0].addEventListener "webglcontextlost", (event) =>
      @webGLCrashed = true
      alert('WebGL crashed. Please reload or try another browser.')
    $(window).on('keydown', @onKeyEvent)
    $(window).on('keyup', @onKeyEvent)
    @normalLayers = []

  #- Changes and events that only need to happen when the frame has changed

  onFrameChanged: (force) ->
    @currentFrame = Math.min(@currentFrame, @world.frames.length - 1)
    @debugDisplay?.updateFrame @currentFrame
    return if @currentFrame is @lastFrame and not force
