🎞️ animate
Animation Library for Rust.

Disclaimer
Using animate in multithreaded environments will likely cause undefined behavior. The library is designed around the assumption that render loops run on a single thread, the inverse is not supported (yet).
Features
- Lightweight: Zero dependencies by default.
- Ergonomic: Macro-driven API with minimal boilerplate.
- Extensible: Many built-in types with support for custom interpolators.
- Animation modes:
#[once],#[cycle], and#[alternate]. - Easing: Built-in and custom easing functions.
- Ratatui-friendly: Interpolators for ratatui types, gated behind the
ratatuifeature flag.
Installation
Getting started
Add #[animate] to a struct and mark the fields you want to animate:
Use get() to read and set() to write animated fields. Place animate::tick() at the start of each frame as this avoids unnecessary computations within same render frame.
loop
Minimal example
use animate;
use ;