Skip to main content

Crate animato_driver

Crate animato_driver 

Source
Expand description

§animato-driver

Runtime management for Animato animations.

  • AnimationDriver — owns and ticks many animations; auto-removes completed ones.
  • Clock — trait abstracting time sources.
  • WallClock — real wall-clock time via std::time::Instant.
  • ManualClock — caller-driven time for custom loops.
  • MockClock — fixed-step clock for deterministic tests.

§Quick Start

use animato_driver::{AnimationDriver, MockClock, Clock};
use animato_tween::Tween;
use animato_core::{Easing, Update};

let mut driver = AnimationDriver::new();
let id = driver.add(
    Tween::new(0.0_f32, 100.0)
        .duration(1.0)
        .easing(Easing::EaseOutCubic)
        .build()
);

let mut clock = MockClock::new(1.0 / 60.0);
assert!(driver.is_active(id));
for _ in 0..61 { // 61 × (1/60s) > 1.0s → tween completes and is auto-removed
    driver.tick(clock.delta());
}
assert!(!driver.is_active(id)); // auto-removed after completion

Re-exports§

pub use clock::Clock;
pub use clock::ManualClock;
pub use clock::MockClock;
pub use clock::WallClock;
pub use driver::AnimationDriver;
pub use driver::AnimationId;

Modules§

clock
Time sources for driving animations.
driver
AnimationDriver — owns and ticks multiple animations simultaneously.