Motion vocabulary · Big title kinetic type
Line mask reveal
Each line is revealed left to right behind a brand bar that leads the edge, then retracts.
Live loop · 6 s · 1920×1080 at 24 fps
Parameters
| Parameter | Type | What it does |
|---|---|---|
| text (required) | string | the title; "\n" breaks lines |
| accent | string | a word of the text drawn in the brand colour |
| size | "super" | "chapter" | "ui" | pxDefault: "super" | type scale: super 144, chapter 64, ui 40 (px at 1080p); wide lines are fitted to maxWidth |
| align | "center" | "left"Default: "center" | alignment and anchor |
| x / y / maxWidth | px | anchor and the widest a line may be (default 1600) |
| ease | {"<move>": ease} | retune any named move (see the entry's moves): a preset name ("out-expo"), a cubic-bezier [x1, y1, x2, y2], {spring: [hz, damping]} or {trapezoid: [accel, decel]}. A wrong move name or curve throws, it never falls back. A move measured from a reference clip (the replica workbench's measure/*.json, frame-keyed) becomes a curve without conversion: MV.fitEase(doc, "x", {from: 133, to: 142}) or `motion-fit <file> --measure x --from 133 --to 142 --ease` |
| brand | hexDefault: #6B5BFF | the site's brand colour; the component derives its accent (>= 3:1 on the stage), surfaces and ink from it |
| stage | "dark" | "light"Default: "dark" | the stage the component sits on |
| display | font stemDefault: "Inter-Bold" | headline stem; name it in the call so the runtime loads it |
| body | font stemDefault: "Inter-Regular" | UI / body stem; name it in the call so the runtime loads it |
| start_ms | msDefault: 300 | when the component starts, ms into the shot |
| background | booleanDefault: false | draw the stage background (off: transparent over the shot's own stage) |
| place | {x, y, w, h, z?} | the component's place in the shot's layout: it fits its 1920x1080 composition into this stage rect (centred, aspect kept); z orders components front to back. Default: the whole stage |
Moves and their curves
Every move is eased on its own. Retune one with ease: { "<move>": <curve> }, a curve name or cubic-bezier handles.
| Move | Curve | What it does |
|---|---|---|
| line.reveal | out-quart | each line uncovered left to right behind the brand bar (900 ms) |
| bar.out | in-quad | the brand bar shrinking away at the line's end |
This demo
| variant | "mask" |
|---|---|
| text | "Paste a link.\nGet a film." |
| accent | "film" |
| brand | #6B5BFF |
| stage | light |
<script src="/vendor/motion-vocab.js"></script>
MV.bind("s3", MV.title(el, {"variant":"mask","text":"Paste a link.\nGet a film.","accent":"film","brand":"#6B5BFF","stage":"light","display":"Inter-Bold","body":"Inter-Regular"}));When to use it in a launch film
Two short parallel lines (a cause and its result); the bar ties the type to the brand.
Why it works
A single moving edge is calmer than many moving words and suits a confident tone.
Do not combine with
- a second kinetic title in the same shot
- centre alignment with lines of very different length (the bars start at different x)
Job in the film
Natural length
2.4–3.4 s
More big title kinetic type
Word-by-word rise
Each word rises out of its own mask on an expo-out curve, 75 ms apart.
Weight and width morph
Letters go from regular to bold from the centre out while the tracking closes in: the word gets heavier as it lands.
Split-flap board
Tiles flip through letters and settle left to right, like a departures board.
Outline to fill
The outline of the type draws on in the brand colour, then the fill floods in from the left.