Skip to main content

Crate animato_spring

Crate animato_spring 

Source
Expand description

§animato-spring

Physics-based spring animations using a damped harmonic oscillator.

  • Spring — 1D spring, stack-allocated, no_std-compatible.
  • SpringConfig — stiffness / damping / mass / epsilon, with named presets.
  • [SpringN<T>] — multi-dimensional spring (requires alloc feature).

§Quick Start

use animato_spring::{Spring, SpringConfig};
use animato_core::Update;

let mut spring = Spring::new(SpringConfig::wobbly());
spring.set_target(200.0);

let mut steps = 0;
while !spring.is_settled() {
    spring.update(1.0 / 60.0);
    steps += 1;
    assert!(steps < 10_000, "spring should settle");
}
let pos = spring.position();
assert!((pos - 200.0).abs() < 0.01);

§Feature Flags

FeatureEffect
stdEnables alloc and animato-core/std
allocEnables [SpringN<T>] (multi-dimensional spring)
serdeDerives Serialize/Deserialize on public types

Re-exports§

pub use config::SpringConfig;
pub use spring::Integrator;
pub use spring::Spring;

Modules§

config
SpringConfig — parameters that control spring behaviour.
spring
1D Spring — damped harmonic oscillator.