Repository navigation
Animato v1.7.0 — Motion Macro
Animato v1.7.0 — Motion Macro
Animato v1.7.0 ships the Motion Macro — a declarative animato!{} DSL layer
that turns Animato from a powerful low-level animation engine into a high-level
animation authoring toolkit, while preserving the stable renderer-agnostic core.
Highlights
- New
animato-macrocrate with a procedural macro DSL for declarative
animation authoring — tweens, springs, keyframes, timelines, stagger
patterns, motion paths, morphing, SVG draw, color interpolation, waveforms,
and built-in presets. - Seven public macros:
animato!{},motion!{},tween!{},spring!{},
timeline!{},keyframes!{},preset!{}. - Five feature-gated framework helper macros:
leptos_motion!{},
dioxus_motion!{},yew_motion!{},bevy_motion!{},wasm_motion!{}. - Twenty-three built-in animation presets:
fade_in,fade_out,slide_in,
slide_out,scale_in,scale_out,bounce_in,bounce_out,
modal_enter,modal_exit,drawer_open,drawer_close,toast_enter,
toast_exit,page_enter,page_exit,stagger_children,
loading_pulse,loading_wave,shake,wiggle,heartbeat,float,
shimmer. - New
preludemodule on theanimatofacade for ergonomic macro-friendly
imports. - Twelve new examples demonstrating every DSL category.
- Five new documentation files covering the macro guide, full DSL grammar,
copy-paste recipes, framework helpers, and expansion reference. - Full
trybuildcompile-pass and compile-fail test suite with span-aware
diagnostics and "did you mean…?" suggestions. - Runtime parity tests verifying macro-generated animations match manual
builder construction. - The
macrofeature is opt-in and non-default —no_stdusers and focused
sub-crate users are completely unaffected.
Install
[dependencies]
animato = "1.7.0"[dependencies]
animato = { version = "1.7.0", features = ["macro"] }npm install @aarambhdevhub/animato-coreCrates published to crates.io
| Crate | Version | Description |
|---|---|---|
animato-core |
1.7.0 |
Traits, interpolation, easing, and inspection primitives |
animato-color |
1.7.0 |
Perceptual color wrappers |
animato-tween |
1.7.0 |
Tween<T> and keyframe tracks |
animato-spring |
1.7.0 |
Scalar and component springs |
animato-path |
1.7.0 |
Bezier, SVG paths, motion paths, morphing |
animato-physics |
1.7.0 |
Inertia, drag, and gesture recognition |
animato-driver |
1.7.0 |
Drivers, clocks, recording, inspection, profiling |
animato-timeline |
1.7.0 |
Timeline, sequence, and stagger composition |
animato-gpu |
1.7.0 |
GPU/CPU fallback batch tween evaluation |
animato-wasm |
1.7.0 |
rAF and DOM helpers |
animato-bevy |
1.7.0 |
Bevy integration plugin |
animato-leptos |
1.7.0 |
Leptos signal hooks and components |
animato-dioxus |
1.7.0 |
Dioxus signal hooks and native helpers |
animato-yew |
1.7.0 |
Yew hooks, components, gestures, and agents |
animato-devtools |
1.7.0 |
Timeline inspector, easing editor, spring visualizer, recorder, perf monitor |
animato-macro |
1.7.0 |
Declarative animato!{} Motion Macro DSL |
animato-js |
1.7.0 |
WASM bindings published to NPM as @aarambhdevhub/animato-core |
animato |
1.7.0 |
Stable facade crate |
Verification
cargo fmt --checkcargo clippy --workspace --all-features -- -D warningscargo test --workspace --all-featurescargo test --workspace --no-default-featurescargo test -p animato --all-features --examplescargo test -p animato-macrocargo test -p animato --features macro --test trybuild_suitecargo test -p animato --features macro --test macro_runtime_paritycargo doc --workspace --all-features --no-deps- WASM checks for framework crates,
animato-js, andanimato-devtools - JavaScript package build, browser tests, and examples
cargo bench --workspace --no-runcargo publish --dry-runfor every crate before publish
Documentation
- README
- Motion Macro
- Macro Reference
- Macro Recipes
- Macro Frameworks
- Macro Expansion
- JavaScript integration
- Full API map
- Testing
- Release process
- Changelog
What's Changed
- docs: add Animato v1.7.0 Motion Macro roadmap by @aarambh-darshan in #45
- feat(v1.7.0): implement Motion Macro DSL — declarative animato!{} animation authoring by @aarambh-darshan in #46
Full Changelog: v1.6.0...v1.7.0