A JavaScript implementation of CSS cubic-bezier easing functions for precise and performant animations.
BezierEasing is a JavaScript library that implements cubic-bezier easing functions for animations, exactly like CSS Transitions' `transition-timing-function`. It solves the problem of efficiently projecting X coordinates onto a Bezier curve to compute interpolated Y values, enabling smooth, customizable animation easings in JavaScript.
Frontend developers and animation library creators who need precise, performant easing functions for JavaScript-based animations, especially those integrating with React Native or requiring CSS-like easing consistency.
Developers choose BezierEasing for its high performance and precision, directly mirroring browser implementations, ensuring reliable and consistent easing across platforms without the overhead of larger animation libraries.
cubic-bezier implementation for your JavaScript animation easings – MIT License
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the exact cubic-bezier functions as CSS transitions, ensuring cross-platform consistency, as evidenced by its use in React Native and browser-based projects.
Uses fast heuristics like dichotomic search and Newton-Raphson for efficient computation, making it suitable for real-time animations without performance bottlenecks.
A micro library with no dependencies, focused solely on easing functions, which minimizes bundle size and overhead for performance-critical applications.
Projects X to Y values with exact precision, matching browser implementations for reliable and smooth animations, as highlighted in the README's emphasis on algorithm fidelity.
Only supports cubic bezier curves, lacking other common easing functions like springs or bounces, which may require integrating additional libraries for broader animation needs.
Requires manual function calls to compute easing values, unlike modern declarative animation systems that abstract this complexity, adding boilerplate for developers.
The library itself doesn't include a GUI for creating or testing curves; developers must rely on external editors or trial-and-error, as mentioned in the 'See also' link to a separate editor.