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

Technique / FocusType

Establish the input before typing

Make the target of an instruction clear before the words arrive.

Run the original

6.2 s · 30 fps · silent

Original neutral assets · 6.2 seconds · phase values are chosen defaults, not source timings.

npm run render -- FocusType out/FocusType.mp4 --codec=h264 --muted

Download the complete pinned project · Inputs, phase meanings & full source code

Official source / inspected interval

A first look at the Codex app

Watch the official OpenAI upload ↗ · Published 2026-02-02T10:03:33-08:00

Inspected 6.5–10.5 s. Consecutive subset: 7.5–8.5 s, 24 frames. Dates come from the official watch-page publication field.

Workspace area before composer reframe at source 6.507000 seconds
6.507000 s · Workspace area before composer reframe
Composer now occupies the lower frame at source 7.216000 seconds
7.216000 s · Composer now occupies the lower frame
Empty input remains available at source 8.300000 seconds
8.300000 s · Empty input remains available
Request growing; submission not shown at source 10.135000 seconds
10.135000 s · Request growing; submission not shown

Source: OpenAI. Bounded excerpt and annotated stills for the analysis below; not included in the project download.

What changes across the edit

Shot boundary
This excerpt is a reframe and input beat, not evidence of a submission cut.
Framing
The view moves down from the workspace selector toward the composer. The lower window edge remains an orientation cue.
Layer ownership
Native composer, caret/pointer and window chrome; no editorial keystroke overlay.
Motion
Camera reframing precedes the request growth visible from roughly 9 s. The later text does not fully finish in this window.
Typography
Native sentence grows along the composer baseline. Its typing rate is not recovered.
Action order
Target is located → field remains visible → text begins growing.
Pacing & readable holds
Empty input is available across several samples before typing. This interval does not establish complete-request reading time or submission.

Recreation versus observation

Matches

Pointer aim before text growth, stable field and baseline.

Differs

The original example completes a shorter request and holds it. No submission is animated or inferred; camera movement is omitted to isolate focus order.

Measured

Inferred

Chosen defaults

All Remotion phase frames, cubic Bézier (.16,1,.3,1), geometry, colors, font choice and reading holds are chosen defaults. None is a recovered OpenAI specification.

{
  "title": "Make room for the idea.",
  "prompt": "Arrange a small exhibition.",
  "result": "Three studies, ready to compare.",
  "label": "EXHIBITION / 03",
  "accent": "#40685b",
  "action": 24,
  "change": 54,
  "settle": 126,
  "hold": 60,
  "focusX": 0.66,
  "focusY": 0.64,
  "zoom": 1.55
}

Increase hold to extend only the final quiet state. Change the phase frames to change choreography; preserve their ordering. Content limits and the exact meaning of each phase are in the handoff.

Exact original geometry, layer ownership and asset contracts · Schedule against an actual recording

Reference frame

Enlarged reference frame

Watch this moment on the official channel ↗