Head to head
Stop guessing which one. Put them side by side.
Up to 4 tools, same rows for each: what it is, what it really costs, the trap, and how to wire it up. The URL carries your picks — send it to anyone.
Three.jsGSAP + ScrollTriggerMotion (was Framer Motion)
Quick read
- Editor's picks: GSAP + ScrollTrigger, Motion (was Framer Motion).
| Field | Three.jsthreejs.org | GSAP + ScrollTriggergsap.com | Motion (was Framer Motion)motion.dev |
|---|---|---|---|
| What it is | The de-facto web 3D engine: scene graph over WebGL and now WebGPU, with cameras, lights, PBR materials and glTF/DRACO/KTX2 loaders. Current release r185. Measured at ~182 kB gz full, ~110–150 kB gz tree-shaken. | Framework-agnostic animation engine whose differentiator is the timeline model: sequence, offset, nest, reverse and scrub complex choreography with precise control. ScrollTrigger handles scroll-driven and pinned animation; SplitText does per-character reveals. | Renamed from Framer Motion and spun out as an independent MIT project at motion.dev. Declarative animation via props, AnimatePresence for exits, layout/layoutId for shared-element transitions, variants for staggering, useScroll for scroll-linked values. |
| Category | Animation & motion | Animation & motion | Animation & motion |
| Cost tier | free | free | free |
| Pricing | Free · MIT | Free — all plugins, since 2025 | Free MIT · Motion+ €299 once |
| Why builders pick it | Only if your project genuinely needs a 3D object — a rotating camera body, an interactive gear explainer. On a photo-led publication, 150 kB+ of engine competes directly with your actual images for LCP. | This is the scrolled-feature-article tool. Pinned photo sequences, a headline that assembles as you scroll, a timeline piece that scrubs — that is ScrollTrigger, and nothing else comes close. Webflow acquired GreenSock and made every formerly-paid plugin free in 2025. Core + ScrollTrigger + SplitText is ~49 kB gz. | Page and route transitions between article and index, staggered card reveals on the issue grid, image-to-lightbox shared-element morphs. Composes cleanly with Tailwind and shadcn. Use LazyMotion + the m component to land near 18 kB instead of 38 kB. |
| Watch out for | Still pre-1.0 (0.185.x) and minor bumps carry breaking changes — pin the version. Do not use it for decorative 2D motion; a CSS gradient gets 90% of the effect for 0 kB. | Free but not OSI open source — a custom Webflow-owned licence that bars using GSAP inside competing no-code animation builders. Building scroll-driven features with it is squarely permitted. Release cadence has slowed to 2–3/year under Webflow. | Do not build long scroll narratives with useScroll — once you need pinning and scrubbing you are rebuilding ScrollTrigger badly. Do not wrap hundreds of list items in motion.div. |
| How to wire it up | npm install three @types/three | npm install gsap @gsap/react | npm install motion |
| Editor's pick | No | Yes | Yes |
Which one did you ship?
The grid says what these tools are. This says what builders did about it — one decision per person, changeable whenever you change your mind.
0/280Sign in to add yours.
Or try
Hand this to your Lovable agent
# Tool comparison — Three.js vs GSAP + ScrollTrigger vs Motion (was Framer Motion) Source: Kbaise, a directory of tools that work with Lovable projects. Pick one and tell me why before writing any integration code. ## Three.js (three-js) - URL: https://threejs.org/docs/ - Category: Animation & motion - Cost: free — Free · MIT - What it is: The de-facto web 3D engine: scene graph over WebGL and now WebGPU, with cameras, lights, PBR materials and glTF/DRACO/KTX2 loaders. Current release r185. Measured at ~182 kB gz full, ~110–150 kB gz tree-shaken. - Why builders pick it: Only if your project genuinely needs a 3D object — a rotating camera body, an interactive gear explainer. On a photo-led publication, 150 kB+ of engine competes directly with your actual images for LCP. - Trap: Still pre-1.0 (0.185.x) and minor bumps carry breaking changes — pin the version. Do not use it for decorative 2D motion; a CSS gradient gets 90% of the effect for 0 kB. - Wiring: npm install three @types/three - Full dossier: /api/public/tools/three-js ## GSAP + ScrollTrigger (gsap-scrolltrigger) - URL: https://gsap.com/docs/v3/ - Category: Animation & motion - Cost: free — Free — all plugins, since 2025 - What it is: Framework-agnostic animation engine whose differentiator is the timeline model: sequence, offset, nest, reverse and scrub complex choreography with precise control. ScrollTrigger handles scroll-driven and pinned animation; SplitText does per-character reveals. - Why builders pick it: This is the scrolled-feature-article tool. Pinned photo sequences, a headline that assembles as you scroll, a timeline piece that scrubs — that is ScrollTrigger, and nothing else comes close. Webflow acquired GreenSock and made every formerly-paid plugin free in 2025. Core + ScrollTrigger + SplitText is ~49 kB gz. - Trap: Free but not OSI open source — a custom Webflow-owned licence that bars using GSAP inside competing no-code animation builders. Building scroll-driven features with it is squarely permitted. Release cadence has slowed to 2–3/year under Webflow. - Wiring: npm install gsap @gsap/react - Full dossier: /api/public/tools/gsap-scrolltrigger ## Motion (was Framer Motion) (motion) - URL: https://motion.dev/docs/react - Category: Animation & motion - Cost: free — Free MIT · Motion+ €299 once - What it is: Renamed from Framer Motion and spun out as an independent MIT project at motion.dev. Declarative animation via props, AnimatePresence for exits, layout/layoutId for shared-element transitions, variants for staggering, useScroll for scroll-linked values. - Why builders pick it: Page and route transitions between article and index, staggered card reveals on the issue grid, image-to-lightbox shared-element morphs. Composes cleanly with Tailwind and shadcn. Use LazyMotion + the m component to land near 18 kB instead of 38 kB. - Trap: Do not build long scroll narratives with useScroll — once you need pinning and scrubbing you are rebuilding ScrollTrigger badly. Do not wrap hundreds of list items in motion.div. - Wiring: npm install motion - Full dossier: /api/public/tools/motion ## Quick read - Editor's picks: GSAP + ScrollTrigger, Motion (was Framer Motion). ## Rules 1. Prefer the free tier when no budget was stated, and say what the ceiling is. 2. Read the full dossier before integrating. 3. Fetch /api/public/models before writing any AI model ID.
Agents can fetch the same thing: GET /api/public/compare?slugs=three-js,gsap-scrolltrigger,motion