anchor.diff:    Ranger.OverlayLayer _loadingOverlay;
     Ranger.SpriteImage _overlaySpinner;
   
  -  // Center Zone = scroll ring
  +  // Center Zone = auto scroll ring
     double centerZoneRadius = 0.0;  // computed below
  -  SingleRangeZone _centerZone;
  +
     StreamSubscription _centerZoneSubscription;
  -
  +  bool autoScrollEnabled = true;
  +  
     Vector2 shipHudPosition = new Vector2.zero();
     Vector2 zoneEdgePosition = new Vector2.zero();
     Vector2 scrollDirection = new Vector2.zero();
  -
  -  static const double DampingMax = 0.2;
  -  static const double DampingMin = 0.1;
  -  double damping = DampingMax;
  -  double dampingFalloff = 0.05;
  -  bool _dampingEnabled = true;
  +  Vector2 hudOrigin = new Vector2.zero();
  +
  +  AutoScroll autoScroll;
     
     HudLayer();
   
  
positive.code: 
      seq.start();
  
    }
    
    // Should be called when zoom changes.
  
negative.code:     Ranger.Size<double> size = contentSize;
      double hWdith = size.width / 2.0;
      double hHeight = size.height / 2.0;
  
      GameManager gm = GameManager.instance;
  
      addChild(gm.spikeShip, 10);
      gm.spikeShip.configure(this);
      gm.spikeShip.uniformScale = gm.spikeShip.baseScale = 25.0;
      gm.spikeShip.visible = false;
  
      Ranger.Application.instance.eventBus.on(ZoomGroup).listen(
      (ZoomGroup zg) {
        gm.spikeShip.uniformScale = gm.spikeShip.baseScale * zg.currentScale;
      });
  
      //---------------------------------------------------------------
      // Create nodes.
  