vl-span="2"
Flagship · direct the interface
One product story. Public contracts only.
Scroll this page to author a cinematic decision sequence with vl-scene, vl-stage, vl-act / vl-span, parameters and recipes.
No JavaScript animation runtime — the browser owns the clock.
Act 01 // shared clock
Hierarchy first.
Spectacle later.
Readable copy survives pin length. Motion stays measured. Fallback paths keep content reachable.
- Context
- Channels
- Evidence
- Decision
- Action
Act 02 // three voices · one grammar
A scene is a decision sequence.
Hover CTAs. Scroll each stage. Same track / stage / act contract — the product story chooses the choreography, not the effect name.
Decision room
Choose the motion voice.
Cinematic profile connected.
Editorial handoff
The system becomes a point of view.
“Hierarchy arrives before spectacle.”
Act 03 // portable direction
Same vl-*. Any UI.
Import @velora/css/motion-core only. Style with Tailwind (or anything).
Showcase / @velora/css/theme is the optional Velora look — not required for motion.
<section vl-scene vl-timeline="view" vl-pin="3" vl-scrub>
<div vl-stage class="min-h-svh grid place-items-center gap-6">
<h1 class="text-5xl" vl-enter="clip-rise" vl-act="1">Title</h1>
<p vl-enter="fade-up" vl-act="2">Copy</p>
</div>
</section>
Act 04 // progressive enhancement
Still mode keeps the readable state.
This section sets vl-motion="still" on the scene. Emulate prefers-reduced-motion: reduce in DevTools — engine CSS simplifies animation while copy and hierarchy stay intact.
<section vl-scene vl-motion="still"> <!-- content remains reachable without the opera track --> </section>
Act 05 // engine boundary
Named presets stay as skin recipes.
vl-scene="cinematic-hero" and friends still work via scene-recipes.css (theme).
Flagship authorship prefers track / stage / acts + P5 recipes for host portability.