# Content and clocks

## Exact source treatment

OpenAI, **“10 years.”**, video `8JXwrVQQ4jw`, published **December 11, 2025**.
The date comes from retained official watch metadata, not a fresh publication
check. Source window **[1411,1444)**: first included frame 1411, last included
frame 1443; 1444 is the following, smaller social-post composition and is outside
this example. Official source: `https://www.youtube.com/watch?v=8JXwrVQQ4jw`.

**Observed:** three already-formed paragraph crops with unequal holds. Native
cut indices are 1411, 1418 and 1427. The excerpt begins at the first crop; the
entry cut is established by retained neighboring-source observations. There
are only **two internal cuts**, local 7 and 16, in the 33-frame render.

| State | Local frames, half-open | Source frames, half-open | Dwell | CFR start / end seconds |
| --- | --- | --- | --- | --- |
| 1 | [0,7) | [1411,1418) | 7 | 0 / 0.291958333 |
| 2 | [7,16) | [1418,1427) | 9 | 0.291958333 / 0.667333333 |
| 3 | [16,33) | [1427,1444) | 17 | 0.667333333 / 1.376375000 |

Nominal cadence is **24000/1001**, not 24 or 23.98. Each output frame lasts
1001 ticks on a 1/24000 time base. Last frame PTS is 32032/24000 seconds;
end-exclusive is 33033/24000 = **1.376375 seconds**. Both original-content movies
are silent 1920×1080 H.264/yuv420p, square-pixel, progressive MP4s.

### Source-native PTS is a different clock

`source-clock.csv` contains all 33 **retained source PTS observations**, paired
with the CFR timeline; these were not reprobed from a restored master. First
source PTS is **58.850000 s**, third-crop start is **59.518000 s**, and last
included PTS is **60.185000 s**. Recorded source increments alternate between
approximately 41 and 42 ms. The greatest relative difference from the nominal
CFR frame clock is **0.708333 ms**. Frame/rate arithmetic gives nominal absolute
bounds **58.850458333… to 60.226833333… s**; do not label those values as measured
source PTS or silently replace one clock with the other.

The retained silent source excerpt is **960×540**, 33-frame CFR. All its frames
were decoded, but its reconstructed clock is not native timestamp evidence.
Only **29 of 33 source-native 1920×1080 PNGs** remain available. Local frames
**19, 20, 21 and 27** (source **1430, 1431, 1432 and 1438**) are absent. They were
not invented or upscaled to claim complete native source inspection. The full
master is unavailable. Source media and source raster evidence are separate
from this public original-asset kit.

## Two retained original-content inputs

`examples/type-paragraph-cuts/default.json`, labeled **Original**:

```json
{
  "paragraph": "Every idea grows when it is shared.\nKeep useful context close at hand.",
  "ink": "#0a0a0a"
}
```

`examples/type-paragraph-cuts/adaptation.json`, labeled **Adaptation**:

```json
{
  "paragraph": "Every plan begins with one question.\nKeep questions close to the team.",
  "ink": "#20201e"
}
```

Neither is the source film's text. They are two content trials of **one** existing
mechanism, not two examples. Exact input byte hashes are in `downloads.json`.

### Renderer contract

- `paragraph` is one string containing exactly two lines separated by one LF.
  Total length is 45–88 characters; each line is at most 42 characters. Those
  character limits do **not** guarantee fit.
- Geist, weight 400, font size 210px, tracking −2.2px. The bundled font must
  finish loading. No font substitution, automatic shrink, reflow or truncation.
- Measured unscaled advances must be **3200–3460px** for line 1 and
  **3120–3280px** for line 2; line 2 must be shorter. Browser measurements are
  respectively **3272.181 / 3213.271px** and **3418.030 / 3176.411px** for these
  inputs. Glyph ink bounds differ from advances.
- `ink` is the recipe's color field. Preserve the two exact colors for the
  retained trials. The core checks color syntax; its description of “dark” ink
  is not an automatic contrast/accessibility guarantee for arbitrary colors.
- The text child is **5200×950px**; the **1920×1080** canvas performs the intended
  clipping. Do not shrink the paragraph to show all of it.

The kit checks immutable recipe/input bytes to reproduce these two trials.
For a new brief, use the existing core's direct-content API (`Content` in
`src/types.ts`, `validateRenderInput`, and the render CLI's `--content` option),
without modifying shared code or crop tracks. This supplement does not claim an
arbitrary-content rendering trial. New copy needs loaded-font validation,
fresh SVG/preparation exports, an actual render and a new visual review; the
shipped SVGs and masks are not evidence for changed text.

## Authored fits, not recovered source transforms

| State | CSS parent X/Y, px | Parent scale | Unscaled text line height | Screen line pitch, px |
| --- | --- | --- | --- | --- |
| 1 | 562 / 385.25 | 1 | 1.9333333333333333 | 406 |
| 2 | −210 / 402.25 | 1 | 1.7428571428571429 | 366 |
| 3 | −2685 / 364.32 | 1.28 | 1.6443452380952381 | 442 |

Transform origin is the parent's top-left (0,0). The camera states are held;
the three text children have separate line-pitch fits. These are existing
substitute-font implementation choices. They **do not** prove the source changed
its leading or used these CSS coordinates, scale or font. A single native text
layer with fixed leading plus three camera offsets would not reproduce this
implementation. The SVG exporter preserves its three fitted states instead.

### Unresolved source discrepancy

The retained review's **PC-03** remains open: first-crop source line-left ink
starts at 562/567px; the two retained outputs begin at 581/581px, a **19/14px
sidebearing difference**. The source font and full uncropped paragraph geometry
were not recovered. Changed glyphs also change endpoints and descenders. The
builder has not accepted, repaired or reclassified these differences. Prior
targeted findings, byte preservation and preparation metrics are not a fresh
moving-source approval.
