Orravo FX
GPU-first animation and interaction primitives for any WordPress site. Scroll-reveal, parallax, sticky-media scrollytelling, count-up, marquee, magnetic-cursor, tilt, image-compare, lazy Lottie, plus 13 more. Vanilla JS, around 8KB gzipped, IntersectionObserver and rAF-throttled, prefers-reduced-motion aware. Every module enables and disables individually from the admin.
Score a page.
See its motion budget.
This is a UI simulation of the Orravo FX page audit inside the WP admin. Type any page slug to see how many primitives load, whether reduced-motion is being honoured, the on-page bundle size, and the per-frame FPS impact.
Score a page.
Read the motion budget.
Simulated demo. Runs automatically as you scroll. The real plugin walks the DOM and reports against the engine instance.
Everything motion,
nothing extra.
22 built-in modules across 7 packs. One vanilla-JS engine. IntersectionObserver, rAF, GPU transforms. Pauses when off-screen, falls back when reduced-motion is requested.
Click around.
It's all real.
Six interactive previews of the actual Orravo FX modules. No screenshots; these are working mock-ups of what ships in the plugin.
| Attribute | Type | Default | Notes |
|---|---|---|---|
| data-orv-fx | trigger | scroll-reveal | required |
| data-orv-sr-stagger | number | 0 | per-child delay multiplier |
| data-orv-sr-distance | px | 32 | slide distance |
| data-orv-sr-duration | ms | 700 | animation duration |
| Background image | img | data-orv-px-speed="-30" |
| Mid layer | img | data-orv-px-speed="15" |
| Headline | h1 | data-orv-px-speed="35" |
| data-orv-stk-target | slot | pinned media element |
| data-orv-stk-img | url | image to swap on entry |
| Attribute | Type | Default | Notes |
|---|---|---|---|
| data-orv-cu-to | string | required | final value, suffix preserved |
| data-orv-cu-dur | ms | 1200 | animation duration |
| data-orv-cu-easing | enum | out-cubic | linear / out-cubic / out-expo |
| data-orv-mag | trigger | opt-in attribute |
| data-orv-mag-strength | number | 0 to 1, default 0.3 |
| data-orv-tilt-max | deg | max rotation, default 12 |
| data-orv-tilt-persp | px | perspective, default 800 |
| .orv-fx-ic | root | data-orv-fx="image-compare" |
| .orv-fx-ic__before | layer | before image wrapper |
| .orv-fx-ic__after | layer | after image wrapper |
| .orv-fx-ic__handle | handle | draggable divider |
What you get
vs. what they sell you.
ScrollMagic, GSAP ScrollTrigger, AOS, and WOW.js cover slices of this surface area. Most ship behind a paid pro tier or require a large runtime. Orravo FX covers the same primitives in one open install.
| ScrollMagic | GSAP+ScrollTrigger | AOS / WOW.js | Orravo FX | |
|---|---|---|---|---|
| Vanilla JS, no jQuery, no framework | no | no | no | Built in |
| Bundle size (gzipped) | ~8KB | ~85KB GSAP | ~14KB AOS | ~3KB WOW |
| Total runtime dependencies | GSAP | GSAP | none | animate.css |
| Scroll-reveal with stagger | ✓ | ✓ | ✓ | Built in |
| Multi-speed parallax layers | paid plugin | ✓ | no | Built in |
| Sticky-media scrollytelling | pro tier | ✓ | no | Built in |
| Count-up numeric animation | no | no | no | Built in |
| Marquee + rich-marquee tracks | no | no | no | Built in |
| Magnetic cursor on hover | no | no | no | Built in |
| 3D pointer-tracked tilt | no | no | no | Built in |
| Image compare slider | paid plugin | no | no | Built in |
| Lazy Lottie loader (CDN, on scroll) | no | no | no | Built in |
| Text split per word or letter | pro tier | ✓ | no | Built in |
| SVG line-draw on scroll | pro tier | ✓ | no | Built in |
| Cursor trail + hover glow | no | no | no | Built in |
| Confetti burst on click or scroll | no | no | no | Built in |
| Particles canvas background | no | no | no | Built in |
| View Transitions API page fade | no | no | no | Built in |
| prefers-reduced-motion respected | partial | ✓ | partial | Built in |
| IntersectionObserver, no scroll listeners | partial | ✓ | partial | Built in |
| rAF-throttled, GPU-friendly transforms | ✓ | ✓ | partial | Built in |
| Pauses when off-screen / tab hidden | no | ✓ | no | Built in |
| Engine custom events for instrumentation | no | partial | no | Built in |
| Per-module enable / disable toggle | no | no | no | Built in |
| Per-pack toggle (reveal, pointer, etc.) | no | no | no | Built in |
| CSP-strict mode (no inline scripts) | no | no | no | Built in |
| Conditional load (only pages that use it) | no | no | no | Built in |
| WP-CLI commands for module audits | no | no | no | Built in |
| REST API for engine + module config | no | no | no | Built in |
| Pricing model | Free + paid pro | $99 GreenSock biz | Free | Free forever |
Clean public API.
Read the source.
Every module is a single data attribute. The engine emits custom events you can hook for analytics, error reporting, or test instrumentation. Helper functions are exposed on window.OrvFX.
<!-- Scroll Reveal: fades and slides into view as the element enters the viewport. --> <div data-orv-fx="scroll-reveal" data-orv-sr-stagger="2"> <h2>Quietly amazing</h2> <p>Each child fades in 120ms after the previous one.</p> <a href="/cta">Read the case study</a> </div> <!-- Reveal Blur: same trigger, frosted-glass drop. Use sparingly. --> <h1 data-orv-fx="reveal-blur">Hero appears from a blur</h1>
Free.
Forever.
Orravo FX is fully open and free. Every module, every pack, every admin toggle unlocked.
Orravo FX.
- Unlimited sites
- 22 built-in modules across 7 packs
- Per-module + per-pack admin toggles
- WP-CLI commands + REST API for engine config
prefers-reduced-motionaware out of the box
