anchor.diff:        growthDirection: GrowthDirection.forward,
         advance: childAfter,
         remainingCacheExtent: forwardDirectionRemainingCacheExtent,
  -      cacheOrigin: centerOffset.clamp(-cacheExtent, 0.0),
  +      cacheOrigin: centerOffset.clamp(-_calculatedCacheExtent, 0.0),
       );
     }
   
  
positive.code:   double _maxScrollExtent;
    bool _hasVisualOverflow = false;
  
    @override
    double get anchor => _anchor;
  
  
negative.code:         growthDirection: GrowthDirection.reverse,
          advance: childBefore,
          remainingCacheExtent: reverseDirectionRemainingCacheExtent,
          cacheOrigin:
              (mainAxisExtent - centerOffset).clamp(-_calculatedCacheExtent, 0.0),
        );
        if (result != 0.0) return -result;
      }
  