Skip to content
Get Started

Manifesto // Motion Runtime

Motion API as composed architecture.

An operational catalog for validating channels, ranges, timelines and states — editorial clarity and immediate feedback on every card.

Scene Engine

Channel / Layer / Reveal Predictable channel composition for enter, loop, scroll and state.

Runtime State

entry 0% -> cover 65% Range, speed and replay per card with instant readout.
120fps pipeline timeline armed view + scroll ready
Selected: none
0ms
1400ms
1.00x
Core Extended Experimental

Catalog sections are grouped by API stability level to improve review and maintenance without removing any functional demos.

Channel Architecture

Demonstrates the main v2 API channels and the recommended composition order.

Canonical Order
base -> enter -> scroll -> loop -> hover -> state -> exit

Channel composition reduces conflicts and maintains predictability across pages.

Channel-First Markup
<article
 vl-enter="fade-up"
 vl-scroll="parallax"
 vl-loop="-1"
 vl-loop-effect="glow-breathe"
 vl-duration="1200ms"
 vl-direction="reverse"
 vl-hover="hover-lift"
 vl-state="smooth"
 vl-range="scene-focus"
 vl-speed="normal">
</article>
vl-enter
Enter Channel
vl-scroll
Scroll Channel
vl-loop
Loop -1
vl-direction reverse
Reverse Loop
vl-direction alternate
Alternate Loop
vl-loop 3x
3 Repetitions
vl-duration 1200ms
Direct Duration
vl-hover
Hover Channel
vl-state
State Channel
vl-exit
Exit Channel
vl-exit slide-out-left
Slide Out Left
vl-exit slide-out-right
Slide Out Right
vl-exit blur-out
Blur Out
vl-exit clip-drop
Clip Drop
combined
enter: fade-upscroll: parallaxloop: glow-breathe

Timeline Modes

Use canonical timeline contracts to define what drives each motion channel: view, scroll, hover, or auto.

Canonical timeline patterns
<!-- recommended pattern -->
<div vl-enter="fade-up" vl-timeline="view">...</div>

<!-- scrubbed parallax -->
<img vl-effect="parallax" vl-timeline="scroll">

<!-- ambient loop -->
<div vl-loop="-1" vl-loop-effect="float">...</div>

<!-- no timeline (time-based) -->
<div vl-enter="fade-up">...</div>

vl-timeline controls what drives the animation — viewport, page scroll, hover gate, or default time-based playback.

vl-timeline="view"
Single entrance
scroll-triggered, holds state
vl-timeline="view"
Reveal
alias for single
vl-timeline="scroll"
Timeline
scroll-scrubbed
loop-only channel
Loop
infinite ambient
vl-timeline="hover"
Hover to play
paused until hovered
time-based (no timeline)
Time-based
no explicit timeline binding
stagger delay (canonical)
ABC
preset easing (canonical)
Scale with spring-like base profile

Entrances and 3D

View-timeline entry effects — from basic fade-in to extended 3D behaviours.

fade-in
Fade In
fade-up
Fade Up
slide-left
Slide Left
scale-in
Scale In
blur-in
Blur In
clip-rise
Clip Rise
spring-up
Spring Up
glide-in
Glide In
zoom-blur
Zoom Blur
flip-in
Flip In
spring-3d
Spring 3D
hinge-down
Hinge Down

Stage 3D

Bloco dedicado para efeitos e cenas 3D da API. Esta seção centraliza os casos que já estão estáveis e mantém espaço para a evolução do Stage 3D em paralelo.

Roadmap Stage 3D
<!-- canonical 3D stage baseline -->
<section vl-scene vl-scene-trigger="zone">
  <div vl-scene-trigger-zone tabindex="0"></div>
  <article vl-effect="spring-3d" vl-timeline="view">...</article>
</section>

Contrato base já canônico e funcional. Expansões de Stage 3D podem evoluir neste bloco sem quebrar os demos atuais.

spring-3d
Entrada 3D com timeline view
hover-tilt-3d
Interação 3D por hover/focus
cube-triad-stage

Hover and Interaction

Pointer, link and surface feedback, with a dedicated orb-grid mouse-tracking stage. Card-based hover components live in a dedicated section below.

hover-lift
Hover me
hover-glow
Hover me
hover-tilt-3d
Tilt 3D
hover-depth-stack
Depth Stack
hover-spotlight
Spotlight
hover-shell-lift
Shell Lift
spotlight
Extended Spotlight
press
hover-prism
Hover Prism
hover-depth-press
border-beam
Border Beam

Hover Card Components

Card-first interaction components grouped in their own section for API and component testing.

hover-card-fan

Group hover fan behavior for card components.

hover-card-stack
ABC
hover-cross-swap
Corehover any edge
duotone
Velora logo duotone test

Token-driven duotone blend for image-based components.

Illustration Editor Component

Visual editor component with HTML, CSS and JS panels over a technical block — animated purely with CSS.

illustration-editor

Editor-inspired composition converted to a declarative, tokenized, no-JS component.

Text Effects

Animated reveals and typographic effects for headings and editorial excerpts.

text-reveal
Text Reveal
text-reveal-up
Text Reveal Up
text-reveal-down
Text Reveal Down
text-line-reveal
Line Reveal
text-word-rise
Word Rise
typewriter
Typewriter full
typewriter-soft
Typewriter soft
gradient-text-color
Gradient Text Colour
shimmer-text
Shimmer Text
text-ring-orbit
code-greeting-stack

System.out.println("

Hello Velora! Hola Velora! Hallo Velora! Ciao Velora!

");

Hover or focus this card to swap the greeting set.

circle-text-scroll
Your browser does not support the latest scroll features.

Ambient and Continuous

Loop animations for live surfaces, status indicators and cinematic backgrounds.

shimmer
Shimmer
float
Float
glow-breathe
Glow Breathe
wobble
Wobble
orbit
Orbit
rock
Rock
morph
Morph
pulse-ring
Pulse Ring
spin-slow
Spin Slow
pendulum
Pendulum
breathe
Breathe
drift
Drift
bounce
Bounce
aurora
Aurora
gradient-slide
Gradient Slide
mesh-pan
Mesh Pan
glitch-lite
Glitch Lite
scanline
Scanline
ripple
Ripple
levitate-x
Levitate X
halo-breathe
Halo Breathe
sweep-border
Sweep Border

Cube Triad

Dedicated section for the cascading 3D cube choreography effect.

cube-triad-stage

Tokenized 3D cube scene with layered fold choreography, no JavaScript.

Scroll and Timeline

Effects driven by view and scroll timelines — parallax, marquee, wipe and depth.

cinema-zoom
Cinema Zoom
parallax
Parallax
scroll-marquee
APIMOTIONSCROLLMARQUEE
depth-drift
Depth Drift
rotate-scroll
Rotate Scroll
wipe-reveal
Wipe Reveal
depth-push
Depth Push
pass-fade
Pass Fade
enter & exit in one scroll arc
pass-rise
Pass Rise
rises in, holds, fades out

Pin Stories

Extended pin showcase with a large stage and safe header offset — long-form narrative scrolling with fixed anchor points.

Pin recipe
<section
 vl-timeline="scroll"
 vl-pin="top"
 vl-range="entry 0% cover 78%">
 <aside vl-pin="top">pinned anchor</aside>
 <article>narrative scroll steps</article>
</section>

Use vl-pin to keep a fixed anchor in view while the surrounding content advances through narrative steps.

Pin Story - Large Stage
Step 01 - Context Frame

The first block opens the narrative while the pinned anchor maintains the visual chapter reference.

Step 02 - Range Tuning

Tune vl-range to control when each part enters. entry-short keeps the transition tight and precise.

Step 03 - Scroll Scrub

With vl-scrub, the animation tracks scroll in real time — easy to calibrate rhythm and pacing.

Step 04 - Cover Phase

Final phase — prepares the scene exit and hands off cleanly to the next block on the page.

Step 05 - Exit Hand-off

Closes with vl-once to prevent replay and preserve reading state when scrolling back up.

pin + scrub
Pinned Scrub
pin + range
Pin Center
Session Overlap Scroll Demo
Section A - Base Layer

Section A holds as a sticky base layer while the scroll continues beneath it.

Section B - Overlap

On scroll, Section B rises over A — layered reading maintained throughout.

Section C - Top Layer

Finally, Section C enters over B and completes the overlap sequence.

Timeline Breakdown

Direct comparison of view vs scroll timelines, focusing on vl-range, vl-once and vl-scrub.

Timeline mental model
view timeline

Fires when the element enters the viewport. Supports vl-once for single-play.

scroll timeline

Progresses with the scroll position. Pairs best with vl-scrub for timeline scrubbing.

view + once
One-shot entrance
view + entry-short
Short Window
scroll + scrub
Scroll Scrub
scroll + cover
Cover Phase
timeline + speed
Slow View Timeline
vl-timeline="view"
Single (cinematic entry, not scrubbed)
vl-timeline="view"
Canonical entrance binding

Page Transitions

Card previews of every page-transition style used in the framework — hover, focus or click to replay.

cinema

Hover, focus or click to replay.

wipe

Directional cover transition.

glide

Lateral movement with easing.

iris

Radial expansion reveal.

snap

Instant cut with micro accent.

Children Modes

Choreography modes for collections of child elements — stagger, cascade, wave and more.

stagger
ABC
cascade
ABC
sequence
ABC
orchestrate
ABC
wave
ABC
blur-cascade
ABC
zoom-stagger
ABC
cinema-stagger
ABC
grid-wave
ABC
spiral-stagger
ABC

Ranges, Speed and Runtime Params

Visual reference for all range presets, speed profiles and utility attributes for fine-tuning motion behaviour.

vl-range presets
entryentry-shortentry-longcovercontainscene-focusexitcenterfull
vl-speed presets
fastnormalslowcinema
canonical ease families
--vl-ease-cinematic--vl-ease-out-soft--vl-ease-spring--vl-ease-in-out-smooth
stagger step presets
60ms100ms120ms180ms240ms320ms
base subtle
Faster and softer motion profile
base balanced
Default cinematic profile
base dramatic
Longer spring-style profile
children stagger 60ms
ABC
children stagger 180ms
ABC
children stagger 320ms
ABC
vl-loop values
-1 = infinite0123...
new vl-enter values
reveal-cinematicdepth-entermask-sweep
new vl-scroll values
revealmedia-zoomcrossfadetext-highlight
new vl-hover values
gradient-sweepborder-trace
new vl-scene values
cinematic-herosticky-storyglass-bentoproduct-revealeditorial-cinema
loop aurora-drift
Aurora Drift Loop
vl-duration examples
120ms300ms800ms1200ms2s3.6s
vl-direction values
normalreversealternatealternate-reverse
vl-once + view
One-shot Entry
vl-speed fast
Fast Profile
vl-speed cinema
Cinema Profile
vl-speed normal
Normal Profile
vl-range entry-short
Micro Window