Components
Canonical docs now live at videoml.org/docs/stdlib.
These are the off-the-shelf components you can drop into a scene. They are deterministic, frame-driven, and designed to stack cleanly with layouts.
Overview
- Use components for text overlays, motion graphics, and UI elements.
- Keep layouts for structure; components are content.
- Everything is frame-driven (no CSS keyframes).
Components Reel
A short montage showing the core components.
Title + Subtitle (with text effects)
Titles and subtitles support text effects for controlled, readable motion.
layer.title({
text: "Frame-driven titles",
textEffect: {
effect: "fade_up",
unit: "words",
durationFrames: 24,
staggerFrames: 4,
start: { kind: "cue" }
}
});
layer.subtitle({
text: "Readable motion, minimal setup",
textEffect: {
effect: "slide_left",
unit: "chars",
durationFrames: 20,
staggerFrames: 2
}
});
Background
Use a flat color from the current theme to set the scene.
layer.background({
color: "var(--color-bg)"
});
Progress Bar
Shows playback progress; ideal for tutorials and onboarding.
layer.progressBar({
position: "bottom",
height: 8,
color: "var(--color-accent)",
backgroundColor: "var(--color-muted)"
});
Lower Third
Introduce speakers or annotate a moment.
layer.lowerThird({
name: "Jordan Lee",
title: "Design Lead",
organization: "Babulus",
style: "modern",
primaryColor: "var(--color-accent)"
});
Bullet List
Step-by-step explanations or key points.
layer.bulletList({
items: ["Frame-driven", "Composable", "Deterministic"],
revealStyle: "spring",
staggerDelayFrames: 12
});
Callout
Point to a specific area in a layout or screenshot.
layer.callout({
text: "This is the key signal",
pointerTarget: { x: 1240, y: 420 }
});
Chyron
Ticker-style updates or quick bullet headlines.
layer.chyron({
items: [
{ text: "Frame-driven system" },
{ text: "All engines synchronized" }
],
mode: "page"
});
Code Block
Readable code walkthroughs.
layer.codeBlock({
language: "xml",
code: "const frame = i => i * 2;"
});
Quote Card
Pull-quote card for emphasis.
layer.quoteCard({
quote: "The frame is the clock.",
author: "Babulus"
});
When to Use What
- Title + Subtitle: scene openers, transitions, chapter markers.
- Lower Third: speaker identification or context tags.
- Bullet List: structured points and arguments.
- Callout: annotate a specific region of the screen.
- Chyron: rapid updates or news-style highlights.
- Code Block: developer-focused walkthroughs.