 
   update: (dt) ->
     super dt
-    @updateStarfield @cameraDelta
+    @updateStarfield @cameraDelta if Vec.magnitudeSquared(@cameraDelta) > 0
 
   draw: =>
     for stars in @starfield


      delta = Vec.sub @center(), @camera2
      for body in @bodies
        body.position = Vec.add body.position, delta
      for particle in @particles
        particle.position = Vec.add particle.position, delta
      @camera1 = Vec.add @camera1, delta
      @camera2 = Vec.add @camera2, delta
      @cameraDelta = delta

  removeParticle: (particle) -> _.without(@particles, particle)
  removeAllParticles: -> @particles = []

  track: (target) ->
    if target
      @tracking = target
      @camera1 = @camera2 = @tracking.position
    else
      if @tracking
        @tracking = {position: @tracking.position}
      else
        @camera1 = @camera2 = @center()

  center: -> [@sizeX/2, @sizeY/2]

