Charts: name the block, or hand-draw
There are two ways to get a chart, and the choice is about control:- Name
data-chartto get the built animated bar + line chart — staggered reveal, value labels, NYT-style typography — and feed it your numbers. Fast, consistent, no design decisions. - Say “hand-draw everything — no chart library” to make the agent build the chart from inline SVG and GSAP instead. You give up the polish of the block for total control over shape, motion, and layout — a bar race that overtakes mid-animation, an arc that draws to match a counter, a layout no library ships.
12-second 1920x1080 video. Turn this into an animated bar chart with a staggered reveal and value labels counting up on each bar:Use thedata-chartregistry block. No audio.
10-second 1920x1080 video, dark slate background. Title “Top languages 2026” top-left. Five horizontal bars (Python, TypeScript, Rust, Go, Java) grow from zero with staggered starts, overtaking each other twice mid-animation; each bar has a right-edge value label counting up to its final %. End state holds 2s with the leader pulsing once. Hand-draw everything — no chart library. No audio.State the block or opt out of it — don’t leave it implicit. “Animate this data” without a decision drifts between a generic block and an improvised layout.
- ❌
animate this CSV as a chart - ✅
turn this CSV into an animated bar chart — use the data-chart registry blockor…hand-draw everything, no chart library
$0 → $4.2M range forces an awkward $0.0M start.
- ❌
counts from $0 to $4.2M - ✅
counts up to $4.2M
Count-up stats
For a single hero number,apple-money-count is the Apple-style finance counter — it rolls from $0, flashes green, and bursts money icons with sound. Name it when you want that exact flourish; hand-draw when you want a bare number in your own type.
/motion-graphics 6-second 1920x1080 video, dark navy background. Beat 1 (0-1s): label “ARR” fades up small, top-center. Beat 2 (1-4s): a giant number counts up to $4.2M with an odometer roll, easing out as it lands. Beat 3 (4-6s): “+312% YoY” stamps in below in green, then settles into a gentle ambient idle. Use the apple-money-count registry block as base. No narration.
Maps: match the ask to the map
Each map block answers a different geographic question. Say what the map is for and name the matching block:| You want to… | Name this block | Length |
|---|---|---|
| Shade US states by a value (choropleth) | us-map | 12s |
| Size US cities by a value (proportional bubbles) | us-map-bubble | 12s |
| Draw connections between US cities (origin→dest) | us-map-flow | 12s |
| Show US states as an equal-weight hex grid | us-map-hex | 10s |
| Shade Spain by autonomous community | spain-map | 12s |
| Shade the world country by country | world-map | 14s |
12-second 1920x1080 video. A US choropleth shades states by adoption rate with staggered reveals and a gradient legend, then connection arcs draw between San Francisco, Austin, and New York. Use theRendered from the prompt above, unedited.us-mapandus-map-flowregistry blocks. No audio.
The map blocks fetch their geo data from a CDN at runtime, which violates the deterministic-render rules — the agent bakes the projected geometry into the composition instead. You never need to ask for this; it’s part of building the map correctly.
- ❌
put California's number on a US map - ✅
size each city as a proportional bubble→us-map-bubble, orshade each state by value→us-map
spain-map is D3 conic conformal, world-map is Natural Earth) — there’s no generic “any country” map.
- ❌
a map of Spain's regions(leaves the projection and geography to chance) - ✅
use the spain-map registry block
Routes and flights
For a point-to-point journey — a route drawing across a map with a landing beat —nyc-paris-flight is the Apple-style flight animation: a plane flies New York → Paris with a marker circle, landing pop, and sound effects. Use it as the base and re-point the endpoints in your prompt.
/motion-graphics 6-second 1920x1080 video. A realistic map with a plane flying between two cities, a marker circle at the origin, and a landing pop at the destination. Use the nyc-paris-flight registry block as base. No narration.
A route is a flow with a vehicle, not a static arc. If you want the drawn arc without the plane and sound, that’s us-map-flow; if you want the journey performance, that’s nyc-paris-flight.
- ❌
draw a line from NYC to Paris(ambiguous between arc-only and full flight) - ✅
a plane flies the route with a landing pop→nyc-paris-flight
Where to go next
- Anatomy of a one-shot prompt — the skeleton, and why odometers need fixed digit columns.
- Copy-paste examples — bar-chart race and stat-tile prompts to adapt.
- Generated artwork — where hand-drawn HTML/CSS/SVG shines, and where it doesn’t.
- The specification dial — deciding when to name a block versus hand-draw.