anchor.diff:      // Iterate "upwards" starting with the child towards the parents
       // starting with this child's parent.
       BaseNode p = _parent;
  -    
  +
       while (p != null) {
         AffineTransform parentT = p.calcTransform(); // Non-pooled object 
   
  
positive.code:    * The result are in [Point]s.
     * Note: The returned object is poolable.
     *     Remember to call the object's [moveToPool] method when finished.
     */
    Vector2P convertWorldToNodeSpace(Vector2 point) {
      AffineTransform wnt = worldToNodeTransform();
      Vector2P p = PointApplyAffineTransform(point, wnt);
      wnt.moveToPool();
      return p; // Remember to call moveToPool on "p"
  
negative.code:       // [child] x [parent ofchild] x [parent of parent of child]...
        //
        // In other words the child is mutiplied "into" the parent.
        
        affineTransformMultiplyFrom(comp, parentT);   // <--- correct
  
        if (p == psuedoRoot)
          break;
        
        // next parent upwards 
        p = p._parent;
      }
  
      return comp;  // return pooled object
    }
    
    double nodeToWorldScale() {
      double scale = uniformScale;
      
  