DrivenTouchScaleResolver.stevens constructor
DrivenTouchScaleResolver.stevens({})
Stevens' Power Law: Perceived intensity = k × (stimulus intensity)^n For touch feedback, exponent n ≈ 0.3-0.5 is appropriate.
Implementation
DrivenTouchScaleResolver.stevens({
/// Base intensity factor. (0.5-1.2 typical range)
required double baseIntensity,
/// Power law exponent for touch perception. (0.4 is scientifically validated)
double exponent = 0.4,
/// Reference size in pixels for scaling calculations. (100px typical)
double referenceSize = 100.0,
/// Higher minimum scale to prevent over-scaling on small widgets.
double minScale = 0.0,
/// Reasonable maximum scale for subtle effects on large widgets.
double maxScale = 1.0,
/// Scaling multiplier to control overall effect intensity. (0.1-0.3 range)
double scalingFactor = 0.15,
}) : _value = baseIntensity,
_mode = _ScaleMode.stevens {
_parameters = {
'exponent': exponent,
'referenceSize': referenceSize,
'minScale': minScale,
'maxScale': maxScale,
'scalingFactor': scalingFactor,
};
}