transform method
Calculates the scale to apply based on the intrinsic widget size.
Implementation
@override
double transform(Size size, double scale) {
final double longestSide = size.longestSide;
final double normalizedSize = longestSide / referenceSize;
final double perceivedIntensity = pow(normalizedSize, exponent).toDouble();
final double effectMultiplier = 1.0 / perceivedIntensity;
final double scaleOffset = (scale - 1.0) * scalingFactor * effectMultiplier;
return 1.0 + scaleOffset;
}