animationSafe static method
d floored at kMinEffectMs. Overlays run every duration through this
before repeat() / forward(): a zero-length controller asserts in
debug and throws each frame in release, whatever its source (a backend
knob, a host-set static, a wire duration_ms).
Implementation
static Duration animationSafe(Duration d) =>
d.inMicroseconds < kMinEffectMs * 1000
? const Duration(milliseconds: kMinEffectMs)
: d;