Skip to content

Animato v1.7.0 — Motion Macro

Choose a tag to compare

@github-actions github-actions released this 08 Jul 11:50
· 4 commits to main since this release
b8f7f49

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-macro crate 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 prelude module on the animato facade 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 trybuild compile-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 macro feature is opt-in and non-default — no_std users 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-core

Crates 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 --check
  • cargo clippy --workspace --all-features -- -D warnings
  • cargo test --workspace --all-features
  • cargo test --workspace --no-default-features
  • cargo test -p animato --all-features --examples
  • cargo test -p animato-macro
  • cargo test -p animato --features macro --test trybuild_suite
  • cargo test -p animato --features macro --test macro_runtime_parity
  • cargo doc --workspace --all-features --no-deps
  • WASM checks for framework crates, animato-js, and animato-devtools
  • JavaScript package build, browser tests, and examples
  • cargo bench --workspace --no-run
  • cargo publish --dry-run for every crate before publish

Documentation

What's Changed

Full Changelog: v1.6.0...v1.7.0