eazy

Crates.ioeazy
lib.rseazy
version0.0.1
created_at2026-01-03 22:51:44.728581+00
updated_at2026-01-04 23:38:28.800575+00
descriptionThe tweening & easing functions kit for high-performance animation.
homepage
repositoryhttps://github.com/invisageable/zo/tree/main/sources/tweener
max_upload_size
id2020893
size184,679
invisageable (invisageable)

documentation

README

sources — tweener.

invisage/zov Latest version Documentation license: APACHE license: MIT


[zo@eazy] booting...
✓ loading easing curves...
✓ registered 96 profiles
✓ optimized easing functions
✓ vectorizing interpolations...
✓ compiling benchmarks...
✓ ready to smooth your pixels
✓ done in 0.0026s

eazy — THE TWEENiNG & EASiNG FUNCTiONS KiT FOR HiGH-PERFORMACE ANiMATiON.

Home

about.

eazy iS AMONG THE FASTEST, ATOMiC AND ENHANCED easing FUNCTiONS KiT WRiTTEN iN RUST FOR CREATiVE, GAMERS, PROGRAMMERS, SCiENTiSTS, ETC WHO CARES ABOUT METRiCS — @see benchmark.

eazy iS METiCULOUSLY OPTiMiZED iT'S A PERFECT MATCH FOR PRECiSiON OR SOPHiSTiCATED PROGRAMS — SUCH AS GUi, GAME ENGiNE, PLOTS, WEB AND NATiVE APPLiCATiON.

OK-AY, OK-AY — BUT WHY eazy iS OUTPERFORMiNG?

  • MiNiMAL OVERHEAD ABSTRACTiON — inlining, zero vtable lookups.
  • MATHEMATICALLY EFFiCiENT — no branches, no inttermediate allocations.
  • PROPER BENCHMARK DiSCiPLiNE — performance matter.

example.

use eazy::{Curve, OutBounce};

fn main() {
  for time in (0..=100).map(|x| x as f32 / 100.0) {
    let bounce = OutBounce.y(time);

    println!("reaction bounce: {bounce:.3}");
  }
}

MORE EXAMPLES here.

examples.

  • Goto sources/tweener/eazy-examples/*
  • supports for egui.

functions.

easing.

  • linear, quadratic, cubic, quartic, quintic, sextic, septic, octic, monic, decic, hectic, sine, circle, expo2, expoe, log10, sqrt, elastic, bounce, back.

interpolation.

  • lerp, smoothstep, smootherstep, cubic, quartic, quintic, lagrange, newton, quadratic, cubic, polynomial, quadratic, sinusoidal.

benches.

beat'em up!

BENCHES ARE DONE iN COMPARiSON BETWEEN bevy_tween, easings, emathegui , glissade, interpolationpisthon, keyframe, simple-easing2 CRATES. MOST OF THEM ARE FOLLOW THE ROBERT PENNER'S EASiNG FuNCTiONS, THEY ONLY iMPLEMENTED THE BASiCS ONE. REGARDiNG PERFORMANCE SOME OF OuR iMPLEMENTATiONS ARE SLiGHTLY FASTER AND STABLE, SO DEPENDiNG YOUR NEEDED, YOu SHOuLD TRY eazy. THE SAMPLE BELOW CONFiRM THAT OuR EASiNG FuNCTiONS ARE PRETTY WELL OPTiMiZED.

@see @benchmark-reports.

what's next?

  • COMPARE WiTH OTHERS LANGUAGES — js, python, c++, c#.

contributing.

WE LOVE CONTRiBUTORS.

FEEL FREE TO OPEN AN iSSUE iF YOU WANT TO CONTRiBUTE OR COME TO SAY HELLO ON discord. ALSO YOU CAN CONTACT US AT THE [at] COMPiLORDS [dot] HOUSE. THiS iS A PLAYGROUND FOR COMPiLER NERDS, FRONTEND HACKERS, AND CREATIVE.

license.

APACHEMIT

COPYRiGHT© 10 JULY 2024PRESENT, @invisageable.

Commit count: 44

cargo fmt