Live Countdown Split-screen — Style Prompt

An edit style, not a look. Real footage of one event with a known zero (a launch, a verdict, a final whistle, polls closing), shown in real time: screen time equals event time, a clock ticks every second, and the screen splits into more and more cells as the moment nears, every cell showing the same second. At zero the cells merge into one picture and the clock flips. References (grammar only): the real-time clock and splitting screens of the TV series 24; the multi-camera archive panels and mission-time codes of the documentary Apollo 11 (2019). Never copy their type, colours, sounds, graphics or shots, and never name them in the film.

1. Essence, and what it is not

  1. Real time. One continuous stretch of the event, never cut, never re-ordered, never sped up. Slow-motion sources are played back at real speed. The clock and the picture can be checked against each other at any frame.
  2. The clock is the lead. It ticks every whole second (sound and a falling digit), it says who is in control, and it changes state at zero.
  3. Cells show the same second. Every video cell is synced to the clock, or says plainly that it is not (§8, "sync badge").
  4. The layout is the edit. Cuts are layout changes, and every layout change lands on a real spoken call or event in the native sound, not on the music.
  5. More cells, closer to zero; one picture at zero. The number of cells is the tension curve.

Not a montage (time jumps), not a security wall (the layout never moves), not a flashback structure (real time cannot go back), not a slide deck (cells that don't follow events, text filling the cells, centred titles with page turns).

2. Materials & rendering

3. Colour logic

Role Value
Ground #06080A; panels #0B0E11
Main text #F2F5F7; secondary #7C878D
Accent: the T− sign, synced dots, ticks done, event flags, the active control segment #FF5B1F
Speaking light, "heard" tags #FF3B30
Plates over full-screen footage rgba(6,8,10,.80)
After zero, the clock block ground #FF5B1F, text #0A0B0C (inverted)

Orange means "now / synced / done". Grey means "pending / not synced". Nothing else is coloured; colour belongs to the footage.

4. Type & subtitles

5. Motion quality

6. Edit grammar

7. Sound palette

Layers, top to bottom:

  1. Native sound — the event's own audio (commentary, radio loops, crowd), high-pass 90 Hz, compressed, always on top; never ducked.
  2. Narrator (sparingly, only in gaps of the native sound, never over it): clean and close, a different gender or accent from the event's voices; Kokoro, every line through asr_check.py.
  3. The clock: a tick every whole second (two alternating pitches around 1.5–1.9 kHz, panned ±15 %), louder in the last ten seconds, a soft single pitch after zero.
  4. Interface foley from window.EV: re-layout whoosh + metallic snap; cell pop snap; checklist tock; event-flag whoosh; full-screen cut thump.
  5. Score, 60 BPM so one beat = one second = one tick: a low synth drone whose low-pass opens toward zero, a bass drum per beat, off-beat hats, a tom per spoken count, timpani roll into zero, silence, then a low brass major chord with bass drum, crash and tubular bell at zero; after zero a new texture (pizzicato bass ostinato, lighter tick). Low brass, timpani, toms, tubular bells, glockenspiel; no piano-and-strings pad.
  6. Mix: music about 8–10 dB under the native sound and ducked under speech; the ignition (or the event's own climax sound) is the loudest moment; master −14 LUFS via a pre-limited mix so mux.sh meets the true-peak target.
  7. Changing the music (e.g. a Suno track): never move the clock or the cuts; choose or stretch a track so a downbeat lands exactly on zero and a section change lands on T−10, and keep the quarter-second silence before zero.

8. Native moves (and how to build them)

9. Pitfalls of the medium

10. Materials, sources, facts, engine

Materials — ask first. Before searching, ask the user whether they have their own material of the event: footage from several angles, recordings of the audio, photos, documents (schedules, filings, results), data. What they give comes first and is credited as they say.

If not, where to look (each item's own page decides; record it): - NASA (images.nasa.gov, svs.gsfc.nasa.gov): U.S. federal government works, public domain in the U.S.; fine to use. Don't use NASA insignia as graphics or imply endorsement; check each item for third-party material. - Other U.S. federal agencies (NOAA, National Archives, DoD DVIDS): public domain, same check for third-party material. - Internet Archive: only items whose own record shows public domain (pre-1931 U.S. publications, U.S. government works) or CC0 / CC BY; skip youtube-* / "mirrortube" uploads and anything of unclear origin. - Wikimedia Commons: read each file page; CC0, public domain and CC BY are fine (credit CC BY in full); CC BY-SA and "no known restrictions" are not fine without the user's explicit agreement. - Library of Congress: check each item's rights statement; "no known restrictions" is not CC0. - Not usable: re-uploads without a source, restored or colourised versions, news-agency footage, anything whose licence is not stated.

Before downloading, tell the user what you will fetch, from where and under which licence, in one message. Then fetch only the seconds you need: python3 demo/tools/grab.py <nasa_id> <orig|large> <start> <duration> <name> [--copy] reads an HTTP range of a NASA original; python3 demo/tools/footage.py search|fetch|used|md searches NASA, Commons and the Internet Archive and records licence, author and page in SOURCES.jsonl / SOURCES.md automatically. Keep raw/ under about 1.5 GB.

Facts: a FACTS.md (claim, URL, quoted wording, or the measurement) covering every number, time, name and call on screen and in the narration; official sources only; planned times and actual (heard) times are kept apart. Check the script against it before the last render.

Engine (copy into the project): demo/index.html (Canvas 2D: LAY layout keyframes with grid / merge / cut / swap, camRegion() usable regions, crop() cover framing, drawClock(), drawTx(), drawCheck(), drawDoc(), drawProfile(), drawThrust(), window.EV for the mix, window.TEXTS for readcheck, window.SUBFIT for the one-line subtitle check), demo/tools/prep.sh (the sync table → frames), demo/tools/subs.mjs (cues → audio/cues.json, one-line and duration check), demo/audio/mix.py (native sound, ticks, foley, score, ducking, pre-master), demo/tools/final_asr.py (Whisper on the finished film), demo/tools/fetch_fonts.py.

11. Variation space

The agent decides per film: the event, where real time starts and ends, the number of cameras, which documents and data, the control segments, the narrator's lines (or none), the closing layout.


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