Use case
The spring animation is used all over iOS, and is critical to building widgets with iOS look and feel. Although Flutter currently provides spring simulators, they're not directly usable as animation curves.
Proposal
The spring animation is introduced here: https://developer.apple.com/videos/play/wwdc2023/10158/
Goals:
- Various ways to construct
- Presets: Smooth, bouncy, flattened
- Customize with
bounceandduration - Professional customization with
mass,stiffness, anddamping
- Velocity: Smoothly connect animations
- Settling time: Continue the long-tail animation beyond
duration
Convert (Wrong formula from Apple. We've figured out the right one):bounce and duration to detailed parameters (from the video)

Questions:
- How
extraBounceis applied- Done. The
extraBounceis directly added tobounce.
- Done. The
- How
settlingDurationis derived (we might not need it since our spring simulator allows a settling tolerance)