{
 "id": "lyric-caption-holds-across-cuts-with-beat-dot-blips",
 "title": "Hold one lyric caption across picture cuts while a beat dot blips word by word along the line",
 "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": [
  "9MIkJHcMtVA",
  "509509/6000",
  "1074073/12000"
 ],
 "source": {
  "filmId": "9MIkJHcMtVA",
  "film": "No Limits on Text Chats with ChatGPT",
  "url": "https://www.youtube.com/watch?v=9MIkJHcMtVA",
  "frames": [
   2036,
   2146
  ],
  "fps": {
   "numerator": 24000,
   "denominator": 1001
  },
  "startSeconds": 84.91816666666666,
  "endSeconds": 89.50608333333334,
  "publicationDate": "2026-08-25",
  "masterSha256": "6963be1f69bfa747ef4fb5409d1b93e3df5544c76c56bc5aeae9b22447553810",
  "clockBasis": "Downloaded 1920x1080 rendition at 24000/1001 fps; excerpt frame i = master frame 2036+i, re-encoded to 960x540 without omitted positions."
 },
 "sourceHash": "f21e84ae03ecbc4ee584a66b3697a05f4671aafd35cd6a1104f4cfbdc04f4a60",
 "classification": "vector-code-approximation",
 "bindingLevel": "full-render-manifest",
 "observation": "Local 0-1 (master 2036-2037) show a performer against the set with no caption. At local 2 (2038) the picture cuts to a second performer and a bold white lyric line appears in the same frame, low and centred. The caption then never changes while the camera pushes closer and, at ~local 67 (2103), the picture hard-cuts again to a wider shot. Above the caption a 28 px dot blinks on for about two frames at successive word positions moving left to right: black at ~f30 (x~548), lilac ~f37 (x~680), green ~f43 (x~800), yellow ~f55 (x~892), blue ~f70 (x~1012), pink ~f79 (x~1120) and orange ~f85 (x~1220). No dot after that; the caption holds to the end.",
 "mechanism": "A caption that is locked to the lyric, not to the picture: it survives two hard cuts while a two-frame beat dot steps across the line in sync with the vocal.",
 "phases": [
  {
   "frame": 0,
   "label": "First performer, no caption"
  },
  {
   "frame": 2,
   "label": "Cut to second performer; caption on"
  },
  {
   "frame": 30,
   "label": "Beat dot blips across the words"
  },
  {
   "frame": 67,
   "label": "Hard cut to wider shot; caption persists"
  },
  {
   "frame": 85,
   "label": "Last blip, caption holds"
  }
 ],
 "checks": {
  "recipeSha256": "772e9da4c137f9115b9911750425edcd4102d12437ca2936d15c9d0f2af314e2",
  "renderManifestSha256": "3f9247f1b4d4ce84a0b576039e42280e385598bb9c93a59cf7772ca14acb6987",
  "adaptationManifestSha256": "0fbc8acfdf0664a2836636874ef80e6802085dec17fdfc26ed27c6e781ab5e96",
  "implementationFiles": 15,
  "movies": {
   "source": {
    "sha256": "f21e84ae03ecbc4ee584a66b3697a05f4671aafd35cd6a1104f4cfbdc04f4a60",
    "bytes": 1702315,
    "width": 960,
    "height": 540,
    "fps": "24000/1001",
    "frames": 110,
    "duration": 4.587917,
    "codec": "h264",
    "pixelFormat": "yuv420p",
    "audioStreams": 0
   },
   "original": {
    "sha256": "94a5bae5861a47f43fe33cbc5bfef45256edf6310761a32310e28f09bd4be576",
    "bytes": 80882,
    "width": 1920,
    "height": 1080,
    "fps": "24000/1001",
    "frames": 110,
    "duration": 4.587911,
    "codec": "h264",
    "pixelFormat": "yuv420p",
    "audioStreams": 0
   },
   "adaptation": {
    "sha256": "da2bdd3703190a09168c3c88cc1c87fbaaaa23de035f0dca71409fd05e959ff6",
    "bytes": 85581,
    "width": 1920,
    "height": 1080,
    "fps": "24000/1001",
    "frames": 110,
    "duration": 4.587911,
    "codec": "h264",
    "pixelFormat": "yuv420p",
    "audioStreams": 0
   }
  },
  "preparedArchive": {
   "sha256": "f4867f21025a42d8074add62ec3b7a91ee02d2b6ec4ddbbc86e42cb28f864fa3",
   "bytes": 148102,
   "members": 20,
   "crc": "pass"
  },
  "selectedSvg": {
   "sha256": "94cf89fc4e1cfe3baa8bf99916a19e50c9309e222b12dfb2cdd2b0622a04ee77",
   "bytes": 1573,
   "drawableElements": 8,
   "rasterEmbedded": false,
   "frame": 82,
   "meaningful": true
  },
  "contentDiffers": true,
  "renderSeconds": 22.2
 },
 "assets": {
  "source.mp4": {
   "path": "items/lyric-caption-holds-across-cuts-with-beat-dot-blips/source.mp4",
   "sha256": "f21e84ae03ecbc4ee584a66b3697a05f4671aafd35cd6a1104f4cfbdc04f4a60",
   "bytes": 1702315
  },
  "remake.mp4": {
   "path": "items/lyric-caption-holds-across-cuts-with-beat-dot-blips/remake.mp4",
   "sha256": "94a5bae5861a47f43fe33cbc5bfef45256edf6310761a32310e28f09bd4be576",
   "bytes": 80882
  },
  "adaptation.mp4": {
   "path": "items/lyric-caption-holds-across-cuts-with-beat-dot-blips/adaptation.mp4",
   "sha256": "da2bdd3703190a09168c3c88cc1c87fbaaaa23de035f0dca71409fd05e959ff6",
   "bytes": 85581
  },
  "editable.svg": {
   "path": "items/lyric-caption-holds-across-cuts-with-beat-dot-blips/editable.svg",
   "sha256": "94cf89fc4e1cfe3baa8bf99916a19e50c9309e222b12dfb2cdd2b0622a04ee77",
   "bytes": 1573
  },
  "resolve.txt": {
   "path": "items/lyric-caption-holds-across-cuts-with-beat-dot-blips/resolve.txt",
   "sha256": "eb40b372e8d33df3e2a7c20963d378fadb4430e9b3bdc525b2c988c424152e33",
   "bytes": 5630
  },
  "package.zip": {
   "path": "items/lyric-caption-holds-across-cuts-with-beat-dot-blips/package.zip",
   "sha256": "f4867f21025a42d8074add62ec3b7a91ee02d2b6ec4ddbbc86e42cb28f864fa3",
   "bytes": 148102
  },
  "recipe.json": {
   "path": "items/lyric-caption-holds-across-cuts-with-beat-dot-blips/recipe.json",
   "sha256": "772e9da4c137f9115b9911750425edcd4102d12437ca2936d15c9d0f2af314e2",
   "bytes": 8824
  }
 },
 "builtAt": "2026-09-18T05:28:10Z"
}