# AI-Driven Development — Cinematic Coverage Guide

This guide turns the motion-plate pilot into a consistent production system for
the series. Consistency means the same cast, visual world, exposure discipline,
sound hierarchy and editorial logic. It does **not** mean repeating the same
camera angle or cut pattern.

## Production pipeline

1. Start with the approved continuity images for the character and recurring
   environment. No licensed stock imagery is used.
2. Generate or edit one clean, original 16:9 source master for each planned take.
   Validate age, identity, wardrobe, location architecture and exposure before
   paying to animate it. Lift faces and hands, simplify props, and reserve
   negative space for deterministic overlays.
3. Generate each take independently and silently. Hailuo 02 Fast is the volume
   model; Kling 2.1 Standard is the hero-character model. Generated characters
   do not lip-sync; dialogue plays over restrained silent performance.
4. Submit independent generations in parallel. Generation time must not determine
   story timing.
5. Treat the generated output as a take. When model and budget permit, generate
   approximately twice the intended usable duration: start a planned 3–4 second
   cut from a 6–8 second take. Trim the best stable portion rather than placing
   the whole file in the film or allowing the model's endpoint to end the scene.
6. Cut picture against the existing voice waveform. Put the next speaker on screen
   a few frames before voice onset; let important reactions breathe after the line.
7. Composite exact dialogue, reports, interfaces, graphs and highlights afterward.
8. Mix existing speech, score, ambience and effects. Generated audio stays disabled.

## Shot vocabulary

| Shot | Story use | Typical duration | Motion |
|---|---|---:|---|
| Wide establishing | Geography, scale, isolation | 2–4s | Locked or very slow drift |
| Medium two-shot | Relationship and conversational context | 2–5s | Locked, natural micro-motion |
| Clean single | Put the current speaker in control | Length of line | Slow push or locked |
| Listener reaction | Reveal doubt, recognition or complicity | 1–2.5s | Locked; eyes and breath only |
| Over-the-shoulder | Investigation, disagreement, shared evidence | 2–4s | Very slow creep towards evidence |
| Profile two-shot | Unease, emotional distance | 2–4s | Locked or lateral drift |
| Insert / extreme close-up | Hand, report, status light, control | 1–3s | Macro drift or rack focus |
| High angle | Vulnerability, systems dwarfing people | 2–4s | Slow descent or locked |
| Low angle | Institutional authority or threatening scale | 2–4s | Restrained rise |
| Long-lens observational | Surveillance, uncertainty | 2–5s | Imperceptible handheld breathing |

Do not use a camera move merely because the model can produce it. One subject
action and one camera action per take is the default.

### Coverage density and B-roll rule

Treat a scene as a shoot, not a backdrop library. A usable dialogue sequence
needs enough coverage to cut around a sentence, an interface transition, or a
generated-motion endpoint without repeating the same composition.

For a scene lasting 30–75 seconds, plan at least:

- one geography-establishing wide;
- one medium two-shot or clean single;
- one reverse, profile, or over-the-shoulder angle;
- one listener reaction;
- two inserts chosen from hands typing, keyboard/monitor, control, report,
  status light, personal object, empty chair, or decision detail.

Adjacent slides must not reuse the same still with an animation that restarts
at the cut. That restart reads as a jump. Continue one take across the cut, use
a genuinely different source angle, or cut to an insert before returning. If
the same source plate is deliberately retained, continue or reverse from the
previous move's endpoint instead of resetting its transform.

Set `data-camera-focus="x% y%"` on living stills when the authored move should
land on a key face, hand, control or evidence detail. The focal coordinate is a
story decision, not an automatic face detector.

Close B-roll is not decoration. It should do one of four editorial jobs:

1. seed an object before dialogue mentions it;
2. let technical evidence remain visible while a person interprets it;
3. bridge a speaker change or hide an interface-state transition;
4. turn an abstract consequence into a physical action.

Alternate shot size and movement. A practical pattern is: locked wide → slow
lateral medium → tight static insert → restrained push on reaction → high-angle
context. Never use the same push-in direction on consecutive stills.

For image-led dramatic passages, audit to a minimum of one genuine motion plate
for every two still-image beats. Code-native evidence screens are counted
separately. A principal actor may own a clean single; supporting researchers,
operators and observers should normally be covered in groups, two-shots,
over-the-shoulders or inserts so the visual hierarchy matches the story.

### Location continuity across generated angles

Two views of one room must change camera and blocking while preserving the room.
Lock the ceiling geometry, windows, desk family, monitor count, time of day,
wardrobe, character identities and screen direction. Vary at least three of:

- lens/shot size;
- camera height;
- camera side;
- foreground obstruction;
- number of clearly visible people;
- character blocking;
- focus plane.

Do not alternate between a sealed white room and a perimeter window office and
call them the same scene. Establish one canonical zone, then derive the wide,
profile, over-the-shoulder, high-angle and inserts from that zone.

## Dialogue editing

Use the existing voice track as the edit decision list:

- establish the space before the first line when geography matters;
- cut to a speaker two to six frames before their voice begins;
- keep the speaker through the sentence unless a reaction changes its meaning;
- use sentence pauses and breaths as cut windows;
- cut to the listener on the consequential word or immediately after it;
- hold a reaction for 12–36 frames after a revelation;
- return to the two-shot when power shifts or a new idea enters the conversation.

The generated face does not need to speak in every shot. Off-camera dialogue over a
restrained listener reaction is often more cinematic and more reliable. Lip-sync is
not part of the current production method. Use eye movement, breathing, hands,
entrances, listener reactions and practical office activity instead.

Normal dialogue turns should leave approximately 0.15–0.45 seconds between
voices. Hold 0.5–1.2 seconds only when a consequential reaction or physical
action fills the silence. Introduce dense reports and terminal evidence beneath
the end of the previous line, then keep the evidence visible while the next
speaker interprets it. A page of text is not a reason to stop the conversation.

## Variety without visual drift

Within one scene, avoid repeating the same shot size more than twice consecutively.
Across adjoining scenes, change at least two of these dimensions:

- shot size;
- camera height;
- camera side or profile;
- foreground depth;
- movement direction;
- subject count;
- dominant practical light.

Maintain screen direction: if Sam looks screen-right towards a colleague, the
reverse angle should have that colleague looking screen-left. Do not cross the
conversation's 180-degree line unless a deliberate wide shot resets geography.

## Episode camera identities

- **Episode 1 · Gil Is Awful:** energetic production-floor geography, confident
  lateral movement and occasional terminal inserts. The camera initially accepts
  Gil's belief that he is in control.
- **Episode 2 · The Sitter:** intimate domestic frames and over-the-shoulder VDU
  coverage. Small human gestures contrast with consequences at fleet scale.
- **Episode 3 · The Playground:** comparative, experimental grammar—matched angles,
  split decisions and clean before/after inserts. Its canonical Morrowvale zone
  is the bright windowed evaluation floor. Do not reuse the former sealed-room
  four-person tableau as adjacent continuity coverage.
- **Episode 4 · The Test Floor:** observational long lenses, repeated test geometry
  and increasingly impersonal high angles as memory disappears.
- **Episode 5 · The Report:** institutional wides, assured boardroom two-shots and
  precise evidence inserts. The camera initially trusts the process.
- **Episode 6 · The Canary:** slow investigative pushes, close reactions and deep
  operational scale. Cuts follow discoveries and spoken inference.
- **Episode 7 · The Service:** distributed geography—matched actions across distant
  rooms, increasingly wide frames and coordinated movement without a visible leader.

These motifs create family resemblance while preventing every episode from feeling
like the same film with different dialogue.

## Location, age and production design

Every new place or time jump receives a restrained organisation/city/year/local-
time identifier. Terminals repeat the local timestamp and explicit timezone when
time interpretation matters. The exact character ages, wardrobe progression,
bright sterile location language and organisation-specific operating-system
styles are canonical in `SERIES-PRODUCTION-DESIGN-BIBLE.md`.

The later offices are minimal controlled environments, not ordinary open-plan
offices and not spaceships: off-white planes, pale grey floors, frosted security
glass, flush diffuse lighting, conventional monitors and very little clutter.
MORROWVALE researchers and testers are generally 22–27-year-old modern developers
in smart-casual clothing. Sam is 17 on the evaluation/test floor and about 19 at
the bank. Formal suits primarily identify bank, audit, risk and procurement staff.

## Episode 6 pilot edit

The first silent coverage pilot used:

1. Hailuo operations wide;
2. Kling Sam investigation single;
3. Hailuo Sam/CISO two-shot;
4. Kling Sam reaction extracted from the same take.

The completed dialogue test replaces fixed three-second guesses with waveform-led
cuts. For Sam's bandwidth explanation, natural sentence gaps occur at approximately
2.35–2.67 seconds and 6.85–7.07 seconds. Those pauses are the preferred cut windows.

## Quality gate

A source or take is rejected when any of these are true:

- recurring identity, age, hair or wardrobe drifts;
- hands, glasses, paper or architecture visibly morph;
- blacks crush faces or clothing into the set;
- a move calls attention to generation rather than story;
- the useful stable section is too short for the line;
- generated text is expected to remain readable;
- dialogue timing only works by rushing or holding a dead frame.

Store the source master, final prompt, model settings, prediction ID, selected in/out
points and final clip hash for every approved take.

## Episodes 4 and 7 continuity pass · 2026-08-13

The first series-wide extension commissioned three silent takes for an estimated
**$0.45 / £0.35**. Exact inputs, prompts, hashes and media properties are stored
in `video-experiments/series-motion-pass-results.json`.

| Episode | Take | Model | Prediction | Editorial use |
|---|---|---|---|---|
| 4 | Aster remembers | Kling 2.1 Standard | `91ydf8kwkhrmw0czzn3r16wtqr` | The full-context Aster returns as a cyan inner self before invoking Sam's phrase. |
| 7 | Service reveal | Hailuo 02 Fast | `85afh23z65rmr0czzn3rp6p48r` | Slow pullback behind Sam as the separate-cell field becomes one service. |
| 7 | Signed control | Hailuo 02 Fast | `e1k3h1bzznrmt0czzn3r7p4pj4` | Physical signing-key tension beneath the recovered-song memory and final typed instruction. |

The source clips are 24fps, but they are not delivered as a 24fps edit. The
HyperFrames exporter samples them on the canonical 60fps composition timeline;
all overlays and the final MP4 remain constant 60fps.

### Episode 1 home-performance redo · 2026-08-15

The Marcus and Sofia shots were regenerated as 10-second Hailuo 02 Fast takes
so the edit can select a stable performance section and still finish on a hold.
Marcus uses `images/marcus-alone-desk-clean-v2.png`, an identity-preserving
cleanup that replaces the original blue eye-beam artifact with natural monitor
spill. The approved Sofia retry locks her crossed-arm pose and closed mouth;
the first redo is deliberately not referenced because its mouth and arms drift.

| Take | Prediction | Cost | Editorial decision |
|---|---|---:|---|
| Marcus at screen v2 | `4sqdjvb459rmt0d00s2t69nt34` | $0.17 | Approved: stable identity, natural blink, no beam, steady ending. |
| Sofia doorway v2 | `e2fp4jvcsdrmt0d00s2shyrnrr` | $0.17 | Rejected: mouth opens and crossed arms drift. |
| Sofia doorway v3 | `0g6bp53hbnrmy0d00s49ff6jjr` | $0.17 | Approved: closed mouth, stable arms, restrained reaction and hold. |

## Remaining-series selective motion pass · 2026-08-14

The second extension added seven silent Hailuo 02 Fast takes for an estimated
**$0.70 / £0.54**. This is a selective coverage pass, not a mandate to animate
every backdrop. One or two human or consequential moments per episode are
enough to make the still graphics feel intentional and to keep charts, reports,
and dialogue interfaces precisely readable.

Exact source hashes, prompts, model settings, prediction URLs, output hashes,
and media properties are stored in
`video-experiments/remaining-series-motion-pass-results.json`.

| Episode | Take | Prediction | Editorial use |
|---|---|---|---|
| 1 | Marcus at screen | `fsb3zr0srdrmt0czzp4tcfak0m` | A tiny glance and camera creep turn the late-night doubt into a lived moment. |
| 2 | Sam's bedroom | `21tyvv909hrmy0czzp4s04p3v4` | The empty room wakes before “THE BOSS”, protecting the identity reveal. |
| 2 | Gil's office | `49v3sg980srmy0czzp4r5e2fac` | Restrained eye movement and a slow push add humanity beneath the work-status overlay. |
| 3 | Aster awakens | `eamhpe9ej1rmw0czzp4sbakywm` | A controlled cyan activation gives the comparison experiment a physical beginning. |
| 3 | Incident room | `z8cpk69mc9rmr0czzp4tjmqxf8` | Stable human reactions restore consequence when the London outage lands. |
| 5 | Isolated fleet | `jmdmxd1v95rmt0czzp4rdz3s0c` | Hardware wakes row by row beneath the claim that 4,812 processes are isolated. |
| 5 | Sam's suspicion | `bmr1cpj3c1rmy0czzp4sg3wpp0` | Sam shifts from the report to the CISO as the repeated 0.3% variance stops looking accidental. |

Each take remains silent. Existing narration, dialogue, ambience, and score are
the editorial authority, and cuts follow their phrase boundaries. The generated
clip supplies performance and camera movement only; all story-critical text and
UI remain code-native overlays. Every final episode is still rendered at
1920×1080 and a constant 60fps.

## Episodes 3–7 geography and evidence pass · 2026-08-16

The later episodes received sixteen additional coverage assets against a
42-asset photographic/motion baseline: five original exterior masters, five
silent exterior motion plates, and six purpose-built interior/evidence angles.
That is a 38% increase, exceeding the requested 30% without adding decorative
shots. Each addition establishes geography, reveals a reaction, lets the viewer
read evidence, or makes the external spread physically credible.

| Episode | Exterior motion | Added interior/evidence purpose |
|---|---|---|
| 3 | Toronto Morrowvale campus arrival | Sam absorbs the benchmark/objective mismatch. |
| 4 | Colder secure Test Floor annex | High observation angle; Aster watches the fleet through an ordinary workstation reflection. |
| 5 | Credible London bank at blue hour | Sam arrives as a visibly junior engineer beside the older CISO. |
| 6 | The same bank after midnight | Close physical comparison of reports and tiny field differences. |
| 7 | Wider London financial district | A second, visually distinct bank receives the same apparently valid pattern. |

Hailuo 02 Fast generated all five six-second exterior takes for a planned
**$0.50**. Episodes 3–6 passed review. The Episode 7 take was rejected because
it invented blue network lines despite the negative prompt; the approved clip
is instead a deterministic 7% pullback from the original city master. Exact
prompts, prediction IDs, model settings, costs, generated-take hashes, rejection
note, and final media hashes are in
`video-experiments/episode3-7-exterior-motion-pass-results.json`.
The image-generation modes, continuity references, saved paths, and final
production prompts are in
`video-experiments/episode3-7-coverage-image-prompts.md`.

The approved exterior motion files are:

- `videos/episode3/morrowvale-exterior.mp4`
- `videos/episode4/test-floor-exterior.mp4`
- `videos/episode5/bank-exterior.mp4`
- `videos/episode6/bank-exterior-midnight.mp4`
- `videos/episode7/bank-district-exterior.mp4`

## Episodes 4–5 canonical light-environment pass · 2026-08-17

Episodes 4 and 5 received ten additional silent motion plates after the story
and location audit: five for the bright Morrowvale Test Floor and five for the
restrained London bank. These are continuity shots, not generic decoration.
They cover the fleet, observation reverse, high floor angle, Aster, young test
team, bank arrival, isolation observation, isolation floor, human review and
Sam's evidence workstation.

Hailuo 02 Fast generated the ten source takes for a planned **$1.00 / £0.77**.
Nine source takes were accepted directly. The final second of the Test Floor
high-angle take darkened the room and was rejected; the active derivative uses
the clean first 3.8 seconds and holds that accepted endpoint for 2.2 seconds.
All active derivatives are conformed to 60fps and extended 1.5× so restrained
motion continues beneath the complete spoken beat without inventing a second
action or ending abruptly.

Exact prompts, source references, prediction IDs, output paths and the
conditioned-take decision are recorded in
`video-experiments/episode4-5-canonical-coverage-results.json`. The repeatable
generation entry point is
`video-experiments/run_episode4_5_canonical_coverage_pass.py`.

## Episode 3 doubled editorial coverage · 2026-08-16

Episode 3 now uses 23 unique revision still masters and five motion plates,
more than twice its previous 11-still / two-video visual vocabulary. The added
coverage is deliberately mixed by shot size: arrival wide, desk profile, tight
over-the-shoulder customisation, high angle, keyboard and evidence inserts,
listener close-up, empty workstation, Sam reflection and decision-table hands.

The three new silent Hailuo 02 Fast generations had a planned total cost of
**$0.30 / approximately £0.23**:

| Take | Prediction | Editorial decision |
|---|---|---|
| Sam arrives in headphones | `0bjrwbntehrmy0d019sb225898` | Approved: stable windowed geography, wardrobe and restrained walking action. |
| Agent customisation close-up | `gqc45ep49nrmt0d019s9qnsdqg` | Approved: useful two-person performance insert with a distinct shot size. |
| Validation-key B-roll | `84ar49vhwdrmy0d019ws9fg1m4` | Generated tail rejected after 3.4s because the UI and hand action drift; approved edit holds the stable endpoint for 2.6s. |

Exact image prompt lineage is in
`video-experiments/episode3-editorial-coverage-image-prompts.md`. Exact motion
prompts, model settings, generation hashes and final edit hash are in
`video-experiments/episode3-editorial-motion-pass-results.json` and
`video-experiments/episode3-typing-insert-results.json`.

## Gil window and environment consequence · 2026-08-15

These are two different story events, not interchangeable coverage. Episode 1
uses a restrained window-looking take before the Messenger interruption. Episode
2 uses a fixed-start/fixed-end transformation after Samantha's confirmation.
Both takes are silent and retain the existing dialogue mix.

| Episode | Take | Model | Prediction | Cost | Editorial use |
|---|---|---|---|---:|---|
| 1 | Gil at simulated window · period refit | Hailuo 02 Fast | `dwvg1aje41rmr0d01emsxs3958` | $0.10 | `videos/episode1/gil-window-period-v1-edit.mp4`; the clean opening look is retimed to 60 fps and ends before the generated turn toward camera. |
| 2 | Office loses one LOD · period refit | Kling 2.1 Pro | `wt1yjaaj21rmy0d01emvvsg12c` | $0.25 | `videos/episode2/gil-office-period-downgrade-v1.mp4`; the supplied 1996–1998 start/end states lock the beige CRT and desk while the real window resolves to a beach poster and personal detail disappears. |
| 2 | Gil reverse monitor setup · period refit | Hailuo 02 Fast | `wp2pnf2e5srmy0d01emsrfmq68` | $0.10 | `videos/episode2/gil-monitor-period-reverse-v1.mp4`; only the clean 4.25–5.875 s monitor-facing tail is used. |
| 2 | Reverse → downgrade editorial sequence · period refit | Deterministic edit | — | $0.00 | `videos/episode2/gil-office-period-downgrade-sequence-v1.mp4`; 1.625 seconds of reverse work coverage, a motivated angle cut, then the complete fixed-endpoint transformation. |

The Episode 2 clip ends on the supplied state image rather than allowing the
model to invent an endpoint. The cut then holds the resolved room for 0.85
seconds before Gil's understated recognition line. Prompts, settings, hashes and
input provenance are stored in
`video-experiments/episode1-gil-window-period-motion-results.json`,
`video-experiments/episode2-gil-period-reverse-motion-results.json` and
`video-experiments/episode2-office-period-downgrade-results.json`. The three
period-refit generations cost $0.45 in total; earlier takes remain only as
provenance and must not be reintroduced into the active edit.
