This library implements the basic physics-based primitives we use in Yoyo. The most important task of this library is to support continuous animation.
Continuous animation is when a running, uncompleted animation with a particular value and velocity is replaced with a new animation that starts from that same value and velocity so that it is seemingly one and the same animation to the user.
Example
use Curve;
use Bezier;
use Spring;
// Start a Bezier with strong easing.
let bezier = Bezier ;
// Pause the Bezier midway.
let sample = bezier.approximate;
// Start a spring from the Bezier's state.
let spring = Spring ;
// Verify that the spring's starting velocity equals the Bezier's midway
// velocity.
assert_eq!;