eazy 0.0.0

The tweening & easing functions kit for high-performance animation.
Documentation

eazy.

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 BLAZiNGLY FAST AND MATHEMATiCALLY OPTiMiZED EASiNG FUNCTiONS KiT.

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;
use eazy::easing::oscillatory::bounce::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}");
  }
}

cargo run -p eazy --example derive-tweenable

MORE EXAMPLES here.

embbedable.

YOU ARE A bevy GAMER USER? @see — eazy-bevy.
YOU ARE A egui CRAFTER USER? @see — eazy-egui.
YOU ARE A wasm HACKER USER? @see — eazy-wasm.
YOU ARE A low-level PROGRAMMER USER? @see — eazy-wasm.

those contains everything you need to use eazy in without changing your paradigme.

functions.

easing.

  • POLYNOMiAL.

    • LiNEAR.
    • QuADRATiC.
    • CuBiC.
    • QuARTiC.
    • QuiNTiC.
    • SEXTiC.
    • SEPTiC.
    • OCTiC.
    • NONiC.
    • DECiC.
    • HECTiC.
  • TRiGONOMETRiC.

    • SiNE.
    • CiRCLE.
  • EXPONENTiAL.

    • EXPO2.
    • EXPOE.
  • LOGARiTHMiC.

    • LOG10.
  • ROOT.

    • SQRT.
  • OSCiLLATORY.

    • ELASTiC.
    • BOuNCE.
  • BACKTRACKiNG.

    • BACK.

interpolation.

  • LiNEAR.

    • LERP.
  • POLYNOMiAL.

    • SMOOTHSTEP.
    • SMOOTHERSTEP
    • CuBiC.
    • QuARTiC.
    • QuiNTiC.
    • LAGRANGE.
    • NEWTON.
  • RATiONAL.

    • QuADRATiC
    • CuBiC.
  • PiECEWiZE.

    • POLYNOMiAL
    • QuADRATiC
  • TRiGONOMETRiC

    • SiNuSOiDAL.

benches.

beat'em up!

BENCHES ARE DONE iN COMPARiSON BETWEEN bevy_tween, easings, emath (FROM egui) , glissade, interpolation, 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.

bench-in-back-average-time

what's next?

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

contributing.

FEEL FREE TO OPEN AN iSSUE iF YOU WANT TO CONTRiBUTE. ALSO YOU CAN CONTACT US — THE [AT] COMPiLORDS [DOT] HOUSE.

license.

APACHEMIT

COPYRiGHT© 10 JULY 2024PRESENT, @invisageable.