Independent visual research / Public editionReviewed 05 Sep 2026
Motion fieldnotesOpenAI film study
About this study

Production / original studies

Agent Production
Playbook

Choose a technique for the spoken beat. Build its layers and timing. Check the exported result.

12 recipes3 complete sequences19 evidence records
Original neutral interface: a request and its readable grouped result
Original geometry + text. No source-film assets. No product-performance claim.
Agent entry / Markdown ↗Recipes / Markdown ↗Coverage / Markdown ↗Comparison / Markdown ↗Recipe data / JSON ↗Schema / JSON ↗Original studies / ZIP ↗Verification / JSON ↗

Go from a narrated beat to a reproducible shot. The films supply evidence about staging and sequence; the recipes supply chosen, testable implementation values, not recovered studio settings.

One beat, one job

Write the beat as what the speaker says → what the audience must see → what proves it. Use the actual recording, including pauses, to mark the beat. A script's word count cannot establish timing.

The beat needs… Start with… Protect…
A new subject and recognizable start cue title-interface Complete title reading time; settled interface after the cut
A change in the argument chapter-reset The task state before and after the title
A small detail made readable context-detail One orientation landmark; capture resolution
A causal action pointer-intenttype-submit Target dwell; complete request before submit
A change to a specific passage selection-action Selected scope and actual available action
An off-screen destination scroll-landmark Fixed viewport; reading only after scrolling stops
Work becoming a visible output progress-resultresult-hold Real state order; late content build; quiet reading time
One artifact in a different context object-handoff Identity, anchor, crop and size across the cut
A clean finish result-holdquiet-ending Final proof first; ending buffer in the separate recording
An unobtrusive identifier anchored-caption Result clearance and contrast; not a default person ID

Read the recipe's contrasting sources before choosing a transition. A hard cut and a smooth push solve different problems. Do not turn every transition into a morph.

Asset packet before implementation

For each beat retain: recording start/end and emphasis timestamp; required proof; real initial state; product route and version; fixture data and permissions; exact actions; expected and actual output; capture dimensions and frame rate; crop/focus rectangle; cursor policy; any omitted wait interval; recipe ID/version; duration; and approval status. Keep account, customer and private development material out of publishable packets.

A source-availability check is not a runtime verification. Before prescribing a product demo or component import, read that checkout's instructions, verify current exports, run the actual interaction, and capture the result. With a fixed recording, a contradictory result is a consolidated-review decision: request authorized re-recording/content changes or change the capture plan. Never silently change the recorded performance, synthesize replacement words, or paint a successful result over a failed action.

Inspect the recording and build the production packet

Read in this order: this entry; the OBS timing worksheet and clean-tail rule; the recording-to-capture-to-edit guide; then the recording scheduler, Trail asset replacement, and only the recipes needed for the recorded claims. The downloadable Remotion project includes the runnable intake, capture adapter, packet checker, renderer, encoded checker, and a complete synthetic transfer. Do not read all 100 films before inspecting the recording.

The packet guide starts with a source hash, stream comparison and analysis derivative. Its optional local ASR adapter preserves raw word estimates, checks onsets against an explicitly chosen acoustic threshold, and retains spelling/claim uncertainty. A calm noisy pause is not silence; only inspection of the actual video establishes a gesture or usable ending. The supplied model and tool versions are recorded. No recording or transcript is uploaded by these commands.

The same guide imports actual encoded capture frames and PTS, checks useful pixels rather than padded dimensions, maps omitted waits explicitly, and reuses alignToRecording and the Trail camera primitives. Its check command is not approval. Real render requires a hash-bound consolidated storyboard/demo authorization; synthetic output remains labeled synthetic-only. Unknown production timing, missing/replaced essential captures, failed actions, and inadequate holds are rejected.

Run an original study

Download and unpack original-studies.zip. The tested hash-locked profile is Linux x86-64 / CPython 3.14, with FFmpeg/ffprobe and libx264 on PATH. Other platforms remain untested. From its directory:

python3 -m venv .venv
.venv/bin/python -m pip install --require-hashes -r requirements-linux-py314.lock
.venv/bin/python verify.py --report data-check.json
.venv/bin/python render.py --all --out renders
.venv/bin/python verify.py --renders renders --report verification.json

The renderer does not fetch fonts, footage or application data. Its only visual inputs are the bundled original text/geometric artwork and licensed DejaVu fonts. Tested environment: Python 3.14.7, Pillow 12.3.0, FFmpeg 9.0.1. Other compatible versions may produce different encoded bytes; compare the RGB checkpoint hashes and decoded-image error, not an assumed universal MP4 checksum.

Three complete silent sequences are specified in recipes.json: title-to-interface (10 s), interaction-to-result (18 s), and result-to-ending (9 s). Twelve independent recipe studies make the individual operations inspectable. The originals are neutral diagrams, not real product demos, and none contains a source logo, source footage, source demo data, narration, or music.

.venv/bin/python render.py --sequence interaction-to-result --out renders
.venv/bin/python render.py --recipe context-detail --duration 6 --out extended
.venv/bin/python verify.py --renders extended --only context-detail --report extended-check.json
.venv/bin/python render.py --recipe result-hold --width 1920 --fps 60 --out delivery-test

--duration changes only the last hold of a single recipe. It never time-stretches an action. Too-short durations fail. A longer actual wait requires a genuine longer capture or disclosed editorial compression, not a slower synthetic spinner. For a new composition, edit the recipe phases and the corresponding renderer construction together; normalized layer rectangles document the design and are checked, not a general-purpose scene-graph editor.

Construction contract

All positions use [x, y, width, height], normalized to the full 16:9 design frame, top-left origin. A workspace-space layer inherits the outer camera; it is still normalized to the full design frame, not the window. Frame-space titles and captions do not inherit it. Rasterize masks before the workspace transform. A viewport scroll moves document content behind a fixed mask; a camera push transforms the complete workspace and its pointer.

The neutral design uses a warm paper field, a fixed white window, restrained green focus, dark type, a .07-frame outer horizontal margin, and a .035-frame-height essential result font. The supplied font files are an implementation choice. Product captures retain their actual typography and spacing. Do not redraw a product into this neutral skin.

Typography must fit before animation. Keep line breaks fixed; measure the longest complete line. A title uses at most two short lines. Masking reveals existing glyphs rather than changing layout every frame. Leave one primary attention target: no camera movement during typing or reading, no spinner continuing over a finished result, and no cursor wandering through proof.

Capture width should be at least output_width × maximum_camera_scale for a crop that fills the output; recapture closer if it is not. The proof renderer draws resolution-independent primitives, but that does not make a low-resolution screen recording sharper. These studies are 1280 × 720, 30 fps, H.264/yuv420p in MP4 with explicit BT.709 video conversion and no audio stream. These are research settings, not approval of final meeting delivery settings.

Fit the recording without breaking the choreography

First place the moment of proof at the recorded emphasis. Work backward through a completed result, result settlement, work, action and orientation. Put a chapter transition in a real pause or at the clause boundary. Do not require the audience to read one phrase while hearing an unrelated one.

Treat movement durations as protected initially. Shorten a surplus hold, simplify a phrase, use a closer crop, or split the beat before accelerating all phases. A proposed reading budget is max(3 seconds, essential words / 3 + 0.6 seconds); this is an editorial floor to test, not a human-performance guarantee. Count the complete result's words, not all decorative UI chrome. Verify with a reader at meeting-view size. If the recording does not leave enough time, flag the conflict in the storyboard review.

Three clocks stay separate: source-film timestamps; actual application capture time; and presentation/recording synchronization. The recipes' local seconds are a fourth convenient implementation coordinate, not a replacement for any of those clocks. Convert source frames using their delivered PTS; do not compare equal frame numbers across 23.976, 30 and 60 fps films.

Separate-video playback contract

The supplied talking-head recording plays in OBS. Its video reaches the meeting through the virtual camera and its audio through the virtual microphone. The separate presentation video plays through Google Slides. Do not composite them, generate a replacement speaker, duplicate narration, or add music without a separate request.

Let C be the visible cue time in the presentation, R the measured reaction/startup delay, and S=C+R the actual talking-head start offset. Recording time h maps to presentation time S+h. R is measured in rehearsal in the actual Slides/OBS/meeting setup; it is not assumed to be zero.

Let H be the recording duration, T the observed usable tail onset, E the observed end of usable performance (E <= H), L the last required speech endpoint, P the presentation end, and B>0 the required operator buffer. For a measured reaction range [Rmin,Rmax], require C+Rmax+max(T,L) <= P <= C+Rmin+min(H,E)-B. Every visual proof and its reading hold must also finish by P. Unknown reaction/usable-tail values block readiness; file duration is not usable performance. For one measured offset this reduces to S+max(T,L) <= P <= S+E-B.

For invented arithmetic only: C=3, Rmin=Rmax=.7, H=E=60, T=57, L=56, B=2 permits 60.7–61.7 s. Changing the observed reaction range to 0–1.5 s empties that window. None of these numbers is a production preset. Use the existing OBS worksheet's repeated starts and attendee-side alignment checks; three trials are a proposed practice, not a guaranteed delay bound. If a whole wave must occur after P, record its observed start/end separately. A wave overlapping the last thanks may make that request impossible. Raise an empty window in review; never freeze a face, manufacture a wave, or cut speech to make it fit.

Retrieve and verify downloads

Keep relative links beside the entry's source URL when saving this Markdown. Its online base is https://openai-film-fieldnotes-100.pages.dev/videos/playbook/; for a test release use that release's base instead. Fetch with an identified client, check HTTP status/content type, then verify the payload against that release's publication manifest. Do not treat an HTML denial page as a ZIP. The project's fetch.py implements those checks; it does not bypass access controls. A 403 is an access failure, not permission to read a private local copy.

The recipe data, recipe schema, coverage, and verification limits remain separate from the production packet contract. Schema versions, recipe versions, ASR estimates, source observations, capture PTS and proposed edit values carry distinct fields.

One storyboard review; then production

Consolidate the recording-derived beat map, demo list, selected references, recipe choices, original identity, capture prerequisites, unresolved product behavior, time compression, cue, rehearsed offset, real ending buffer, and delivery format into one review. Establish resolution, aspect ratio, frame rate, codec, and Google Slides playback constraints with the supplied assets and intended setup. Get approval before final production rendering. Research studies here do not approve a storyboard.

After approval, execute without asking about every routine scene. Raise material departures. Verify the exported pair, not just an editor preview: recognizable cue; recorded speech aligned with proof; no duplicate narration or music; completed result readable at meeting size; and presentation end inside the real talking-head tail. Preserve the original recording and deliver clearly labeled pairing/timing notes.

Evidence strength

Each recipe links source records and intervals. Measured observation means delivered pixels/PTS in a bounded inspection. Editorial interpretation explains sequencing or attention. Fitted approximation would identify a fitted numerical model; none of these easing or font values is fitted. Proposed production default is a value chosen for the original examples. The existing interface-token study is independent research, not film timing evidence.

Start with the coverage matrix for what is established and what remains uncertain. No film was added merely to increase the collection count. Existing opening, motion, ending-logo and lower-third studies remain the deeper evidence, with their original limits intact.

Reference frame

Enlarged reference frame

Watch this moment on the official channel ↗