Transit Map — Style Prompt

A metro schematic printed on a physical sheet: lines held to eight directions, white stops, black-outlined interchange capsules, water as a flat blue band. The network is drawn on by glowing pen tips while a real perspective camera moves over the paper: it rides a tip, drops low where a line dives under water, pulls back through levels of detail and sweeps across the densest knot at a low angle with a shallow focus. References (grammar only): the octilinear schematic tradition of metro diagrams (Beck's Underground diagram, Vignelli's New York map), the stamp of a printed cartouche, flatbed and macro photography of maps lying on a table. Copy none of their layouts, typefaces, icons or line bullets; never name them in the film.

1. Essence, and what it is not

Not Data Storytelling (even a time chart is drawn as two lines with stops), not Blueprint (no white-on-blue linework), not Isometric Infographic (the map is flat; depth comes from the camera), not a 3D city map (no extruded buildings, no terrain), not a keynote (no slides, header bars, centred titles or page turns).

2. Materials & rendering

The unit is the grid step, G. Every coordinate and size on the sheet is given in G. Named stations sit on a 0.1 G lattice and at least 0.7 G apart along a line; a city network spans about 30 × 30 G and the sheet adds margins for the cartouche and any printed panel (about 45 × 47 G in our demo). The camera's zoom is read in screen pixels per G at the focus point (1080p).

Mark Geometry (G)
Line 0.15 wide, round caps; corner fillet radius 0.34
Thin line (a second rail mode; ferry thread) 0.07 wide; fillet 0.30
Parallel lines sharing a corridor each offset ±0.10 from the shared axis (0.20 centre to centre, 0.05 of paper between); three or more: 0.20 steps
Stop white disc r 0.085, ring 0.046 in the line colour
Terminus an ordinary stop; when the end of a line matters (a destination, an end card) a white ring r 0.15 with a 0.06 ink outline
Minor stop (generated tick) white disc r 0.065, ring 0.036; at most one per 0.78 G of track
Interchange capsule the bounding box of every line point at the station, padded 0.13 on all sides; corner radius = half the shorter side (a stadium); white fill; ink outline 0.055 (0.07 for a major hub)
River a band 0.76 wide (0.70–1.0 for a big river) with a darker edge 0.025 each side, round joins; creeks 0.15 with 0.02 edges
Sea, bay, harbour, lake a closed outline on the eight directions, any size, filled with the water colour; the same darker edge, 0.025 outside the fill. Where a ferry runs, at least 0.5 G of open water so its lane keeps water on both sides
Tunnel under water the line dashed 0.16 on / 0.11 off, plus two ink casing lines 0.02 at 55 % opacity, 0.05 outside each edge of the line
Pen tip white core r 0.11, ring 0.05 in the line colour, soft halo r 0.8 in the line colour (45 % at the centre)
Line bullet rail: disc r 0.25 in the line colour; bus and ferry: rounded square 0.48 with corner radius 0.12. Numeral 800 weight, 0.27 (one figure), 0.22 (two), 0.15 (a short word); opening year 0.17 bold ink, centred 0.30 below
Vehicle white capsule 0.40 × 0.14, ink outline 0.026, three windows 0.064 × 0.056 in the line colour; trains and buses at about 2 G/s, boats at 0.85 size and about 1.2 G/s

3. Colour logic

Mode Line Stops Bullet
Metro, suburban rail solid 0.15 G stop disc disc with a figure
Another rail mode (tram, light rail, maglev, people mover) solid thin 0.07 G stop disc; no generated ticks disc with a short word
Bus, BRT hollow: 0.15 G wide, the colour as two edges of max(0.04 G, 2.5 px), a paper core of at least 2.5 px; in wide shots the line widens on screen to keep that. Colours lighter than 0.4 relative luminance (yellow, sand, light green) get an ink rim of max(0.015 G, 1 px) named stops only, stop discs rounded square
Ferry, boat a 0.07 G thread in the line colour on a paper lane 0.25 G wide (at least 10 px on screen), solid, over open water; it starts at a pier on the water's edge, with at most 0.5 G over land pier: white rounded square 0.17 G, ring 0.04 G in the line colour rounded square
Under water or underground the line's own form, dashed, with the ink casing (§2) none inside the tunnel —
Walking transfer, in a station complex a white bar 0.06 G wide with a 0.055 G ink outline outside it (0.17 G overall) from capsule centre to capsule centre, under the capsules; each station keeps its own capsule (one line: the r 0.13 circle) — —
Walking transfer, through the street ink dots of radius 0.015 G every 0.08 G between the two stations' own markers, no capsule added; the shared name is printed once, at the station the story arrives at — —

Dashes mean "below": a ferry is never dashed, a tunnel always is. The ferry's paper lane is what tells it from a tram at any distance (10 px of paper on blue in a wide shot); a tram never runs on water without a bridge, which is drawn as ordinary track. - Paper inside a line is never painted. The paper of a bus core or a ferry lane is erased out of the ink layer (canvas destination-out), so the procedural paper of the print pass shows through with its own tooth and light; a paper-coloured stroke never matches it. Erasing removes every ink beneath, so order the ink: water → surface lines (bus, ferry) → rail lines → stops and capsules → labels. A bus core over water then shows paper (correct for a printed map), and a rail line crossing a bus line stays whole on top. - Red (or the oldest line's colour) is the story's accent: the first section, the "you are here" dot, the stamp of a verdict. When the accent sits on a line of the same colour, the dot is r 0.17 G (more than twice the line's width) with a 0.04 G white outline and a pulsing ring, so it never melts into the line. A second, dark neutral (navy) stands for anything compared against. - Light colours (yellow, lilac, aqua, light green, sand) carry ink inside bullets; deep colours carry white. - A paper wash (veil, 60 % paper over the sheet) fades the network back when one part must lead; stations under it keep about 20 %; never a dark overlay.

Example (our demo): paper #F2EEE5, ink #1B1C1E, secondary text #4A4740, river #BCD6EA / #8FB5D6, river labels #5F88AD, accent #E3002B, comparison navy #24346E.

4. Type & subtitles

5. Motion quality

6. Camera grammar

A pinhole camera with a 32° vertical field of view (about a 42 mm lens on full frame), aimed at a point on the sheet. Tilt is the angle from straight down (0° = top view); heading turns the view about the vertical; there is never any roll. Zoom is in px per G at the aim point; focus is always on the aim point. Depth of field is analytic: blur radius = aperture × |depth − focus depth| ÷ depth, in pixels at 1080p, capped at 26 px, so the far sheet blurs up to the aperture value and the near edge more.

Move Tilt / zoom / aperture What it expresses Can serve
ride the pen tip, aim about 1.5 G ahead of it tilt 15–30°, heading within ±15°, 130–260 px/G for a tip at 1–3 G/s, aperture 16 building, one step at a time the first section; a single new line; a route described stop by stop
drop low where a line meets water tilt ~60°, 185 px/G, aperture 26, eased in and out over ~0.5 s crossing, risk, a threshold a river or strait; a border; going underground
continuous pull-back with level-of-detail changes tilt 12° → 0°, 80 → 50 px/G, aperture 6 → 0 growth, scale arriving years passing; a network filling in; "how big it became"
low oblique sweep with shallow focus tilt 57–62°, heading swinging about 40°, ~100 px/G, aperture 24, inked depth extended density, life, the present tense the busiest core; everything running at once
glide across the sheet to another panel tilt rises to ~25° mid-move and back to 0°, aperture up to 8 changing the question, same object a comparison chart; a legend; a timeline printed in the margin
rise until the sheet edge and the table show tilt ~30°, ~40 px/G the whole, the object an overview; a chapter break
push in to one segment under a paper veil tilt 4° → 0°, 60 → 140 px/G, aperture 3 → 0 memory, origin where it began; "you are here"
locked frame tilt 0°, aperture 0 reading, judging any comparison or verdict (hold ≥ 2.5 s before the verdict)

When riding a tip, keep tip speed × zoom at or under about 500 px/s on screen (a long, fast line means a wider zoom or a slower tip). The camera is never lower than about 25° above the paper (tilt ≤ 65°): lower, and the sheet stops reading as a map. Top views carry no blur; any tilt above 10° carries some.

Framing: the subject sits off-centre with room ahead of a moving tip; the counter owns the top-left corner and nothing important goes under it. Transitions: match cuts on round shapes (a headlight, a lamp, a coin becomes a station dot), glides across the sheet, hard cuts to a new panel. No page turns, no fades to black mid-film.

7. Sound palette

8. Native moves

9. Pitfalls of the medium

10. Engine

The pipeline, independent of any code: (1) the network as data: stations with native and second-language names and a tier, lines as lists of stations, offsets and bends on the G lattice, water as bands and areas; (2) expand each route into an octilinear polyline, fillet the corners, measure arc length; (3) precompute everything time-dependent once: when each tip passes each station (by bisection on its keyframes), when a station becomes an interchange, label placement on the finished network; (4) per frame: camera → the region of the sheet it sees → ink that region into a texture (water, surface lines with their erased paper, rail lines, stops, capsules, labels) → lay it on the plane, print it on paper, light it, blur it by depth → draw the screen-space instrument.

In our demo (demo/), the engine is generic and the film lives in two data files:

Hook Signature Does
LABEL_PREF, nameAt, labelOnly, forceLabel, hubLabelScale {id: 'e'…}, (n, t) → [native, second], t → ids \| null, (n, t) → 0..1, z → k label side, renamed stations, names per shot, forced names, hub growth
noRoundel, roundelPos, roundelAlpha, roundelScale [ids], {id: [x, y]} (G), (t, id, z) → 0..1, z → k line bullets
drops, dropRing {id: true}, (c, n, k2, {capsule, INK}) which interchanges fall; a custom landing
veil, stationDim, highlight t → 0..1, (n, t, veil) → alpha, (c, t, {PATHS, pointAt, subPath}, top) paper veil and the lit segment
waterLabels (or riverLabels), furniture, annotations (c, t, view, helpers) on the sheet water names, cartouche and panels, callouts
trains (c, t, {PATHS, PH, phaseHead, train, pointAt}) vehicles
overlay, tunnelOnly (c, t, {b, toScreen, F, INK, view, regW, regS}) in 1920 × 1080 screen space, t → bool the counter, objects by the lens, a screen-only opening
cues, init [{t, type}] (story time), (helpers) sound cues; access to the built network

Every text a hook prints that must be read is registered with regW (on the sheet) or regS (screen) for window.TEXTS. - Minimal use, unlike the demo: an invented harbour town with one tram line (mode: 'light'), a ferry (mode: 'ferry') across a bay area, a bus (mode: 'bus') and an in-station LINKS pair, one phase per line and a camera in timeline.js: nothing else is needed for the shared stop to become a capsule, the ferry to get its lane and piers, and the bus its hollow line.

11. Variation space

The agent decides the network (real or invented), what a line stands for, the order of growth, the camera route, which comparison (if any) gets a printed panel, the accent colour and what the counter counts.

What does not vary, whatever the topic:

Topic Lines Named stations Interchanges Geography and landmarks Dated states
A whole network (a city, a region), 30–60 s ≥ 5 ≥ 40 ≥ 8 ≥ 1 water body, ≥ 3 named landmarks (a hub, a railway station, an airport, a printed mark) ≥ 4 years or stages, each with a sourced value
One line or one route (a commute, a new line), up to about 20 s the line + ≥ 3 lines it crosses, drawn with their interchanges ≥ 8 on the line ≥ 3 as above ≥ 2 (years, or times of day)
A topic drawn as a network (a roadmap, a career) ≥ 4 ≥ 20 ≥ 4 printed regions or bands standing for its domains ≥ 3

A longer film adds to these rather than holding the same picture longer. When the real network is smaller than the floor (a town with one tram line), draw what is real and widen the topic instead (its buses and ferries, the railway it meets, its history), never invent lines.


How our demo was made (story, shots, score, end card, build): DEMO.md. Read it after your treatment exists.