OpenAI Film Fieldnotes

Download complete editable project · Read review limits

Turn matched comparisons into a sentence read across signs

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

Source and composition

Official film 6SIDwCQZkU8, selected native interval [540,690), 30/1 fps. Use a silent 1920×1080 square-pixel composition containing local frames 0–149. Exact duration: 150/30 seconds (5.000000 s). Source ordinal = 540 + local frame. No frame-rate rounding, extra opening pause, closing hold or narration belongs to this study.

The comparison is a retained, hash-bound 960×540 research excerpt. Preserved native metadata and PTS ledgers bind its clock; the historical full master is absent, so this is not a fresh full-master decode. Samples informed the build. Intermediate paths and measured-looking coordinates below are authored reconstruction controls, not official product timing, latency or design tokens.

Setup and common coordinate rules

Verify the unmodified kit with python3 verify_package.py, then follow project/README.md. Choose either input JSON content set. Install the bundled licensed Geist font for Text+, and calibrate pixels, weight, tracking and baselines against the supplied MP4; a font name alone does not guarantee parity.

Regenerate docs/controls.csv with node --experimental-strip-types scripts/controls.mjs. Each row includes the local frame, source ordinal and exact sampled controls. Fusion global frame = composition start + CSV frame. Coordinates here use pixels from top-left, Y down. For a point in normalized Fusion image coordinates, X=pixelX/1920 and Y=1−pixelY/1080; convert top-left rectangles through their centers. Check the installed tool's coordinate direction instead of assuming CSS and Fusion match. Parent transforms apply after local transforms. A uniform pivoted transform is pivot + scale×(point−pivot), followed by the stated translation. Convert angles to your tool's convention. CSS rotations are clockwise in this Y-down space.

Continuous controls use the CSV per-frame values, not an unspecified default spline. Held gates, text prefixes, colors and row indexes use stepped keys. Smoothstep is t²(3−2t), with t clamped to [0,1]; linear progress is clamped t. Rectangle masks need pixel-correct width and height; normalized X/Y values are not interchangeable on a non-square raster. Match opacity, clipping and layer order before attempting a moving comparison.

Matched comparison cuts become a sentence across signs

Use a white 1920×1080 canvas. Center a clipped 1200×600 image aperture for local 0–42. Inside, build five original illustrated cartons on a shelf with the supplied paper-bird SVG printed on each. The carton geometry, colors and shadows are in src/Scene.tsx; reconstruct them as separate editable shapes.

  1. Begin with internal packageScale=1.14 around aperture-local (600,300). At local 4, hard-reset it to 1. The white outer aperture does not change.
  2. Use packageWords[0] until 12, [1] over 13–22, [2] over 23–32 and [3] over 33–42. Change only the label in the retained layout. This keeps the same comparison focus through short reading holds of 9–10 frames after reset.
  3. At 43, hard-change the centered aperture to 1440×720 and switch to the first illustrated physical sign. Use the six signWords in order with half-open intervals [43,66), [66,88), [88,104), [104,120), [120,135), [135,150). Those holds contain 23,22,16,16,15,15 sampled frames. The source excerpt ends in the last shot; this is not proof that the whole shot ends.
  4. Keep each sign word as live Text+. The scene bodies use a wall plaque, rail letterboard, octagonal street sign, storefront fascia, lit billboard and forest notice. Their changing setting carries the sentence across cuts. Use no dissolves or per-word transitions. The whole comparison-to- sentence sequence is one example, not ten language/sign examples.

All following coordinates are aperture-local pixels. Center each word in its rectangle; use weight 600 and the bundled font, then calibrate Text+ baselines. The CSS word is lower-case on plates 0 and 3, upper-case otherwise.

Sign Text rectangle x,y,w,h Type size Width budget
0 370,224,700,272 136 650
1 385,186,680,298 112 630
2 407,91,626,550 134 560
3 230,160,980,200 116 880
4 250,160,940,320 130 780
5 250,193,940,297 112 820

Place the same 112×70 original paper bird at (1040,169), (355,132), (914,45), (1110,349), (1115,102), (290,129), respectively; mirror it horizontally on odd indexes. It is not the source animal. The editable SVG sign silhouettes, posts, shelf, windows and trees are original schematic illustrations. Static illustrations do not reconstruct the source's internal photo/motif motion.

Default package labels are TEA/THÉ/TEE/TÉ; the adaptation uses SOUP/SOUPE/SUPPE/SOPA. These Latin-script fixtures test retained-layout reuse, not Arabic directionality, Japanese shaping or translation quality. Do not claim multilingual layout parity. Font, photography, animal performance, texture, aperture details and internal movement remain source differences.

Verification boundary

Inspect both actual exports at their native cadence, including entry/exit, hard gates, layering, width, masks and holds. Shipped code checks font loading and selected text-width budgets before rendering; it rejects oversized copy instead of silently shrinking it. This is not arbitrary-input readability approval or a guarantee that an independent Text+ rebuild fits.

The kit contains editable original geometry, fixtures, controls and tests; source screenshots/movies are not renderer inputs. Native .drp execution, tested Resolve import, independent moving-source review and source-quality approval are not included. Existing matching pinned dependencies were used, not a clean dependency install. A modified input needs a new render and review.