Bundled CDN files for TweenRex
npm install tweenrexReactive Tweening Engine

- Playback controls: play, pause, reverse, playbackRate, seek, labels, etc.
- Animate anything with render functions
- Scroll sync any element to an animation, not just the documentElement
- Simple Reactive API with no strings attached
- Super tiny with plans to stay that way
- Free for commercial and non-commerical use under the MIT license
![]() Dinos Unite! (Sub-tweens with TweenRex) | ![]() Syncing Horizontal Scroll with TweenRex |
Name | Description |
--- | --- |
TweenRex | Animate over time with complex choregraphy. Includes sub-tweens, full replay controls, seeking, and playback rate controls. |
TyrannoScrollus | Sync animations to horizontal or vertical scroll position of elements |
TRexObservable | General Observable for reacting to values over time. BehaviorSubject in RxJs is a close approximation. This is the base class for other types of tweens. |
Install one or more of the following packages by running this command: ``npm i {package} -S`
Package | Status | Description |
-- | -- | -- |
| @tweenrex/core |  | This package contains TweenRex, TyrannoScrollus, and TRexObservable. It contains all you need for animation at minimum. |
| @tweenrex/render |  | This package contains interpolate and other rendering functions. This package is intended to help reduce boilerplate code and streamline development while creating typical animations. |
Link | Description |
-- | -- |
|tweenrex.min.js | This script adds TweenRex, TyrannoScrollus, and TRexObservable to the global window variable. This the a pre-bundled version of @tweenrex/core. |
|tweenrex-render.min.js | This script adds interpolate to the `tweenrex`` global window variable. This is a pre-bundled version of @tweenrex/render. |
|tweenrex-all.min.js | This script is a combination of all other scripts. This is meant primarily for code playgrounds like CodePen. |
Name | Type | Description |
--- | --- | --- |
Just Curves | Easing | A library of reusable easing functions. Includes all Penner easings and functions for creating custom cubic-bezier and step easings. It also can parse all CSS timing functions from a string. |
Flubber| SVG | Morph SVG with this heavy-weight library. This library does a great job of morphing between very different shapes at runtime. It cannot handle holes in SVG, but it has a large arsenal of helper functions. It is about 53 KB minified. This is a good choice when smoothness of animation trumps all other needs.|
Path.js | SVG | Simple SVG morphing library that can tween between two paths with matching SVG commands and the same number of segments. It is about 4KB minified. This library is a good choice when the SVG's are highly optimized for one another.|
Polymorph | SVG | Morph SVG Paths with this lightweight library. It can support variable length paths in addition to handling holes in SVGs. It is just under 6KB minified. It is a good all around choice for performant morphs of highly variable complex paths.|