{
  "entry": {
    "id": "single-word-caption-beats-across-hard-cuts",
    "title": "Place one yellow word per speech beat, low-centre, and keep the cadence running across hard cuts between shots",
    "kind": "Typography",
    "status": "Rendered draft",
    "verification": "rendered-draft",
    "source": {
      "title": "Codex, but make it weird. Hahahacks.",
      "id": "2f9bBlGOuX4",
      "url": "https://www.youtube.com/watch?v=2f9bBlGOuX4",
      "start": 40.7407,
      "end": 45.7457
    },
    "preview": "/videos/examples/rebuilds/single-word-caption-beats-across-hard-cuts/remake.mp4",
    "sourcePreview": "/videos/examples/rebuilds/single-word-caption-beats-across-hard-cuts/source.mp4",
    "adaptationPreview": "/videos/examples/rebuilds/single-word-caption-beats-across-hard-cuts/adaptation.mp4",
    "download": "/videos/examples/rebuilds/single-word-caption-beats-across-hard-cuts/package.zip",
    "svg": "/videos/examples/rebuilds/single-word-caption-beats-across-hard-cuts/editable.svg",
    "resolve": null,
    "limitations": [
      "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution.",
      "Both variants rerendered from the packaged text renderer to repair a prior code/preview mismatch."
    ],
    "bindingLevel": "full-render-manifest",
    "bytes": 147481,
    "packageSha256": "01fc621a0ea4574c92f8bbda9645b870fa0477619654d3c59fc16309c1ac8728",
    "poster": "/videos/examples/posters/single-word-caption-beats-across-hard-cuts.jpg",
    "render": {
      "width": 1920,
      "height": 1080,
      "fps": "30000/1001",
      "frames": 150,
      "audioStreams": 0
    },
    "originalRecord": "/videos/examples/rebuilds/single-word-caption-beats-across-hard-cuts/item.json",
    "observation": "Handheld event footage cuts between five shots (local ~28, 58, 70 and 93) while a single small yellow word sits at the lower centre of frame and changes on every spoken beat: I / actually / can (f5\u201328), a gap over the cut, read / text / the / distance. (f35\u201375), So / far (f75\u201395), only / the / left / eye / working. (f95\u2013130), then nothing to the end. Words appear and vanish as hard swaps with no motion; the caption position and size never change even though the shots behind it change brightness and framing. The people in the footage are replaced here by blurred neutral plates.",
    "mechanism": "Word-per-beat karaoke captioning: one word visible at a time as hard swaps at a fixed anchor, independent of and persisting across the picture cuts.",
    "phases": [
      {
        "frame": 0,
        "label": "Shot 1, no caption"
      },
      {
        "frame": 5,
        "label": "Words begin, one per beat"
      },
      {
        "frame": 28,
        "label": "Cut to shot 2; caption pauses"
      },
      {
        "frame": 35,
        "label": "Words resume across the cut"
      },
      {
        "frame": 58,
        "label": "Cut to shot 3"
      },
      {
        "frame": 70,
        "label": "Cut to shot 4"
      },
      {
        "frame": 93,
        "label": "Cut to shot 5"
      },
      {
        "frame": 130,
        "label": "Caption ends; picture holds"
      }
    ]
  },
  "repair": {
    "id": "single-word-caption-beats-across-hard-cuts",
    "reason": "Packaged Scene.tsx filters unrevealed characters before laying out the caret; prior preview used the earlier runtime.",
    "originalPackageSha256": "d1f94e00113bb7e5427c5e15bd49f3852711e8a9726cc66989c6cb889659ff3c"
  },
  "original": {
    "id": "single-word-caption-beats-across-hard-cuts",
    "title": "Place one yellow word per speech beat, low-centre, and keep the cadence running across hard cuts between shots",
    "family": "overlay",
    "status": "rendered-draft",
    "edition": "studies-300",
    "gaps": [
      "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
    ],
    "intervalKey": [
      "2f9bBlGOuX4",
      "407407/10000",
      "457457/10000"
    ],
    "source": {
      "filmId": "2f9bBlGOuX4",
      "film": "Codex, but make it weird. Hahahacks.",
      "url": "https://www.youtube.com/watch?v=2f9bBlGOuX4",
      "frames": [
        1221,
        1371
      ],
      "fps": {
        "numerator": 30000,
        "denominator": 1001
      },
      "startSeconds": 40.7407,
      "endSeconds": 45.7457,
      "publicationDate": "2026-08-25",
      "masterSha256": "83d607b7985855af868e4127353542af07863d5e077f91c671f2d7008f018a6c",
      "clockBasis": "Downloaded 1920x1080 rendition at 30000/1001 fps; excerpt frame i = master frame 1221+i, re-encoded to 960x540 without omitted positions."
    },
    "sourceHash": "d8df4f785ea28d8cf2f1721ff098b70c37737f4fa7cbc72179c37817ef320126",
    "classification": "vector-code-approximation",
    "bindingLevel": "full-render-manifest",
    "observation": "Handheld event footage cuts between five shots (local ~28, 58, 70 and 93) while a single small yellow word sits at the lower centre of frame and changes on every spoken beat: I / actually / can (f5\u201328), a gap over the cut, read / text / the / distance. (f35\u201375), So / far (f75\u201395), only / the / left / eye / working. (f95\u2013130), then nothing to the end. Words appear and vanish as hard swaps with no motion; the caption position and size never change even though the shots behind it change brightness and framing. The people in the footage are replaced here by blurred neutral plates.",
    "mechanism": "Word-per-beat karaoke captioning: one word visible at a time as hard swaps at a fixed anchor, independent of and persisting across the picture cuts.",
    "phases": [
      {
        "frame": 0,
        "label": "Shot 1, no caption"
      },
      {
        "frame": 5,
        "label": "Words begin, one per beat"
      },
      {
        "frame": 28,
        "label": "Cut to shot 2; caption pauses"
      },
      {
        "frame": 35,
        "label": "Words resume across the cut"
      },
      {
        "frame": 58,
        "label": "Cut to shot 3"
      },
      {
        "frame": 70,
        "label": "Cut to shot 4"
      },
      {
        "frame": 93,
        "label": "Cut to shot 5"
      },
      {
        "frame": 130,
        "label": "Caption ends; picture holds"
      }
    ],
    "checks": {
      "recipeSha256": "e3454c2cdfc72a8fa48e6fcdcd48c04b19273eb85e36854ca71485d211f326ad",
      "renderManifestSha256": "b4b378719fe409d782ba78028ec336b3b09971af44a39e2358aceba83cd9917b",
      "adaptationManifestSha256": "9803782877d1bae9e0149f76096cd073e5bc741ca06de5536ea0afaea431f148",
      "implementationFiles": 15,
      "movies": {
        "source": {
          "sha256": "d8df4f785ea28d8cf2f1721ff098b70c37737f4fa7cbc72179c37817ef320126",
          "bytes": 896205,
          "width": 960,
          "height": 540,
          "fps": "30000/1001",
          "frames": 150,
          "duration": 5.005,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "original": {
          "sha256": "82e1c609e8a5967e1fe97a23700d261da1ae439ce7acd1a63b3c461a872b04b0",
          "bytes": 118132,
          "width": 1920,
          "height": 1080,
          "fps": "30000/1001",
          "frames": 150,
          "duration": 5.005,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "adaptation": {
          "sha256": "881c1ea7d6da0e3fdcf696256ec080f5978312fcf75a22ce3ab626011b621c21",
          "bytes": 116944,
          "width": 1920,
          "height": 1080,
          "fps": "30000/1001",
          "frames": 150,
          "duration": 5.005,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        }
      },
      "preparedArchive": {
        "sha256": "d1f94e00113bb7e5427c5e15bd49f3852711e8a9726cc66989c6cb889659ff3c",
        "bytes": 147802,
        "members": 20,
        "crc": "pass"
      },
      "selectedSvg": {
        "sha256": "1134dfe840e863c322fc7fc1e118639c33e0f92ec665963200671c57e2ba7747",
        "bytes": 1114,
        "drawableElements": 6,
        "rasterEmbedded": false,
        "frame": 112,
        "meaningful": true
      },
      "contentDiffers": true,
      "renderSeconds": 74.2
    },
    "assets": {
      "source.mp4": {
        "path": "items/single-word-caption-beats-across-hard-cuts/source.mp4",
        "sha256": "d8df4f785ea28d8cf2f1721ff098b70c37737f4fa7cbc72179c37817ef320126",
        "bytes": 896205
      },
      "remake.mp4": {
        "path": "items/single-word-caption-beats-across-hard-cuts/remake.mp4",
        "sha256": "82e1c609e8a5967e1fe97a23700d261da1ae439ce7acd1a63b3c461a872b04b0",
        "bytes": 118132
      },
      "adaptation.mp4": {
        "path": "items/single-word-caption-beats-across-hard-cuts/adaptation.mp4",
        "sha256": "881c1ea7d6da0e3fdcf696256ec080f5978312fcf75a22ce3ab626011b621c21",
        "bytes": 116944
      },
      "editable.svg": {
        "path": "items/single-word-caption-beats-across-hard-cuts/editable.svg",
        "sha256": "1134dfe840e863c322fc7fc1e118639c33e0f92ec665963200671c57e2ba7747",
        "bytes": 1114
      },
      "resolve.txt": {
        "path": "items/single-word-caption-beats-across-hard-cuts/resolve.txt",
        "sha256": "98f3b0f31fe6738a9418afd55ced1dd1d13348c2657783d6eec2c2dc2e3bee93",
        "bytes": 6336
      },
      "package.zip": {
        "path": "items/single-word-caption-beats-across-hard-cuts/package.zip",
        "sha256": "d1f94e00113bb7e5427c5e15bd49f3852711e8a9726cc66989c6cb889659ff3c",
        "bytes": 147802
      },
      "recipe.json": {
        "path": "items/single-word-caption-beats-across-hard-cuts/recipe.json",
        "sha256": "e3454c2cdfc72a8fa48e6fcdcd48c04b19273eb85e36854ca71485d211f326ad",
        "bytes": 9721
      }
    },
    "builtAt": "2026-09-18T05:09:36Z"
  }
}
