Skip to content

Animato v0.4.0 — Paths

Choose a tag to compare

@github-actions github-actions released this 08 May 03:15
· 32 commits to main since this release
20f2c50

Animato v0.4.0 — Paths

The fourth release of the Animato animation library for Rust, adding Bezier curves, motion paths, CatmullRom splines, and SVG path parsing.

Crates published to crates.io

Crate Version Description
animato-core 0.4.0 Traits + 33 easing variants, no_std
animato-tween 0.4.0 Tween<T>, Loop, builder pattern, no_std, KeyframeTrack, serde
animato-spring 0.4.0 Spring, SpringN<T>, 5 presets, no_std
animato-path 0.4.0 Bezier curves, CatmullRom splines, motion paths, SVG parser
animato-driver 0.4.0 AnimationDriver, Clock variants
animato-timeline 0.4.0 Timeline, Sequence, stagger, time scale, callbacks, async wait
animato 0.4.0 Facade — re-exports all of the above

Quick Start

[dependencies]
animato = { version = "0.4.0", features = ["path"] }
use animato::{CubicBezierCurve, MotionPathTween, Easing, Update};

let curve = CubicBezierCurve::new(
    [0.0, 0.0],
    [40.0, 90.0],
    [140.0, -90.0],
    [200.0, 0.0],
);

let mut motion = MotionPathTween::new(curve)
    .duration(1.0)
    .easing(Easing::EaseInOutSine)
    .auto_rotate(true)
    .build();

motion.update(0.016);
let position = motion.value();

What's New in v0.4.0

  • ✅ New animato-path crate
  • ✅ QuadBezier, CubicBezierCurve, and CatmullRomSpline
  • ✅ Arc-length-normalized path evaluation
  • ✅ MotionPath and MotionPathTween with auto-rotate and offsets
  • ✅ CompoundPath, PathCommand, lines, quadratic/cubic curves, and SVG arcs
  • ✅ SvgPathParser for M, L, H, V, C, Q, A, Z plus lowercase relative variants
  • ✅ path facade feature, motion path example, tests, and benchmarks

What's Included

  • ✅ no_std support for animato-core, animato-tween, animato-spring, and fixed path curves in animato-path
  • ✅ Criterion benchmarks for easing, tween, spring, timeline, and paths
  • ✅ CI: stable + beta + nightly toolchains

See CHANGELOG.md and ROADMAP.md for details.