{
  "schemaVersion": 1,
  "recipeId": null,
  "editName": "A considered tomorrow — independent brief 03 attempt 01",
  "recipeIds": [
    "type-paragraph-cuts",
    "study-keyword-double-underline"
  ],
  "variant": "edit",
  "output": {
    "file": "out/trial/considered-tomorrow.mp4",
    "sha256": "e9b1f59cf542e251f8e40f513c68e947023a3109395787f381522488bc1d9591",
    "width": 1920,
    "height": 1080,
    "fps": {
      "numerator": 60,
      "denominator": 1
    },
    "frames": 203
  },
  "inputProps": {
    "edit": {
      "name": "A considered tomorrow — independent brief 03 attempt 01",
      "fps": {
        "numerator": 60,
        "denominator": 1
      },
      "shots": [
        {
          "recipe": {
            "schemaVersion": 1,
            "id": "type-paragraph-cuts",
            "title": "Three hard crops across an oversized paragraph",
            "description": "Draft source-specific original adaptation. Not reviewed, accepted or counted complete.",
            "families": [
              "typography",
              "mask",
              "multi-shot"
            ],
            "intents": [
              "A text field larger than the screen is read through three abrupt crops, with different held dwell lengths; the type itself is already formed."
            ],
            "tags": [
              "typography-a",
              "source-native",
              "draft",
              "original-assets"
            ],
            "distinctness": {
              "mechanism": "A text field larger than the screen is read through three abrupt crops, with different held dwell lengths; the type itself is already formed.",
              "notEquivalentTo": [
                "The approved Codex rapid-selector example is a moving camera into UI. This is a three-shot, held-position paragraph scan with intentional clipping. Do not interpolate a pan."
              ]
            },
            "source": {
              "film": "10 years.",
              "slug": "ten-years",
              "url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw",
              "sha256": "c047b79bf59dcdfd4df793d6724f732dbd89bc43390c5a43dd676e6b25f0f0d1",
              "fps": {
                "numerator": 24000,
                "denominator": 1001
              },
              "width": 1920,
              "height": 1080,
              "startFrame": 1411,
              "endFrameExclusive": 1444,
              "localMedia": "references/openai/media/ten-years.mp4"
            },
            "canvas": {
              "width": 1920,
              "height": 1080,
              "background": "#fdfdfd"
            },
            "observations": [
              {
                "kind": "measured",
                "statement": "Footage cuts to the first large paragraph crop at f1411; the next distinct crop starts at f1418 and the third at f1427. f1444 cuts to a much smaller social-post composition outside this candidate. Every frame [1408,1450) is attached.",
                "sourceFrames": [
                  1410,
                  1411,
                  1417,
                  1418,
                  1426,
                  1427,
                  1443,
                  1444
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json"
                ]
              },
              {
                "kind": "measured",
                "statement": "Full-canvas threshold-ink bounds are [562,513,1920,1075], [0,509,1920,1078], [0,489,1598,1080]. Both canvas edges and the bottom truncate letters; these are visible bounds, not complete paragraph dimensions.",
                "sourceFrames": [
                  1412,
                  1420,
                  1430
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json"
                ]
              },
              {
                "kind": "measured",
                "statement": "Threshold masks are identical through [1411,1418), [1418,1427), [1427,1442); f1442/f1443 retain the third crop visually but differ slightly in threshold pixels. Sampled prose initially suggested a pan; consecutive evidence disproves that.",
                "sourceFrames": [
                  1411,
                  1418,
                  1427,
                  1442
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json"
                ]
              },
              {
                "kind": "estimate",
                "statement": "Very large regular sans-serif lines, ample vertical spacing, black on white. The source font and full uncropped paragraph geometry are not established.",
                "sourceFrames": [
                  1412,
                  1430
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json"
                ]
              },
              {
                "kind": "estimate",
                "statement": "Native threshold bands show the third crop has larger visible glyphs. Draft third-state scale 1.28, font210 and x/y offsets are original-type fits, not measured source transform parameters. Three cut boundaries and 7/9/17-frame dwell are measured.",
                "sourceFrames": [
                  1412,
                  1420,
                  1430
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/evidence/anniversary/consecutive-001408-001437.jpg"
                ]
              },
              {
                "kind": "implementation-choice",
                "statement": "Revision04 vertical fit: three held crop states use independently fitted line pitches of 406/366/442 screen pixels and compensated text-box origins. The third pitch includes the existing 1.28 scale. These are substitute-font layout fits against native visible line bands, not recovered source paragraph CSS or a claim that the source changed its leading. Original glyph/descender differences remain for independent review; the three hard cuts and native dwell lengths are unchanged.",
                "sourceFrames": [
                  1411,
                  1418,
                  1427
                ],
                "evidence": [
                  "benchmarks/remotion-library/evidence/review-type-a-trio/type-paragraph-cuts/paragraph-measurements.json"
                ]
              },
              {
                "kind": "implementation-choice",
                "statement": "Revision05 copy fit: replacement lines preserve the final lower-line right margin and shorter lower footprint. The fixed Geist advance ranges (3200–3460px, 3120–3280px, descending) are enforced adaptation constraints, not recovered source font metrics. Copy is replaced; the camera, scale, line tops, line pitches and 7/9/17-frame holds are unchanged. Fresh review remains required.",
                "sourceFrames": [
                  1427,
                  1443
                ],
                "evidence": [
                  "benchmarks/remotion-library/evidence/review-type-a-trio/retest-revision04/type-paragraph-cuts.md"
                ]
              }
            ],
            "fields": {
              "paragraph": {
                "kind": "text",
                "description": "Exactly two original lines, at most 42 characters each. With bundled Geist 400 at 210px and -2.2px tracking, measured advances must be 3200–3460px then 3120–3280px; the second line must be shorter. The renderer rejects unsupported copy instead of shrinking type or changing the three source crops.",
                "minLength": 45,
                "maxLength": 88,
                "maxLines": 2,
                "exactLines": 2,
                "maxLineLength": 42
              },
              "ink": {
                "kind": "color",
                "description": "Dark editorial ink; contrast against the light canvas."
              }
            },
            "defaults": {
              "paragraph": "Every idea grows when it is shared.\nKeep useful context close at hand.",
              "ink": "#0a0a0a"
            },
            "adaptation": {
              "paragraph": "Every plan begins with one question.\nKeep questions close to the team.",
              "ink": "#20201e"
            },
            "adaptationNotes": [
              "Geist OFL is a labeled substitute; the source font is unknown. All displayed artwork and text are original.",
              "This is a draft with unresolved source fits, not an approved example or a portable proof of visual fidelity.",
              "Measured copy fit: the two line-width ranges and descending order are checked after the bundled font loads. Character count alone does not establish fit. Do not override type size, tracking, scale or cropping to force unsupported supplied text into this recipe."
            ],
            "invariants": [
              "Source-native cadence and exclusive source bounds.",
              "No source media, marks, slogans or demo data in presentation assets.",
              "No implicit text shrink or arbitrary duration extension.",
              "No interpolation between local0/7/16 camera states.",
              "Type is intentionally clipped by the canvas; do not shrink it to make a whole paragraph readable.",
              "Full text fits its large child; parent canvas performs the cropping."
            ],
            "unsupported": [
              "A source-wide text reconstruction is unnecessary and not inferred. Fit an original statement to the observed visible line fragments and crop progression with labeled Geist substitution.",
              "Exact source font, easing and shutter were not recovered. Any numeric fitted curve is an estimate, not an official token."
            ],
            "entry": {
              "field": "light",
              "description": "Source-specific opening state on a light editorial field.",
              "continuityKeys": []
            },
            "exit": {
              "field": "light",
              "description": "Source-specific final state; no automatic cross-treatment morph.",
              "continuityKeys": []
            },
            "neighbors": {
              "before": [
                "light",
                "typography",
                "interface"
              ],
              "after": [
                "light",
                "typography",
                "interface"
              ],
              "rule": "Use an explicit cut unless matching objects and source timing are independently verified."
            },
            "layers": [
              {
                "id": "paragraph-camera",
                "kind": "group",
                "start": 0,
                "end": 33,
                "x": [
                  {
                    "frame": 0,
                    "value": 562,
                    "easing": "hold"
                  },
                  {
                    "frame": 7,
                    "value": -210,
                    "easing": "hold"
                  },
                  {
                    "frame": 16,
                    "value": -2685,
                    "easing": "hold"
                  }
                ],
                "y": [
                  {
                    "frame": 0,
                    "value": 385.25,
                    "easing": "hold"
                  },
                  {
                    "frame": 7,
                    "value": 402.25,
                    "easing": "hold"
                  },
                  {
                    "frame": 16,
                    "value": 364.32,
                    "easing": "hold"
                  }
                ],
                "width": 5200,
                "height": 950,
                "scale": [
                  {
                    "frame": 0,
                    "value": 1,
                    "easing": "hold"
                  },
                  {
                    "frame": 7,
                    "value": 1,
                    "easing": "hold"
                  },
                  {
                    "frame": 16,
                    "value": 1.28,
                    "easing": "hold"
                  }
                ],
                "children": [
                  {
                    "id": "large-paragraph-state-1",
                    "kind": "text",
                    "slot": "paragraph",
                    "start": 0,
                    "end": 7,
                    "x": 0,
                    "y": 0,
                    "width": 5200,
                    "height": 950,
                    "fontSize": 210,
                    "weight": 400,
                    "lineHeight": 1.9333333333333333,
                    "letterSpacing": -2.2,
                    "color": "$ink",
                    "lineWidthRanges": [
                      {
                        "min": 3200,
                        "max": 3460
                      },
                      {
                        "min": 3120,
                        "max": 3280
                      }
                    ],
                    "decreasingLineWidths": true
                  },
                  {
                    "id": "large-paragraph-state-2",
                    "kind": "text",
                    "slot": "paragraph",
                    "start": 7,
                    "end": 16,
                    "x": 0,
                    "y": 0,
                    "width": 5200,
                    "height": 950,
                    "fontSize": 210,
                    "weight": 400,
                    "lineHeight": 1.7428571428571429,
                    "letterSpacing": -2.2,
                    "color": "$ink",
                    "lineWidthRanges": [
                      {
                        "min": 3200,
                        "max": 3460
                      },
                      {
                        "min": 3120,
                        "max": 3280
                      }
                    ],
                    "decreasingLineWidths": true
                  },
                  {
                    "id": "large-paragraph-state-3",
                    "kind": "text",
                    "slot": "paragraph",
                    "start": 16,
                    "end": 33,
                    "x": 0,
                    "y": 0,
                    "width": 5200,
                    "height": 950,
                    "fontSize": 210,
                    "weight": 400,
                    "lineHeight": 1.6443452380952381,
                    "letterSpacing": -2.2,
                    "color": "$ink",
                    "lineWidthRanges": [
                      {
                        "min": 3200,
                        "max": 3460
                      },
                      {
                        "min": 3120,
                        "max": 3280
                      }
                    ],
                    "decreasingLineWidths": true
                  }
                ]
              }
            ],
            "inspection": {
              "method": "Decoded actual local MP4s with ffprobe and ffmpeg. Exported frame-index-trimmed silent source-cadence clips, full-resolution native anchor PNGs, bounded consecutive-frame strips, and per-frame native-crop pixel measurements. Played the selected clips at 1x and 0.25x in an isolated Chromium process; captured browser images while playback advanced. Read those moving-playback samples alongside the native strips. Old prose and overview sheets were discovery aids only.",
              "limits": [
                "This is machine playback plus visual inspection of advancing browser samples and consecutive decoded strips, not a human claim of watching every frame in real time.",
                "Native anchors and pixel measurements are 1920x1080. Scouts, consecutive sheets, browser samples and excerpts are reduced; do not measure typography from their displayed size.",
                "Clips are re-encoded to 960x540 at nominal source cadence. Their encoded frame counts are checked, but original source PTS/ticks are the temporal authority. Some 1/16000-timebase downloads have millisecond-quantized PTS and slightly different average rates.",
                "Pixel thresholds identify visible ink inside stated crops, not font em-size, vector bounds, exact opacity, hidden layers or proprietary source construction. Compression can change pixels during a perceptual hold.",
                "Playback counters and sampled browser times are retained, not claims of perfectly timed screenshots or zero dropped frames. Browser screenshots are not native frame-addressed evidence.",
                "Source URLs are from the downloaded .info.json files, all identifying the OpenAI channel. A live Atlas URL check returned a page shell and supplies no motion measurements.",
                "No audio, source project files, original font files, physical lighting rigs, easing functions or shaders were recovered. No product-functionality claims are inferred from editorial graphics.",
                "Numeric construction is draft fitted geometry; requires moving source/output comparison and fresh review."
              ],
              "boundaryFrames": [
                0,
                6,
                7,
                15,
                16,
                32
              ],
              "intermediateFrames": [
                3,
                10,
                24,
                30
              ],
              "sourceEvidence": [
                "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                "benchmarks/remotion-library/research/typography/evidence/anniversary/scout.jpg",
                "benchmarks/remotion-library/research/typography/evidence/native-measurements.json",
                "benchmarks/remotion-library/research/typography/evidence/playback-observations.json"
              ]
            }
          },
          "content": {
            "paragraph": "Careful work begins with a question.\nLet useful context shape the work.",
            "ink": "#0a0a0a"
          },
          "holdBeforeFrames": 0,
          "holdAfterFrames": 0
        },
        {
          "recipe": {
            "schemaVersion": 1,
            "id": "study-keyword-double-underline",
            "title": "Drifting field / double underline",
            "description": "DRAFT — Whole-word lead-in, a letter-built keyword, and two independently written tapered emphasis strokes over drifting corner material. Source-specific research implementation; not a fidelity approval or a production all-hands asset.",
            "families": [
              "typography",
              "overlay"
            ],
            "intents": [
              "emphasize a keyword while it is still arriving",
              "keep the colored stage alive during a readable title beat"
            ],
            "tags": [
              "draft",
              "ty-06",
              "typography-b",
              "original-assets",
              "native-cadence"
            ],
            "distinctness": {
              "mechanism": "A drawn emphasis stroke starts before the word finishes, lengthens into overlapping strokes, and remains while the colored background moves.",
              "notEquivalentTo": [
                "The text build alone would duplicate the Codex cadence family. Count this candidate only with its independently timed underline construction and moving background, not as another title preset."
              ]
            },
            "source": {
              "film": "Introducing ChatGPT Study Mode",
              "slug": "study-mode",
              "url": "https://www.youtube.com/watch?v=XDYilxy1dn8",
              "sha256": "42dab89d7579b9e742a018291063b5e573bc3f3dbf61423e10e95c06543a9785",
              "fps": {
                "numerator": 30,
                "denominator": 1
              },
              "width": 1920,
              "height": 1080,
              "startFrame": 153,
              "endFrameExclusive": 213,
              "localMedia": "references/openai/media/study-mode.mp4"
            },
            "canvas": {
              "width": 1920,
              "height": 1080,
              "background": "$paper"
            },
            "observations": [
              {
                "kind": "measured",
                "statement": "The field is text-free at f154. Whole words appear at f155 and f157, followed by partial keyword letters. A short underline is visible by f166, before the final keyword letter at f167; it extends and develops a second overlapping stroke through the later consecutive frames.",
                "sourceFrames": [
                  154,
                  155,
                  157,
                  159,
                  166,
                  167,
                  175,
                  182
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                  "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                  "references/openai/media/study-mode.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                  "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                ]
              },
              {
                "kind": "measured",
                "statement": "White-pixel bounds inside native crop [360,450,1580,660] are [404,497,1530,612], [404,497,1530,618], [404,497,1530,618], [390,496,1543,620]. These include both letters and underline, not just font metrics.",
                "sourceFrames": [
                  168,
                  175,
                  190,
                  210
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                  "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                  "references/openai/media/study-mode.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                  "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                ]
              },
              {
                "kind": "estimate",
                "statement": "White medium-weight sans-serif lettering sits on a cyan field with drifting multicolor corner forms and faint subject-related marks. Near the exit the line grows slightly; a global frozen title would miss that.",
                "sourceFrames": [
                  175,
                  190,
                  210
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                  "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                  "references/openai/media/study-mode.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                  "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                ]
              },
              {
                "kind": "implementation-choice",
                "statement": "Bundled OFL Geist is a licensed substitute, not the source font. All lettering uses native TextLayer/FontGate, never an SVG <text> element. Original SVGs contain only local vector geometry and internal gradient/filter references.",
                "sourceFrames": [],
                "evidence": [
                  "benchmarks/remotion-library/project/public/fonts/OFL.txt",
                  "benchmarks/remotion-library/project/src/Treatment.tsx"
                ]
              },
              {
                "kind": "unresolved",
                "statement": "The source stroke's exact taper, path shape and changing width are not represented by a single constant-width line. Use an original filled path and a reveal mask if dash offset alone changes its character.",
                "sourceFrames": [],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/packet.json#ty-06"
                ]
              },
              {
                "kind": "implementation-choice",
                "statement": "Revision04 keeps the first keyword character through local 7; subsequent letters step at 8–14. A long first dash at 13 reaches full span at 17, a fast opposing return at 18–19 is followed by an irregular left-loop/up-right retrace at 20–24. Three filled original path slots preserve overlap, rather than two ruled rails. Separately shaded folded corner surfaces and full-field diagonal striations keep moving.",
                "sourceFrames": [
                  159,
                  160,
                  161,
                  166,
                  170,
                  171,
                  172,
                  173,
                  177
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                  "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                  "references/openai/media/study-mode.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                  "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                ]
              },
              {
                "kind": "estimate",
                "statement": "Fresh decode of [183,214) confirms a readable middle beat, subtle late enlargement, and the hard cut after f212. The 1.034 final scale and corner paths are implementation fits, not recovered easing/material settings.",
                "sourceFrames": [
                  183,
                  201,
                  210,
                  212,
                  213
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                  "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                  "references/openai/media/study-mode.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                  "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                ]
              },
              {
                "kind": "unresolved",
                "statement": "Original drafting marks and gradient ribbons deliberately replace the source scientific markings and rendered corner material. Their internal optical texture, the exact stroke curvature, and Geist glyph/word widths remain material differences requiring paired review. The adaptation keyword has different glyph widths; the fixed underline span does not auto-fit.",
                "sourceFrames": [
                  168,
                  175,
                  210
                ],
                "evidence": [
                  "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                  "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                  "references/openai/media/study-mode.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                  "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                ]
              },
              {
                "kind": "measured",
                "statement": "Native decoded RGB>230 ink in ROI x925–1579/y599–639 gives first-dash x1016–1132 at absolute166, first sweep x1022–1428 at170, return x1014–1430 at172, and overdraw envelope x974–1431 at173–175. This is shorter than the full keyword. Revision04 fits those scalar extents with original taper paths instead of assuming a full-word underline.",
                "sourceFrames": [
                  166,
                  170,
                  172,
                  173,
                  174,
                  175
                ],
                "evidence": [
                  "references/openai/media/study-mode.mp4",
                  "benchmarks/remotion-library/evidence/review-type-b/decoded/study-keyword-double-underline/source/0013.png",
                  "benchmarks/remotion-library/evidence/review-type-b/decoded/study-keyword-double-underline/source/0019.png"
                ]
              },
              {
                "kind": "measured",
                "statement": "Review01 source crops at absolute153/173/212 contain broad filled upper-left material beneath the scientific marks and a lower-left curved cyan/white face overlapping a darker folded strip. The previous replacement left most of those crops as field despite restored right-edge material.",
                "sourceFrames": [
                  153,
                  173,
                  212
                ],
                "evidence": [
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json"
                ]
              },
              {
                "kind": "implementation-choice",
                "statement": "Review02 enlarges and reframes two original corner materials, with four shaded upper faces and five overlapping lower faces including a dark curled fold and pale return. The lower foreground faces sit ahead of the wider translucent back sheet. Original drafting marks, diagonal texture, right-edge material, native lettering and all three emphasis paths/clocks remain unchanged.",
                "sourceFrames": [
                  153,
                  173,
                  212
                ],
                "evidence": [
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json"
                ]
              }
            ],
            "fields": {
              "paper": {
                "kind": "color",
                "description": "Opaque full-frame field; keep the documented luminance relationship to ink."
              },
              "ink": {
                "kind": "color",
                "description": "Foreground ink; preserve contrast and density."
              },
              "lead": {
                "kind": "text",
                "description": "Exactly two short words. They appear whole at local 2 and 4. At 118px Geist/550 the 586px box must fit without shrinking; keep the second word ending before x984.",
                "minLength": 8,
                "maxLength": 11,
                "maxLines": 1,
                "exactWords": 2
              },
              "keyword": {
                "kind": "text",
                "description": "Exactly eight characters, one word, fitting555px at118px Geist/550. First emphasis stroke is about415px; the full overlapping gesture occupies about459px and deliberately does not span every glyph. Choose a word occupying roughly510–545px; do not auto-fit the gesture.",
                "minLength": 8,
                "maxLength": 8,
                "maxLines": 1,
                "exactLength": 8,
                "exactWords": 1
              },
              "upperRibbon": {
                "kind": "image",
                "description": "Original overlapping shaded folds on the upper-left edge. Transparent 640×700 SVG; no source formulas or decorative art.",
                "aspectRatio": {
                  "numerator": 640,
                  "denominator": 700
                },
                "minimumWidth": 640,
                "minimumHeight": 700,
                "fit": "contain"
              },
              "lowerRibbon": {
                "kind": "image",
                "description": "Original broad cyan/white folded material cropped at the lower-left corner. Five overlapping shaded faces, including a darker curled fold and pale return, soft directional edges and original vector fibers.",
                "aspectRatio": {
                  "numerator": 640,
                  "denominator": 700
                },
                "minimumWidth": 640,
                "minimumHeight": 700,
                "fit": "contain"
              },
              "rightRibbon": {
                "kind": "image",
                "description": "Original bright warm right-edge curl with separately shaded front/back surfaces; not a faint outlined arc.",
                "aspectRatio": {
                  "numerator": 640,
                  "denominator": 700
                },
                "minimumWidth": 640,
                "minimumHeight": 700,
                "fit": "contain"
              },
              "fieldTexture": {
                "kind": "image",
                "description": "Original low-contrast diagonal vector striations across the field; separately moving from the three folded corner materials.",
                "aspectRatio": {
                  "numerator": 2160,
                  "denominator": 1200
                },
                "minimumWidth": 2160,
                "minimumHeight": 1200,
                "fit": "contain"
              },
              "constructionMarks": {
                "kind": "path",
                "description": "Faint original drafting marks, not the source equations/molecular diagrams. Keep corner-only coverage.",
                "viewBox": [
                  0,
                  0,
                  1920,
                  1080
                ]
              },
              "upperStroke": {
                "kind": "path",
                "description": "Original first filled stroke in 550×34 units. Long initial dash at local 13, near-horizontal full sweep by 17.",
                "viewBox": [
                  0,
                  0,
                  550,
                  34
                ]
              },
              "lowerStroke": {
                "kind": "path",
                "description": "Fast right-to-left return: roughly two-fifths present at 18, nearly full at 19. Uneven close-spaced overlapping return, not a separate ruled rail.",
                "viewBox": [
                  0,
                  0,
                  550,
                  34
                ]
              },
              "overdrawStroke": {
                "kind": "path",
                "description": "Third irregular retrace, left-loop then growing up-right over local20–24; original path with a shared gesture clock.",
                "viewBox": [
                  0,
                  0,
                  550,
                  34
                ]
              }
            },
            "defaults": {
              "paper": "#57c8ee",
              "ink": "#ffffff",
              "lead": "Build new",
              "keyword": "pathways",
              "upperRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/upper-ribbon-original.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "lowerRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/lower-ribbon-original.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "rightRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/right-ribbon-original.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "fieldTexture": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/diagonal-field-original.svg",
                "width": 2160,
                "height": 1200,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "constructionMarks": "M65 45C160 -20 275 50 264 136C248 232 125 234 71 150M86 73L194 27L296 87L187 136ZM158 200L192 215L228 183M1730 830L1790 762L1855 822L1794 891ZM1730 830L1685 808M1855 822L1898 799M1794 891L1794 948",
              "upperStroke": "M12 18C131 17 286 17 420 17L532 19Q540 20 532 22C382 20 179 22 12 21Z",
              "lowerStroke": "M534 20C430 22 308 25 180 26L7 29L0 26C113 25 207 24 305 23C395 22 476 20 534 20Z",
              "overdrawStroke": "M142 16C76 19 27 19 0 24Q-5 27 16 28C161 27 327 16 483 8L493 9C323 19 149 28 17 31Q-9 30 0 24C20 19 77 17 142 16Z"
            },
            "adaptation": {
              "paper": "#65cbd9",
              "ink": "#ffffff",
              "lead": "Work with",
              "keyword": "drawings",
              "upperRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/upper-ribbon-adaptation.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "lowerRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/lower-ribbon-adaptation.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "rightRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/right-ribbon-adaptation.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "fieldTexture": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/diagonal-field-adaptation.svg",
                "width": 2160,
                "height": 1200,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "constructionMarks": "M50 105Q173 -38 290 100Q170 245 50 105ZM108 39L219 176M1733 815L1847 758L1900 856L1782 909ZM1754 895L1720 948M1875 799L1902 725",
              "upperStroke": "M12 17C140 16 322 19 443 17L534 19Q542 21 532 22C387 21 191 22 12 20Z",
              "lowerStroke": "M535 20C423 23 296 24 160 27L3 29L0 26C116 24 214 25 319 23C405 22 481 21 535 20Z",
              "overdrawStroke": "M146 16C76 19 27 18 0 23Q-4 27 19 28C157 26 325 17 490 8L499 10C324 19 150 29 17 30Q-8 29 0 23C23 19 77 17 146 16Z"
            },
            "adaptationNotes": [
              "defaults reads “Build new pathways”; adaptation reads “Work with drawings”. Both keyword slots have eight letters and preserve the independently drawn emphasis.",
              "Three folded ribbon assets, diagonal field texture, drafting-mark path and all three emphasis paths change through documented slots. SVG masks fade top/bottom boundaries while other material edges stay off-canvas; no remote or embedded fonts occur inside SVGs.",
              "Use native text slots only. Keep the lead within its 586px box and the keyword within 555px; inspect the deliberate fixed stroke span before accepting other wording.",
              "Corner replacement slots now require broad filled material, not thin edge tips: retain overlapping light/dark faces across upper crop[0,0,660,450] and lower crop[0,700,760,1080]. The default uses green/cyan sheets; adaptation uses mint/ice with peach highlights and its own skewed geometry. Physical shading and exact source silhouettes are not recovered."
            ],
            "invariants": [
              "Text-free local 0–1; lead words at 2/4; keyword first character holds at 6–7, then steps at 8–14; underline begins at 13 before keyword completion.",
              "First stroke finishes at 17, return already spans almost the full width at 19, overlapping irregular retrace develops through 24; background continues through all 60 frames.",
              "Completed lettering stays readable until the cut; late scale does not replace independent background travel.",
              "Native 1920×1080 canvas and exact source rate/interval; no active retiming or implicit aspect-ratio crop.",
              "Only documented content slots change between defaults and adaptation. Neither successful validation nor rendering changes DRAFT fidelity status."
            ],
            "unsupported": [
              "Keywords other than exactly eight characters; arbitrary text fitting a different emphasis span; a globally frozen colored card.",
              "Source scientific artwork, formulas, or replacement assets that occupy the central text band.",
              "Source footage, source identity artwork, demo data, remote assets, SVG scripts/animation, or SVG text depending on a page font.",
              "Arbitrary aspect ratios, automatic type shrinking, unreviewed timing changes, or use as an authentic Poe/product demo."
            ],
            "entry": {
              "field": "layered",
              "description": "Hard cut to a text-free cyan field with cropped moving corner material.",
              "continuityKeys": [
                "paper"
              ]
            },
            "exit": {
              "field": "layered",
              "description": "Completed double-underlined line, slightly enlarged, with material still drifting; cut out after local 59.",
              "continuityKeys": [
                "lead",
                "keyword",
                "paper"
              ]
            },
            "neighbors": {
              "before": [
                "study-outline-page-turn",
                "plain white identity shot"
              ],
              "after": [
                "original evidence card",
                "authentic product detail"
              ],
              "rule": "Use a hard reset at both ends. The page-turn study is source-adjacent, but a matched edit still needs explicit continuity approval."
            },
            "layers": [
              {
                "id": "diagonal-field",
                "kind": "image",
                "slot": "fieldTexture",
                "start": 0,
                "end": 60,
                "x": [
                  {
                    "frame": 0,
                    "value": -140,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": -58,
                    "easing": "linear"
                  }
                ],
                "y": [
                  {
                    "frame": 0,
                    "value": -65,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": -101,
                    "easing": "linear"
                  }
                ],
                "width": 2160,
                "height": 1200,
                "fit": "contain"
              },
              {
                "id": "upper-material",
                "kind": "image",
                "slot": "upperRibbon",
                "start": 0,
                "end": 60,
                "x": [
                  {
                    "frame": 0,
                    "value": -74,
                    "easing": "linear"
                  },
                  {
                    "frame": 30,
                    "value": -83,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": -96,
                    "easing": "linear"
                  }
                ],
                "y": [
                  {
                    "frame": 0,
                    "value": -145,
                    "easing": "linear"
                  },
                  {
                    "frame": 30,
                    "value": -151,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": -160,
                    "easing": "linear"
                  }
                ],
                "width": 800,
                "height": 875,
                "fit": "contain",
                "rotation": [
                  {
                    "frame": 0,
                    "value": -8,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": 1,
                    "easing": "linear"
                  }
                ],
                "origin": [
                  400,
                  437.5
                ],
                "opacity": 0.96
              },
              {
                "id": "lower-material",
                "kind": "image",
                "slot": "lowerRibbon",
                "start": 0,
                "end": 60,
                "x": [
                  {
                    "frame": 0,
                    "value": -122,
                    "easing": "linear"
                  },
                  {
                    "frame": 30,
                    "value": -105,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": -89,
                    "easing": "linear"
                  }
                ],
                "y": [
                  {
                    "frame": 0,
                    "value": 614,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": 638,
                    "easing": "linear"
                  }
                ],
                "width": 1000,
                "height": 1093.75,
                "fit": "contain",
                "rotation": [
                  {
                    "frame": 0,
                    "value": -9,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": -2,
                    "easing": "linear"
                  }
                ],
                "origin": [
                  500,
                  546.875
                ],
                "opacity": 0.96
              },
              {
                "id": "right-material",
                "kind": "image",
                "slot": "rightRibbon",
                "start": 0,
                "end": 60,
                "x": [
                  {
                    "frame": 0,
                    "value": 1440,
                    "easing": "linear"
                  },
                  {
                    "frame": 30,
                    "value": 1418,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": 1398,
                    "easing": "linear"
                  }
                ],
                "y": [
                  {
                    "frame": 0,
                    "value": 447,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": 426,
                    "easing": "linear"
                  }
                ],
                "width": 760,
                "height": 831,
                "fit": "contain",
                "rotation": [
                  {
                    "frame": 0,
                    "value": 6,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": 0,
                    "easing": "linear"
                  }
                ],
                "origin": [
                  320,
                  350
                ]
              },
              {
                "id": "drafting-marks",
                "kind": "path",
                "start": 0,
                "end": 60,
                "viewBox": [
                  0,
                  0,
                  1920,
                  1080
                ],
                "fill": "none",
                "slot": "constructionMarks",
                "width": 1920,
                "height": 1080,
                "stroke": "$ink",
                "strokeWidth": 2,
                "opacity": 0.23,
                "x": [
                  {
                    "frame": 0,
                    "value": 0,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": 17,
                    "easing": "linear"
                  }
                ],
                "y": [
                  {
                    "frame": 0,
                    "value": 0,
                    "easing": "linear"
                  },
                  {
                    "frame": 59,
                    "value": 12,
                    "easing": "linear"
                  }
                ]
              },
              {
                "id": "title-and-emphasis",
                "kind": "group",
                "start": 0,
                "end": 60,
                "width": 1920,
                "height": 1080,
                "children": [
                  {
                    "id": "lead",
                    "kind": "text",
                    "slot": "lead",
                    "start": 2,
                    "end": 60,
                    "x": 404,
                    "y": 475,
                    "width": 586,
                    "height": 140,
                    "fontSize": 118,
                    "lineHeight": 1.1,
                    "weight": 550,
                    "color": "$ink",
                    "reveal": {
                      "unit": "words",
                      "steps": [
                        {
                          "frame": 2,
                          "count": 1
                        },
                        {
                          "frame": 4,
                          "count": 2
                        }
                      ]
                    }
                  },
                  {
                    "id": "keyword",
                    "kind": "text",
                    "slot": "keyword",
                    "start": 6,
                    "end": 60,
                    "x": 990,
                    "y": 475,
                    "width": 555,
                    "height": 140,
                    "fontSize": 118,
                    "lineHeight": 1.1,
                    "weight": 550,
                    "color": "$ink",
                    "reveal": {
                      "unit": "characters",
                      "steps": [
                        {
                          "frame": 6,
                          "count": 1
                        },
                        {
                          "frame": 8,
                          "count": 2
                        },
                        {
                          "frame": 9,
                          "count": 3
                        },
                        {
                          "frame": 10,
                          "count": 4
                        },
                        {
                          "frame": 11,
                          "count": 5
                        },
                        {
                          "frame": 12,
                          "count": 6
                        },
                        {
                          "frame": 13,
                          "count": 7
                        },
                        {
                          "frame": 14,
                          "count": 8
                        }
                      ]
                    }
                  },
                  {
                    "id": "upper-emphasis",
                    "kind": "path",
                    "start": 13,
                    "end": 60,
                    "viewBox": [
                      0,
                      0,
                      550,
                      34
                    ],
                    "fill": "$ink",
                    "slot": "upperStroke",
                    "x": [
                      {
                        "frame": 13,
                        "value": 1007,
                        "easing": "linear"
                      },
                      {
                        "frame": 14,
                        "value": 1009,
                        "easing": "linear"
                      },
                      {
                        "frame": 15,
                        "value": 1011,
                        "easing": "linear"
                      },
                      {
                        "frame": 16,
                        "value": 1011,
                        "easing": "linear"
                      },
                      {
                        "frame": 17,
                        "value": 1013,
                        "easing": "linear"
                      }
                    ],
                    "y": 590,
                    "width": 550,
                    "height": 34,
                    "scaleX": 0.776,
                    "clip": {
                      "top": 0,
                      "right": [
                        {
                          "frame": 13,
                          "value": 389,
                          "easing": "linear"
                        },
                        {
                          "frame": 14,
                          "value": 333,
                          "easing": "linear"
                        },
                        {
                          "frame": 15,
                          "value": 261,
                          "easing": "linear"
                        },
                        {
                          "frame": 16,
                          "value": 161,
                          "easing": "linear"
                        },
                        {
                          "frame": 17,
                          "value": 0,
                          "easing": "linear"
                        }
                      ],
                      "bottom": 0,
                      "left": 0
                    }
                  },
                  {
                    "id": "lower-emphasis",
                    "kind": "path",
                    "start": 18,
                    "end": 60,
                    "viewBox": [
                      0,
                      0,
                      550,
                      34
                    ],
                    "fill": "$ink",
                    "slot": "lowerStroke",
                    "x": 1014,
                    "y": 590,
                    "width": 550,
                    "height": 34,
                    "scaleX": 0.776,
                    "clip": {
                      "top": 0,
                      "right": 0,
                      "bottom": 0,
                      "left": [
                        {
                          "frame": 18,
                          "value": 301,
                          "easing": "linear"
                        },
                        {
                          "frame": 19,
                          "value": 0,
                          "easing": "linear"
                        }
                      ]
                    }
                  },
                  {
                    "id": "emphasis-overdraw",
                    "kind": "path",
                    "start": 20,
                    "end": 60,
                    "viewBox": [
                      0,
                      0,
                      550,
                      34
                    ],
                    "fill": "$ink",
                    "slot": "overdrawStroke",
                    "x": 974,
                    "y": 590,
                    "width": 550,
                    "height": 34,
                    "scaleX": 0.87,
                    "clip": {
                      "top": 0,
                      "right": [
                        {
                          "frame": 20,
                          "value": 390,
                          "easing": "linear"
                        },
                        {
                          "frame": 21,
                          "value": 259,
                          "easing": "linear"
                        },
                        {
                          "frame": 22,
                          "value": 167,
                          "easing": "linear"
                        },
                        {
                          "frame": 23,
                          "value": 103,
                          "easing": "linear"
                        },
                        {
                          "frame": 24,
                          "value": 49,
                          "easing": "linear"
                        }
                      ],
                      "bottom": 0,
                      "left": 0
                    }
                  }
                ],
                "scale": [
                  {
                    "frame": 0,
                    "value": 1,
                    "easing": "smooth"
                  },
                  {
                    "frame": 46,
                    "value": 1,
                    "easing": "smooth"
                  },
                  {
                    "frame": 52,
                    "value": 1.01,
                    "easing": "smooth"
                  },
                  {
                    "frame": 57,
                    "value": 1.024,
                    "easing": "smooth"
                  },
                  {
                    "frame": 59,
                    "value": 1.034,
                    "easing": "smooth"
                  }
                ],
                "origin": [
                  960,
                  550
                ]
              }
            ],
            "inspection": {
              "method": "Packet native anchors/consecutive strips and fresh FFmpeg decoding of the actual hash-checked local films. Additional onset/exit frames were inspected as temporary native crops. This is source inspection and original-pose authoring, not a synchronized render review. Main owns paired moving evidence and fresh-context review.",
              "limits": [
                "DRAFT. No self-approval, publication, completed-example credit, or human real-time-viewing claim.",
                "Boundary/intermediate lists are LOCAL frames. Observation sourceFrames are ABSOLUTE film frames. PNG/contact-sheet inspection does not establish continuous playback.",
                "Render only through the main CLI after shared source/scripts have stabilized. No MP4 or sibling manifest is claimed by this generator.",
                "Review02 authoring responds to the review01 residual, not a fidelity pass. The unchanged review01 MP4s/comparisons/retest are historical. New consecutive native stills are diagnostics only; main owns review02 exports, synchronized comparison and fresh disposition. No earlier MP4 is rebound.",
                "Revision04 reauthors the assigned construction/phase findings. The prior fresh review remains changes-required until main performs a new bound comparison/review; no finding is self-cleared. Earlier canonical exports and evidence must not be rebound or replaced."
              ],
              "boundaryFrames": [
                0,
                1,
                2,
                4,
                6,
                12,
                13,
                14,
                21,
                29,
                47,
                59
              ],
              "intermediateFrames": [
                3,
                5,
                7,
                8,
                9,
                10,
                11,
                15,
                16,
                17,
                18,
                19,
                20,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58
              ],
              "sourceEvidence": [
                "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                "references/openai/media/study-mode.mp4",
                "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
              ]
            }
          },
          "content": {
            "paper": "#57c8ee",
            "ink": "#ffffff",
            "lead": "Shape our",
            "keyword": "tomorrow",
            "upperRibbon": {
              "kind": "image",
              "path": "art/study-keyword-double-underline/upper-ribbon-original.svg",
              "width": 640,
              "height": 700,
              "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
            },
            "lowerRibbon": {
              "kind": "image",
              "path": "art/study-keyword-double-underline/lower-ribbon-original.svg",
              "width": 640,
              "height": 700,
              "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
            },
            "rightRibbon": {
              "kind": "image",
              "path": "art/study-keyword-double-underline/right-ribbon-original.svg",
              "width": 640,
              "height": 700,
              "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
            },
            "fieldTexture": {
              "kind": "image",
              "path": "art/study-keyword-double-underline/diagonal-field-original.svg",
              "width": 2160,
              "height": 1200,
              "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
            },
            "constructionMarks": "M65 45C160 -20 275 50 264 136C248 232 125 234 71 150M86 73L194 27L296 87L187 136ZM158 200L192 215L228 183M1730 830L1790 762L1855 822L1794 891ZM1730 830L1685 808M1855 822L1898 799M1794 891L1794 948",
            "upperStroke": "M12 18C131 17 286 17 420 17L532 19Q540 20 532 22C382 20 179 22 12 21Z",
            "lowerStroke": "M534 20C430 22 308 25 180 26L7 29L0 26C113 25 207 24 305 23C395 22 476 20 534 20Z",
            "overdrawStroke": "M142 16C76 19 27 19 0 24Q-5 27 16 28C161 27 327 16 483 8L493 9C323 19 149 28 17 31Q-9 30 0 24C20 19 77 17 142 16Z"
          },
          "holdBeforeFrames": 0,
          "holdAfterFrames": 0
        }
      ],
      "joins": [
        {
          "kind": "cut",
          "continuity": "reset",
          "reason": "Explicit editorial field reset: oversized black-on-white paragraph crop cuts to the text-free cyan layered field with its bundled moving corner artwork. No object continuity, morph, dissolve, or matched anchor is asserted.",
          "equalSlots": []
        }
      ]
    }
  },
  "inputs": [
    {
      "paragraph": "Careful work begins with a question.\nLet useful context shape the work.",
      "ink": "#0a0a0a"
    },
    {
      "paper": "#57c8ee",
      "ink": "#ffffff",
      "lead": "Shape our",
      "keyword": "tomorrow",
      "upperRibbon": {
        "kind": "image",
        "path": "art/study-keyword-double-underline/upper-ribbon-original.svg",
        "width": 640,
        "height": 700,
        "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
      },
      "lowerRibbon": {
        "kind": "image",
        "path": "art/study-keyword-double-underline/lower-ribbon-original.svg",
        "width": 640,
        "height": 700,
        "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
      },
      "rightRibbon": {
        "kind": "image",
        "path": "art/study-keyword-double-underline/right-ribbon-original.svg",
        "width": 640,
        "height": 700,
        "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
      },
      "fieldTexture": {
        "kind": "image",
        "path": "art/study-keyword-double-underline/diagonal-field-original.svg",
        "width": 2160,
        "height": 1200,
        "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
      },
      "constructionMarks": "M65 45C160 -20 275 50 264 136C248 232 125 234 71 150M86 73L194 27L296 87L187 136ZM158 200L192 215L228 183M1730 830L1790 762L1855 822L1794 891ZM1730 830L1685 808M1855 822L1898 799M1794 891L1794 948",
      "upperStroke": "M12 18C131 17 286 17 420 17L532 19Q540 20 532 22C382 20 179 22 12 21Z",
      "lowerStroke": "M534 20C430 22 308 25 180 26L7 29L0 26C113 25 207 24 305 23C395 22 476 20 534 20Z",
      "overdrawStroke": "M142 16C76 19 27 19 0 24Q-5 27 16 28C161 27 327 16 483 8L493 9C323 19 149 28 17 31Q-9 30 0 24C20 19 77 17 142 16Z"
    }
  ],
  "implementationDigest": "d8b9486d145a3c5c2eb163dba433e958b8310df238f13f0c354452a67f35cf22",
  "fileHashes": {
    "package-lock.json": "d49a849f7eb399e171ed709b67e00e96104f1116e571c96e6e94952e14110922",
    "package.json": "78bbb94c56da3bfd012607ca3ba88e063ee2a280a65ae6d99175cbe50b1e34fb",
    "public/art/study-keyword-double-underline/diagonal-field-original.svg": "45547a4a060944a089eda03be1e770d53cdf650d2d4fae7216b487c58ae30e97",
    "public/art/study-keyword-double-underline/lower-ribbon-original.svg": "e2acee776f087b783f4139f1a9e54877f4a90747dca850424ae34febb2caa754",
    "public/art/study-keyword-double-underline/right-ribbon-original.svg": "3818f45a2accf2ba5a9379a3a0ce2c1b0b1c39922477518af8d4ec2ae8acb71e",
    "public/art/study-keyword-double-underline/upper-ribbon-original.svg": "8eca9bde1fbb3c8ebe9e3eaa74d96fad38c1a14519dbcc851e65115428c25c4c",
    "public/fonts/Geist.ttf": "73894e0448cae90a92b6c2f8732b7bb9acb7b94c418bff559dad4a18e1de9659",
    "remotion.config.ts": "240cf99c8d4908d9e1904465dd1e3156b483e18e4470278d23ffa21d283956f1",
    "scripts/lib.mjs": "b6c6535fc7279ff63f3feecb696d3b3092d5efbcb1491d7e7b525933e8d5b0e8",
    "scripts/render.mjs": "efd75f96353eebb7a4c15ccad939aad8bb5d3cb9dbd790d3c48aa8d4f53a7886",
    "scripts/verify.mjs": "a99a2b9582e3735b3d49a784af0c471ab971759d555182b0854cdc9bba9a268e",
    "src/assemble.ts": "adb57e34e9f9d5fed4e2445b609f3ba40da3926b6360e7fd7eb15bd0a541d6df",
    "src/Edit.tsx": "ab99b024849190653a750d010be38b23a8a37356a071da858dca5bdc5c27fa0e",
    "src/index.ts": "2e0e358282a1b998a65387c653b97c2bb2eb7aae94cf200fc0b8d919f7be73a6",
    "src/library.ts": "b3863be1ff2f053c8e3985f25160373a77da0b7cd2dbc020294124d6d3526b09",
    "src/Root.tsx": "9680a4c588bd063ba287a0c875f441ac348fe1a76a2d988a44685e3606922fbe",
    "src/text-fit.ts": "654cd5107172867298aca159cc5dbebced88c3ad11844f6eb47e022842091b38",
    "src/timing.ts": "b7228f76ac5fd8a3854e2e9777238a68f4ba7db105b2818a3dadd7f22865e434",
    "src/Treatment.tsx": "619961bce2dd3ceb6ef66a4a2575956eda749a73dc4bb8d716d6534b3c96e1ce",
    "src/types.ts": "e9d1d73a9fa77f4886349459f8e5f9099678b7c4ad84c827b01b854306e77dd3",
    "src/validate.ts": "3bd5c305bc287eba524c3315e9a38de8ab4c43b3453d31c5ee93a413a34caf43",
    "tsconfig.json": "a8c92231b0553e1d8c2f39926b4861156cae5eccb28e1780f2c720f3ab70602e",
    "inputs/trial/considered-tomorrow.edit.json": "5712ba289028fc508f9bf553217fe033830a388561af70e0b688e7e59c80d77a"
  },
  "binding": {
    "version": 1,
    "compositionId": "Edit",
    "implementation": {
      "files": {
        "src/assemble.ts": {
          "sha256": "adb57e34e9f9d5fed4e2445b609f3ba40da3926b6360e7fd7eb15bd0a541d6df",
          "resolvedPath": "src/assemble.ts"
        },
        "src/Edit.tsx": {
          "sha256": "ab99b024849190653a750d010be38b23a8a37356a071da858dca5bdc5c27fa0e",
          "resolvedPath": "src/Edit.tsx"
        },
        "src/index.ts": {
          "sha256": "2e0e358282a1b998a65387c653b97c2bb2eb7aae94cf200fc0b8d919f7be73a6",
          "resolvedPath": "src/index.ts"
        },
        "src/library.ts": {
          "sha256": "b3863be1ff2f053c8e3985f25160373a77da0b7cd2dbc020294124d6d3526b09",
          "resolvedPath": "src/library.ts"
        },
        "src/Root.tsx": {
          "sha256": "9680a4c588bd063ba287a0c875f441ac348fe1a76a2d988a44685e3606922fbe",
          "resolvedPath": "src/Root.tsx"
        },
        "src/text-fit.ts": {
          "sha256": "654cd5107172867298aca159cc5dbebced88c3ad11844f6eb47e022842091b38",
          "resolvedPath": "src/text-fit.ts"
        },
        "src/timing.ts": {
          "sha256": "b7228f76ac5fd8a3854e2e9777238a68f4ba7db105b2818a3dadd7f22865e434",
          "resolvedPath": "src/timing.ts"
        },
        "src/Treatment.tsx": {
          "sha256": "619961bce2dd3ceb6ef66a4a2575956eda749a73dc4bb8d716d6534b3c96e1ce",
          "resolvedPath": "src/Treatment.tsx"
        },
        "src/types.ts": {
          "sha256": "e9d1d73a9fa77f4886349459f8e5f9099678b7c4ad84c827b01b854306e77dd3",
          "resolvedPath": "src/types.ts"
        },
        "src/validate.ts": {
          "sha256": "3bd5c305bc287eba524c3315e9a38de8ab4c43b3453d31c5ee93a413a34caf43",
          "resolvedPath": "src/validate.ts"
        },
        "scripts/lib.mjs": {
          "sha256": "b6c6535fc7279ff63f3feecb696d3b3092d5efbcb1491d7e7b525933e8d5b0e8",
          "resolvedPath": "scripts/lib.mjs"
        },
        "scripts/render.mjs": {
          "sha256": "efd75f96353eebb7a4c15ccad939aad8bb5d3cb9dbd790d3c48aa8d4f53a7886",
          "resolvedPath": "scripts/render.mjs"
        },
        "scripts/verify.mjs": {
          "sha256": "a99a2b9582e3735b3d49a784af0c471ab971759d555182b0854cdc9bba9a268e",
          "resolvedPath": "scripts/verify.mjs"
        },
        "package.json": {
          "sha256": "78bbb94c56da3bfd012607ca3ba88e063ee2a280a65ae6d99175cbe50b1e34fb",
          "resolvedPath": "package.json"
        },
        "package-lock.json": {
          "sha256": "d49a849f7eb399e171ed709b67e00e96104f1116e571c96e6e94952e14110922",
          "resolvedPath": "package-lock.json"
        },
        "tsconfig.json": {
          "sha256": "a8c92231b0553e1d8c2f39926b4861156cae5eccb28e1780f2c720f3ab70602e",
          "resolvedPath": "tsconfig.json"
        },
        "remotion.config.ts": {
          "sha256": "240cf99c8d4908d9e1904465dd1e3156b483e18e4470278d23ffa21d283956f1",
          "resolvedPath": "remotion.config.ts"
        }
      },
      "sha256": "d8b9486d145a3c5c2eb163dba433e958b8310df238f13f0c354452a67f35cf22",
      "scope": "src/**, scripts/{lib,render,verify}.mjs, package.json, package-lock.json, tsconfig.json, remotion.config.ts; authoring helpers, catalog, tests and node_modules excluded"
    },
    "dependencies": {
      "sha256": "d49a849f7eb399e171ed709b67e00e96104f1116e571c96e6e94952e14110922",
      "nodeModules": "excluded; lock and exact direct versions bound, installed dependency bytes are not attested"
    },
    "recipeFile": null,
    "inputSource": {
      "kind": "edit",
      "pathBase": "project",
      "path": "inputs/trial/considered-tomorrow.edit.json",
      "resolvedPath": "inputs/trial/considered-tomorrow.edit.json",
      "sha256": "5712ba289028fc508f9bf553217fe033830a388561af70e0b688e7e59c80d77a"
    },
    "inputProps": {
      "edit": {
        "name": "A considered tomorrow — independent brief 03 attempt 01",
        "fps": {
          "numerator": 60,
          "denominator": 1
        },
        "shots": [
          {
            "recipe": {
              "schemaVersion": 1,
              "id": "type-paragraph-cuts",
              "title": "Three hard crops across an oversized paragraph",
              "description": "Draft source-specific original adaptation. Not reviewed, accepted or counted complete.",
              "families": [
                "typography",
                "mask",
                "multi-shot"
              ],
              "intents": [
                "A text field larger than the screen is read through three abrupt crops, with different held dwell lengths; the type itself is already formed."
              ],
              "tags": [
                "typography-a",
                "source-native",
                "draft",
                "original-assets"
              ],
              "distinctness": {
                "mechanism": "A text field larger than the screen is read through three abrupt crops, with different held dwell lengths; the type itself is already formed.",
                "notEquivalentTo": [
                  "The approved Codex rapid-selector example is a moving camera into UI. This is a three-shot, held-position paragraph scan with intentional clipping. Do not interpolate a pan."
                ]
              },
              "source": {
                "film": "10 years.",
                "slug": "ten-years",
                "url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw",
                "sha256": "c047b79bf59dcdfd4df793d6724f732dbd89bc43390c5a43dd676e6b25f0f0d1",
                "fps": {
                  "numerator": 24000,
                  "denominator": 1001
                },
                "width": 1920,
                "height": 1080,
                "startFrame": 1411,
                "endFrameExclusive": 1444,
                "localMedia": "references/openai/media/ten-years.mp4"
              },
              "canvas": {
                "width": 1920,
                "height": 1080,
                "background": "#fdfdfd"
              },
              "observations": [
                {
                  "kind": "measured",
                  "statement": "Footage cuts to the first large paragraph crop at f1411; the next distinct crop starts at f1418 and the third at f1427. f1444 cuts to a much smaller social-post composition outside this candidate. Every frame [1408,1450) is attached.",
                  "sourceFrames": [
                    1410,
                    1411,
                    1417,
                    1418,
                    1426,
                    1427,
                    1443,
                    1444
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json"
                  ]
                },
                {
                  "kind": "measured",
                  "statement": "Full-canvas threshold-ink bounds are [562,513,1920,1075], [0,509,1920,1078], [0,489,1598,1080]. Both canvas edges and the bottom truncate letters; these are visible bounds, not complete paragraph dimensions.",
                  "sourceFrames": [
                    1412,
                    1420,
                    1430
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json"
                  ]
                },
                {
                  "kind": "measured",
                  "statement": "Threshold masks are identical through [1411,1418), [1418,1427), [1427,1442); f1442/f1443 retain the third crop visually but differ slightly in threshold pixels. Sampled prose initially suggested a pan; consecutive evidence disproves that.",
                  "sourceFrames": [
                    1411,
                    1418,
                    1427,
                    1442
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json"
                  ]
                },
                {
                  "kind": "estimate",
                  "statement": "Very large regular sans-serif lines, ample vertical spacing, black on white. The source font and full uncropped paragraph geometry are not established.",
                  "sourceFrames": [
                    1412,
                    1430
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json"
                  ]
                },
                {
                  "kind": "estimate",
                  "statement": "Native threshold bands show the third crop has larger visible glyphs. Draft third-state scale 1.28, font210 and x/y offsets are original-type fits, not measured source transform parameters. Three cut boundaries and 7/9/17-frame dwell are measured.",
                  "sourceFrames": [
                    1412,
                    1420,
                    1430
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/evidence/anniversary/consecutive-001408-001437.jpg"
                  ]
                },
                {
                  "kind": "implementation-choice",
                  "statement": "Revision04 vertical fit: three held crop states use independently fitted line pitches of 406/366/442 screen pixels and compensated text-box origins. The third pitch includes the existing 1.28 scale. These are substitute-font layout fits against native visible line bands, not recovered source paragraph CSS or a claim that the source changed its leading. Original glyph/descender differences remain for independent review; the three hard cuts and native dwell lengths are unchanged.",
                  "sourceFrames": [
                    1411,
                    1418,
                    1427
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/evidence/review-type-a-trio/type-paragraph-cuts/paragraph-measurements.json"
                  ]
                },
                {
                  "kind": "implementation-choice",
                  "statement": "Revision05 copy fit: replacement lines preserve the final lower-line right margin and shorter lower footprint. The fixed Geist advance ranges (3200–3460px, 3120–3280px, descending) are enforced adaptation constraints, not recovered source font metrics. Copy is replaced; the camera, scale, line tops, line pitches and 7/9/17-frame holds are unchanged. Fresh review remains required.",
                  "sourceFrames": [
                    1427,
                    1443
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/evidence/review-type-a-trio/retest-revision04/type-paragraph-cuts.md"
                  ]
                }
              ],
              "fields": {
                "paragraph": {
                  "kind": "text",
                  "description": "Exactly two original lines, at most 42 characters each. With bundled Geist 400 at 210px and -2.2px tracking, measured advances must be 3200–3460px then 3120–3280px; the second line must be shorter. The renderer rejects unsupported copy instead of shrinking type or changing the three source crops.",
                  "minLength": 45,
                  "maxLength": 88,
                  "maxLines": 2,
                  "exactLines": 2,
                  "maxLineLength": 42
                },
                "ink": {
                  "kind": "color",
                  "description": "Dark editorial ink; contrast against the light canvas."
                }
              },
              "defaults": {
                "paragraph": "Every idea grows when it is shared.\nKeep useful context close at hand.",
                "ink": "#0a0a0a"
              },
              "adaptation": {
                "paragraph": "Every plan begins with one question.\nKeep questions close to the team.",
                "ink": "#20201e"
              },
              "adaptationNotes": [
                "Geist OFL is a labeled substitute; the source font is unknown. All displayed artwork and text are original.",
                "This is a draft with unresolved source fits, not an approved example or a portable proof of visual fidelity.",
                "Measured copy fit: the two line-width ranges and descending order are checked after the bundled font loads. Character count alone does not establish fit. Do not override type size, tracking, scale or cropping to force unsupported supplied text into this recipe."
              ],
              "invariants": [
                "Source-native cadence and exclusive source bounds.",
                "No source media, marks, slogans or demo data in presentation assets.",
                "No implicit text shrink or arbitrary duration extension.",
                "No interpolation between local0/7/16 camera states.",
                "Type is intentionally clipped by the canvas; do not shrink it to make a whole paragraph readable.",
                "Full text fits its large child; parent canvas performs the cropping."
              ],
              "unsupported": [
                "A source-wide text reconstruction is unnecessary and not inferred. Fit an original statement to the observed visible line fragments and crop progression with labeled Geist substitution.",
                "Exact source font, easing and shutter were not recovered. Any numeric fitted curve is an estimate, not an official token."
              ],
              "entry": {
                "field": "light",
                "description": "Source-specific opening state on a light editorial field.",
                "continuityKeys": []
              },
              "exit": {
                "field": "light",
                "description": "Source-specific final state; no automatic cross-treatment morph.",
                "continuityKeys": []
              },
              "neighbors": {
                "before": [
                  "light",
                  "typography",
                  "interface"
                ],
                "after": [
                  "light",
                  "typography",
                  "interface"
                ],
                "rule": "Use an explicit cut unless matching objects and source timing are independently verified."
              },
              "layers": [
                {
                  "id": "paragraph-camera",
                  "kind": "group",
                  "start": 0,
                  "end": 33,
                  "x": [
                    {
                      "frame": 0,
                      "value": 562,
                      "easing": "hold"
                    },
                    {
                      "frame": 7,
                      "value": -210,
                      "easing": "hold"
                    },
                    {
                      "frame": 16,
                      "value": -2685,
                      "easing": "hold"
                    }
                  ],
                  "y": [
                    {
                      "frame": 0,
                      "value": 385.25,
                      "easing": "hold"
                    },
                    {
                      "frame": 7,
                      "value": 402.25,
                      "easing": "hold"
                    },
                    {
                      "frame": 16,
                      "value": 364.32,
                      "easing": "hold"
                    }
                  ],
                  "width": 5200,
                  "height": 950,
                  "scale": [
                    {
                      "frame": 0,
                      "value": 1,
                      "easing": "hold"
                    },
                    {
                      "frame": 7,
                      "value": 1,
                      "easing": "hold"
                    },
                    {
                      "frame": 16,
                      "value": 1.28,
                      "easing": "hold"
                    }
                  ],
                  "children": [
                    {
                      "id": "large-paragraph-state-1",
                      "kind": "text",
                      "slot": "paragraph",
                      "start": 0,
                      "end": 7,
                      "x": 0,
                      "y": 0,
                      "width": 5200,
                      "height": 950,
                      "fontSize": 210,
                      "weight": 400,
                      "lineHeight": 1.9333333333333333,
                      "letterSpacing": -2.2,
                      "color": "$ink",
                      "lineWidthRanges": [
                        {
                          "min": 3200,
                          "max": 3460
                        },
                        {
                          "min": 3120,
                          "max": 3280
                        }
                      ],
                      "decreasingLineWidths": true
                    },
                    {
                      "id": "large-paragraph-state-2",
                      "kind": "text",
                      "slot": "paragraph",
                      "start": 7,
                      "end": 16,
                      "x": 0,
                      "y": 0,
                      "width": 5200,
                      "height": 950,
                      "fontSize": 210,
                      "weight": 400,
                      "lineHeight": 1.7428571428571429,
                      "letterSpacing": -2.2,
                      "color": "$ink",
                      "lineWidthRanges": [
                        {
                          "min": 3200,
                          "max": 3460
                        },
                        {
                          "min": 3120,
                          "max": 3280
                        }
                      ],
                      "decreasingLineWidths": true
                    },
                    {
                      "id": "large-paragraph-state-3",
                      "kind": "text",
                      "slot": "paragraph",
                      "start": 16,
                      "end": 33,
                      "x": 0,
                      "y": 0,
                      "width": 5200,
                      "height": 950,
                      "fontSize": 210,
                      "weight": 400,
                      "lineHeight": 1.6443452380952381,
                      "letterSpacing": -2.2,
                      "color": "$ink",
                      "lineWidthRanges": [
                        {
                          "min": 3200,
                          "max": 3460
                        },
                        {
                          "min": 3120,
                          "max": 3280
                        }
                      ],
                      "decreasingLineWidths": true
                    }
                  ]
                }
              ],
              "inspection": {
                "method": "Decoded actual local MP4s with ffprobe and ffmpeg. Exported frame-index-trimmed silent source-cadence clips, full-resolution native anchor PNGs, bounded consecutive-frame strips, and per-frame native-crop pixel measurements. Played the selected clips at 1x and 0.25x in an isolated Chromium process; captured browser images while playback advanced. Read those moving-playback samples alongside the native strips. Old prose and overview sheets were discovery aids only.",
                "limits": [
                  "This is machine playback plus visual inspection of advancing browser samples and consecutive decoded strips, not a human claim of watching every frame in real time.",
                  "Native anchors and pixel measurements are 1920x1080. Scouts, consecutive sheets, browser samples and excerpts are reduced; do not measure typography from their displayed size.",
                  "Clips are re-encoded to 960x540 at nominal source cadence. Their encoded frame counts are checked, but original source PTS/ticks are the temporal authority. Some 1/16000-timebase downloads have millisecond-quantized PTS and slightly different average rates.",
                  "Pixel thresholds identify visible ink inside stated crops, not font em-size, vector bounds, exact opacity, hidden layers or proprietary source construction. Compression can change pixels during a perceptual hold.",
                  "Playback counters and sampled browser times are retained, not claims of perfectly timed screenshots or zero dropped frames. Browser screenshots are not native frame-addressed evidence.",
                  "Source URLs are from the downloaded .info.json files, all identifying the OpenAI channel. A live Atlas URL check returned a page shell and supplies no motion measurements.",
                  "No audio, source project files, original font files, physical lighting rigs, easing functions or shaders were recovered. No product-functionality claims are inferred from editorial graphics.",
                  "Numeric construction is draft fitted geometry; requires moving source/output comparison and fresh review."
                ],
                "boundaryFrames": [
                  0,
                  6,
                  7,
                  15,
                  16,
                  32
                ],
                "intermediateFrames": [
                  3,
                  10,
                  24,
                  30
                ],
                "sourceEvidence": [
                  "benchmarks/remotion-library/research/typography/evidence/anniversary/source-window.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/anniversary/scout.jpg",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json",
                  "benchmarks/remotion-library/research/typography/evidence/playback-observations.json"
                ]
              }
            },
            "content": {
              "paragraph": "Careful work begins with a question.\nLet useful context shape the work.",
              "ink": "#0a0a0a"
            },
            "holdBeforeFrames": 0,
            "holdAfterFrames": 0
          },
          {
            "recipe": {
              "schemaVersion": 1,
              "id": "study-keyword-double-underline",
              "title": "Drifting field / double underline",
              "description": "DRAFT — Whole-word lead-in, a letter-built keyword, and two independently written tapered emphasis strokes over drifting corner material. Source-specific research implementation; not a fidelity approval or a production all-hands asset.",
              "families": [
                "typography",
                "overlay"
              ],
              "intents": [
                "emphasize a keyword while it is still arriving",
                "keep the colored stage alive during a readable title beat"
              ],
              "tags": [
                "draft",
                "ty-06",
                "typography-b",
                "original-assets",
                "native-cadence"
              ],
              "distinctness": {
                "mechanism": "A drawn emphasis stroke starts before the word finishes, lengthens into overlapping strokes, and remains while the colored background moves.",
                "notEquivalentTo": [
                  "The text build alone would duplicate the Codex cadence family. Count this candidate only with its independently timed underline construction and moving background, not as another title preset."
                ]
              },
              "source": {
                "film": "Introducing ChatGPT Study Mode",
                "slug": "study-mode",
                "url": "https://www.youtube.com/watch?v=XDYilxy1dn8",
                "sha256": "42dab89d7579b9e742a018291063b5e573bc3f3dbf61423e10e95c06543a9785",
                "fps": {
                  "numerator": 30,
                  "denominator": 1
                },
                "width": 1920,
                "height": 1080,
                "startFrame": 153,
                "endFrameExclusive": 213,
                "localMedia": "references/openai/media/study-mode.mp4"
              },
              "canvas": {
                "width": 1920,
                "height": 1080,
                "background": "$paper"
              },
              "observations": [
                {
                  "kind": "measured",
                  "statement": "The field is text-free at f154. Whole words appear at f155 and f157, followed by partial keyword letters. A short underline is visible by f166, before the final keyword letter at f167; it extends and develops a second overlapping stroke through the later consecutive frames.",
                  "sourceFrames": [
                    154,
                    155,
                    157,
                    159,
                    166,
                    167,
                    175,
                    182
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                    "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                    "references/openai/media/study-mode.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                    "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                    "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                  ]
                },
                {
                  "kind": "measured",
                  "statement": "White-pixel bounds inside native crop [360,450,1580,660] are [404,497,1530,612], [404,497,1530,618], [404,497,1530,618], [390,496,1543,620]. These include both letters and underline, not just font metrics.",
                  "sourceFrames": [
                    168,
                    175,
                    190,
                    210
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                    "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                    "references/openai/media/study-mode.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                    "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                    "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                  ]
                },
                {
                  "kind": "estimate",
                  "statement": "White medium-weight sans-serif lettering sits on a cyan field with drifting multicolor corner forms and faint subject-related marks. Near the exit the line grows slightly; a global frozen title would miss that.",
                  "sourceFrames": [
                    175,
                    190,
                    210
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                    "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                    "references/openai/media/study-mode.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                    "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                    "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                  ]
                },
                {
                  "kind": "implementation-choice",
                  "statement": "Bundled OFL Geist is a licensed substitute, not the source font. All lettering uses native TextLayer/FontGate, never an SVG <text> element. Original SVGs contain only local vector geometry and internal gradient/filter references.",
                  "sourceFrames": [],
                  "evidence": [
                    "benchmarks/remotion-library/project/public/fonts/OFL.txt",
                    "benchmarks/remotion-library/project/src/Treatment.tsx"
                  ]
                },
                {
                  "kind": "unresolved",
                  "statement": "The source stroke's exact taper, path shape and changing width are not represented by a single constant-width line. Use an original filled path and a reveal mask if dash offset alone changes its character.",
                  "sourceFrames": [],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/packet.json#ty-06"
                  ]
                },
                {
                  "kind": "implementation-choice",
                  "statement": "Revision04 keeps the first keyword character through local 7; subsequent letters step at 8–14. A long first dash at 13 reaches full span at 17, a fast opposing return at 18–19 is followed by an irregular left-loop/up-right retrace at 20–24. Three filled original path slots preserve overlap, rather than two ruled rails. Separately shaded folded corner surfaces and full-field diagonal striations keep moving.",
                  "sourceFrames": [
                    159,
                    160,
                    161,
                    166,
                    170,
                    171,
                    172,
                    173,
                    177
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                    "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                    "references/openai/media/study-mode.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                    "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                    "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                  ]
                },
                {
                  "kind": "estimate",
                  "statement": "Fresh decode of [183,214) confirms a readable middle beat, subtle late enlargement, and the hard cut after f212. The 1.034 final scale and corner paths are implementation fits, not recovered easing/material settings.",
                  "sourceFrames": [
                    183,
                    201,
                    210,
                    212,
                    213
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                    "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                    "references/openai/media/study-mode.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                    "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                    "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                  ]
                },
                {
                  "kind": "unresolved",
                  "statement": "Original drafting marks and gradient ribbons deliberately replace the source scientific markings and rendered corner material. Their internal optical texture, the exact stroke curvature, and Geist glyph/word widths remain material differences requiring paired review. The adaptation keyword has different glyph widths; the fixed underline span does not auto-fit.",
                  "sourceFrames": [
                    168,
                    175,
                    210
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                    "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                    "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                    "references/openai/media/study-mode.mp4",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                    "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                    "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                    "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                  ]
                },
                {
                  "kind": "measured",
                  "statement": "Native decoded RGB>230 ink in ROI x925–1579/y599–639 gives first-dash x1016–1132 at absolute166, first sweep x1022–1428 at170, return x1014–1430 at172, and overdraw envelope x974–1431 at173–175. This is shorter than the full keyword. Revision04 fits those scalar extents with original taper paths instead of assuming a full-word underline.",
                  "sourceFrames": [
                    166,
                    170,
                    172,
                    173,
                    174,
                    175
                  ],
                  "evidence": [
                    "references/openai/media/study-mode.mp4",
                    "benchmarks/remotion-library/evidence/review-type-b/decoded/study-keyword-double-underline/source/0013.png",
                    "benchmarks/remotion-library/evidence/review-type-b/decoded/study-keyword-double-underline/source/0019.png"
                  ]
                },
                {
                  "kind": "measured",
                  "statement": "Review01 source crops at absolute153/173/212 contain broad filled upper-left material beneath the scientific marks and a lower-left curved cyan/white face overlapping a darker folded strip. The previous replacement left most of those crops as field despite restored right-edge material.",
                  "sourceFrames": [
                    153,
                    173,
                    212
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json"
                  ]
                },
                {
                  "kind": "implementation-choice",
                  "statement": "Review02 enlarges and reframes two original corner materials, with four shaded upper faces and five overlapping lower faces including a dark curled fold and pale return. The lower foreground faces sit ahead of the wider translucent back sheet. Original drafting marks, diagonal texture, right-edge material, native lettering and all three emphasis paths/clocks remain unchanged.",
                  "sourceFrames": [
                    153,
                    173,
                    212
                  ],
                  "evidence": [
                    "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json"
                  ]
                }
              ],
              "fields": {
                "paper": {
                  "kind": "color",
                  "description": "Opaque full-frame field; keep the documented luminance relationship to ink."
                },
                "ink": {
                  "kind": "color",
                  "description": "Foreground ink; preserve contrast and density."
                },
                "lead": {
                  "kind": "text",
                  "description": "Exactly two short words. They appear whole at local 2 and 4. At 118px Geist/550 the 586px box must fit without shrinking; keep the second word ending before x984.",
                  "minLength": 8,
                  "maxLength": 11,
                  "maxLines": 1,
                  "exactWords": 2
                },
                "keyword": {
                  "kind": "text",
                  "description": "Exactly eight characters, one word, fitting555px at118px Geist/550. First emphasis stroke is about415px; the full overlapping gesture occupies about459px and deliberately does not span every glyph. Choose a word occupying roughly510–545px; do not auto-fit the gesture.",
                  "minLength": 8,
                  "maxLength": 8,
                  "maxLines": 1,
                  "exactLength": 8,
                  "exactWords": 1
                },
                "upperRibbon": {
                  "kind": "image",
                  "description": "Original overlapping shaded folds on the upper-left edge. Transparent 640×700 SVG; no source formulas or decorative art.",
                  "aspectRatio": {
                    "numerator": 640,
                    "denominator": 700
                  },
                  "minimumWidth": 640,
                  "minimumHeight": 700,
                  "fit": "contain"
                },
                "lowerRibbon": {
                  "kind": "image",
                  "description": "Original broad cyan/white folded material cropped at the lower-left corner. Five overlapping shaded faces, including a darker curled fold and pale return, soft directional edges and original vector fibers.",
                  "aspectRatio": {
                    "numerator": 640,
                    "denominator": 700
                  },
                  "minimumWidth": 640,
                  "minimumHeight": 700,
                  "fit": "contain"
                },
                "rightRibbon": {
                  "kind": "image",
                  "description": "Original bright warm right-edge curl with separately shaded front/back surfaces; not a faint outlined arc.",
                  "aspectRatio": {
                    "numerator": 640,
                    "denominator": 700
                  },
                  "minimumWidth": 640,
                  "minimumHeight": 700,
                  "fit": "contain"
                },
                "fieldTexture": {
                  "kind": "image",
                  "description": "Original low-contrast diagonal vector striations across the field; separately moving from the three folded corner materials.",
                  "aspectRatio": {
                    "numerator": 2160,
                    "denominator": 1200
                  },
                  "minimumWidth": 2160,
                  "minimumHeight": 1200,
                  "fit": "contain"
                },
                "constructionMarks": {
                  "kind": "path",
                  "description": "Faint original drafting marks, not the source equations/molecular diagrams. Keep corner-only coverage.",
                  "viewBox": [
                    0,
                    0,
                    1920,
                    1080
                  ]
                },
                "upperStroke": {
                  "kind": "path",
                  "description": "Original first filled stroke in 550×34 units. Long initial dash at local 13, near-horizontal full sweep by 17.",
                  "viewBox": [
                    0,
                    0,
                    550,
                    34
                  ]
                },
                "lowerStroke": {
                  "kind": "path",
                  "description": "Fast right-to-left return: roughly two-fifths present at 18, nearly full at 19. Uneven close-spaced overlapping return, not a separate ruled rail.",
                  "viewBox": [
                    0,
                    0,
                    550,
                    34
                  ]
                },
                "overdrawStroke": {
                  "kind": "path",
                  "description": "Third irregular retrace, left-loop then growing up-right over local20–24; original path with a shared gesture clock.",
                  "viewBox": [
                    0,
                    0,
                    550,
                    34
                  ]
                }
              },
              "defaults": {
                "paper": "#57c8ee",
                "ink": "#ffffff",
                "lead": "Build new",
                "keyword": "pathways",
                "upperRibbon": {
                  "kind": "image",
                  "path": "art/study-keyword-double-underline/upper-ribbon-original.svg",
                  "width": 640,
                  "height": 700,
                  "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
                },
                "lowerRibbon": {
                  "kind": "image",
                  "path": "art/study-keyword-double-underline/lower-ribbon-original.svg",
                  "width": 640,
                  "height": 700,
                  "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
                },
                "rightRibbon": {
                  "kind": "image",
                  "path": "art/study-keyword-double-underline/right-ribbon-original.svg",
                  "width": 640,
                  "height": 700,
                  "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
                },
                "fieldTexture": {
                  "kind": "image",
                  "path": "art/study-keyword-double-underline/diagonal-field-original.svg",
                  "width": 2160,
                  "height": 1200,
                  "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
                },
                "constructionMarks": "M65 45C160 -20 275 50 264 136C248 232 125 234 71 150M86 73L194 27L296 87L187 136ZM158 200L192 215L228 183M1730 830L1790 762L1855 822L1794 891ZM1730 830L1685 808M1855 822L1898 799M1794 891L1794 948",
                "upperStroke": "M12 18C131 17 286 17 420 17L532 19Q540 20 532 22C382 20 179 22 12 21Z",
                "lowerStroke": "M534 20C430 22 308 25 180 26L7 29L0 26C113 25 207 24 305 23C395 22 476 20 534 20Z",
                "overdrawStroke": "M142 16C76 19 27 19 0 24Q-5 27 16 28C161 27 327 16 483 8L493 9C323 19 149 28 17 31Q-9 30 0 24C20 19 77 17 142 16Z"
              },
              "adaptation": {
                "paper": "#65cbd9",
                "ink": "#ffffff",
                "lead": "Work with",
                "keyword": "drawings",
                "upperRibbon": {
                  "kind": "image",
                  "path": "art/study-keyword-double-underline/upper-ribbon-adaptation.svg",
                  "width": 640,
                  "height": 700,
                  "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
                },
                "lowerRibbon": {
                  "kind": "image",
                  "path": "art/study-keyword-double-underline/lower-ribbon-adaptation.svg",
                  "width": 640,
                  "height": 700,
                  "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
                },
                "rightRibbon": {
                  "kind": "image",
                  "path": "art/study-keyword-double-underline/right-ribbon-adaptation.svg",
                  "width": 640,
                  "height": 700,
                  "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
                },
                "fieldTexture": {
                  "kind": "image",
                  "path": "art/study-keyword-double-underline/diagonal-field-adaptation.svg",
                  "width": 2160,
                  "height": 1200,
                  "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
                },
                "constructionMarks": "M50 105Q173 -38 290 100Q170 245 50 105ZM108 39L219 176M1733 815L1847 758L1900 856L1782 909ZM1754 895L1720 948M1875 799L1902 725",
                "upperStroke": "M12 17C140 16 322 19 443 17L534 19Q542 21 532 22C387 21 191 22 12 20Z",
                "lowerStroke": "M535 20C423 23 296 24 160 27L3 29L0 26C116 24 214 25 319 23C405 22 481 21 535 20Z",
                "overdrawStroke": "M146 16C76 19 27 18 0 23Q-4 27 19 28C157 26 325 17 490 8L499 10C324 19 150 29 17 30Q-8 29 0 23C23 19 77 17 146 16Z"
              },
              "adaptationNotes": [
                "defaults reads “Build new pathways”; adaptation reads “Work with drawings”. Both keyword slots have eight letters and preserve the independently drawn emphasis.",
                "Three folded ribbon assets, diagonal field texture, drafting-mark path and all three emphasis paths change through documented slots. SVG masks fade top/bottom boundaries while other material edges stay off-canvas; no remote or embedded fonts occur inside SVGs.",
                "Use native text slots only. Keep the lead within its 586px box and the keyword within 555px; inspect the deliberate fixed stroke span before accepting other wording.",
                "Corner replacement slots now require broad filled material, not thin edge tips: retain overlapping light/dark faces across upper crop[0,0,660,450] and lower crop[0,700,760,1080]. The default uses green/cyan sheets; adaptation uses mint/ice with peach highlights and its own skewed geometry. Physical shading and exact source silhouettes are not recovered."
              ],
              "invariants": [
                "Text-free local 0–1; lead words at 2/4; keyword first character holds at 6–7, then steps at 8–14; underline begins at 13 before keyword completion.",
                "First stroke finishes at 17, return already spans almost the full width at 19, overlapping irregular retrace develops through 24; background continues through all 60 frames.",
                "Completed lettering stays readable until the cut; late scale does not replace independent background travel.",
                "Native 1920×1080 canvas and exact source rate/interval; no active retiming or implicit aspect-ratio crop.",
                "Only documented content slots change between defaults and adaptation. Neither successful validation nor rendering changes DRAFT fidelity status."
              ],
              "unsupported": [
                "Keywords other than exactly eight characters; arbitrary text fitting a different emphasis span; a globally frozen colored card.",
                "Source scientific artwork, formulas, or replacement assets that occupy the central text band.",
                "Source footage, source identity artwork, demo data, remote assets, SVG scripts/animation, or SVG text depending on a page font.",
                "Arbitrary aspect ratios, automatic type shrinking, unreviewed timing changes, or use as an authentic Poe/product demo."
              ],
              "entry": {
                "field": "layered",
                "description": "Hard cut to a text-free cyan field with cropped moving corner material.",
                "continuityKeys": [
                  "paper"
                ]
              },
              "exit": {
                "field": "layered",
                "description": "Completed double-underlined line, slightly enlarged, with material still drifting; cut out after local 59.",
                "continuityKeys": [
                  "lead",
                  "keyword",
                  "paper"
                ]
              },
              "neighbors": {
                "before": [
                  "study-outline-page-turn",
                  "plain white identity shot"
                ],
                "after": [
                  "original evidence card",
                  "authentic product detail"
                ],
                "rule": "Use a hard reset at both ends. The page-turn study is source-adjacent, but a matched edit still needs explicit continuity approval."
              },
              "layers": [
                {
                  "id": "diagonal-field",
                  "kind": "image",
                  "slot": "fieldTexture",
                  "start": 0,
                  "end": 60,
                  "x": [
                    {
                      "frame": 0,
                      "value": -140,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": -58,
                      "easing": "linear"
                    }
                  ],
                  "y": [
                    {
                      "frame": 0,
                      "value": -65,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": -101,
                      "easing": "linear"
                    }
                  ],
                  "width": 2160,
                  "height": 1200,
                  "fit": "contain"
                },
                {
                  "id": "upper-material",
                  "kind": "image",
                  "slot": "upperRibbon",
                  "start": 0,
                  "end": 60,
                  "x": [
                    {
                      "frame": 0,
                      "value": -74,
                      "easing": "linear"
                    },
                    {
                      "frame": 30,
                      "value": -83,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": -96,
                      "easing": "linear"
                    }
                  ],
                  "y": [
                    {
                      "frame": 0,
                      "value": -145,
                      "easing": "linear"
                    },
                    {
                      "frame": 30,
                      "value": -151,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": -160,
                      "easing": "linear"
                    }
                  ],
                  "width": 800,
                  "height": 875,
                  "fit": "contain",
                  "rotation": [
                    {
                      "frame": 0,
                      "value": -8,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": 1,
                      "easing": "linear"
                    }
                  ],
                  "origin": [
                    400,
                    437.5
                  ],
                  "opacity": 0.96
                },
                {
                  "id": "lower-material",
                  "kind": "image",
                  "slot": "lowerRibbon",
                  "start": 0,
                  "end": 60,
                  "x": [
                    {
                      "frame": 0,
                      "value": -122,
                      "easing": "linear"
                    },
                    {
                      "frame": 30,
                      "value": -105,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": -89,
                      "easing": "linear"
                    }
                  ],
                  "y": [
                    {
                      "frame": 0,
                      "value": 614,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": 638,
                      "easing": "linear"
                    }
                  ],
                  "width": 1000,
                  "height": 1093.75,
                  "fit": "contain",
                  "rotation": [
                    {
                      "frame": 0,
                      "value": -9,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": -2,
                      "easing": "linear"
                    }
                  ],
                  "origin": [
                    500,
                    546.875
                  ],
                  "opacity": 0.96
                },
                {
                  "id": "right-material",
                  "kind": "image",
                  "slot": "rightRibbon",
                  "start": 0,
                  "end": 60,
                  "x": [
                    {
                      "frame": 0,
                      "value": 1440,
                      "easing": "linear"
                    },
                    {
                      "frame": 30,
                      "value": 1418,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": 1398,
                      "easing": "linear"
                    }
                  ],
                  "y": [
                    {
                      "frame": 0,
                      "value": 447,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": 426,
                      "easing": "linear"
                    }
                  ],
                  "width": 760,
                  "height": 831,
                  "fit": "contain",
                  "rotation": [
                    {
                      "frame": 0,
                      "value": 6,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": 0,
                      "easing": "linear"
                    }
                  ],
                  "origin": [
                    320,
                    350
                  ]
                },
                {
                  "id": "drafting-marks",
                  "kind": "path",
                  "start": 0,
                  "end": 60,
                  "viewBox": [
                    0,
                    0,
                    1920,
                    1080
                  ],
                  "fill": "none",
                  "slot": "constructionMarks",
                  "width": 1920,
                  "height": 1080,
                  "stroke": "$ink",
                  "strokeWidth": 2,
                  "opacity": 0.23,
                  "x": [
                    {
                      "frame": 0,
                      "value": 0,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": 17,
                      "easing": "linear"
                    }
                  ],
                  "y": [
                    {
                      "frame": 0,
                      "value": 0,
                      "easing": "linear"
                    },
                    {
                      "frame": 59,
                      "value": 12,
                      "easing": "linear"
                    }
                  ]
                },
                {
                  "id": "title-and-emphasis",
                  "kind": "group",
                  "start": 0,
                  "end": 60,
                  "width": 1920,
                  "height": 1080,
                  "children": [
                    {
                      "id": "lead",
                      "kind": "text",
                      "slot": "lead",
                      "start": 2,
                      "end": 60,
                      "x": 404,
                      "y": 475,
                      "width": 586,
                      "height": 140,
                      "fontSize": 118,
                      "lineHeight": 1.1,
                      "weight": 550,
                      "color": "$ink",
                      "reveal": {
                        "unit": "words",
                        "steps": [
                          {
                            "frame": 2,
                            "count": 1
                          },
                          {
                            "frame": 4,
                            "count": 2
                          }
                        ]
                      }
                    },
                    {
                      "id": "keyword",
                      "kind": "text",
                      "slot": "keyword",
                      "start": 6,
                      "end": 60,
                      "x": 990,
                      "y": 475,
                      "width": 555,
                      "height": 140,
                      "fontSize": 118,
                      "lineHeight": 1.1,
                      "weight": 550,
                      "color": "$ink",
                      "reveal": {
                        "unit": "characters",
                        "steps": [
                          {
                            "frame": 6,
                            "count": 1
                          },
                          {
                            "frame": 8,
                            "count": 2
                          },
                          {
                            "frame": 9,
                            "count": 3
                          },
                          {
                            "frame": 10,
                            "count": 4
                          },
                          {
                            "frame": 11,
                            "count": 5
                          },
                          {
                            "frame": 12,
                            "count": 6
                          },
                          {
                            "frame": 13,
                            "count": 7
                          },
                          {
                            "frame": 14,
                            "count": 8
                          }
                        ]
                      }
                    },
                    {
                      "id": "upper-emphasis",
                      "kind": "path",
                      "start": 13,
                      "end": 60,
                      "viewBox": [
                        0,
                        0,
                        550,
                        34
                      ],
                      "fill": "$ink",
                      "slot": "upperStroke",
                      "x": [
                        {
                          "frame": 13,
                          "value": 1007,
                          "easing": "linear"
                        },
                        {
                          "frame": 14,
                          "value": 1009,
                          "easing": "linear"
                        },
                        {
                          "frame": 15,
                          "value": 1011,
                          "easing": "linear"
                        },
                        {
                          "frame": 16,
                          "value": 1011,
                          "easing": "linear"
                        },
                        {
                          "frame": 17,
                          "value": 1013,
                          "easing": "linear"
                        }
                      ],
                      "y": 590,
                      "width": 550,
                      "height": 34,
                      "scaleX": 0.776,
                      "clip": {
                        "top": 0,
                        "right": [
                          {
                            "frame": 13,
                            "value": 389,
                            "easing": "linear"
                          },
                          {
                            "frame": 14,
                            "value": 333,
                            "easing": "linear"
                          },
                          {
                            "frame": 15,
                            "value": 261,
                            "easing": "linear"
                          },
                          {
                            "frame": 16,
                            "value": 161,
                            "easing": "linear"
                          },
                          {
                            "frame": 17,
                            "value": 0,
                            "easing": "linear"
                          }
                        ],
                        "bottom": 0,
                        "left": 0
                      }
                    },
                    {
                      "id": "lower-emphasis",
                      "kind": "path",
                      "start": 18,
                      "end": 60,
                      "viewBox": [
                        0,
                        0,
                        550,
                        34
                      ],
                      "fill": "$ink",
                      "slot": "lowerStroke",
                      "x": 1014,
                      "y": 590,
                      "width": 550,
                      "height": 34,
                      "scaleX": 0.776,
                      "clip": {
                        "top": 0,
                        "right": 0,
                        "bottom": 0,
                        "left": [
                          {
                            "frame": 18,
                            "value": 301,
                            "easing": "linear"
                          },
                          {
                            "frame": 19,
                            "value": 0,
                            "easing": "linear"
                          }
                        ]
                      }
                    },
                    {
                      "id": "emphasis-overdraw",
                      "kind": "path",
                      "start": 20,
                      "end": 60,
                      "viewBox": [
                        0,
                        0,
                        550,
                        34
                      ],
                      "fill": "$ink",
                      "slot": "overdrawStroke",
                      "x": 974,
                      "y": 590,
                      "width": 550,
                      "height": 34,
                      "scaleX": 0.87,
                      "clip": {
                        "top": 0,
                        "right": [
                          {
                            "frame": 20,
                            "value": 390,
                            "easing": "linear"
                          },
                          {
                            "frame": 21,
                            "value": 259,
                            "easing": "linear"
                          },
                          {
                            "frame": 22,
                            "value": 167,
                            "easing": "linear"
                          },
                          {
                            "frame": 23,
                            "value": 103,
                            "easing": "linear"
                          },
                          {
                            "frame": 24,
                            "value": 49,
                            "easing": "linear"
                          }
                        ],
                        "bottom": 0,
                        "left": 0
                      }
                    }
                  ],
                  "scale": [
                    {
                      "frame": 0,
                      "value": 1,
                      "easing": "smooth"
                    },
                    {
                      "frame": 46,
                      "value": 1,
                      "easing": "smooth"
                    },
                    {
                      "frame": 52,
                      "value": 1.01,
                      "easing": "smooth"
                    },
                    {
                      "frame": 57,
                      "value": 1.024,
                      "easing": "smooth"
                    },
                    {
                      "frame": 59,
                      "value": 1.034,
                      "easing": "smooth"
                    }
                  ],
                  "origin": [
                    960,
                    550
                  ]
                }
              ],
              "inspection": {
                "method": "Packet native anchors/consecutive strips and fresh FFmpeg decoding of the actual hash-checked local films. Additional onset/exit frames were inspected as temporary native crops. This is source inspection and original-pose authoring, not a synchronized render review. Main owns paired moving evidence and fresh-context review.",
                "limits": [
                  "DRAFT. No self-approval, publication, completed-example credit, or human real-time-viewing claim.",
                  "Boundary/intermediate lists are LOCAL frames. Observation sourceFrames are ABSOLUTE film frames. PNG/contact-sheet inspection does not establish continuous playback.",
                  "Render only through the main CLI after shared source/scripts have stabilized. No MP4 or sibling manifest is claimed by this generator.",
                  "Review02 authoring responds to the review01 residual, not a fidelity pass. The unchanged review01 MP4s/comparisons/retest are historical. New consecutive native stills are diagnostics only; main owns review02 exports, synchronized comparison and fresh disposition. No earlier MP4 is rebound.",
                  "Revision04 reauthors the assigned construction/phase findings. The prior fresh review remains changes-required until main performs a new bound comparison/review; no finding is self-cleared. Earlier canonical exports and evidence must not be rebound or replaced."
                ],
                "boundaryFrames": [
                  0,
                  1,
                  2,
                  4,
                  6,
                  12,
                  13,
                  14,
                  21,
                  29,
                  47,
                  59
                ],
                "intermediateFrames": [
                  3,
                  5,
                  7,
                  8,
                  9,
                  10,
                  11,
                  15,
                  16,
                  17,
                  18,
                  19,
                  20,
                  22,
                  23,
                  24,
                  25,
                  26,
                  27,
                  28,
                  30,
                  31,
                  32,
                  33,
                  34,
                  35,
                  36,
                  37,
                  38,
                  39,
                  40,
                  41,
                  42,
                  43,
                  44,
                  45,
                  46,
                  48,
                  49,
                  50,
                  51,
                  52,
                  53,
                  54,
                  55,
                  56,
                  57,
                  58
                ],
                "sourceEvidence": [
                  "benchmarks/remotion-library/research/typography/packet.json#ty-06",
                  "benchmarks/remotion-library/research/typography/evidence/inspection-manifest.json",
                  "benchmarks/remotion-library/research/typography/evidence/native-measurements.json#study-underline",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/source-window.mp4",
                  "references/openai/media/study-mode.mp4",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/consecutive-000153-000182.jpg",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000175.png",
                  "benchmarks/remotion-library/research/typography/evidence/study-underline/native-f000210.png",
                  "benchmarks/remotion-library/evidence/review-type-b/retest-review01/study-keyword-double-underline.json",
                  "benchmarks/remotion-library/evidence/review-type-b/study-keyword-double-underline.json"
                ]
              }
            },
            "content": {
              "paper": "#57c8ee",
              "ink": "#ffffff",
              "lead": "Shape our",
              "keyword": "tomorrow",
              "upperRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/upper-ribbon-original.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "lowerRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/lower-ribbon-original.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "rightRibbon": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/right-ribbon-original.svg",
                "width": 640,
                "height": 700,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "fieldTexture": {
                "kind": "image",
                "path": "art/study-keyword-double-underline/diagonal-field-original.svg",
                "width": 2160,
                "height": 1200,
                "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts."
              },
              "constructionMarks": "M65 45C160 -20 275 50 264 136C248 232 125 234 71 150M86 73L194 27L296 87L187 136ZM158 200L192 215L228 183M1730 830L1790 762L1855 822L1794 891ZM1730 830L1685 808M1855 822L1898 799M1794 891L1794 948",
              "upperStroke": "M12 18C131 17 286 17 420 17L532 19Q540 20 532 22C382 20 179 22 12 21Z",
              "lowerStroke": "M534 20C430 22 308 25 180 26L7 29L0 26C113 25 207 24 305 23C395 22 476 20 534 20Z",
              "overdrawStroke": "M142 16C76 19 27 19 0 24Q-5 27 16 28C161 27 327 16 483 8L493 9C323 19 149 28 17 31Q-9 30 0 24C20 19 77 17 142 16Z"
            },
            "holdBeforeFrames": 0,
            "holdAfterFrames": 0
          }
        ],
        "joins": [
          {
            "kind": "cut",
            "continuity": "reset",
            "reason": "Explicit editorial field reset: oversized black-on-white paragraph crop cuts to the text-free cyan layered field with its bundled moving corner artwork. No object continuity, morph, dissolve, or matched anchor is asserted.",
            "equalSlots": []
          }
        ]
      }
    },
    "inputPropsSha256": "9787172f1e331dbe93640c85d7c065a383dcb447e27b49b18920345c3314a889",
    "shots": [
      {
        "index": 0,
        "recipeId": "type-paragraph-cuts",
        "recipeSha256": "fecde79935ce4100a25b1daae40ef5020ef88eaea31b166c9d358a734d816f43",
        "contentSha256": "bbbb26fde37a619e4286388c6d99b2374ed3eba518e65afc8d77da3c5ad8a656",
        "inputPropsSha256": "06e0074902c3774047aa09e30ceb1742512939ae585484b5575f87b672cdec29",
        "source": {
          "film": "10 years.",
          "slug": "ten-years",
          "url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw",
          "sha256": "c047b79bf59dcdfd4df793d6724f732dbd89bc43390c5a43dd676e6b25f0f0d1",
          "fps": {
            "numerator": 24000,
            "denominator": 1001
          },
          "width": 1920,
          "height": 1080,
          "startFrame": 1411,
          "endFrameExclusive": 1444,
          "localMedia": "references/openai/media/ten-years.mp4"
        }
      },
      {
        "index": 1,
        "recipeId": "study-keyword-double-underline",
        "recipeSha256": "6954d45d0d83d39c21644566c610f3049b4be1aec98b9fb426f60339a2fdfd59",
        "contentSha256": "d576d2db48c3c99140a0747145b5f3f430ce1c1198dad4541a0c1a2a1361c47e",
        "inputPropsSha256": "2ece53833be3cbd17ac7c81017ab8cd5412363be95c805586671cb253d0c8683",
        "source": {
          "film": "Introducing ChatGPT Study Mode",
          "slug": "study-mode",
          "url": "https://www.youtube.com/watch?v=XDYilxy1dn8",
          "sha256": "42dab89d7579b9e742a018291063b5e573bc3f3dbf61423e10e95c06543a9785",
          "fps": {
            "numerator": 30,
            "denominator": 1
          },
          "width": 1920,
          "height": 1080,
          "startFrame": 153,
          "endFrameExclusive": 213,
          "localMedia": "references/openai/media/study-mode.mp4"
        }
      }
    ],
    "assets": [
      {
        "slot": "upperRibbon",
        "path": "public/art/study-keyword-double-underline/upper-ribbon-original.svg",
        "resolvedPath": "public/art/study-keyword-double-underline/upper-ribbon-original.svg",
        "sha256": "8eca9bde1fbb3c8ebe9e3eaa74d96fad38c1a14519dbcc851e65115428c25c4c",
        "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts.",
        "actual": {
          "width": 640,
          "height": 700,
          "method": "svg-viewport/viewBox"
        },
        "shot": 1
      },
      {
        "slot": "lowerRibbon",
        "path": "public/art/study-keyword-double-underline/lower-ribbon-original.svg",
        "resolvedPath": "public/art/study-keyword-double-underline/lower-ribbon-original.svg",
        "sha256": "e2acee776f087b783f4139f1a9e54877f4a90747dca850424ae34febb2caa754",
        "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts.",
        "actual": {
          "width": 640,
          "height": 700,
          "method": "svg-viewport/viewBox"
        },
        "shot": 1
      },
      {
        "slot": "rightRibbon",
        "path": "public/art/study-keyword-double-underline/right-ribbon-original.svg",
        "resolvedPath": "public/art/study-keyword-double-underline/right-ribbon-original.svg",
        "sha256": "3818f45a2accf2ba5a9379a3a0ce2c1b0b1c39922477518af8d4ec2ae8acb71e",
        "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts.",
        "actual": {
          "width": 640,
          "height": 700,
          "method": "svg-viewport/viewBox"
        },
        "shot": 1
      },
      {
        "slot": "fieldTexture",
        "path": "public/art/study-keyword-double-underline/diagonal-field-original.svg",
        "resolvedPath": "public/art/study-keyword-double-underline/diagonal-field-original.svg",
        "sha256": "45547a4a060944a089eda03be1e770d53cdf650d2d4fae7216b487c58ae30e97",
        "rights": "Original deterministic SVG geometry authored for this DRAFT recipe. No source frames, logos, demo data, external references or embedded fonts.",
        "actual": {
          "width": 2160,
          "height": 1200,
          "method": "svg-viewport/viewBox"
        },
        "shot": 1
      }
    ],
    "publicFiles": {
      "public/art/study-keyword-double-underline/diagonal-field-original.svg": {
        "sha256": "45547a4a060944a089eda03be1e770d53cdf650d2d4fae7216b487c58ae30e97",
        "resolvedPath": "public/art/study-keyword-double-underline/diagonal-field-original.svg"
      },
      "public/art/study-keyword-double-underline/lower-ribbon-original.svg": {
        "sha256": "e2acee776f087b783f4139f1a9e54877f4a90747dca850424ae34febb2caa754",
        "resolvedPath": "public/art/study-keyword-double-underline/lower-ribbon-original.svg"
      },
      "public/art/study-keyword-double-underline/right-ribbon-original.svg": {
        "sha256": "3818f45a2accf2ba5a9379a3a0ce2c1b0b1c39922477518af8d4ec2ae8acb71e",
        "resolvedPath": "public/art/study-keyword-double-underline/right-ribbon-original.svg"
      },
      "public/art/study-keyword-double-underline/upper-ribbon-original.svg": {
        "sha256": "8eca9bde1fbb3c8ebe9e3eaa74d96fad38c1a14519dbcc851e65115428c25c4c",
        "resolvedPath": "public/art/study-keyword-double-underline/upper-ribbon-original.svg"
      },
      "public/fonts/Geist.ttf": {
        "sha256": "73894e0448cae90a92b6c2f8732b7bb9acb7b94c418bff559dad4a18e1de9659",
        "resolvedPath": "public/fonts/Geist.ttf"
      }
    },
    "assetScope": "Selected content assets and literal staticFile() dependencies in shared source; unrelated recipes and public assets excluded. Rights declarations are preserved, not independently certified."
  },
  "bindingSha256": "b3eab9230d39d4fa7ebb45853a15f30803d5b4e8c8764a851286f59f6ac148a5",
  "expected": {
    "width": 1920,
    "height": 1080,
    "fps": {
      "numerator": 60,
      "denominator": 1
    },
    "frames": 203,
    "audioStreams": 0
  },
  "toolchain": {
    "node": "v22.22.0",
    "browserExecutable": "[LOCAL_PATH_REDACTED]"
  },
  "editorialAdaptation": {
    "holds": [
      {
        "holdBeforeFrames": 0,
        "holdAfterFrames": 0
      },
      {
        "holdBeforeFrames": 0,
        "holdAfterFrames": 0
      }
    ],
    "note": "Explicit frame holds and any edit output cadence are editorial choices, not source observations."
  },
  "fidelity": {
    "status": "not-assessed",
    "note": "Technical verification does not approve source fidelity or count this recipe complete."
  }
}
