anchor.diff:        poolable.atSCTransform.toIdentity();
         poolable._updateMatrix();
         poolable.tag = 606;
  +      // Setting dirty=false is very important for this Node because this
  +      // Node manages its own matrix. Setting it to True will cause the
  +      // transform stack to overlay it--not good.
  +      poolable.dirty = false;
         return poolable;
       }
       return null;
  
positive.code:   
    double get currentScale => atSCTransform.a;
  
    @override
    void draw(Ranger.DrawContext context) {
      super.draw(context);
  
negative.code: /**
   * This may be converted to a mixin.
   */
  class ZoomGroup extends Ranger.GroupNode with UTE.Tweenable {
    static const int TWEEN_SCALE = 1;
  
    bool _zoomDirty = true;
    Vector2 scaleCenter = new Vector2.zero();
  