Built-in modules
A selection of what ships in Orv_FX_Modules::register_core(). The Modules tab in the admin lists every registered module with a live snippet.
| Key | Category | Effect |
|---|---|---|
scroll-reveal | reveal | Fades and slides elements in as they enter the viewport |
parallax-layers | background | Multi-speed layered parallax inside a container; rAF-throttled |
sticky-media | reveal | Apple-style scrollytelling; pinned media crossfades as panels enter view |
marquee | decoration | Infinitely scrolling text or logo strip; pauses on hover/focus |
count-up | type | Numeric counters animate from zero on first viewport entry |
magnetic-cursor | pointer | Element drifts toward the cursor when nearby |
image-compare | utility | Before/after slider with keyboard-accessible drag handle |
lottie | decoration | Lazy-loads lottie-web from CDN only when the element scrolls into view |
tilt | pointer | Pointer-tracked 3D card tilt |
text-split | type | Per-word or per-letter span wrap, revealed on scroll with stagger |
svg-line-draw | reveal | Animates SVG strokes from undrawn to drawn |
Snippet examples
html<button data-orv-mag data-orv-mag-strength="0.4">Hover me</button>
<div data-orv-fx="count-up">
<span data-orv-cu-to="98%">0</span> uptime
</div>
<div data-orv-fx="tilt" data-orv-tilt-max="14" style="padding:24px;background:#fff;">Hover me</div>Registering a custom module
Third parties (themes, plugins) can register their own module:
phpOrv_FX_Modules::register( 'my-module', [
'label' => 'My Module',
'desc' => 'Does a thing',
'attribute'=> 'data-orv-fx="my-module"',
'category' => 'utility',
'source' => 'marketplace',
'author' => 'Your Name',
'version' => '1.0.0',
] );Declare hard dependencies in the requires array so the engine bails the module out if a prerequisite is disabled.

