Overlays and errors
Animation
Time-based animations driven from a component.
Animations are descriptors
Animate(duration) returns a value type. Chain WithCurve, Reversed,
and Repeat to configure it. The default curve is EaseInOut.
Easing curves
Running an animation
UseAnimation returns a persistent handle for the component. Call
Start(tick) to run the animation; tick is invoked repeatedly at roughly
60 frames per second with the current progress value from 0 to 1.
AnimateForever equals -1; pass it to Repeat for a loop that only
stops when Stop() is called (or the component unmounts, at which point
the effect cleanup runs).
AutoReverse (produced by .Reversed()) plays the animation forward then
backward before counting as one cycle for Repeat.