Skip to content
Get Started

Act 01 · declare intent in HTML

Motion is markup.
The browser is the runtime.

Add vl-* attributes to semantic HTML. CSS maps intent to view timelines, scroll progress and native state — no animation runtime JavaScript. Hover the stage. Scroll the acts below. Copy the snippets.

Try the header: switch Skin, theme, or page transition — then navigate. Shared elements persist across routes.

Runtime 0 · shipped motion needs no animation runtime JS — only vl-*
Compositor fps 120fps target · channels stay on transform/opacity (vl-enter, vl-scroll)
Catalog 134 presets · generated by pnpm generate:catalog
Velora layer stack in perspective Inline SVG diagram showing tokens, surfaces, motion, components, and scenes as stacked perspective layers. TOKENS SURFACES MOTION COMPONENTS SCENES
Cinematic backdrops carry the mood while the layer model stays inspectable. Layer model →

Scene language

Frame. Cue. Cut.

A Velora page should read like a short sequence: first the world, then the motion grammar, then the next scene.

  • Frame Set the atmosphere with one dominant backdrop.
  • Cue Use vl-enter, vl-scroll, and vl-hover as direction marks.
  • Cut Let each handoff feel intentional, not stacked.

Act 02 · pin + scrub teaching clock

Scroll slowly through this section. The stage pins; each card is a beat on the shared CSS clock (vl-scene + vl-act).

Beat 01 · frame

Pin the stage. Keep context.

vl-pin="2" holds the viewport while scroll advances --vl-scene.

Beat 03 · cue — descendants use vl-act / vl-enter, not nested view gates on the stage.

Beat 05 · cut — open the full scene timeline with five acts.

Lesson · vl-enter / clip-rise

Typography becomes a motion surface.

Scroll this section — vl-enter="clip-rise" + vl-range tune the view window; vl-effect="gradient-text-color" on the hero word. Catalog → enter.

Weight 400 → 900
Scale clamp()
Timeline view()

BOLDER

Scroll can tune variable type, weight, width, tracking and rhythm.

Type becomes choreography: weight, width, tracking, and scroll range move from the same token map.

Pair with Skins for type tokens, or the Archive for the old type spec pages.

Scroll-linked text orbit.

Lesson · horizontal pin

Walk the system, not a static demo.

Scroll-scrubbed lane: engine. Panel chrome is Skin look. Authorship model: Timeline.

Lane 01

Motion core

Declare entrances, timelines, hover states, and orchestration in HTML instead of wiring a runtime animation layer.

Open catalog

Lane 02

Color system

Semantic tokens coordinate surfaces, glow, contrast, and ambient depth across themes, scenes, and product states.

Explore Skins

Lane 03

Typography

Display scale and reading rhythm are tokenized, so brand expression stays consistent across dense UI and large-format storytelling.

Typography in Skins

Lane 04

Architecture

Cascade layers and modular bundles keep the system adoptable for teams that want premium motion without losing control of CSS.

Read architecture

Act 05 · the Catalog becomes direction

One motion grammar. Four moments users can feel.

Four live demos below — scroll into each, hover the fan, watch the grid wave. Every attribute is copyable from the Catalog.

Interact first: path follows scroll · fan responds to hover · grid-wave orchestrates children · loops respect reduced motion.

01 · Discovery vl-scroll="path"
intent impact

Motion follows the story’s route.

offset-path turns progression into a visible journey, with a static endpoint as fallback.

02 · Interaction vl-effect="hover-card-fan"

Depth appears exactly when it matters.

Hover or focus a layer. The component choreographs its siblings without a JavaScript animation runtime.

03 · Orchestration vl-children="grid-wave"
enterexithoverscroll staterangepinscrub

One parent conducts the whole ensemble.

Children inherit rhythm and sequencing, keeping expressive compositions readable in the markup.

04 · Atmosphere vl-loop-effect="aurora-drift"

Ambient motion makes the system feel alive.

Independent loop channels create presence while reduced-motion keeps the same visual hierarchy still.

Lesson · vl-pin + depth

Hold the frame. Bend the depth.

Engine: pin + scroll layers. The cinematic chrome is a Skin. Timeline.

01 Hold

vl-pin locks the shot.

02 Drift

Light moves behind the interface.

03 Release

The scene exits before the map arrives.