OpenAI Film Fieldnotes

Download complete editable project · Read review limits

Interrupt the task, then return to the same setup

Draft construction guide. Moving-source fidelity and native Resolve operation remain unverified. Two original content variants form one example.

Source, raster and timing

Official film identifier: HnSPedbA02Q. Selected native source interval: [4080,4560), 60/1 fps. Create a silent 1920×1080, square-pixel composition with 480 included frames, local 0–479. Duration is 480/60 seconds (8.000000 s). Source ordinal = 4080 + local frame. Preserve the rational rate; do not round it or append a closing hold.

The source comparison is a retained, hash-bound 960×540 excerpt. Historical master metadata and PTS ledgers supply the timing reference, not a fresh decode of the absent full master. The editable output contains only original content.

Inputs and shared controls

Verify the unmodified download with python3 verify_package.py, then follow project/README.md. Input JSON files provide the two fictional content sets. The bundled Geist font includes its license. Install it for Text+ and calibrate sizes, tracking and baselines against the actual exported candidate. Original identity, data and palette are not official OpenAI tokens or live Poe results.

Regenerate docs/controls.csv with node --experimental-strip-types scripts/controls.mjs. Each row maps one local integer frame to its source ordinal and this treatment's controls. Fusion's global frame is composition start + CSV frame. Apply local transforms before their parents. Continuous values use the supplied per-frame samples; held switches must not receive default smooth splines. Where specified, smoothstep is t²(3−2t), with t clamped to [0,1] inside the stated start/end interval.

One interruption, one preserved setup

The source has a full-screen chapter between two views of the same setup. The chapter is not a new product screen. It returns before the next composer input begins; the selected interval contains no submitted test or result.

Layer construction

  1. Build a 1920×1080 original soft-blue background. The setup window is x=208, y=120, width=1504, height=844, with an 18 px corner radius. Its left pane is 650 px wide. Keep one unchanged window subtree for the entire shot.
  2. Left pane: 28 px horizontal padding, 19 px body type at 1.48 line height, 16 px muted activity labels, and four 18 px summary rows. Right pane: 48 px horizontal padding, a 45×42 icon, 31 px collection title, channel boxes and 18 px instructions. All copy comes from the selected content JSON.
  3. Composer: window-local x=20, y=774, width=609, height=51. It belongs to the left pane, not to the full-screen chapter. Use a rounded white shell, 18 px input text and a 31 px send affordance. It is never activated in this cut.
  4. Place an opaque white full-frame branch above the setup only while chapterVisible=1. Use a hard gate on local [105,285), not a dissolve. These two cut frames were located by a corner-pixel threshold and displayed for confirmation in the retained source excerpt.
  5. Chapter text: x=256, y=481, 1550 px available width, 92 px type, weight 550, line height 1.1, letter spacing −4 px. Keep the left edge fixed. Show the first floor(characterCount×chapterProgress) characters. Progress is linear from 0 at 108 to 1 at 148; the complete title holds through 284. This reveal timing is authored inside sampled source brackets, not a recovered text API.
  6. At 285 remove only the chapter branch. The identical window, collection name, summary rows and instructions reappear at their previous coordinates. Focus the composer at 344. Query progress starts at 349 and reaches only 0.34 by the last frame; show a prefix and a separate two-pixel caret. Do not complete the query, press Send or add a successful test result.

Resolve control mapping

chapterVisible is the held alpha of the full chapter branch. chapterProgress is a character-prefix proportion; set Text+ content to the corresponding literal prefix at each changed frame rather than assuming a particular write-on modifier matches the model. composerFocused gates the caret. queryProgress selects a prefix of the query using the same floor rule. Text baselines and tracking must be calibrated against the exported candidate; font availability alone does not establish Remotion/Fusion pixel parity.

The source's dense product chrome, exact glyph spacing and input cadence are not reproduced. The configuration, task and brand here are invented examples.

Verification boundary

Compare both actual MP4s, including first/final frames, transitions, clipping and text wrapping. Check editable geometry and input substitutions separately from the source comparison. Sampled still inspection and exact movie hashes do not establish perceived moving quality. No native .drp, tested Resolve importer, narration, product-performance result or source-quality approval is included. A newly edited input needs its own render and review.