xen-animation
A high-performance, framework-agnostic animation and transition library for Rust.
xen-animation provides a centralized animation system with CSS-compatible easing functions, transitions, interpolation, and frame-based animation management. It is designed to be reusable across GUI frameworks, game engines, real-time applications, and custom renderers.
Callers never own a timer themselves - they only report their current target value every frame through [AnimationManager::set_target], and the manager owns the entire lifecycle: starting, easing, retargeting mid-flight, and settling once the transition finishes.
Features
- CSS-compatible cubic-bezier easing
- Built-in easing presets (
linear,ease-in,ease-out,ease-in-out) - Custom cubic-bezier curves
- Centralized
AnimationManager, generic over any hashable key type - Multiple concurrent, independently keyed animations
- Duration, delay, and per-property transition overrides
- Zero rendering dependencies
Example
use Duration;
use ;
Installation
Cargo.toml
[]
= "0.1.3"
License
Apache License 2.0 © 2026 randseas. See LICENSE for details.