anchor.diff:        azimuth -= (0.03);
       }
       if (_cpk[Key.UP] != null) {
  -      _polar += (0.03);
  +      polar += (0.03);
       } else if (_cpk[Key.DOWN] != null) {
  -      _polar -= (0.03);
  +      polar -= (0.03);
       }
       if (_cpk[Key.SPACE] != null) {
         azimuth = 0.0;
  -      _polar = 0.0;
  -    }
  -    _polar = _polar.clamp(-Math.PI / 2 + 0.1, Math.PI / 2 - 0.1);
  -    setPosFromSpherical(_radius, azimuth, _polar);
  +      polar = 0.0;
  +    }
  +    polar = polar.clamp(-Math.PI / 2 + 0.1, Math.PI / 2 - 0.1);
  +    setPosFromSpherical(_radius, azimuth, polar);
       addPosFromVec(_lookAtPos);
       lookAt(_lookAtPos);
  +    rollLeft(roll);
     }
   }
   
  
positive.code: class OrbitCamera extends Camera {
    double _radius;
    double azimuth;
    double _polar;
    final VM.Vector3 _lookAtPos = new VM.Vector3.zero();
    num mouseWheelFactor = -0.01;
  
  
negative.code: part of chronosgl;
  
  /// Camera ...
  class Camera extends Spatial {
    Camera(String name) : super(name);
    // Get the model view matrix.  This overwrites the content of parameter m.
  