anchor.diff:   static const PAN = 2;
   }
   
  -class Screen {
  -  num width, height, offsetLeft, offsetTop;
  -  Screen({this.width, this.height, this.offsetLeft, this.offsetTop});
  -}
   class TrackballControls extends EventEmitter {
   
     int _state, _prevState;
     Object3D object;
     Element domElement;
     bool enabled;
  -  Screen screen;
  -  num radius;
  +  Rect screen;
     num rotateSpeed,
         zoomSpeed,
         panSpeed;
     bool noRotate,
          noZoom,
  -       noPan;
  +       noPan,
  +       noRoll;
     bool staticMoving;
     num dynamicDampingFactor;
     num minDistance, maxDistance;
  
positive.code: 
      enabled = true;
  
      screen = new Screen( width: 0, height: 0, offsetLeft: 0, offsetTop: 0 );
      radius = ( screen.width + screen.height ) / 4;
  
      rotateSpeed = 1.0;
      zoomSpeed = 1.2;
      panSpeed = 0.3;
  
negative.code: 
  
      // methods
      handleResize () { 
        if ( domElement == document ) {
          screen
          ..left = 0  
          ..top = 0  
          ..width = window.innerWidth  
          ..height = window.innerHeight;  
        } else {  
          screen = domElement.getBoundingClientRect();
        }    
      }
  
  
      handleEvent( event ) {
        dispatchEvent(event);
  