{
  "schemaVersion": 1,
  "examples": 300,
  "target": 300,
  "countPolicy": "One addressable, delivered example per canonical ID. Alternate renders and revisions are not additional examples.",
  "entries": [
    {
      "id": "offscreen-selection-to-context",
      "title": "Accumulate selections out of view, then attach their context",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 46.0,
        "end": 56.266666666666666
      },
      "preview": "/videos/editing/studies-200/catalog/items/offscreen-selection-to-context/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/offscreen-selection-to-context/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/offscreen-selection-to-context/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/offscreen-selection-to-context/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/offscreen-selection-to-context/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 201512,
      "packageSha256": "efb8532c7947b08b57df9bdb4ef06e90eee8b7d1aaa956d800d80bddbaca79b8",
      "poster": "/videos/examples/posters/offscreen-selection-to-context.jpg",
      "render": {
        "sha256": "4c6d017d031e6997fae932f637a10fc215c62c17f18185c18557deaae98ea227",
        "bytes": 1123917,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 616,
        "duration": 10.266667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "board-pool-commit-rebuild",
      "title": "Board, pool and readout commit before connection rebuild",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Meet GPT-5.6",
        "id": "-MPGU2a67Ls",
        "url": "https://www.youtube.com/watch?v=-MPGU2a67Ls",
        "start": 108.983875,
        "end": 111.486375
      },
      "preview": "/videos/editing/studies-200/catalog/items/board-pool-commit-rebuild/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/board-pool-commit-rebuild/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/board-pool-commit-rebuild/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/board-pool-commit-rebuild/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/board-pool-commit-rebuild/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 169887,
      "packageSha256": "4ec7a8054acb5db9c3b3a48c40629be4bef342fdfad016a4fd2f14426048e0c7",
      "poster": "/videos/examples/posters/board-pool-commit-rebuild.jpg",
      "render": {
        "sha256": "835e518c8cd2080919b04d2f8cd46558e38d8107f419d939b5bc0b0dde2eae1b",
        "bytes": 220891,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 60,
        "duration": 2.5025,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "cross-era-aperture-bridge",
      "title": "Bridge two eras through a held aperture, then widen the view",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Introducing GPT-6 Astra: the most intelligent and aligned model in the world.",
        "id": "1QNsdr-Qx_I",
        "url": "https://www.youtube.com/watch?v=1QNsdr-Qx_I",
        "start": 0.625625,
        "end": 19.686333333333334
      },
      "preview": "/videos/editing/studies-200/catalog/items/cross-era-aperture-bridge/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/cross-era-aperture-bridge/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/cross-era-aperture-bridge/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/cross-era-aperture-bridge/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/cross-era-aperture-bridge/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 178757,
      "packageSha256": "89cde8ace89e9cce2f33d5fb8f88bdeacceab863950a2d622720b08cc1619a40",
      "poster": "/videos/examples/posters/cross-era-aperture-bridge.jpg",
      "render": {
        "sha256": "80193b33d263c05b0273b80ef0afa0c1105995a81d2ea44a4a22d85907f4f720",
        "bytes": 2232800,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 457,
        "duration": 19.060708,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "design-index-to-expanded-sequence",
      "title": "Browse a design index, then read the same four full-size options",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Plugins in ChatGPT",
        "id": "pKwRNdDtai0",
        "url": "https://www.youtube.com/watch?v=pKwRNdDtai0",
        "start": 52.677625,
        "end": 59.51779166666667
      },
      "preview": "/videos/editing/studies-200/catalog/items/design-index-to-expanded-sequence/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/design-index-to-expanded-sequence/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/design-index-to-expanded-sequence/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/design-index-to-expanded-sequence/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/design-index-to-expanded-sequence/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 165055,
      "packageSha256": "7ca3c88fbe22b2660e327d997135988642dfbba25e1edc7a1fefca18a61ea096",
      "poster": "/videos/examples/posters/design-index-to-expanded-sequence.jpg",
      "render": {
        "sha256": "6784933bdf1e4d5aebd531cdd333b44f9f9c87b634eb4238c2bb6867cc6f12c3",
        "bytes": 1480477,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 164,
        "duration": 6.840167,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "active-capture-foreground-crossing",
      "title": "Build an active capture panel, occlude it, then reveal it",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to Create a Solid Blog Draft With ChatGPT Work | Tutorial",
        "id": "0j9yDUDMrBs",
        "url": "https://www.youtube.com/watch?v=0j9yDUDMrBs",
        "start": 70.695625,
        "end": 76.076
      },
      "preview": "/videos/editing/studies-200/catalog/items/active-capture-foreground-crossing/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/active-capture-foreground-crossing/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/active-capture-foreground-crossing/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/active-capture-foreground-crossing/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/active-capture-foreground-crossing/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 159287,
      "packageSha256": "75462d195cfb35063d32f4e39408b4db92436d1e3b313a3cc1ec4d164348f726",
      "poster": "/videos/examples/posters/active-capture-foreground-crossing.jpg",
      "render": {
        "sha256": "6c87e7a80a63df9ffe93468896b31021dc142f0abd244a26f0819469c57af86e",
        "bytes": 321260,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 129,
        "duration": 5.380375,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "dispersed-accent-phrases",
      "title": "Build scattered phrases in color, hold white, then erase",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to Create a Solid Blog Draft With ChatGPT Work | Tutorial",
        "id": "0j9yDUDMrBs",
        "url": "https://www.youtube.com/watch?v=0j9yDUDMrBs",
        "start": 0.0,
        "end": 4.004
      },
      "preview": "/videos/editing/studies-200/catalog/items/dispersed-accent-phrases/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/dispersed-accent-phrases/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/dispersed-accent-phrases/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/dispersed-accent-phrases/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/dispersed-accent-phrases/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 158312,
      "packageSha256": "190f2ad7aae3b599a9990bb7dd9fd39afe938fe740986360e74ff5b5a5e93923",
      "poster": "/videos/examples/posters/dispersed-accent-phrases.jpg",
      "render": {
        "sha256": "e5c73a8c6a9779f2b38accf6e2dc807ffcbbecc1b013208b3869102d4df76bc6",
        "bytes": 543701,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 96,
        "duration": 4.004,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "dictation-to-editable-draft",
      "title": "Capture speech, clear the recorder, return an editable draft",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Build a Shareable Site",
        "id": "0qK3KqvtRrg",
        "url": "https://www.youtube.com/watch?v=0qK3KqvtRrg",
        "start": 64.64791666666666,
        "end": 72.82275
      },
      "preview": "/videos/editing/studies-200/catalog/items/dictation-to-editable-draft/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/dictation-to-editable-draft/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/dictation-to-editable-draft/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/dictation-to-editable-draft/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/dictation-to-editable-draft/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 194254,
      "packageSha256": "385ff89a00b1373e504b96935add976c19bd474e64d0608b5ac92ae7fc578835",
      "poster": "/videos/examples/posters/dictation-to-editable-draft.jpg",
      "render": {
        "sha256": "04bb508b89923feb3bc0e8e10579da971c771e42f5df25e5c2a3eb6ceb67ed00",
        "bytes": 243584,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 196,
        "duration": 8.174833,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "picker-to-project-file-set",
      "title": "Carry a four-file selection into a completed project set",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Creating a contextual workspace in ChatGPT",
        "id": "-ctJEx1n15g",
        "url": "https://www.youtube.com/watch?v=-ctJEx1n15g",
        "start": 26.25,
        "end": 39.666666666666664
      },
      "preview": "/videos/editing/studies-200/catalog/items/picker-to-project-file-set/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/picker-to-project-file-set/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/picker-to-project-file-set/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/picker-to-project-file-set/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/picker-to-project-file-set/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 174451,
      "packageSha256": "be2cf44fdaaddfcfae823806fdfa4d88d17846a62d31dc3dbd40574a0fa67847",
      "poster": "/videos/examples/posters/picker-to-project-file-set.jpg",
      "render": {
        "sha256": "54852229c0f9da891faed24ccdcf8037daf2813607b3a6d524146ea3dbc6bdf9",
        "bytes": 1337710,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 322,
        "duration": 13.416667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "aperture-drop-rebound-signoff",
      "title": "Collapse a picture window into a character rebound and mark",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to Turn a Business Question Into a Strategy Deck With ChatGPT Work | Tutorial",
        "id": "XjSJ6ybS9I8",
        "url": "https://www.youtube.com/watch?v=XjSJ6ybS9I8",
        "start": 103.89545833333334,
        "end": 107.89945833333333
      },
      "preview": "/videos/editing/studies-200/catalog/items/aperture-drop-rebound-signoff/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/aperture-drop-rebound-signoff/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/aperture-drop-rebound-signoff/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/aperture-drop-rebound-signoff/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/aperture-drop-rebound-signoff/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 68962,
      "packageSha256": "d26616264e38d9a1b04734bc37f6f044ee7389b0b68f421ed6155904d079f48d",
      "poster": "/videos/examples/posters/aperture-drop-rebound-signoff.jpg",
      "render": {
        "sha256": "257444b61256a34ad49ed9e8127e07f889a1c29df35f93abf54f72068f7a2a4e",
        "bytes": 153301,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 96,
        "duration": 4.004,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "concept-choice-convergence",
      "title": "Compare three proofs, commit one, reveal the same design",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Build and publish web apps directly in ChatGPT",
        "id": "8zH_O74hZBw",
        "url": "https://www.youtube.com/watch?v=8zH_O74hZBw",
        "start": 32.94958333333334,
        "end": 42.5425
      },
      "preview": "/videos/editing/studies-200/catalog/items/concept-choice-convergence/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/concept-choice-convergence/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/concept-choice-convergence/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/concept-choice-convergence/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/concept-choice-convergence/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 163882,
      "packageSha256": "59bb0b50945ff2aeb6c37ef309b91c34e7aeb80ffb5a5bb553688d17067151c6",
      "poster": "/videos/examples/posters/concept-choice-convergence.jpg",
      "render": {
        "sha256": "88effe32bdf41daa1d1165f8f3af658823303eace1aae57a94af0892b363953c",
        "bytes": 918918,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 230,
        "duration": 9.592917,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "skill-sharing-reframe",
      "title": "Establish the corner menu before magnifying it",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
        "id": "qh93rLRPw80",
        "url": "https://www.youtube.com/watch?v=qh93rLRPw80",
        "start": 38.00463333333333,
        "end": 43.00963333333333
      },
      "preview": "/videos/editing/studies-200/catalog/items/skill-sharing-reframe/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/skill-sharing-reframe/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/skill-sharing-reframe/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/skill-sharing-reframe/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/skill-sharing-reframe/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151889,
      "packageSha256": "172de4f87ab6e350cf0331648b2e74475f127c3450c15af43238fd327dc77d84",
      "poster": "/videos/examples/posters/skill-sharing-reframe.jpg",
      "render": {
        "sha256": "d24fd9bceddc08d5cc3a14e217f2dc29f8fa5ba5178e1f7a0f8b05ae868bcdb5",
        "bytes": 389065,
        "width": 1920,
        "height": 1080,
        "fps": "30000/1001",
        "frames": 150,
        "duration": 5.005,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "search-to-reader-live-notes",
      "title": "Exchange tool surfaces beneath a continuing live note",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "ChatGPT agent Does Research & Actions",
        "id": "Ht2QW5PV-eY",
        "url": "https://www.youtube.com/watch?v=Ht2QW5PV-eY",
        "start": 87.62920833333334,
        "end": 96.471375
      },
      "preview": "/videos/editing/studies-200/catalog/items/search-to-reader-live-notes/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/search-to-reader-live-notes/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/search-to-reader-live-notes/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/search-to-reader-live-notes/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/search-to-reader-live-notes/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 170768,
      "packageSha256": "64baf32c872159566712a0796c90a6f9c67d39cfa912e0b0ab461554000ba08b",
      "poster": "/videos/examples/posters/search-to-reader-live-notes.jpg",
      "render": {
        "sha256": "67b7881844e84bdbdd6807a8dc306173970d145998905198f05b36bdaedb7724",
        "bytes": 349973,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 212,
        "duration": 8.842167,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "room-result-reframe",
      "title": "Find the category, then browse across it",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Design your dream room by shopping with ChatGPT",
        "id": "1PiLUnxd1b8",
        "url": "https://www.youtube.com/watch?v=1PiLUnxd1b8",
        "start": 26.0,
        "end": 31.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/room-result-reframe/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/room-result-reframe/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/room-result-reframe/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/room-result-reframe/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/room-result-reframe/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151451,
      "packageSha256": "b2aff3cbc07e8e354023808d03fa6c0ccec9d09cf20a193c062b16de10f9310c",
      "poster": "/videos/examples/posters/room-result-reframe.jpg",
      "render": {
        "sha256": "706807157bcfefbe7d9edd2dd0208f1c3e9551d2a12ef857f8d4952ec7281d5f",
        "bytes": 461255,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "workspace-navigation-push",
      "title": "Follow row feedback into a destination composer",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Introducing workspace agents in ChatGPT",
        "id": "yyvVUEPSCu0",
        "url": "https://www.youtube.com/watch?v=yyvVUEPSCu0",
        "start": 10.0,
        "end": 15.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/workspace-navigation-push/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/workspace-navigation-push/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/workspace-navigation-push/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/workspace-navigation-push/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/workspace-navigation-push/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 155252,
      "packageSha256": "4decf9641a7c5afb7ee13c3cfe5324c8f12b2b94df74c3c46d4e05445c5d6ef2",
      "poster": "/videos/examples/posters/workspace-navigation-push.jpg",
      "render": {
        "sha256": "8d90419f6bb8b9d8e3785d11c17d0652b22d3958584f02a864fe4dea0759d20e",
        "bytes": 425061,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "inline-reference-composer-growth",
      "title": "Grow a continuing prompt around inline references",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to Create a Solid Blog Draft With ChatGPT Work | Tutorial",
        "id": "0j9yDUDMrBs",
        "url": "https://www.youtube.com/watch?v=0j9yDUDMrBs",
        "start": 58.224833333333336,
        "end": 62.5625
      },
      "preview": "/videos/editing/studies-200/catalog/items/inline-reference-composer-growth/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/inline-reference-composer-growth/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/inline-reference-composer-growth/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/inline-reference-composer-growth/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/inline-reference-composer-growth/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 166444,
      "packageSha256": "03b8c8b207f6a333b44c6791426522210e6ecc0c185bb798e505736972e2608d",
      "poster": "/videos/examples/posters/inline-reference-composer-growth.jpg",
      "render": {
        "sha256": "c65eddd095c83224f3498b5a2daf9a90c8df5c495c2e5fa061399bd46ff71406",
        "bytes": 201577,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 104,
        "duration": 4.337667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "apps-tag-cycling",
      "title": "Grow the app tier, then replace identity and request together",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Apps in ChatGPT",
        "id": "2C4Cs6503gw",
        "url": "https://www.youtube.com/watch?v=2C4Cs6503gw",
        "start": 0.0,
        "end": 6.006
      },
      "preview": "/videos/editing/studies-200/catalog/items/apps-tag-cycling/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/apps-tag-cycling/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/apps-tag-cycling/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/apps-tag-cycling/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/apps-tag-cycling/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 154513,
      "packageSha256": "8b5821b3ad15ced1904fc76cbcf05f224fc133aa951de2b501f9047410f00f65",
      "poster": "/videos/examples/posters/apps-tag-cycling.jpg",
      "render": {
        "sha256": "3694362640e9183c195ecdc5e28a4cabf38b4d376fc49678fb6a8541036b72b1",
        "bytes": 107399,
        "width": 1920,
        "height": 1080,
        "fps": "60000/1001",
        "frames": 360,
        "duration": 6.006,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "staged-proof-pair",
      "title": "Hold the first proof while a second sequence opens",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to Turn a Business Question Into a Strategy Deck With ChatGPT Work | Tutorial",
        "id": "XjSJ6ybS9I8",
        "url": "https://www.youtube.com/watch?v=XjSJ6ybS9I8",
        "start": 88.50508333333333,
        "end": 94.13570833333333
      },
      "preview": "/videos/editing/studies-200/catalog/items/staged-proof-pair/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/staged-proof-pair/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/staged-proof-pair/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/staged-proof-pair/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/staged-proof-pair/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 161345,
      "packageSha256": "aaa8b6693784af13e8656629dfd0668c7ebdfd51526a1fd77daf379e8acd5d78",
      "poster": "/videos/examples/posters/staged-proof-pair.jpg",
      "render": {
        "sha256": "1a42d89f6347e09193b795432a8a17f6937d88c51223563911cb0e3c262f9766",
        "bytes": 219711,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 135,
        "duration": 5.630625,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "queue-inspection-scoped-outcome",
      "title": "Inspect a request queue, then show one scoped outcome",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to Manage Your Workspace With ChatGPT Work",
        "id": "29SyCndnMZs",
        "url": "https://www.youtube.com/watch?v=29SyCndnMZs",
        "start": 99.93316666666666,
        "end": 126.37625
      },
      "preview": "/videos/editing/studies-200/catalog/items/queue-inspection-scoped-outcome/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/queue-inspection-scoped-outcome/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/queue-inspection-scoped-outcome/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/queue-inspection-scoped-outcome/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/queue-inspection-scoped-outcome/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 175625,
      "packageSha256": "40bc8460627c761f0e8fbf0f015b06e51006bc537474360e53658c15be451774",
      "poster": "/videos/examples/posters/queue-inspection-scoped-outcome.jpg",
      "render": {
        "sha256": "3b521c48b847c99427e93e30d7c0e2fb9628fe03427d6b8486f7fa59d91df35b",
        "bytes": 3393662,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 634,
        "duration": 26.443083,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "post-attachment-viewer",
      "title": "Inspect a shared attachment through staged viewer loading",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "ChatGPT Work for Marketing Teams",
        "id": "8sUXGKDUEzI",
        "url": "https://www.youtube.com/watch?v=8sUXGKDUEzI",
        "start": 60.0,
        "end": 67.8
      },
      "preview": "/videos/editing/studies-200/catalog/items/post-attachment-viewer/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/post-attachment-viewer/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/post-attachment-viewer/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/post-attachment-viewer/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/post-attachment-viewer/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 165353,
      "packageSha256": "e74e533d01f6d6f64530b2592ce7259d6766e9aeef47c6e4124d96765a1e3a33",
      "poster": "/videos/examples/posters/post-attachment-viewer.jpg",
      "render": {
        "sha256": "d5cb3f920e93713ba62a29f802d72bde92520b410cf5285d41e051c8e67806d4",
        "bytes": 516275,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 234,
        "duration": 7.8,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "test-chapter-reset",
      "title": "Interrupt the task, then return to the same setup",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Workspace agents in ChatGPT: Third-party risk management agent",
        "id": "HnSPedbA02Q",
        "url": "https://www.youtube.com/watch?v=HnSPedbA02Q",
        "start": 68.0,
        "end": 76.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/test-chapter-reset/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/test-chapter-reset/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/test-chapter-reset/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/test-chapter-reset/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/test-chapter-reset/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 152713,
      "packageSha256": "d566f765800e9d869386168cf67c64cd87acea1aeac1c066bdab31bb272694a6",
      "poster": "/videos/examples/posters/test-chapter-reset.jpg",
      "render": {
        "sha256": "39d468ed9f745064d747507803e9b9c0c8697ffbdb14e5ce90b9a4aa881fbbb5",
        "bytes": 335347,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 480,
        "duration": 8.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "persistent-anchor",
      "title": "Keep the activity anchor while the context moves underneath",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "You can just use your voice | ChatGPT Work",
        "id": "ceBruD6v5Bk",
        "url": "https://www.youtube.com/watch?v=ceBruD6v5Bk",
        "start": 18.0,
        "end": 24.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/persistent-anchor/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/persistent-anchor/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/persistent-anchor/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/persistent-anchor/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/persistent-anchor/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 153234,
      "packageSha256": "392a3ee2665220c378cae373934494b4c28100b4e5cefa6d3105054b3a44503d",
      "poster": "/videos/examples/posters/persistent-anchor.jpg",
      "render": {
        "sha256": "f37ec06dca3454e84fbeb23fe089f8987d9994dc15f2d747e13e63481b1806d9",
        "bytes": 511776,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 180,
        "duration": 6.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "deep-research-18",
      "title": "Keep the wider view",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "OpenAI deep research in practice.",
        "id": "zm6F0vo2E64",
        "url": "https://www.youtube.com/watch?v=zm6F0vo2E64",
        "start": 107.81604166666666,
        "end": 110.27683333333333
      },
      "preview": "/videos/editing/studies-200/catalog/items/deep-research-18/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/deep-research-18/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/deep-research-18/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/deep-research-18/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/deep-research-18/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 199866,
      "packageSha256": "66e462053adfddd57ab9173d1f563e106ed6230cf5bea95e1311af421697984d",
      "poster": "/videos/examples/posters/deep-research-18.jpg",
      "render": {
        "sha256": "9e12d9bb242119a7efdc39ff7f87b01359af2007c313a4a2be766e22a8b78efd",
        "bytes": 156986,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 59,
        "duration": 2.460792,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "recut-action-push",
      "title": "Leave the editor through an action, dim and viewer handoff",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to recut with Sora",
        "id": "jC0i_0wnly8",
        "url": "https://www.youtube.com/watch?v=jC0i_0wnly8",
        "start": 50.0,
        "end": 55.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/recut-action-push/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/recut-action-push/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/recut-action-push/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/recut-action-push/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/recut-action-push/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 156494,
      "packageSha256": "264e2f22de7578129d96a821fd3e8eeab1db023c547c5a829d8b04c0d56265eb",
      "poster": "/videos/examples/posters/recut-action-push.jpg",
      "render": {
        "sha256": "692580713517fdc61b8e9b1b2dd2f9375775f88bb96864e8f10697007b20bb12",
        "bytes": 907790,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "gallery-to-blank-site-reveal",
      "title": "Leave the gallery, establish the blank site, reveal the artwork",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Use ChatGPT Images to explore campaign concepts",
        "id": "Ez-anO32D_s",
        "url": "https://www.youtube.com/watch?v=Ez-anO32D_s",
        "start": 89.83333333333333,
        "end": 94.33333333333333
      },
      "preview": "/videos/editing/studies-200/catalog/items/gallery-to-blank-site-reveal/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/gallery-to-blank-site-reveal/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/gallery-to-blank-site-reveal/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/gallery-to-blank-site-reveal/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/gallery-to-blank-site-reveal/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 174015,
      "packageSha256": "96bc16dea76bee1d5dfa140fe91008962e0bd09409273a471e59f7b919508ba7",
      "poster": "/videos/examples/posters/gallery-to-blank-site-reveal.jpg",
      "render": {
        "sha256": "7ee5160fe91732e24927fbc3d371f4134bd25e949868a86abb1038f66c3fb75b",
        "bytes": 745284,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 270,
        "duration": 4.5,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "report-to-detail",
      "title": "Open the report, reframe, then disclose navigation",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Updates to deep research in ChatGPT",
        "id": "2gCqVb2lBwk",
        "url": "https://www.youtube.com/watch?v=2gCqVb2lBwk",
        "start": 58.5,
        "end": 63.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/report-to-detail/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/report-to-detail/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/report-to-detail/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/report-to-detail/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/report-to-detail/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151405,
      "packageSha256": "0899484727f8ae9d37349d89307ce6b4f3113e37972c7765946a3cabc9157f1f",
      "poster": "/videos/examples/posters/report-to-detail.jpg",
      "render": {
        "sha256": "307b198abc78344a9a8dd59b47acd574fdfe345ede31c3b7ac0d2b738ed60433",
        "bytes": 1304958,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 270,
        "duration": 4.5,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "deck-population-hold",
      "title": "Populate the deck before the selected slide",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Create and edit presentations faster in PowerPoint",
        "id": "ECkHTfvf2e8",
        "url": "https://www.youtube.com/watch?v=ECkHTfvf2e8",
        "start": 70.0,
        "end": 77.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/deck-population-hold/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/deck-population-hold/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/deck-population-hold/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/deck-population-hold/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/deck-population-hold/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149173,
      "packageSha256": "1ae4be883758a46034900095c6e36af198117295a986168c7c96d197535408d2",
      "poster": "/videos/examples/posters/deck-population-hold.jpg",
      "render": {
        "sha256": "514dad230979743b782b8d2500b4907cb597b91d10d7c5a6830ba435abd2e828",
        "bytes": 171779,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 210,
        "duration": 7.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "kitchen-window-pullback",
      "title": "Read at one scale as the room recedes",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Dish with ChatGPT",
        "id": "To04SSylvVY",
        "url": "https://www.youtube.com/watch?v=To04SSylvVY",
        "start": 17.017,
        "end": 23.023
      },
      "preview": "/videos/editing/studies-200/catalog/items/kitchen-window-pullback/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/kitchen-window-pullback/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/kitchen-window-pullback/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/kitchen-window-pullback/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/kitchen-window-pullback/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 1730558,
      "packageSha256": "860679fd8ff040548efd87979ee46ec632f83002003d8d52df9039337e83ed71",
      "poster": "/videos/examples/posters/kitchen-window-pullback.jpg",
      "render": {
        "sha256": "4353147dcd306a827f80df1b4e41d6952ed95ec14db5aaed0977a9e711223cdd",
        "bytes": 2465012,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 144,
        "duration": 6.006,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "codex-review-reframe",
      "title": "Read the diff, move closer, then open an anchored comment",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "A first look at the Codex app",
        "id": "0e-Brv-gS9Q",
        "url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
        "start": 92.50908333333334,
        "end": 98.01458333333333
      },
      "preview": "/videos/editing/studies-200/catalog/items/codex-review-reframe/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/codex-review-reframe/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/codex-review-reframe/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/codex-review-reframe/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/codex-review-reframe/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 154845,
      "packageSha256": "efa4242640b9744c2c81537811008693eec4e046ac2c7fcc1ed3fda960b84f20",
      "poster": "/videos/examples/posters/codex-review-reframe.jpg",
      "render": {
        "sha256": "cb15303f3a3e123442d3b25bf15bbe76c8b76666f9568ab242aeb670c9e18fa2",
        "bytes": 269097,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 132,
        "duration": 5.5055,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "work-title-accent",
      "title": "Recenter the growing line while its last word changes color",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Meet ChatGPT Work",
        "id": "yRc5HcGJ-Cs",
        "url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs",
        "start": 3.0,
        "end": 7.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/work-title-accent/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/work-title-accent/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/work-title-accent/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/work-title-accent/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/work-title-accent/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151700,
      "packageSha256": "46b4c277ff5c4ae7b9a20a7ae41f7f526379901cde8d7e823f5d906c0dd40dfd",
      "poster": "/videos/examples/posters/work-title-accent.jpg",
      "render": {
        "sha256": "2e4a9db3bcbfdf89ff50ab7e0aa888918054194d2146b879970fc05f13089c19",
        "bytes": 107639,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 240,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "refresh-after-completion",
      "title": "Refresh a preview after its completion message",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Work with docs, sheets, and slides in ChatGPT",
        "id": "E3dDr_QtBuo",
        "url": "https://www.youtube.com/watch?v=E3dDr_QtBuo",
        "start": 16.47479166666667,
        "end": 20.353666666666665
      },
      "preview": "/videos/editing/studies-200/catalog/items/refresh-after-completion/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/refresh-after-completion/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/refresh-after-completion/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/refresh-after-completion/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/refresh-after-completion/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 162844,
      "packageSha256": "bc3f7fdff40edce3d3d4bb5773de60c679bd5a8c3aa5eb6162d253523288f46f",
      "poster": "/videos/examples/posters/refresh-after-completion.jpg",
      "render": {
        "sha256": "cda7ed8c6504542e4b7c8f6d47946d04c34ce0a4b4224289be0dae66f4444fa6",
        "bytes": 1223480,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 93,
        "duration": 3.878875,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "atlas-context-pullback",
      "title": "Reset the view before revealing activity and its explanation",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 72.0,
        "end": 76.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/atlas-context-pullback/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/atlas-context-pullback/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/atlas-context-pullback/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/atlas-context-pullback/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/atlas-context-pullback/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 154998,
      "packageSha256": "d63bce1bc3e01d7d37fc91ed3886330f9553a8232aea94bcf264baa760663367",
      "poster": "/videos/examples/posters/atlas-context-pullback.jpg",
      "render": {
        "sha256": "1b095a5906d42b02b56caa4db503171746eef3df74f674c9195b17c8309170c1",
        "bytes": 387373,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 120,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "paired-filter-reset-to-prompt",
      "title": "Reset two filters, restore their intersection, open the same prompt",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Use ChatGPT Work to create campaign emails",
        "id": "N-MJ1W8Vj9E",
        "url": "https://www.youtube.com/watch?v=N-MJ1W8Vj9E",
        "start": 47.833333333333336,
        "end": 67.63333333333334
      },
      "preview": "/videos/editing/studies-200/catalog/items/paired-filter-reset-to-prompt/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/paired-filter-reset-to-prompt/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/paired-filter-reset-to-prompt/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/paired-filter-reset-to-prompt/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/paired-filter-reset-to-prompt/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 194842,
      "packageSha256": "ff1da162279bf467489fe587138b7d9dd3627a18d0560dbdb30ab6a853301427",
      "poster": "/videos/examples/posters/paired-filter-reset-to-prompt.jpg",
      "render": {
        "sha256": "f8215c129c1d190d7444f6ed47665e1863b6e798d9f6ffc81f140a2f5e687676",
        "bytes": 2534649,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 1188,
        "duration": 19.8,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "shape-slots-to-title",
      "title": "Resolve five geometric slots into one held title",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Introducing GPT-6 Astra: the most intelligent and aligned model in the world.",
        "id": "1QNsdr-Qx_I",
        "url": "https://www.youtube.com/watch?v=1QNsdr-Qx_I",
        "start": 39.914875,
        "end": 44.252541666666666
      },
      "preview": "/videos/editing/studies-200/catalog/items/shape-slots-to-title/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/shape-slots-to-title/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/shape-slots-to-title/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/shape-slots-to-title/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/shape-slots-to-title/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 157165,
      "packageSha256": "3960613098bfb85fbed00953d1d522746a150589207a2e42961b243f7220da8a",
      "poster": "/videos/examples/posters/shape-slots-to-title.jpg",
      "render": {
        "sha256": "d37143b458512d4cafb8dad034911dc661e2dd27b763473c0387e3f2fab95374",
        "bytes": 305844,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 104,
        "duration": 4.337667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "persistent-marker-retiming",
      "title": "Retime one marker, retain both cards",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to storyboard with Sora",
        "id": "6PXWAvUG8Sg",
        "url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg",
        "start": 74.33333333333333,
        "end": 80.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/persistent-marker-retiming/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/persistent-marker-retiming/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/persistent-marker-retiming/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/persistent-marker-retiming/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/persistent-marker-retiming/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 161928,
      "packageSha256": "0c6d509d2dbed40c4116d4dbc4f80a2177904c28c0a9a36bde94cd9e3866bd60",
      "poster": "/videos/examples/posters/persistent-marker-retiming.jpg",
      "render": {
        "sha256": "1d8952231ade7d47e44d96e44dc3630b09e1b7f55d441c83d25848de04ccf0e2",
        "bytes": 146059,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 340,
        "duration": 5.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "authorization-callback-catalog-rebuild",
      "title": "Return from authorization while the catalog rebuilds",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Getting Started with ChatGPT Work",
        "id": "Rk4VyQxDq5s",
        "url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s",
        "start": 102.85275,
        "end": 112.69591666666666
      },
      "preview": "/videos/editing/studies-200/catalog/items/authorization-callback-catalog-rebuild/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/authorization-callback-catalog-rebuild/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/authorization-callback-catalog-rebuild/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/authorization-callback-catalog-rebuild/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/authorization-callback-catalog-rebuild/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 167083,
      "packageSha256": "7a8f18bacc18bdb3004ddd2bce15addc4e88a9eb92ddfd46f2c92b1d52d26527",
      "poster": "/videos/examples/posters/authorization-callback-catalog-rebuild.jpg",
      "render": {
        "sha256": "b4559d1fe3070aa60f9013e224734b4a83ae9d89bca3130e0d14dd9406dd7254",
        "bytes": 380744,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 236,
        "duration": 9.843167,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "paired-pip-identity-reveal",
      "title": "Reveal two pip-anchored identities on staggered gates",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "How to Turn a Business Question Into a Strategy Deck With ChatGPT Work | Tutorial",
        "id": "XjSJ6ybS9I8",
        "url": "https://www.youtube.com/watch?v=XjSJ6ybS9I8",
        "start": 23.440083333333334,
        "end": 27.986291666666666
      },
      "preview": "/videos/editing/studies-200/catalog/items/paired-pip-identity-reveal/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/paired-pip-identity-reveal/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/paired-pip-identity-reveal/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/paired-pip-identity-reveal/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/paired-pip-identity-reveal/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 156614,
      "packageSha256": "886c30a27e60d9c83b9c00b0942b8c24b86b03904b990e738bea149d8eee638f",
      "poster": "/videos/examples/posters/paired-pip-identity-reveal.jpg",
      "render": {
        "sha256": "efb7787f84ae7d99367df068bc1937df618acd967d29a9ab357c7c70d1b4e13e",
        "bytes": 142556,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 109,
        "duration": 4.546208,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "inline-draft-review-to-dispatch",
      "title": "Review a draft, preserve the cut, then begin dispatch",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Getting Started with ChatGPT Work",
        "id": "Rk4VyQxDq5s",
        "url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s",
        "start": 178.178,
        "end": 186.10258333333334
      },
      "preview": "/videos/editing/studies-200/catalog/items/inline-draft-review-to-dispatch/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/inline-draft-review-to-dispatch/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/inline-draft-review-to-dispatch/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/inline-draft-review-to-dispatch/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/inline-draft-review-to-dispatch/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 164052,
      "packageSha256": "28acf97fc3d20772843c7ec35abe388654e7ee6c6b1250aa69c8a13cbf06a591",
      "poster": "/videos/examples/posters/inline-draft-review-to-dispatch.jpg",
      "render": {
        "sha256": "ba7308c67bf353dcb83e8146140b7f1e881ca1bc4399dc7986623c486aab36c4",
        "bytes": 464009,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 190,
        "duration": 7.924583,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "saved-project-instruction",
      "title": "Save an instruction and restore its project context",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Creating a contextual workspace in ChatGPT",
        "id": "-ctJEx1n15g",
        "url": "https://www.youtube.com/watch?v=-ctJEx1n15g",
        "start": 39.166666666666664,
        "end": 52.5
      },
      "preview": "/videos/editing/studies-200/catalog/items/saved-project-instruction/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/saved-project-instruction/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/saved-project-instruction/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/saved-project-instruction/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/saved-project-instruction/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 170379,
      "packageSha256": "f97a7989c2944776d1537669d034606e1bd551e30704a9efde68aff71cfe9cd9",
      "poster": "/videos/examples/posters/saved-project-instruction.jpg",
      "render": {
        "sha256": "699a145eebe92b404d2fd2ad21978738b65543d626e64eaff74a94208a7766cc",
        "bytes": 887484,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 320,
        "duration": 13.333333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "composer-mode-roundtrip",
      "title": "Switch an empty composer out, back and out again",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Use ChatGPT Work to turn marketing ideas into finished work",
        "id": "NSqlZ1L81nQ",
        "url": "https://www.youtube.com/watch?v=NSqlZ1L81nQ",
        "start": 44.5,
        "end": 51.46666666666667
      },
      "preview": "/videos/editing/studies-200/catalog/items/composer-mode-roundtrip/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/composer-mode-roundtrip/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/composer-mode-roundtrip/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/composer-mode-roundtrip/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/composer-mode-roundtrip/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 166627,
      "packageSha256": "c2c8a74700057f46be99265f33fe7c46a501a258548d4dad6863f5c1c97b7355",
      "poster": "/videos/examples/posters/composer-mode-roundtrip.jpg",
      "render": {
        "sha256": "75d4b8481c06b4789b3b708f0640ceaa6f484e09479c420fc77f923966526ec4",
        "bytes": 288586,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 418,
        "duration": 6.966667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "chameleon-sign-timing",
      "title": "Turn matched comparisons into a sentence read across signs",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "ChatGPT Images \u2014 Chameleon",
        "id": "6SIDwCQZkU8",
        "url": "https://www.youtube.com/watch?v=6SIDwCQZkU8",
        "start": 18.0,
        "end": 23.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/chameleon-sign-timing/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/chameleon-sign-timing/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/chameleon-sign-timing/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/chameleon-sign-timing/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/chameleon-sign-timing/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 153539,
      "packageSha256": "8e7b8fd6b80f0084dec0e423eae6f181a6331a3b8f9243ecd85128dd02b93d71",
      "poster": "/videos/examples/posters/chameleon-sign-timing.jpg",
      "render": {
        "sha256": "dea22976a0ae0e402442f1a2cf8ef9c96de5e62e887a9eff1e6a079f3ce9cb76",
        "bytes": 136959,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 150,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "report-to-channel-handoff",
      "title": "Turn report gates into an owned channel plan",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Reconcile quarter-end financials with ChatGPT Work",
        "id": "Ljm3nHQQiSk",
        "url": "https://www.youtube.com/watch?v=Ljm3nHQQiSk",
        "start": 63.0,
        "end": 77.3
      },
      "preview": "/videos/editing/studies-200/catalog/items/report-to-channel-handoff/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/report-to-channel-handoff/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/report-to-channel-handoff/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/report-to-channel-handoff/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/report-to-channel-handoff/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 180971,
      "packageSha256": "a01274f41ff45cc11050b2d2da996f13c76b06814c96cf5691bb551cec3e6e98",
      "poster": "/videos/examples/posters/report-to-channel-handoff.jpg",
      "render": {
        "sha256": "95cb5bacf6faab01afdf71c94303fba40ef8a04f7479f0c7c23a064aa504adf4",
        "bytes": 2944373,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 858,
        "duration": 14.3,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "citation-source-roundtrip",
      "title": "Visit the cited source, then return to the preserved answer",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "verified-draft",
      "source": {
        "title": "Connect internal knowledge from Google Drive",
        "id": "8bAtx3WuRZw",
        "url": "https://www.youtube.com/watch?v=8bAtx3WuRZw",
        "start": 85.83575,
        "end": 102.977875
      },
      "preview": "/videos/editing/studies-200/catalog/items/citation-source-roundtrip/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/citation-source-roundtrip/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/citation-source-roundtrip/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/citation-source-roundtrip/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/citation-source-roundtrip/resolve.txt",
      "limitations": [
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 167035,
      "packageSha256": "2a45538c388ea70520ebabbb3f6c9517c3e9ff08c5fed1dcb6ed23d9d5a64cc5",
      "poster": "/videos/examples/posters/citation-source-roundtrip.jpg",
      "render": {
        "sha256": "94c023459ce1b03a7c10bb0e4611f6013cb0fff9109015c1b190ae2123f3d9a5",
        "bytes": 1541238,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 411,
        "duration": 17.142125,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "atlas-layered-icon-build",
      "title": "A layered original app mark",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 89.83333333333333,
        "end": 93.5
      },
      "preview": "/videos/editing/studies-200/catalog/items/atlas-layered-icon-build/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/atlas-layered-icon-build/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/atlas-layered-icon-build/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/atlas-layered-icon-build/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/atlas-layered-icon-build/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Original warm/cool slats and step glyphs replace Atlas lobes and branded arrow. Tonal bands are not glass, lighting, material or drop-shadow reconstruction."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 198393,
      "packageSha256": "0b87af23a3744756916375edcbe67a6aa54b10d82c5410c6c4fe9f210e5d8466",
      "poster": "/videos/examples/posters/atlas-layered-icon-build.jpg",
      "render": {
        "sha256": "f8984a53abcfc623610e056acc3d7c8f7cf78f43e0f8f32302ae41061592e137",
        "bytes": 73803,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 110,
        "duration": 3.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "payment-state-sequence",
      "title": "A payment action becomes a receipt",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Buy it in ChatGPT: Instant Checkout and the Agentic Commerce Protocol",
        "id": "C6qcZdtIv54",
        "url": "https://www.youtube.com/watch?v=C6qcZdtIv54",
        "start": 18.0,
        "end": 26.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/payment-state-sequence/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/payment-state-sequence/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/payment-state-sequence/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/payment-state-sequence/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/payment-state-sequence/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Original vector planter/notebook products replace the source photograph; materiality and exact drifting light field differ. Chosen spinner, ripple and receipt text cadence need parent output review; no rendered readability or native Resolve calibration is established."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 221599,
      "packageSha256": "4396a31f34d4a4f9fe4852a072757bbd1cc7c96a2d8576cae194b09bf0299edf",
      "poster": "/videos/examples/posters/payment-state-sequence.jpg",
      "render": {
        "sha256": "00ea5996748e2750b912d91b77fa8cb7220822e3d0e3914d65047262d20ced52",
        "bytes": 942323,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 480,
        "duration": 8.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "work-observed-resolving-carousel",
      "title": "A resolving card strip travels and contracts",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Meet ChatGPT Work",
        "id": "yRc5HcGJ-Cs",
        "url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs",
        "start": 45.55,
        "end": 47.96666666666667
      },
      "preview": "/videos/editing/studies-200/catalog/items/work-observed-resolving-carousel/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/work-observed-resolving-carousel/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/work-observed-resolving-carousel/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/work-observed-resolving-carousel/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/work-observed-resolving-carousel/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Both repaired contents remove the mixed-image joins visible in the prior exports at local92. A source-first anonymous-label static comparison moderately prefers each repair within its content pair. The largest remaining gap is simplified repetitive illustration rather than distinct materially detailed scenes. No overall or moving-quality winner, source-quality completion or native Resolve validation is established."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 215378,
      "packageSha256": "5c4bb28aab27afd72f65819a9979241d9ae0eb2965c98ad39ae0e7e1012ee03b",
      "poster": "/videos/examples/posters/work-observed-resolving-carousel.jpg",
      "render": {
        "sha256": "e5cc0696c5aca1da029dcaa820c4d0bab0be2225886735febd9115a9c72c27ea",
        "bytes": 676254,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 145,
        "duration": 2.416667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "detached-working-preview",
      "title": "A working surface, beyond the conversation",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
        "id": "IYYTI73J7Rg",
        "url": "https://www.youtube.com/watch?v=IYYTI73J7Rg",
        "start": 25.0,
        "end": 29.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/detached-working-preview/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/detached-working-preview/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/detached-working-preview/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/detached-working-preview/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/detached-working-preview/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 193631,
      "packageSha256": "3b01b2d4e82daf504b1b5b8eb81df9f8ec5fd9142a0627f81e0126f9e6cd911c",
      "poster": "/videos/examples/posters/detached-working-preview.jpg",
      "render": {
        "sha256": "0b8928036e616cf4480cb23315ad76cd591515bad3cf683d63b97a0b3dc1b2d1",
        "bytes": 46529,
        "width": 1280,
        "height": 720,
        "fps": "24/1",
        "frames": 96,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "split-result-pane-allocation",
      "title": "Allocate a pane before revealing the result",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Build and share interactive prototypes in Codex",
        "id": "_9ImjmzAyus",
        "url": "https://www.youtube.com/watch?v=_9ImjmzAyus",
        "start": 51.0,
        "end": 56.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/split-result-pane-allocation/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/split-result-pane-allocation/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/split-result-pane-allocation/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/split-result-pane-allocation/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/split-result-pane-allocation/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Source content arrives more abruptly and its later pane-width excursion is omitted. Request text is a chosen fixed-width column rather than recovered browser reflow; the optional-style outer zoom is authored, not measured."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 213907,
      "packageSha256": "a81de40683bb680281e1a893366aee162d1f353461c2c4addb190daf43a2e5e5",
      "poster": "/videos/examples/posters/split-result-pane-allocation.jpg",
      "render": {
        "sha256": "3e01317ad71818e2d2e4cbc27fb020536aec6422855929c1fc30dd5df3b26a9a",
        "bytes": 259310,
        "width": 1280,
        "height": 720,
        "fps": "30/1",
        "frames": 150,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "archive-outline-montage",
      "title": "Archive pages to a constructed outline",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "10 years.",
        "id": "8JXwrVQQ4jw",
        "url": "https://www.youtube.com/watch?v=8JXwrVQQ4jw",
        "start": 27.027,
        "end": 32.5325
      },
      "preview": "/videos/editing/studies-200/catalog/items/archive-outline-montage/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/archive-outline-montage/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/archive-outline-montage/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/archive-outline-montage/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/archive-outline-montage/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Diagrammatic bench movement and monoline paper cannot reproduce filmed activity or the source paper typography. Inherited ORB/ORE macro fits still need moving comparison; native Resolve curve import is untested."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 428240,
      "packageSha256": "c7f4734a8fc16936b3e5a77ad45eb1f27dda43b1dd53d8aa25ca8862bf7bf2bd",
      "poster": "/videos/examples/posters/archive-outline-montage.jpg",
      "render": {
        "sha256": "afd76975e684fd832d5c191e4affae6bbe5e879619679fd41903f826d22a9439",
        "bytes": 544798,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 132,
        "duration": 5.5055,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "shopping-table-browse-partial-return",
      "title": "Browse a table and return only partway",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Research and compare products with ChatGPT",
        "id": "jM1oSEXssOE",
        "url": "https://www.youtube.com/watch?v=jM1oSEXssOE",
        "start": 27.333333333333332,
        "end": 31.85
      },
      "preview": "/videos/editing/studies-200/catalog/items/shopping-table-browse-partial-return/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/shopping-table-browse-partial-return/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/shopping-table-browse-partial-return/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/shopping-table-browse-partial-return/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/shopping-table-browse-partial-return/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 217914,
      "packageSha256": "085a01e24a45a0bbfd6808e958768f2eff04b4bb0fa4dc70d2041fd9f4a1f0f0",
      "poster": "/videos/examples/posters/shopping-table-browse-partial-return.jpg",
      "render": {
        "sha256": "43b5ac903677fbb9a56be569623e4be1c4aa2e76878d03d519e0a1894610cb68",
        "bytes": 222770,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 271,
        "duration": 4.516667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "agent-slide-build",
      "title": "Build slides inside a floating task preview",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "A Look at ChatGPT agent",
        "id": "2wzGS_WUZYQ",
        "url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ",
        "start": 34.0,
        "end": 39.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/agent-slide-build/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/agent-slide-build/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/agent-slide-build/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/agent-slide-build/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/agent-slide-build/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Original vector cover art and native editable sample data replace source photos and product content. Source blur/shimmer and progressive table population are only approximated; no output readability or native Resolve calibration has been checked."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 219153,
      "packageSha256": "c13cabf95d9ae631e3e0067b297ac1ef4128e40641551c21bbb0312ae766d46e",
      "poster": "/videos/examples/posters/agent-slide-build.jpg",
      "render": {
        "sha256": "fb91776451e859446d557e02bae05760a2c9ed7121dcdc5abdced84fcc5f03a6",
        "bytes": 1093034,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "chart-representation-change",
      "title": "Change a chart representation without losing context",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Codex for data science",
        "id": "Lvk_VZOppIY",
        "url": "https://www.youtube.com/watch?v=Lvk_VZOppIY",
        "start": 38.0,
        "end": 44.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/chart-representation-change/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/chart-representation-change/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/chart-representation-change/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/chart-representation-change/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/chart-representation-change/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 233549,
      "packageSha256": "d799fe4ebdafba347a35b63fc664283be5ff59737c7c19f9f14ff24308b1e17c",
      "poster": "/videos/examples/posters/chart-representation-change.jpg",
      "render": {
        "sha256": "b203a85001dcdf582cf5e463ae0efa60637f5bd16afd80c6fea2e59f260e2493",
        "bytes": 560513,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 360,
        "duration": 6.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "codex-click-release-camera",
      "title": "Click first, release the camera back to context",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "A first look at the Codex app",
        "id": "0e-Brv-gS9Q",
        "url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
        "start": 17.183833333333332,
        "end": 22.355666666666668
      },
      "preview": "/videos/editing/studies-200/catalog/items/codex-click-release-camera/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/codex-click-release-camera/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/codex-click-release-camera/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/codex-click-release-camera/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/codex-click-release-camera/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Nested camera/cursor temporal exposure has no verified Fusion equivalent; retained optical cursor/right-edge findings remain open."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 330451,
      "packageSha256": "43bd1aad7b2e5389584d67ca7f67a78cdbfe6bec2980c6769a979a1278f3842b",
      "poster": "/videos/examples/posters/codex-click-release-camera.jpg",
      "render": {
        "sha256": "f26811460bff6682586b2c8a3aec797afb4b79f6b33fce80e8d2f6ebbf73e724",
        "bytes": 558563,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 124,
        "duration": 5.171833,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "codex-word-tiles-collage",
      "title": "Codex word-tile collage: v08 settling and miniature hierarchy",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Build and share apps in Codex",
        "id": "5UlRL_ImvQ0",
        "url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0",
        "start": 2.3333333333333335,
        "end": 4.233333333333333
      },
      "preview": "/videos/editing/studies-200/catalog/items/codex-word-tiles-collage/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/codex-word-tiles-collage/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/codex-word-tiles-collage/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/codex-word-tiles-collage/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/codex-word-tiles-collage/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "The published v08 candidate uses substitute copy, relief geometry and pixel animals. Source-like miniature detail, type metrics and translucent overlap still need fresh moving comparison; a historical no-open-findings report bound to an older recipe cannot accept this kit."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 582730,
      "packageSha256": "a42fdb856d08b9098c9c9046d11527f7d9d666c803e5ffacf6ee351bf336be64",
      "poster": "/videos/examples/posters/codex-word-tiles-collage.jpg",
      "render": {
        "sha256": "ff08a44aa6a9640a8d6f353f94e28ebb9ebf57915c589bc0c2dce81368aea7eb",
        "bytes": 311835,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 114,
        "duration": 1.9,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "workspace-icon-phrases",
      "title": "Context, title hold, then recentering icon phrases",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing workspace agents in ChatGPT",
        "id": "yyvVUEPSCu0",
        "url": "https://www.youtube.com/watch?v=yyvVUEPSCu0",
        "start": 51.0,
        "end": 57.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/workspace-icon-phrases/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/workspace-icon-phrases/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/workspace-icon-phrases/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/workspace-icon-phrases/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/workspace-icon-phrases/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Source-specific mascot depth, exact type spacing and conversation framing are replaced by original flat SVG symbols and invented editorial content; micro-settling curves are chosen, not source-measured."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 202833,
      "packageSha256": "a65705daa0d8b78561627474f8550fd8cca65008068b7f1d6d0dca60ff3317ad",
      "poster": "/videos/examples/posters/workspace-icon-phrases.jpg",
      "render": {
        "sha256": "65ccc7b20481f1e211f2eeae589a924fa00fd45dcea91d1000734dd4f4dc63bb",
        "bytes": 188305,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 360,
        "duration": 6.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "sora-moving-result-pullback",
      "title": "DRAFT \u2014 Control-to-moving-result cut, then camera pullback: Resolve / Remotion kit",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "How to blend videos with Sora",
        "id": "OXapuT2iVqM",
        "url": "https://www.youtube.com/watch?v=OXapuT2iVqM",
        "start": 73.0,
        "end": 78.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/sora-moving-result-pullback/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/sora-moving-result-pullback/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/sora-moving-result-pullback/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/sora-moving-result-pullback/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/sora-moving-result-pullback/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Photographic subject/deformation and pointer exposure replaced by original vectors; not a fidelity repair. No new rendered evidence."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 244344,
      "packageSha256": "27f59c945a19233451297f73e9589f03a445078ec30debbec8e32b97941647a2",
      "poster": "/videos/examples/posters/sora-moving-result-pullback.jpg",
      "render": {
        "sha256": "5cf079230f6dcd722d45675936b75a8f0a4c5ce3ed598edd2bb6ff939f27a462",
        "bytes": 680599,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "pulse-device-card-arc",
      "title": "Device-to-seven-card arc: Resolve / Remotion guide",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing ChatGPT Pulse",
        "id": "nk6IjAnCCqw",
        "url": "https://www.youtube.com/watch?v=nk6IjAnCCqw",
        "start": 5.0,
        "end": 8.916666666666666
      },
      "preview": "/videos/editing/studies-200/catalog/items/pulse-device-card-arc/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/pulse-device-card-arc/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/pulse-device-card-arc/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/pulse-device-card-arc/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/pulse-device-card-arc/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Material source difference: the retained editorial SVG crops are not the large textured subject illustrations in the source. Geometry guidance does not repair that content gap."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 1076233,
      "packageSha256": "9a2125d102f915fe43bca775aca8999335268ad2e3a94ff213e3548c99fe6b20",
      "poster": "/videos/examples/posters/pulse-device-card-arc.jpg",
      "render": {
        "sha256": "386bfbbd295e682953b038f67e96295afd4ad4572e05c62dfd24d81522196de7",
        "bytes": 1344459,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 235,
        "duration": 3.916667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "sidebar-editorial-callouts",
      "title": "Editorial callouts over a stable sidebar",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Bring your work into Codex in a few clicks",
        "id": "flvZ6jEj3VU",
        "url": "https://www.youtube.com/watch?v=flvZ6jEj3VU",
        "start": 44.0,
        "end": 52.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/sidebar-editorial-callouts/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/sidebar-editorial-callouts/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/sidebar-editorial-callouts/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/sidebar-editorial-callouts/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/sidebar-editorial-callouts/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Original vector backdrop and chosen push/edge-wipe controls will not reproduce the source's moving light field, exact rounded stroke rasterization, pointer path or native UI metrics."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 210495,
      "packageSha256": "0a8bf4d09970bb3124ad7024a5cca5f5d7968679e6407b2bb323564891299ffb",
      "poster": "/videos/examples/posters/sidebar-editorial-callouts.jpg",
      "render": {
        "sha256": "b8172ae3f19f7278a36120b1203fe825195e7afc076f357600dbc70de1aa8bb1",
        "bytes": 1011854,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 480,
        "duration": 8.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "type-delimiter-before-word",
      "title": "Empty delimiters lead the enclosed words",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Build and share apps in Codex",
        "id": "5UlRL_ImvQ0",
        "url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0",
        "start": 11.65,
        "end": 14.75
      },
      "preview": "/videos/editing/studies-200/catalog/items/type-delimiter-before-word/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/type-delimiter-before-word/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/type-delimiter-before-word/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/type-delimiter-before-word/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/type-delimiter-before-word/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "R04 has not been rendered. The principal unresolved question is whether the source-motivated 12px square and 13px round geometric gaps yield the intended optical separation with the unchanged SVG shapes and encoded pixels. Later padding, bridge-letter timing, palette and moving quality are not repaired or approved."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 205744,
      "packageSha256": "edf9771023e8284026a0e2a8b76e6e07732460797f1509c181960d5c4a16cc96",
      "poster": "/videos/examples/posters/type-delimiter-before-word.jpg",
      "render": {
        "sha256": "a8c98df0e055fbebe8a2686edffbbf0c2134c981375d778d557c94b60d0691e2",
        "bytes": 50523,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 186,
        "duration": 3.1,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "knowledge-source-stagger",
      "title": "Evidence first, answer second",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Work smarter with your company knowledge in ChatGPT",
        "id": "DupfnOCH-JI",
        "url": "https://www.youtube.com/watch?v=DupfnOCH-JI",
        "start": 25.0,
        "end": 30.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/knowledge-source-stagger/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/knowledge-source-stagger/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/knowledge-source-stagger/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/knowledge-source-stagger/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/knowledge-source-stagger/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 209400,
      "packageSha256": "1e897589bf07b88aeb36ff1342713356b2af5605f8ae258af8a6be226ce108e3",
      "poster": "/videos/examples/posters/knowledge-source-stagger.jpg",
      "render": {
        "sha256": "8b7fe75217d6aa6c8e08bac536a76ee18f80f50547cebf4b0039dac91ec5eded",
        "bytes": 349055,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "recording-to-artifact",
      "title": "From a captured session to reusable work",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Record & Replay in Codex",
        "id": "ZK3JhU73W18",
        "url": "https://www.youtube.com/watch?v=ZK3JhU73W18",
        "start": 44.002291666666665,
        "end": 51.00929166666667
      },
      "preview": "/videos/editing/studies-200/catalog/items/recording-to-artifact/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/recording-to-artifact/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/recording-to-artifact/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/recording-to-artifact/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/recording-to-artifact/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 194658,
      "packageSha256": "334b0bbe7f072d01d8378dc89aa57daf8dc5576d667983efb6c69d4c4f4a36a5",
      "poster": "/videos/examples/posters/recording-to-artifact.jpg",
      "render": {
        "sha256": "7ecd81484e6d183c11749207a0cca293efaccd916cce51ea8d330534c912488a",
        "bytes": 89125,
        "width": 1280,
        "height": 720,
        "fps": "24000/1001",
        "frames": 168,
        "duration": 7.007,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "pulse-card-to-reading",
      "title": "From a card to a reading sheet",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing ChatGPT Pulse",
        "id": "nk6IjAnCCqw",
        "url": "https://www.youtube.com/watch?v=nk6IjAnCCqw",
        "start": 36.0,
        "end": 41.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/pulse-card-to-reading/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/pulse-card-to-reading/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/pulse-card-to-reading/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/pulse-card-to-reading/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/pulse-card-to-reading/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 215703,
      "packageSha256": "6f14c7c0ae10a9212921f553f42ae3a78a858e06f7c1c674567be321ce60770a",
      "poster": "/videos/examples/posters/pulse-card-to-reading.jpg",
      "render": {
        "sha256": "f75aab0f69c57c9f67b5388028c2d73ae5d70d81d39f29ad6658db516dbff3f1",
        "bytes": 477809,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "gallery-to-device",
      "title": "Gallery To Device",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "ChatGPT Images",
        "id": "DPBtd57p5Mg",
        "url": "https://www.youtube.com/watch?v=DPBtd57p5Mg",
        "start": 47.0,
        "end": 51.5
      },
      "preview": "/videos/editing/studies-200/catalog/items/gallery-to-device/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/gallery-to-device/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/gallery-to-device/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/gallery-to-device/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/gallery-to-device/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Transient section spacing is mechanically constrained by the r02 placement repair; motion, source-quality, text shaping and native Resolve remain unreviewed. Source image richness and exact routes remain unrecovered."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 245566,
      "packageSha256": "2951bb1d6bc571b9c3aa54b31ba970f98430e2cf7927a91b60ea58684523440a",
      "poster": "/videos/examples/posters/gallery-to-device.jpg",
      "render": {
        "sha256": "746da19f6f09c52098df3bf3d0697757e888aff153df306af66d0d76dff336ee",
        "bytes": 706729,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 135,
        "duration": 4.5,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "canvas-range-camera-return",
      "title": "Grow a document range and return the camera",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Prototyping with canvas in ChatGPT",
        "id": "JbIvaFh44EY",
        "url": "https://www.youtube.com/watch?v=JbIvaFh44EY",
        "start": 67.0,
        "end": 73.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/canvas-range-camera-return/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/canvas-range-camera-return/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/canvas-range-camera-return/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/canvas-range-camera-return/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/canvas-range-camera-return/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 225301,
      "packageSha256": "8631b6fd25b1c83cae358a109c98d968097e5dc7e67164696d76be094b72e13a",
      "poster": "/videos/examples/posters/canvas-range-camera-return.jpg",
      "render": {
        "sha256": "51a462b999d837bd25e96a211086f69e4ff3d855881bd6b18c20250170001c5e",
        "bytes": 2431369,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 144,
        "duration": 6.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "hard-cut-crop",
      "title": "Hard cut into the same interface",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 22.5,
        "end": 24.8
      },
      "preview": "/videos/editing/studies-200/catalog/items/hard-cut-crop/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/hard-cut-crop/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/hard-cut-crop/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/hard-cut-crop/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/hard-cut-crop/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Original architectural vectors replace source property photographs; unbranded UI and chosen crop/typing values preserve the mechanism but not source material, precise geometry or text cadence. No fresh rendered comparison exists."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 219056,
      "packageSha256": "44da8469ecf1623721d91fcb89146034cf0525ed26fd500cd5882eb41df1c661",
      "poster": "/videos/examples/posters/hard-cut-crop.jpg",
      "render": {
        "sha256": "3870c1dc742e114c01ddb9511597b54095b1ea722a5e3abf1934b093d5bf6b63",
        "bytes": 215419,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 69,
        "duration": 2.3,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "codex-modal-relay",
      "title": "Held-workspace modal relay: Resolve / Remotion guide",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "A first look at the Codex app",
        "id": "0e-Brv-gS9Q",
        "url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
        "start": 57.974583333333335,
        "end": 63.063
      },
      "preview": "/videos/editing/studies-200/catalog/items/codex-modal-relay/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/codex-modal-relay/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/codex-modal-relay/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/codex-modal-relay/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/codex-modal-relay/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Cursor exposure: the retained 41-sample fit still leaves a dark leading arrow/hand rather than the source streak; no Resolve equivalent has been validated."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 374405,
      "packageSha256": "9bfb3927680e6df000b403baa520ea421fcfabe4ded979605752ba5ae44503aa",
      "poster": "/videos/examples/posters/codex-modal-relay.jpg",
      "render": {
        "sha256": "4cfe5eea075183fe1e122172e7eb9a287b7e29750944457e55cc38f5abc7791b",
        "bytes": 351772,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 122,
        "duration": 5.088417,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "image-cutout-parade",
      "title": "Image Cutout Parade",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "ChatGPT Images",
        "id": "DPBtd57p5Mg",
        "url": "https://www.youtube.com/watch?v=DPBtd57p5Mg",
        "start": 12.0,
        "end": 16.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/image-cutout-parade/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/image-cutout-parade/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/image-cutout-parade/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/image-cutout-parade/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/image-cutout-parade/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Original vector characters preserve the isolation/cohort/joint-scene relationship but do not reproduce photographic people, expressive pose detail, lighting or the source's recombination finish. Hard pose cuts are an authored choice, not an observed segmentation or morph technique. Moving comparison is still required."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 220732,
      "packageSha256": "4f26b4ee851ac5592706a415bae2680c74fa0f3d5c2ad0882cf1706ebe8e2575",
      "poster": "/videos/examples/posters/image-cutout-parade.jpg",
      "render": {
        "sha256": "251983caf80bd6654496a3515864e07d851d4212249d29e5deec0f3aef42565b",
        "bytes": 186622,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 120,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "voice-orb-outro",
      "title": "Inline motif substitutions open into a peripheral outro",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "You can just use your voice | ChatGPT Work",
        "id": "ceBruD6v5Bk",
        "url": "https://www.youtube.com/watch?v=ceBruD6v5Bk",
        "start": 33.0,
        "end": 37.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/voice-orb-outro/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/voice-orb-outro/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/voice-orb-outro/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/voice-orb-outro/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/voice-orb-outro/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "The source's photographic objects, document density and cloud-like orb materiality become original vector symbols and gradient geometry. Terminal collage travel remains an estimated trajectory, not a verified motion match."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 217372,
      "packageSha256": "91d8a4d98f4e319288701776b1ab3b69d9436bcb6fd2cc2babd0901f3afab289",
      "poster": "/videos/examples/posters/voice-orb-outro.jpg",
      "render": {
        "sha256": "0fb40c0cc927ff1b10231588525ea96fbdabfa7dc5ef7d47c849190e33893c84",
        "bytes": 237207,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 120,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "layer-insert-resize-place",
      "title": "Insert, resize and place a selected badge",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Transparent Layers with 4o Image Generation",
        "id": "tMhAASk9i1o",
        "url": "https://www.youtube.com/watch?v=tMhAASk9i1o",
        "start": 62.81275,
        "end": 69.15241666666667
      },
      "preview": "/videos/editing/studies-200/catalog/items/layer-insert-resize-place/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/layer-insert-resize-place/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/layer-insert-resize-place/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/layer-insert-resize-place/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/layer-insert-resize-place/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 208389,
      "packageSha256": "b5c94ff51c89fe7531ba93dd9b0568982cbccb344a98f1b39c7293fade050f35",
      "poster": "/videos/examples/posters/layer-insert-resize-place.jpg",
      "render": {
        "sha256": "28d010e3d1aa012cb806451ff7edb366e6f029003062bcd886949aecbf397817",
        "bytes": 188191,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 152,
        "duration": 6.339667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "simulator-selection",
      "title": "Inspect a target. Start an instruction.",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Build and test iOS apps without leaving Codex",
        "id": "u9zLlcsCDiQ",
        "url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ",
        "start": 10.01,
        "end": 15.015
      },
      "preview": "/videos/editing/studies-200/catalog/items/simulator-selection/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/simulator-selection/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/simulator-selection/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/simulator-selection/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/simulator-selection/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 194208,
      "packageSha256": "9394d25a2824cddf16cbdf39f8a05f85bafd8339c7c9c6d69baf62fe74699fa1",
      "poster": "/videos/examples/posters/simulator-selection.jpg",
      "render": {
        "sha256": "1be5ee9e99ae4bd2f82874ea0d713a28cb010ad843a30daff261a25550e0f0c3",
        "bytes": 41284,
        "width": 1280,
        "height": 720,
        "fps": "24000/1001",
        "frames": 120,
        "duration": 5.005,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "embedded-map-detail",
      "title": "Keep the map in view while refining the request",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Apps in ChatGPT",
        "id": "2C4Cs6503gw",
        "url": "https://www.youtube.com/watch?v=2C4Cs6503gw",
        "start": 28.011316666666666,
        "end": 36.002633333333335
      },
      "preview": "/videos/editing/studies-200/catalog/items/embedded-map-detail/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/embedded-map-detail/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/embedded-map-detail/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/embedded-map-detail/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/embedded-map-detail/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 193899,
      "packageSha256": "c9ebc8f6f1b126fa56fdd67a16d42292a0a8fb326b701ced0377e2cc40ffcc19",
      "poster": "/videos/examples/posters/embedded-map-detail.jpg",
      "render": {
        "sha256": "393a4aa73c9335e6b456170b76cfa886ce699ea1f112d8397e8cc8edb335b5d2",
        "bytes": 89954,
        "width": 1280,
        "height": 720,
        "fps": "60000/1001",
        "frames": 479,
        "duration": 7.991317,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "sora-recut-03",
      "title": "Keep the start. Move the end.",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "How to recut with Sora",
        "id": "jC0i_0wnly8",
        "url": "https://www.youtube.com/watch?v=jC0i_0wnly8",
        "start": 37.0,
        "end": 40.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/sora-recut-03/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/sora-recut-03/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/sora-recut-03/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/sora-recut-03/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/sora-recut-03/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 199141,
      "packageSha256": "d023855593005c4ea7df5ec4b06fcd58b286a4be8d82b9712298e27fae980bab",
      "poster": "/videos/examples/posters/sora-recut-03.jpg",
      "render": {
        "sha256": "2b41e87db6670eaaad1c3b9316f1a16147ced37063e5baa1b5b1578eb9073aab",
        "bytes": 149518,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 180,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "voice-toggle-to-orb",
      "title": "Mode selection to a quiet activity dot",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "You can just use your voice | ChatGPT Work",
        "id": "ceBruD6v5Bk",
        "url": "https://www.youtube.com/watch?v=ceBruD6v5Bk",
        "start": 3.0,
        "end": 7.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/voice-toggle-to-orb/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/voice-toggle-to-orb/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/voice-toggle-to-orb/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/voice-toggle-to-orb/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/voice-toggle-to-orb/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "The original control labels/glyphs and authored composer withdrawal are a visual approximation. The dot geometry is fitted from half-resolution stills, not recovered easing or an audio algorithm; temporal feel and native Fusion shadow/Text+ matches await real renders."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 199802,
      "packageSha256": "67691cc8f71c24365c313fafa3f83df4fe619a795d9098a6d59458aa8988348a",
      "poster": "/videos/examples/posters/voice-toggle-to-orb.jpg",
      "render": {
        "sha256": "c22888bb96ca42f63933fe888dbdd86e52ba9bd7a88bbf1a3a93b4595620f614",
        "bytes": 83908,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 120,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "forecast-driver-branch",
      "title": "One driver, a selective future",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "How to Turn a Forecast Spreadsheet Into an Interactive Planning Tool With ChatGPT Work",
        "id": "TryfaGZwvIE",
        "url": "https://www.youtube.com/watch?v=TryfaGZwvIE",
        "start": 12.012,
        "end": 14.014
      },
      "preview": "/videos/editing/studies-200/catalog/items/forecast-driver-branch/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/forecast-driver-branch/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/forecast-driver-branch/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/forecast-driver-branch/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/forecast-driver-branch/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 198872,
      "packageSha256": "9727e473861e51991bd16d7fae4143ba0a7abf43731b9f41386757943a8b7c2a",
      "poster": "/videos/examples/posters/forecast-driver-branch.jpg",
      "render": {
        "sha256": "f449b8543085a2a6cfcf63c23dd1a58bf99dfa017a6a73bfa1936d570bda4750",
        "bytes": 89629,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 48,
        "duration": 2.002,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "phone-desktop-pair",
      "title": "One task, visible in two places",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Use ChatGPT Work on Your Phone",
        "id": "yfnh8SuMbNw",
        "url": "https://www.youtube.com/watch?v=yfnh8SuMbNw",
        "start": 91.00758333333333,
        "end": 95.01158333333333
      },
      "preview": "/videos/editing/studies-200/catalog/items/phone-desktop-pair/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/phone-desktop-pair/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/phone-desktop-pair/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/phone-desktop-pair/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/phone-desktop-pair/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 192828,
      "packageSha256": "76f4d496522fa917964d8a134a8fdb58b53424797057231a9fc13936e0c5c46d",
      "poster": "/videos/examples/posters/phone-desktop-pair.jpg",
      "render": {
        "sha256": "97b02be92d273db67ddd0927ac2f207478e1f40160cfdacd2b000f37f1d7b0c5",
        "bytes": 75435,
        "width": 1280,
        "height": 720,
        "fps": "24000/1001",
        "frames": 96,
        "duration": 4.004,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "apps-output-wall",
      "title": "Output wall \u2192 delimiter \u2192 title",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Build and share apps in Codex",
        "id": "5UlRL_ImvQ0",
        "url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0",
        "start": 35.0,
        "end": 40.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/apps-output-wall/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/apps-output-wall/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/apps-output-wall/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/apps-output-wall/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/apps-output-wall/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Internal source artwork/reordering continues during contraction, but inherited scaffold geometry freezes at local 227. New vector tile art is static; photographic content and internal source demos are not reproduced."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 435306,
      "packageSha256": "bca88d42c4853a70a64a25c346d1a5d5dd77a4f4dd6c8f2e19952b1786863b77",
      "poster": "/videos/examples/posters/apps-output-wall.jpg",
      "render": {
        "sha256": "191c0b8eb3ee0d0fb3f299dfa0aeafe27497a6994147c85ef4c1aad619aafc47",
        "bytes": 2917864,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "chart-to-chart-pan",
      "title": "Pan between two chart anchors in one dashboard",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Analyze earnings and update your investment thesis with Codex",
        "id": "Rlju1Z9e110",
        "url": "https://www.youtube.com/watch?v=Rlju1Z9e110",
        "start": 65.0,
        "end": 69.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/chart-to-chart-pan/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/chart-to-chart-pan/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/chart-to-chart-pan/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/chart-to-chart-pan/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/chart-to-chart-pan/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 215930,
      "packageSha256": "2f7b3b71de6f1c20d9d7483163f01bdd1ca2fb5c831fa921415de982754fa78f",
      "poster": "/videos/examples/posters/chart-to-chart-pan.jpg",
      "render": {
        "sha256": "f9f3052fd210d19d937a2489a4317a74b4c8026545f5bae0360869811d55da1e",
        "bytes": 978699,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 240,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "permission-scope",
      "title": "Permission scope \u2014 choose, hold, cut",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Build and share apps in Codex",
        "id": "5UlRL_ImvQ0",
        "url": "https://www.youtube.com/watch?v=5UlRL_ImvQ0",
        "start": 25.0,
        "end": 29.5
      },
      "preview": "/videos/editing/studies-200/catalog/items/permission-scope/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/permission-scope/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/permission-scope/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/permission-scope/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/permission-scope/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 228242,
      "packageSha256": "0f5cede45bd667c29c394a9fc7653a253780c190045dd6a387d0b2430ea2f426",
      "poster": "/videos/examples/posters/permission-scope.jpg",
      "render": {
        "sha256": "b210b924833667dbb97f657232e5e5966a1a7b0ee8eff9face294d896d59930e",
        "bytes": 839371,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 270,
        "duration": 4.5,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "atlas-composer-context-reveal",
      "title": "Persistent composer across a scale cut and context reveal",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 8.433333333333334,
        "end": 13.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/atlas-composer-context-reveal/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/atlas-composer-context-reveal/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/atlas-composer-context-reveal/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/atlas-composer-context-reveal/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/atlas-composer-context-reveal/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Result-panel bottom-edge settling is absent over local92\u2013108; the pinned implementation does not repair AC-01."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 211810,
      "packageSha256": "82cfb6eab9ce5662dd5a7dec13eadd941ac010f6b7f0bc18cb6ac36c458a7086",
      "poster": "/videos/examples/posters/atlas-composer-context-reveal.jpg",
      "render": {
        "sha256": "4a261a6008d0e13ac82d1215f4718b841bc1bc8a53e1234b57935a98ae648048",
        "bytes": 229537,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 137,
        "duration": 4.566667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "prism-translucent-contours",
      "title": "Prism translucent contours: registered vector material layers",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
        "id": "xnInEsaaj9c",
        "url": "https://www.youtube.com/watch?v=xnInEsaaj9c",
        "start": 0.0,
        "end": 2.966666666666667
      },
      "preview": "/videos/editing/studies-200/catalog/items/prism-translucent-contours/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/prism-translucent-contours/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/prism-translucent-contours/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/prism-translucent-contours/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/prism-translucent-contours/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "The retained rounded-diamond/triangle vectors differ from the source lobed optical material. At43/160 their rims, center and shading differ visibly. Rebuilding SVG luminance masks, gradients and blur in Fusion is unverified; no historical disposition closes that gap."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 225694,
      "packageSha256": "097f632915a9651c9c1ab0383c6b81075dab67e8727da056a43b326dabe9179f",
      "poster": "/videos/examples/posters/prism-translucent-contours.jpg",
      "render": {
        "sha256": "5ecbbe4ff55fae72c3d2ffe4155deb90d2bc1d98b0521bc8d4044f984ebc3f1f",
        "bytes": 66889,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 178,
        "duration": 2.966667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "physical-screen-bridge",
      "title": "Projected-vector screen, keyboard excursion and attachment return",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing Appshots in Codex",
        "id": "QKYbGCvNpFo",
        "url": "https://www.youtube.com/watch?v=QKYbGCvNpFo",
        "start": 2.002,
        "end": 8.008
      },
      "preview": "/videos/editing/studies-200/catalog/items/physical-screen-bridge/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/physical-screen-bridge/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/physical-screen-bridge/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/physical-screen-bridge/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/physical-screen-bridge/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Literal source camera motion, perspective/parallax, optical blur, reflective display, soft material, laptop surfaces and human typing are not recovered. This kit uses independent projected SVG planes and symbolic vector hands; it is an explicitly limited 2.5D editorial substitute, not the source camera bridge."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 222522,
      "packageSha256": "35ee6d2b691b604fd5da6d7958d86364a240f0108e34576a1c2eb0a501f9189a",
      "poster": "/videos/examples/posters/physical-screen-bridge.jpg",
      "render": {
        "sha256": "6c9332fc12e174addd1d16343f5b9e65485735b464be29d464b0b017a8b753fc",
        "bytes": 2161930,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 144,
        "duration": 6.006,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "prompt-device-context",
      "title": "Prompt into device context",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Find the perfect gift by shopping with ChatGPT",
        "id": "th8u0bqYsQk",
        "url": "https://www.youtube.com/watch?v=th8u0bqYsQk",
        "start": 7.5,
        "end": 11.5
      },
      "preview": "/videos/editing/studies-200/catalog/items/prompt-device-context/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/prompt-device-context/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/prompt-device-context/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/prompt-device-context/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/prompt-device-context/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "An original unbranded phone, different copy and discrete text reveal cannot claim the source's exact message morph, type shaping or soft streamed-answer emphasis. No fresh rendered comparison exists."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 204839,
      "packageSha256": "61686b13c4fc12dedbb678e290aae77d33c0e2cd47a35ca16351771a4d92c625",
      "poster": "/videos/examples/posters/prompt-device-context.jpg",
      "render": {
        "sha256": "f027b1eb47f606f7a39a1fa85525fe5aa9da01dc1ab2eeb17ad63e6f42c3ce2e",
        "bytes": 220929,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 240,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "atlas-reverse-selection-action",
      "title": "Reverse-drag multiline selection with an attached action",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 44.166666666666664,
        "end": 50.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/atlas-reverse-selection-action/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/atlas-reverse-selection-action/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/atlas-reverse-selection-action/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/atlas-reverse-selection-action/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/atlas-reverse-selection-action/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Native Fusion mask-to-glyph and cursor registration remains untested; raw local controls do not prove coupled selection geometry."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 234633,
      "packageSha256": "ee0fc4bea47d28603055ee88cfac9bfbdfa32ade3152fa9735a243e0dbd72371",
      "poster": "/videos/examples/posters/atlas-reverse-selection-action.jpg",
      "render": {
        "sha256": "06301baa716a79e0cb697ad33ed7545802abf4be36970cca6d86846c0840b032",
        "bytes": 116486,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 175,
        "duration": 5.833333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "prism-native-diff",
      "title": "Review native document changes without accepting everything",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
        "id": "xnInEsaaj9c",
        "url": "https://www.youtube.com/watch?v=xnInEsaaj9c",
        "start": 16.0,
        "end": 24.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/prism-native-diff/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/prism-native-diff/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/prism-native-diff/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/prism-native-diff/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/prism-native-diff/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "The original research fixture replaces source LaTeX and product identity; bundled Geist replaces the native monospaced type. Source reframing blur, fine syntax metrics, caret cadence and row reflow are approximated, not calibrated in rendered output or native Resolve."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 218870,
      "packageSha256": "7435f1a35345b8ec6cac4afcc76fb3e774a68b139ace768134f70377c2461290",
      "poster": "/videos/examples/posters/prism-native-diff.jpg",
      "render": {
        "sha256": "1953cb7bd7fa7b4b4cf51af9e33c5cf4cfa4cb5f02433202be6280a24737d3a6",
        "bytes": 819596,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 480,
        "duration": 8.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "targeted-revision",
      "title": "Selected slide request, waiting context, and targeted revision",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Meet ChatGPT Work",
        "id": "yRc5HcGJ-Cs",
        "url": "https://www.youtube.com/watch?v=yRc5HcGJ-Cs",
        "start": 64.0,
        "end": 72.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/targeted-revision/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/targeted-revision/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/targeted-revision/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/targeted-revision/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/targeted-revision/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Photographic desktop field, dense real application UI, exact text metrics and pointer/settling curves are replaced by original vector context and authored trajectories. Revision semantics and the long wait are retained, but no motion or source-quality equivalence is established."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 213768,
      "packageSha256": "ebadd85e1af51c383a2baa50069a64d5def085e6d55941dc16ed137a13feabda",
      "poster": "/videos/examples/posters/targeted-revision.jpg",
      "render": {
        "sha256": "12acadd19158948ad44de83a2be7b452c35300273639f60d26f11ceb9a9cf0d1",
        "bytes": 495279,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 480,
        "duration": 8.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "skill-artifact-disclosure",
      "title": "Skill artifact disclosure \u2014 reserve space above input",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "ChatGPT skills in beta for ChatGPT Business & Enterprise",
        "id": "qh93rLRPw80",
        "url": "https://www.youtube.com/watch?v=qh93rLRPw80",
        "start": 13.013,
        "end": 18.018
      },
      "preview": "/videos/editing/studies-200/catalog/items/skill-artifact-disclosure/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/skill-artifact-disclosure/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/skill-artifact-disclosure/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/skill-artifact-disclosure/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/skill-artifact-disclosure/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 212053,
      "packageSha256": "9f4d36eeed6d8f012fe1b2d50dfc7ce2e90db046016ca84efaaab19d2c339213",
      "poster": "/videos/examples/posters/skill-artifact-disclosure.jpg",
      "render": {
        "sha256": "5fac5c63663e11a06093bdca4ec9b7967fbc9e9a8306b7d098aedc81160ddfb3",
        "bytes": 140513,
        "width": 1920,
        "height": 1080,
        "fps": "30000/1001",
        "frames": 150,
        "duration": 5.005,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "type-staggered-identity",
      "title": "Staggered identity over a vector studio",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Talk to ChatGPT Work",
        "id": "DLcQSp_CIIc",
        "url": "https://www.youtube.com/watch?v=DLcQSp_CIIc",
        "start": 2.8361666666666667,
        "end": 5.130125
      },
      "preview": "/videos/editing/studies-200/catalog/items/type-staggered-identity/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/type-staggered-identity/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/type-staggered-identity/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/type-staggered-identity/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/type-staggered-identity/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Original vector studio/sculpture/survey backgrounds deliberately lack the presenter and real desktop footage. Their luminance, depth and foreground-text interaction need rendered comparison; exact source font and native Text+ baseline equivalence remain unknown."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 199360,
      "packageSha256": "cc926c444282db0423a683109e77a4ff341064fc006c11349feca24d8168f219",
      "poster": "/videos/examples/posters/type-staggered-identity.jpg",
      "render": {
        "sha256": "b93b01b92df87308c5ba4483dd3f35527b278d0a4871ba2042fe5f2f5dd72275",
        "bytes": 185001,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 55,
        "duration": 2.293958,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "pulse-prompt-collapse",
      "title": "Suggestions become one request",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Introducing ChatGPT Pulse",
        "id": "nk6IjAnCCqw",
        "url": "https://www.youtube.com/watch?v=nk6IjAnCCqw",
        "start": 51.0,
        "end": 58.0
      },
      "preview": "/videos/editing/studies-200/catalog/items/pulse-prompt-collapse/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/pulse-prompt-collapse/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/pulse-prompt-collapse/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/pulse-prompt-collapse/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/pulse-prompt-collapse/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 212944,
      "packageSha256": "40a591482a338db7d3c3897a7f88b5ce25918e845c4d5b96f1f4b10b0708306c",
      "poster": "/videos/examples/posters/pulse-prompt-collapse.jpg",
      "render": {
        "sha256": "f6ceaee42a7ac97238d16c79989520049cd70831f07b2f26067b512c8d548cf9",
        "bytes": 406784,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 420,
        "duration": 7.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "overlay-topic-stack-release",
      "title": "Three topic rows build, hold, then release",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Scheduled Tasks",
        "id": "urXc4xxixVU",
        "url": "https://www.youtube.com/watch?v=urXc4xxixVU",
        "start": 17.475791666666666,
        "end": 20.645625
      },
      "preview": "/videos/editing/studies-200/catalog/items/overlay-topic-stack-release/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/overlay-topic-stack-release/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/overlay-topic-stack-release/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/overlay-topic-stack-release/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/overlay-topic-stack-release/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Replacing a continuously moving live-action presenter/room with original non-human vector context loses the performance, photographic depth, and exact contrast modulation. Text gates are source-index observations; font, exact bounds and easing are chosen implementation values, not official measurements."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 201363,
      "packageSha256": "d1e72426cbf85dd8aea6d87338994c50b743daa84d205d9a46a99e1640d59775",
      "poster": "/videos/examples/posters/overlay-topic-stack-release.jpg",
      "render": {
        "sha256": "a212a0f816b61b053828832d962163595b6170613f756fedfbc05c4b64383f25",
        "bytes": 136723,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 76,
        "duration": 3.169833,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "codex-three-file-handoff",
      "title": "Three-file handoff across an overlapping window",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Record & Replay in Codex",
        "id": "ZK3JhU73W18",
        "url": "https://www.youtube.com/watch?v=ZK3JhU73W18",
        "start": 62.72933333333334,
        "end": 67.90116666666667
      },
      "preview": "/videos/editing/studies-200/catalog/items/codex-three-file-handoff/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/codex-three-file-handoff/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/codex-three-file-handoff/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/codex-three-file-handoff/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/codex-three-file-handoff/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 222015,
      "packageSha256": "f99f57e7e4260c9c7d4f49e1dc70ccbdeabc6e6c0e5de83a443336f80d6287db",
      "poster": "/videos/examples/posters/codex-three-file-handoff.jpg",
      "render": {
        "sha256": "de5dabea4c547e4532e528513f34a732336a4467ce8152130e12b87fdcb8d991",
        "bytes": 134276,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 124,
        "duration": 5.171833,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "character-title-inset",
      "title": "Title scaffold yields to a growing portrait stack",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Character Consistency with 4o Image Generation",
        "id": "PFsOUNfBhzI",
        "url": "https://www.youtube.com/watch?v=PFsOUNfBhzI",
        "start": 3.003,
        "end": 9.009
      },
      "preview": "/videos/editing/studies-200/catalog/items/character-title-inset/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/character-title-inset/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/character-title-inset/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/character-title-inset/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/character-title-inset/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "Original vector bird/robot studies replace diverse rendered cat styles and the live-action context frame. Exact material variation, subtle card offsets and scale acceleration remain unresolved; the final enlargement is intentionally truncated."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 217188,
      "packageSha256": "12450b9df58ee4211c6ba8fd8f457a1648b550105098d7074a389cdec8cbcd44",
      "poster": "/videos/examples/posters/character-title-inset.jpg",
      "render": {
        "sha256": "fe473b17ec4e7c4e075b1e53969e7a81e219801152c705258aad5bfb2ed65752",
        "bytes": 306480,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 144,
        "duration": 6.006,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "chatgpt-traveling-image-trail",
      "title": "Traveling image trail: explicit vector-content sidecar",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "ChatGPT Images",
        "id": "DPBtd57p5Mg",
        "url": "https://www.youtube.com/watch?v=DPBtd57p5Mg",
        "start": 25.133333333333333,
        "end": 30.2
      },
      "preview": "/videos/editing/studies-200/catalog/items/chatgpt-traveling-image-trail/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/chatgpt-traveling-image-trail/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/chatgpt-traveling-image-trail/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/chatgpt-traveling-image-trail/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/chatgpt-traveling-image-trail/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "The source relies on recurring people and a dog across photographic situations. Published orbital JPEGs already miss that continuity; the new architectural vectors preserve only layout and occlusion. At guide authoring no vector render existed. The parent has since reported its renders; source-fidelity acceptance remains unresolved."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 228845,
      "packageSha256": "caa77a092decb6ba2b42f191d5ac86d015c94c70cc04fe218dca36042a8098a9",
      "poster": "/videos/examples/posters/chatgpt-traveling-image-trail.jpg",
      "render": {
        "sha256": "0e71b55d42a8b07501467e00c94642c5b58c7c80d1df8acfc3904ee8d369c0b3",
        "bytes": 472656,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 152,
        "duration": 5.066667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "type-masked-name-reel",
      "title": "White-field masked name reel: Resolve / Remotion guide",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "receipt-backed-candidate",
      "source": {
        "title": "Apps in ChatGPT",
        "id": "2C4Cs6503gw",
        "url": "https://www.youtube.com/watch?v=2C4Cs6503gw",
        "start": 59.99326666666666,
        "end": 64.99826666666667
      },
      "preview": "/videos/editing/studies-200/catalog/items/type-masked-name-reel/remake.mp4",
      "sourcePreview": "/videos/editing/studies-200/catalog/items/type-masked-name-reel/source.mp4",
      "download": "/videos/editing/studies-200/catalog/items/type-masked-name-reel/package.zip",
      "svg": "/videos/editing/studies-200/catalog/items/type-masked-name-reel/editable.svg",
      "resolve": "/videos/editing/studies-200/catalog/items/type-masked-name-reel/resolve.txt",
      "limitations": [
        "Full render manifest unavailable in supplied roots; output hash matches a retained receipt. Any receipt file bindings checked here are listed separately; this is not a full code-to-render proof.",
        "Visual fidelity, cross-item mechanism distinctness and native Resolve behavior remain unreviewed.",
        "The white overlay is not a general alpha mask; the retained lower fade tail remains slightly too dark, so an editable Fusion gradient still needs pixel and motion comparison."
      ],
      "bindingLevel": "retained-render-receipt",
      "bytes": 215054,
      "packageSha256": "0c8fe434aba38e1ef511fa67f8447e495e5baa239b7a9c0a4e2da00cc07e6551",
      "poster": "/videos/examples/posters/type-masked-name-reel.jpg",
      "render": {
        "sha256": "dfb656d9017c32b3917d16892507541c16babe87eae031236d05e101be468369",
        "bytes": 240009,
        "width": 1920,
        "height": 1080,
        "fps": "60000/1001",
        "frames": 300,
        "duration": 5.005,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0,
        "metadataPrivacy": {}
      },
      "originalRecord": "/videos/editing/studies-200/catalog/catalog.json"
    },
    {
      "id": "atlas-title-two-line-arrival",
      "title": "Atlas \u00b7 two-line word and glyph arrival",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "retained-package-and-render",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 16.9,
        "end": 19.9
      },
      "preview": "/videos/examples/legacy/atlas-title-two-line-arrival/remake.mp4",
      "sourcePreview": "/videos/examples/legacy/atlas-title-two-line-arrival/source.mp4",
      "download": "/videos/examples/legacy/atlas-title-two-line-arrival/project.zip",
      "svg": "/videos/examples/legacy/atlas-title-two-line-arrival/editable.svg",
      "resolve": "/videos/examples/legacy/atlas-title-two-line-arrival/RESOLVE.md",
      "limitations": [
        "R08 removes the measured prefix reversals. The fresh critic now records tie/tie after all-frame static inspection, rather than the two r07 losses. A tie is not a win; moving quality remains unassessed. The older package and failed review remain intact. No extra example or completion credit is awarded. Setup correction: PNG conversion now requires an external output root; generated files no longer invalidate the guide inventory. Independent workflow recheck resolves the setup finding; only stub conversion was tested. No native rendering is credited.",
        "The existing package is retained unchanged. Local checks verify its bytes, archive, media, and route; no new fidelity approval is asserted."
      ],
      "bindingLevel": "retained-published-package",
      "bytes": 344324,
      "packageSha256": "8f6601089ee41dea41873001a67f56951861d11c27d4ba164dcb9b6710c3e1af",
      "poster": "/videos/examples/posters/atlas-title-two-line-arrival.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "288000/9601",
        "duration": 3.000313,
        "frames": 90
      },
      "originalRecord": "/videos/examples/legacy/atlas-title-two-line-arrival/provenance.json"
    },
    {
      "id": "gpt54-caret-reset",
      "title": "Caret \u00b7 one-frame return and coupled reset",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "retained-package-and-render",
      "source": {
        "title": "Interrupting and Adding Details in GPT-5.4 Thinking",
        "id": "qSHMlduU6Lw",
        "url": "https://www.youtube.com/watch?v=qSHMlduU6Lw",
        "start": 8.775433333333334,
        "end": 9.509500000000001
      },
      "preview": "/videos/examples/legacy/gpt54-caret-reset/remake.mp4",
      "sourcePreview": "/videos/examples/legacy/gpt54-caret-reset/source.mp4",
      "download": "/videos/examples/legacy/gpt54-caret-reset/project.zip",
      "svg": "/videos/examples/legacy/gpt54-caret-reset/editable.svg",
      "resolve": "/videos/examples/legacy/gpt54-caret-reset/RESOLVE.md",
      "limitations": [
        "Both actual Remotion replays now match the retained movies byte-for-byte and on all44 decoded RGB/YUV frames. The sole replay change was full Chrome instead of HeadlessShell at the same reported version. The source player uses a lossless ledger-restored 33/34ms clock; all22 image payloads are unchanged. Its full master is unavailable, and the outputs retain their documented CFR clock. The independent all-frame static comparison was tie/tie, not a moving-source win. The guide prerequisite defect is independently resolved. Actual still preparation and native Resolve export remain unexecuted. Independent recheck passes72 clock/integrity checks. The22 frame starts have two agreeing retained records; the9.509s exclusive end is supplied by the guide only, not independently recovered from a master.",
        "The existing package is retained unchanged. Local checks verify its bytes, archive, media, and route; no new fidelity approval is asserted."
      ],
      "bindingLevel": "retained-published-package",
      "bytes": 2793520,
      "packageSha256": "3d1b5a35df2055549725bb97fc3edc4cddd7e4f57ff4d59beafa2be663239b8d",
      "poster": "/videos/examples/posters/gpt54-caret-reset.jpg",
      "render": {
        "width": 900,
        "height": 280,
        "fps": "30000/1001",
        "duration": 0.734067,
        "frames": 22
      },
      "originalRecord": "/videos/examples/legacy/gpt54-caret-reset/provenance.json"
    },
    {
      "id": "study-outline-page-turn",
      "title": "Outline \u00b7 hinged leaves and changing occlusion",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "retained-package-and-render",
      "source": {
        "title": "Introducing ChatGPT Study Mode",
        "id": "XDYilxy1dn8",
        "url": "https://www.youtube.com/watch?v=XDYilxy1dn8",
        "start": 3.8333333333333335,
        "end": 5.1
      },
      "preview": "/videos/examples/legacy/study-outline-page-turn/remake.mp4",
      "sourcePreview": "/videos/examples/legacy/study-outline-page-turn/source.mp4",
      "download": "/videos/examples/legacy/study-outline-page-turn/project.zip",
      "svg": "/videos/examples/legacy/study-outline-page-turn/editable.svg",
      "resolve": "/videos/examples/legacy/study-outline-page-turn/RESOLVE.md",
      "limitations": [
        "The r02 default changes32 lower-corner commands and has a new actual Remotion render. The second content variant remains byte-identical to r01 and is not rerolled. Both preparations and34 tests pass; source-only ZIP has354 files including298 SVGs. The fresh changed-output comparison ties, with no differential quality defect established. Moving quality and complete settling beyond this excerpt remain unverified. Players preserve each retained movie's CFR timestamps. The separate source ledger records33/34ms source quantization; neither a new master extraction nor source-clock identity is claimed. Additional source-boundary context is now checked at150\u2013155: the book still shifts right before the hard cut at153; the next shot holds its background for two frames before Helps appears. This corrects any implication of a stationary ending settle, without altering the frozen source comparisons.",
        "The existing package is retained unchanged. Local checks verify its bytes, archive, media, and route; no new fidelity approval is asserted."
      ],
      "bindingLevel": "retained-published-package",
      "bytes": 514400,
      "packageSha256": "bd16909b2532b430d87d719fdd6e13b761602345debe8483f46bf424aa36c22f",
      "poster": "/videos/examples/posters/study-outline-page-turn.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "duration": 1.266667,
        "frames": 38
      },
      "originalRecord": "/videos/examples/legacy/study-outline-page-turn/provenance.json"
    },
    {
      "id": "study-keyword-double-underline",
      "title": "Emphasis \u00b7 overlapping strokes and background drift",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "retained-package-and-render",
      "source": {
        "title": "Introducing ChatGPT Study Mode",
        "id": "XDYilxy1dn8",
        "url": "https://www.youtube.com/watch?v=XDYilxy1dn8",
        "start": 5.1,
        "end": 7.1
      },
      "preview": "/videos/examples/legacy/study-keyword-double-underline/remake.mp4",
      "sourcePreview": "/videos/examples/legacy/study-keyword-double-underline/source.mp4",
      "download": "/videos/examples/legacy/study-keyword-double-underline/project.zip",
      "svg": "/videos/examples/legacy/study-keyword-double-underline/editable.svg",
      "resolve": "/videos/examples/legacy/study-keyword-double-underline/RESOLVE.md",
      "limitations": [
        "The two actual Remotion replays match retained MP4 bytes and all120 RGB/YUV frames. The kit includes exact layered controls, editable SVG/code,36 verified preparation plates and51 passing tests; all16 poisoned-manifest cases reject. All60 archived native source states were supplied to the separate critic. The7.100s exclusive endpoint is nominal, not a newly measured next-frame source PTS. No native Resolve or moving-quality approval is claimed. Players preserve each retained movie's CFR timestamps. The separate source ledger records33/34ms source quantization; neither a new master extraction nor source-clock identity is claimed. The frozen independent comparison now ties both variants: all240 packet instances,120 native candidate frames and60 archived native source PNGs inspected. No differential gap was established; creator blinding is partial and moving quality remains unreviewed. Additional source-boundary context is now checked at150\u2013155: the book still shifts right before the hard cut at153; the next shot holds its background for two frames before Helps appears. This corrects any implication of a stationary ending settle, without altering the frozen source comparisons.",
        "The existing package is retained unchanged. Local checks verify its bytes, archive, media, and route; no new fidelity approval is asserted."
      ],
      "bindingLevel": "retained-published-package",
      "bytes": 686601,
      "packageSha256": "f65b721cf45a9aafd7ae813257862a545e61e41541492c270a4b6ceb02947844",
      "poster": "/videos/examples/posters/study-keyword-double-underline.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "duration": 2.0,
        "frames": 60
      },
      "originalRecord": "/videos/examples/legacy/study-keyword-double-underline/provenance.json"
    },
    {
      "id": "share-focus",
      "title": "Share dialog \u00b7 pointer continuity and independent focus",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "retained-package-and-render",
      "source": {
        "title": "Introducing Sites in Codex",
        "id": "VRvC5smyzso",
        "url": "https://www.youtube.com/watch?v=VRvC5smyzso",
        "start": 121.0,
        "end": 122.9
      },
      "preview": "/videos/examples/legacy/share-focus/remake.mp4",
      "sourcePreview": "/videos/examples/legacy/share-focus/source.mp4",
      "download": "/videos/examples/legacy/share-focus/project.zip",
      "svg": "/videos/examples/legacy/share-focus/editable.svg",
      "resolve": "/videos/examples/legacy/share-focus/RESOLVE.md",
      "limitations": [
        "Both actual Remotion replays match retained bytes and all114 RGB/YUV frames/clocks. The source-only kit includes128 SVGs and specific layer/frame controls, with122 portable checks and20 publication assertions. All57 retained native source crops and the next boundary are available; three full-frame witnesses verify the off-center crop. The source master was not freshly probed. The source comparison ties both variants after228 static movie-frame instances; no moving review occurred. Kit r02 repairs the missing-heading-measurement contract while reusing both existing movies unchanged. CPU assembly is nonidentical\u20140/114 exactRGB frames, maximum72 channel levels\u2014with no acceptance threshold. Resolve remains guidance, not a tested native project. The independent r02 recheck closes SF-CONTENT-01:40 targeted,122 retained and32 independent tests pass, plus two original-reproducer repeats. All888 tracked inputs stay unchanged.",
        "The existing package is retained unchanged. Local checks verify its bytes, archive, media, and route; no new fidelity approval is asserted."
      ],
      "bindingLevel": "retained-published-package",
      "bytes": 718010,
      "packageSha256": "04cc19e93b1191643ee9b08df3cfba4659edd19ad10ecba763f345aa68c9663b",
      "poster": "/videos/examples/posters/share-focus.jpg",
      "render": {
        "width": 1840,
        "height": 1016,
        "fps": "30/1",
        "duration": 1.9,
        "frames": 57
      },
      "originalRecord": "/videos/examples/legacy/share-focus/provenance.json"
    },
    {
      "id": "agent-wordmark-outline-finish",
      "title": "Wordmark \u00b7 deletion, outline deformation and final hold",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "retained-package-and-render",
      "source": {
        "title": "A Look at ChatGPT agent",
        "id": "2wzGS_WUZYQ",
        "url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ",
        "start": 44.166666666666664,
        "end": 46.68333333333333
      },
      "preview": "/videos/examples/legacy/agent-wordmark-outline-finish/remake.mp4",
      "sourcePreview": "/videos/examples/legacy/agent-wordmark-outline-finish/source.mp4",
      "download": "/videos/examples/legacy/agent-wordmark-outline-finish/project.zip",
      "svg": "/videos/examples/legacy/agent-wordmark-outline-finish/editable.svg",
      "resolve": "/videos/examples/legacy/agent-wordmark-outline-finish/RESOLVE.md",
      "limitations": [
        "The source-only kit contains a selected executable Remotion core, two bounded content designs,226 self-contained SVG states and exact Resolve placement/parameter tables. The34 Node and5 Python checks pass. Actual replays are measured, not byte-identical to earlier exports. SVG preparation matches32/151 raw frames per identity; maximum full-frame RGB error is0.110830/0.116192 on a0\u2013255 scale. No acceptance threshold is inferred. Original four/three-lobe identities differ materially from the source\u2019s six-lobe topology; finishing deformation and lone-glyph optics remain open. Independent source and technical reviews are separate. The player uses the original accepted source excerpt, not the builder\u2019s later lossless research re-encode. Its111 archived native positions bind directly to this original movie;40 missing positions remain unresolved. The isolated critic now ties both variants after604 static movie-frame instances and524 native crops. No defensible non-identity quality gap was established. Its failed global storage-guard attempt is disclosed as an operational exception; no moving win is credited. The historical r01 explicit-critic bypass is fixed in r02 and independently rechecked:16 Python tests pass; all38 invalid CLI cases fail before output creation. The906-row valid and604-row omitted controls preserve all604 ordinary comparisons. All868 recheck inputs are unchanged. The two movies and static ties are reused, not resubmitted. One inherited unit uses its guarded output directory rather than TMPDIR for empty scratch; no recheck writes occur in an input worker. Earlier r01 operational exceptions remain in the retained reports.",
        "The existing package is retained unchanged. Local checks verify its bytes, archive, media, and route; no new fidelity approval is asserted."
      ],
      "bindingLevel": "retained-published-package",
      "bytes": 9187912,
      "packageSha256": "59d05a7917e431fa8a6d1991dbe84baaee3c0a522436de7864a271918eabcb41",
      "poster": "/videos/examples/posters/agent-wordmark-outline-finish.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "duration": 2.516667,
        "frames": 151
      },
      "originalRecord": "/videos/examples/legacy/agent-wordmark-outline-finish/provenance.json"
    },
    {
      "id": "type-dock-subtraction",
      "title": "Dock \u00b7 staggered assembly, pair removals and surviving icon",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "retained-package-and-render",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 0.0,
        "end": 3.3
      },
      "preview": "/videos/examples/legacy/type-dock-subtraction/remake.mp4",
      "sourcePreview": "/videos/examples/legacy/type-dock-subtraction/source.mp4",
      "download": "/videos/examples/legacy/type-dock-subtraction/project.zip",
      "svg": "/videos/examples/legacy/type-dock-subtraction/editable.svg",
      "resolve": "/videos/examples/legacy/type-dock-subtraction/RESOLVE.md",
      "limitations": [
        "The84-file source kit contains28 original SVG assets/controls and exact1386-row Resolve layer states; two99-frame replays are provided separately. The33 Node tests,10 gate groups and6 archive-test groups pass; typecheck is clean and both frozen outputs pass unchanged-core verification. The selected runtime needs three pinned companion archives, supplied separately here. SVG Gaussian-shadow controls are approximations, not the measured CSS-preparation route. Native Resolve, moving-quality review and source wins remain unverified. The native-source archive supplies56/99 positions and leaves43 gaps; no upscaling or smaller-movie decoding is counted as restoring them. The frozen source comparison now ties both variants after396 static movie-frame instances. Native crops cover42 positions per candidate and56 shared source positions. Exit readability at73\u219274 remains unassessed in motion, not a confirmed fault.",
        "The existing package is retained unchanged. Local checks verify its bytes, archive, media, and route; no new fidelity approval is asserted."
      ],
      "bindingLevel": "retained-published-package",
      "bytes": 252966,
      "packageSha256": "b9ab5b0a0746656c71c394f61ab740fb7cfc4a81b7ede8aadd4fcb9fcacbb238",
      "poster": "/videos/examples/posters/type-dock-subtraction.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "duration": 3.3,
        "frames": 99
      },
      "originalRecord": "/videos/examples/legacy/type-dock-subtraction/provenance.json"
    },
    {
      "id": "agent-task-card-explanation",
      "title": "Task-card explanation \u00b7 r02 guidance \u00b7 NOT PACKAGED",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "retained-package-and-render",
      "source": {
        "title": "A Look at ChatGPT agent",
        "id": "2wzGS_WUZYQ",
        "url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ",
        "start": 19.266666666666666,
        "end": 24.166666666666668
      },
      "preview": "/videos/examples/legacy/agent-task-card-explanation/remake.mp4",
      "sourcePreview": "/videos/examples/legacy/agent-task-card-explanation/source.mp4",
      "download": "/videos/examples/legacy/agent-task-card-explanation/project.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "NOT PACKAGED: existing-code numerical guidance, not a new treatment or completion. The r01 source-first critic viewed 24 scaled static triptych frames on four sheets; the retained ledger has 119 contact frames. Neither is moving-source review. All 294 computed model frames are numerical states, not 294 inspected raster states. No fresh source-master hash, moving-source quality vote, clean-install or minimal-subset preparation. No fresh Remotion render/replay, native Resolve project/import/render or production approval. Both historical manifest-wrapper hash discrepancies remain; matching selected bindings are not whole-wrapper identity. Referenced per-recipe ASSET-NOTES.json and FONT-LICENSE.txt remain absent; shared ASSET_RIGHTS and OFL exist. SVG filters/gradients, font metrics, hierarchy, perspective, clipping, shadows, alpha and color matching remain unverified. The r02 independent recheck covers configuration/privacy and unchanged numerical output only; r01 conclusions are unchanged. Playable links reuse the accepted public clips without copying media or creating player clocks. The seven r02 files retain their historical phase notes unchanged; the integration record documents only the later narrow technical recheck.",
        "The existing package is retained unchanged. Local checks verify its bytes, archive, media, and route; no new fidelity approval is asserted."
      ],
      "bindingLevel": "retained-published-package",
      "bytes": 13659936,
      "packageSha256": "3e21a67fbead21235f746fb6488b6fd12badf60c68e3f113200b8cbd919398d7",
      "poster": "/videos/examples/posters/agent-task-card-explanation.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "duration": 4.9,
        "frames": 294
      },
      "originalRecord": "/videos/examples/legacy/agent-task-card-explanation/provenance.json"
    },
    {
      "id": "agent-orb-scrolls-booking-page-as-promo-banner-inserts",
      "title": "Fade a promo banner in at the fold, then scroll the page under a sticky rail while a countdown ticks",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Using Voice in ChatGPT Work",
        "id": "_Gd9yzAc-WI",
        "url": "https://www.youtube.com/watch?v=_Gd9yzAc-WI",
        "start": 174.80796666666666,
        "end": 176.80996666666667
      },
      "preview": "/videos/examples/additions/agent-orb-scrolls-booking-page-as-promo-banner-inserts/remake.mp4",
      "sourcePreview": "/videos/examples/additions/agent-orb-scrolls-booking-page-as-promo-banner-inserts/source.mp4",
      "adaptationPreview": "/videos/examples/additions/agent-orb-scrolls-booking-page-as-promo-banner-inserts/adaptation.mp4",
      "download": "/videos/examples/additions/agent-orb-scrolls-booking-page-as-promo-banner-inserts/package.zip",
      "svg": "/videos/examples/additions/agent-orb-scrolls-booking-page-as-promo-banner-inserts/editable.svg",
      "resolve": "/videos/examples/additions/agent-orb-scrolls-booking-page-as-promo-banner-inserts/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 153489,
      "packageSha256": "ea44a2f4c222e2e0a7391ca3327a7b41565f6f95d14dcace6c2dd88cda2cb9b8",
      "poster": "/videos/examples/posters/agent-orb-scrolls-booking-page-as-promo-banner-inserts.jpg",
      "render": {
        "sha256": "8c82de986da23a6ef0c899020dcc89167636c1de8d27769c3a15a172077a5d9f",
        "bytes": 345657,
        "width": 1920,
        "height": 1080,
        "fps": "30000/1001",
        "frames": 60,
        "duration": 2.002,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/agent-orb-scrolls-booking-page-as-promo-banner-inserts/item.json",
      "observation": "A browser window on a blue-violet backdrop shows a hotel checkout: a left column of stay details, a sticky right rail with totals and a 'Time left to book 25 min : 54 sec' countdown, a company-policy toast top right and a soft purple orb marking the agent's pointer (master 5239). At master 5242-5245 (local 3-6) a purple promo banner fades in at the bottom edge of the page. From about 5245 the left column scrolls upward, fast at first and easing out, carrying the banner up about 600 px by 5284 (local 45) while a cancellation policy block and two buttons enter beneath it. The right rail and toast never move; the countdown reads 53 sec at about 5254 and 52 sec at about 5284.",
      "mechanism": "Agent-driven scroll: new content appears at the fold, then the page column eases upward under fixed sticky UI while a live countdown ticks, showing time passing during an automated task.",
      "phases": [
        {
          "frame": 0,
          "label": "Checkout page at rest"
        },
        {
          "frame": 3,
          "label": "Promo banner fades in at the fold"
        },
        {
          "frame": 6,
          "label": "Column starts scrolling up"
        },
        {
          "frame": 15,
          "label": "Countdown ticks to 53"
        },
        {
          "frame": 45,
          "label": "Scroll settles; policy block and buttons visible"
        },
        {
          "frame": 45,
          "label": "Countdown ticks to 52"
        }
      ]
    },
    {
      "id": "agent-window-push-in-as-steps-tick-and-preview-card-pops",
      "title": "Tick a working timer through tool steps, push the camera into the window, and pop a preview card",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
        "id": "IYYTI73J7Rg",
        "url": "https://www.youtube.com/watch?v=IYYTI73J7Rg",
        "start": 18.333333333333332,
        "end": 21.333333333333332
      },
      "preview": "/videos/examples/additions/agent-window-push-in-as-steps-tick-and-preview-card-pops/remake.mp4",
      "sourcePreview": "/videos/examples/additions/agent-window-push-in-as-steps-tick-and-preview-card-pops/source.mp4",
      "adaptationPreview": "/videos/examples/additions/agent-window-push-in-as-steps-tick-and-preview-card-pops/adaptation.mp4",
      "download": "/videos/examples/additions/agent-window-push-in-as-steps-tick-and-preview-card-pops/package.zip",
      "svg": "/videos/examples/additions/agent-window-push-in-as-steps-tick-and-preview-card-pops/editable.svg",
      "resolve": "/videos/examples/additions/agent-window-push-in-as-steps-tick-and-preview-card-pops/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150157,
      "packageSha256": "b1ec97dbbcfa7572cec4bbc481a0e056d15e6ed2ed4239bdf452d823890cf0ed",
      "poster": "/videos/examples/posters/agent-window-push-in-as-steps-tick-and-preview-card-pops.jpg",
      "render": {
        "sha256": "8ff5bb98e4e4ed791ef0bf95ce6e90ee18b2a3547ebe061dafe1260bd308398e",
        "bytes": 274214,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 72,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/agent-window-push-in-as-steps-tick-and-preview-card-pops/item.json",
      "observation": "A white assistant window floats over a night sky. A user prompt bubble sits top-right; under it a grey 'Working for 4s' status, an explanatory paragraph and a tool step line. The timer ticks to 6s (~f10) and 7s (~f20) while the step line changes to 'Loaded tool' plus a second step (~f20). From ~f22 the camera pushes into the window (about 1.7x by ~f34); during the push a small rounded preview card with a slide thumbnail pops in at the right of the paragraph (~f30-36). The magnified view holds to the end.",
      "mechanism": "Status text ticks in discrete steps while an eased camera push-in magnifies the window and a preview card scales in mid-push.",
      "phases": [
        {
          "frame": 0,
          "label": "Window at 1x, Working for 4s"
        },
        {
          "frame": 10,
          "label": "Timer ticks to 6s"
        },
        {
          "frame": 20,
          "label": "Timer 7s; steps update"
        },
        {
          "frame": 22,
          "label": "Camera push-in starts"
        },
        {
          "frame": 30,
          "label": "Preview card pops"
        },
        {
          "frame": 34,
          "label": "Push settles at 1.7x"
        }
      ]
    },
    {
      "id": "at-mention-menu-filters-to-app-chip",
      "title": "Type '@', open the tool menu, filter it by typing, and commit an inline app chip",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Build a Personalized Meal Planner with ChatGPT Work",
        "id": "t64oZKCdG8Q",
        "url": "https://www.youtube.com/watch?v=t64oZKCdG8Q",
        "start": 67.23383333333334,
        "end": 68.73533333333333
      },
      "preview": "/videos/examples/additions/at-mention-menu-filters-to-app-chip/remake.mp4",
      "sourcePreview": "/videos/examples/additions/at-mention-menu-filters-to-app-chip/source.mp4",
      "adaptationPreview": "/videos/examples/additions/at-mention-menu-filters-to-app-chip/adaptation.mp4",
      "download": "/videos/examples/additions/at-mention-menu-filters-to-app-chip/package.zip",
      "svg": "/videos/examples/additions/at-mention-menu-filters-to-app-chip/editable.svg",
      "resolve": "/videos/examples/additions/at-mention-menu-filters-to-app-chip/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150093,
      "packageSha256": "18f6d45a35a242dbd9ada97b84cb67b0525e96dcea96cabe84bf171a990614ab",
      "poster": "/videos/examples/posters/at-mention-menu-filters-to-app-chip.jpg",
      "render": {
        "sha256": "2908dd99a037a2bc272f5058163c5d82a7da8a7434dafa6c42b5e9fe72930d00",
        "bytes": 63979,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 36,
        "duration": 1.501489,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/at-mention-menu-filters-to-app-chip/item.json",
      "observation": "In the left chat pane a composer is typed quickly: 'Can y' at ~f2, 'Can you build' at ~f6, and the moment '@' lands (~f10) a white menu card pops above the composer listing generic actions (Add, Files and folders, Goal, Plan mode, ...). Typing 'insta' (~f11-14) swaps it for a shorter, filtered list of matching apps with the first row highlighted. At ~f18 the highlighted app becomes a green inline chip in the composer and the menu vanishes; ' grocery list?' is typed after the chip by ~f30 and holds. The right pane's orange grocery checklist is static.",
      "mechanism": "Mention trigger: a typed '@' opens a command menu, further characters filter it, and selecting converts the typed token into a persistent inline chip.",
      "phases": [
        {
          "frame": 0,
          "label": "Typing begins"
        },
        {
          "frame": 10,
          "label": "'@' opens the generic menu"
        },
        {
          "frame": 14,
          "label": "Menu filters to matching apps"
        },
        {
          "frame": 18,
          "label": "Selection becomes an inline chip; menu closes"
        },
        {
          "frame": 30,
          "label": "Trailing words typed"
        },
        {
          "frame": 36,
          "label": "End"
        }
      ]
    },
    {
      "id": "badge-cluster-fade-glint-flip-to-player-cards",
      "title": "Fade in a cluster of club badges, glint them one by one, then flip each into a player card",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Inside Cricket\u2019s Smartest Backroom | Rajasthan Royals | ChatGPT @rajasthanroyals",
        "id": "0XPk_MAwCW4",
        "url": "https://www.youtube.com/watch?v=0XPk_MAwCW4",
        "start": 33.52,
        "end": 36.0
      },
      "preview": "/videos/examples/additions/badge-cluster-fade-glint-flip-to-player-cards/remake.mp4",
      "sourcePreview": "/videos/examples/additions/badge-cluster-fade-glint-flip-to-player-cards/source.mp4",
      "adaptationPreview": "/videos/examples/additions/badge-cluster-fade-glint-flip-to-player-cards/adaptation.mp4",
      "download": "/videos/examples/additions/badge-cluster-fade-glint-flip-to-player-cards/package.zip",
      "svg": "/videos/examples/additions/badge-cluster-fade-glint-flip-to-player-cards/editable.svg",
      "resolve": "/videos/examples/additions/badge-cluster-fade-glint-flip-to-player-cards/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 152150,
      "packageSha256": "3623f0b11f72b5a263f2c692cd138a24541e79f70c8afcd7904395930e86a025",
      "poster": "/videos/examples/posters/badge-cluster-fade-glint-flip-to-player-cards.jpg",
      "render": {
        "sha256": "6b5da76655b2802dade371e3683d6f49f3f091254521b47a10f03955ab35501e",
        "bytes": 121535,
        "width": 1920,
        "height": 1080,
        "fps": "25/1",
        "frames": 62,
        "duration": 2.48,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/badge-cluster-fade-glint-flip-to-player-cards/item.json",
      "observation": "Local 0 (master 838) is the first frame after a cut to a seated interviewee on the right of frame, with a black-plate subtitle at the bottom. At local 2-4 five pentagonal club badges fade in over the left half (three across the top, two below), then hold. From ~local 12 individual badges brighten for a few frames in turn (lower-right ~12-17, top-left ~18-19, top-middle ~20-28) like a passing glint. At local 27 (865) the subtitle hard-swaps to the next line. From ~local 30 every badge rotates edge-on together, is a thin sliver at ~34 (872) and completes the flip by ~38 (876) showing a player card (portrait, name, two stat rows) in the same footprint. The cards hold until a hard cut at local 61 (899) to a wider living-room shot with a new subtitle and no cards.",
      "mechanism": "Motion-graphic card cluster: fade-in, sequential glint, a synchronised card flip that swaps the face at the edge-on frame, then a hard cut that drops the whole cluster.",
      "phases": [
        {
          "frame": 0,
          "label": "Interview shot with subtitle, no badges"
        },
        {
          "frame": 2,
          "label": "Five badges fade in"
        },
        {
          "frame": 12,
          "label": "Glint passes badge to badge"
        },
        {
          "frame": 27,
          "label": "Subtitle swaps line"
        },
        {
          "frame": 30,
          "label": "Badges flip edge-on and become player cards"
        },
        {
          "frame": 61,
          "label": "Hard cut to wide shot, cluster gone"
        }
      ]
    },
    {
      "id": "botanical-cards-pop-in-cascading-toward-camera",
      "title": "Stack eight illustrated cards, each popping in larger and nearer than the last",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "This is ChatGPT Images 2.0",
        "id": "-7JSa_luc6k",
        "url": "https://www.youtube.com/watch?v=-7JSa_luc6k",
        "start": 39.10573333333333,
        "end": 41.00763333333333
      },
      "preview": "/videos/examples/additions/botanical-cards-pop-in-cascading-toward-camera/remake.mp4",
      "sourcePreview": "/videos/examples/additions/botanical-cards-pop-in-cascading-toward-camera/source.mp4",
      "adaptationPreview": "/videos/examples/additions/botanical-cards-pop-in-cascading-toward-camera/adaptation.mp4",
      "download": "/videos/examples/additions/botanical-cards-pop-in-cascading-toward-camera/package.zip",
      "svg": "/videos/examples/additions/botanical-cards-pop-in-cascading-toward-camera/editable.svg",
      "resolve": "/videos/examples/additions/botanical-cards-pop-in-cascading-toward-camera/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150476,
      "packageSha256": "bf15d4bb97ebdd08357f4ef846f5cf6903950679aad60105e7e3d67cf59e2339",
      "poster": "/videos/examples/posters/botanical-cards-pop-in-cascading-toward-camera.jpg",
      "render": {
        "sha256": "c0cb0c02fe68d715ce48d8de67e67fdd37cb3a0fcc25747c6d0c2b5baf894669",
        "bytes": 150312,
        "width": 1920,
        "height": 1080,
        "fps": "30000/1001",
        "frames": 57,
        "duration": 1.9019,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/botanical-cards-pop-in-cascading-toward-camera/item.json",
      "observation": "On a white field a single tall botanical reference card appears centred (~f1). Every six to eight frames another card pops in on top of the pile, offset left or right and slightly tilted, and each new card is larger than the previous so the stack appears to grow toward the camera (cards ~f8, f14, f20, f31, f36, f42, f48). Cards appear whole with at most a two-to-three-frame settle; nothing slides. The eight-card pile holds for the last few frames.",
      "mechanism": "Cascading pop-in: successive cards appear on a fixed beat, each stacked in front, offset and scaled up so the pile advances toward the viewer.",
      "phases": [
        {
          "frame": 1,
          "label": "Card 1 centred"
        },
        {
          "frame": 8,
          "label": "Card 2 left"
        },
        {
          "frame": 14,
          "label": "Card 3 right"
        },
        {
          "frame": 20,
          "label": "Card 4 centre-front"
        },
        {
          "frame": 31,
          "label": "Card 5 large left"
        },
        {
          "frame": 36,
          "label": "Card 6 right"
        },
        {
          "frame": 42,
          "label": "Card 7 centre-front"
        },
        {
          "frame": 48,
          "label": "Card 8 right-front; hold"
        }
      ]
    },
    {
      "id": "browser-tab-click-blank-flash-then-sheet-loads",
      "title": "Click a browser tab, flash a blank pane for four frames, then land the spreadsheet",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Work with docs, sheets, and slides in ChatGPT",
        "id": "E3dDr_QtBuo",
        "url": "https://www.youtube.com/watch?v=E3dDr_QtBuo",
        "start": 77.74433333333333,
        "end": 79.41266666666667
      },
      "preview": "/videos/examples/additions/browser-tab-click-blank-flash-then-sheet-loads/remake.mp4",
      "sourcePreview": "/videos/examples/additions/browser-tab-click-blank-flash-then-sheet-loads/source.mp4",
      "adaptationPreview": "/videos/examples/additions/browser-tab-click-blank-flash-then-sheet-loads/adaptation.mp4",
      "download": "/videos/examples/additions/browser-tab-click-blank-flash-then-sheet-loads/package.zip",
      "svg": "/videos/examples/additions/browser-tab-click-blank-flash-then-sheet-loads/editable.svg",
      "resolve": "/videos/examples/additions/browser-tab-click-blank-flash-then-sheet-loads/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151422,
      "packageSha256": "65c49cee64f760fe63d36ba8290d6171b7c8deaf7f7533a6b8f7610a7647a753",
      "poster": "/videos/examples/posters/browser-tab-click-blank-flash-then-sheet-loads.jpg",
      "render": {
        "sha256": "ca36e42be2124f8c0f5346b68b4f7c2e01a0966e5049ec270a47b4d64f429b5b",
        "bytes": 107638,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 40,
        "duration": 1.668322,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/browser-tab-click-blank-flash-then-sheet-loads/item.json",
      "observation": "A browser window with a chat column on the left and a document pane ('Messaging' heading, paragraph text, an asset table) on the right; the pointer sits in the tab strip. At about local frame 10 (master 1874) the pointer clicks the second tab. Frames 11 to 14 show the pane empty white with the new tab active, then at ~15 (master 1879) the spreadsheet appears complete: a blue-highlighted title row 'Launch video performance', a subtitle and a dense table. The pointer drifts down the sheet for the rest of the window.",
      "mechanism": "Tab switch with a visible load gap: the active-tab state flips on the click frame, the content pane goes blank for a few frames, and the new document cuts in fully formed rather than building.",
      "phases": [
        {
          "frame": 0,
          "label": "Document tab active"
        },
        {
          "frame": 10,
          "label": "Click second tab"
        },
        {
          "frame": 11,
          "label": "Tab state flips, pane blank"
        },
        {
          "frame": 15,
          "label": "Spreadsheet cuts in"
        },
        {
          "frame": 30,
          "label": "Pointer drifts down the sheet"
        }
      ]
    },
    {
      "id": "canvas-zoom-from-overview-to-hero-frame-then-hover-outline",
      "title": "Zoom a design canvas from 24% to 45% anchored on the hero frame, then show its hover outline",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build and share interactive prototypes in Codex",
        "id": "_9ImjmzAyus",
        "url": "https://www.youtube.com/watch?v=_9ImjmzAyus",
        "start": 104.53333333333333,
        "end": 107.2
      },
      "preview": "/videos/examples/additions/canvas-zoom-from-overview-to-hero-frame-then-hover-outline/remake.mp4",
      "sourcePreview": "/videos/examples/additions/canvas-zoom-from-overview-to-hero-frame-then-hover-outline/source.mp4",
      "adaptationPreview": "/videos/examples/additions/canvas-zoom-from-overview-to-hero-frame-then-hover-outline/adaptation.mp4",
      "download": "/videos/examples/additions/canvas-zoom-from-overview-to-hero-frame-then-hover-outline/package.zip",
      "svg": "/videos/examples/additions/canvas-zoom-from-overview-to-hero-frame-then-hover-outline/editable.svg",
      "resolve": "/videos/examples/additions/canvas-zoom-from-overview-to-hero-frame-then-hover-outline/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 152323,
      "packageSha256": "3a428a2e3dd8c3a181ceb8463283f87df006810c4e62b3647ff90fea5793d026",
      "poster": "/videos/examples/posters/canvas-zoom-from-overview-to-hero-frame-then-hover-outline.jpg",
      "render": {
        "sha256": "942771d8651a422cd15543b1df6a03cdb4126ab6533d81ae2ca93fb411e3effd",
        "bytes": 150161,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 80,
        "duration": 2.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/canvas-zoom-from-overview-to-hero-frame-then-hover-outline/item.json",
      "observation": "A browser tab with a design-tool layout: pages/layers panel left, properties panel right with a zoom readout of 24%, and a concept page on a grey canvas (dark hero card at top, two panels, a user-flow row, checklist and a dark status card below). Frames 0-12 hold. From about local frame 13 (master 3149) the canvas zooms in with an ease-out while the panels stay fixed; the readout steps 27, 30, 35, 39, 41 and settles on 45% by ~29 (master 3165). The hero card stays roughly in place at the top while lower content grows down and out of view. Around frame 66 the pointer rests on the hero card and a thin blue hover outline appears around it.",
      "mechanism": "Anchored canvas zoom: only the document layer scales, about a point on the hero frame, with a stepped numeric readout in the chrome, followed by a hover outline on the frame the zoom targeted.",
      "phases": [
        {
          "frame": 0,
          "label": "Overview at 24%"
        },
        {
          "frame": 13,
          "label": "Zoom begins, readout steps"
        },
        {
          "frame": 29,
          "label": "Settles at 45%"
        },
        {
          "frame": 66,
          "label": "Hover outline on hero frame"
        }
      ]
    },
    {
      "id": "centred-product-hard-cuts-on-an-eight-frame-beat-then-hold",
      "title": "Cut between centred product shots on a steady eight-frame beat, then hold the last",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "This is ChatGPT Images 2.0",
        "id": "-7JSa_luc6k",
        "url": "https://www.youtube.com/watch?v=-7JSa_luc6k",
        "start": 56.92353333333333,
        "end": 59.99326666666666
      },
      "preview": "/videos/examples/additions/centred-product-hard-cuts-on-an-eight-frame-beat-then-hold/remake.mp4",
      "sourcePreview": "/videos/examples/additions/centred-product-hard-cuts-on-an-eight-frame-beat-then-hold/source.mp4",
      "adaptationPreview": "/videos/examples/additions/centred-product-hard-cuts-on-an-eight-frame-beat-then-hold/adaptation.mp4",
      "download": "/videos/examples/additions/centred-product-hard-cuts-on-an-eight-frame-beat-then-hold/package.zip",
      "svg": "/videos/examples/additions/centred-product-hard-cuts-on-an-eight-frame-beat-then-hold/editable.svg",
      "resolve": "/videos/examples/additions/centred-product-hard-cuts-on-an-eight-frame-beat-then-hold/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149318,
      "packageSha256": "7fe044a85cf24c5c0e321e1aab1898939956040ddaef71b99da815ffd6434644",
      "poster": "/videos/examples/posters/centred-product-hard-cuts-on-an-eight-frame-beat-then-hold.jpg",
      "render": {
        "sha256": "a1cd680b2ba1190d5af417f6b3be8787978775dccbfe2c718c753e6fdda93442",
        "bytes": 45066,
        "width": 1920,
        "height": 1080,
        "fps": "30000/1001",
        "frames": 92,
        "duration": 3.069733,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/centred-product-hard-cuts-on-an-eight-frame-beat-then-hold/item.json",
      "observation": "Twelve packaged products appear one after another on a plain white field, each centred and sized to a similar visual weight: a tall tin, a can, a boxed jar, a red jar, a paper menu, a black menu book, a soap box, a spice pouch, a green bottle, a navy cracker bag, a cereal box and finally a comic page. Every change is a hard cut with no transition; the cuts land roughly every eight frames (some four to six), at local ~f0, 6, 14, 22, 28, 36, 44, 51, 55, 63, 71 and 79. The final comic page holds for the last thirteen frames.",
      "mechanism": "Metronomic hard-cut montage: centred subjects on an identical white field swapped on a fixed beat, then a hold on the final subject.",
      "phases": [
        {
          "frame": 0,
          "label": "Cut 1"
        },
        {
          "frame": 6,
          "label": "Cut 2"
        },
        {
          "frame": 14,
          "label": "Cut 3"
        },
        {
          "frame": 22,
          "label": "Cut 4"
        },
        {
          "frame": 28,
          "label": "Cut 5"
        },
        {
          "frame": 36,
          "label": "Cut 6"
        },
        {
          "frame": 44,
          "label": "Cut 7"
        },
        {
          "frame": 51,
          "label": "Cut 8"
        },
        {
          "frame": 55,
          "label": "Cut 9"
        },
        {
          "frame": 63,
          "label": "Cut 10"
        },
        {
          "frame": 71,
          "label": "Cut 11"
        },
        {
          "frame": 79,
          "label": "Cut 12"
        },
        {
          "frame": 79,
          "label": "Hold on the last subject"
        }
      ]
    },
    {
      "id": "centred-title-pops-then-word-inserts-and-recentres",
      "title": "Pop a centred product title on, then insert a word mid-string so the whole title re-centres",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing gpt-transcribe and gpt-live-transcribe",
        "id": "WeP9VUf1OoE",
        "url": "https://www.youtube.com/watch?v=WeP9VUf1OoE",
        "start": 2.919583333333333,
        "end": 6.881875
      },
      "preview": "/videos/examples/additions/centred-title-pops-then-word-inserts-and-recentres/remake.mp4",
      "sourcePreview": "/videos/examples/additions/centred-title-pops-then-word-inserts-and-recentres/source.mp4",
      "adaptationPreview": "/videos/examples/additions/centred-title-pops-then-word-inserts-and-recentres/adaptation.mp4",
      "download": "/videos/examples/additions/centred-title-pops-then-word-inserts-and-recentres/package.zip",
      "svg": "/videos/examples/additions/centred-title-pops-then-word-inserts-and-recentres/editable.svg",
      "resolve": "/videos/examples/additions/centred-title-pops-then-word-inserts-and-recentres/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146045,
      "packageSha256": "245b89abccf1a42790dc62ae3b0664d6418e7cd0c640c916f1ae9a0a657ec4c3",
      "poster": "/videos/examples/posters/centred-title-pops-then-word-inserts-and-recentres.jpg",
      "render": {
        "sha256": "4570484855c1a7359faf5e024d07f863cb503ec3b23a1f3afd244933d1dcd8df",
        "bytes": 38825,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 95,
        "duration": 3.962289,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/centred-title-pops-then-word-inserts-and-recentres/item.json",
      "observation": "Presenter shot with no graphic at local frame 0. A centred white hyphenated title ('gpt-transcribe' in the source) pops on between frames 4 and 6 (master ~75) and holds. At about frame 36 (master 106) a second word is inserted in the middle of the hyphenated string, and because the title is centred the head shifts left and the tail shifts right in the same instant. The longer title holds until about frame 88 (master 158) and disappears in two frames.",
      "mechanism": "Centred title with a hard mid-string word insertion: the swap is an instant text change on a centre-anchored layer, so the re-centring shift is the visible event rather than any tween.",
      "phases": [
        {
          "frame": 0,
          "label": "No graphic"
        },
        {
          "frame": 5,
          "label": "Short title pops on"
        },
        {
          "frame": 36,
          "label": "Word inserted, title re-centres"
        },
        {
          "frame": 88,
          "label": "Title off"
        }
      ]
    },
    {
      "id": "centred-two-line-title-types-and-recentres-per-character",
      "title": "Type a two-line title on a white field so the block re-centres with every new character",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
        "id": "IYYTI73J7Rg",
        "url": "https://www.youtube.com/watch?v=IYYTI73J7Rg",
        "start": 21.541666666666668,
        "end": 24.875
      },
      "preview": "/videos/examples/additions/centred-two-line-title-types-and-recentres-per-character/remake.mp4",
      "sourcePreview": "/videos/examples/additions/centred-two-line-title-types-and-recentres-per-character/source.mp4",
      "adaptationPreview": "/videos/examples/additions/centred-two-line-title-types-and-recentres-per-character/adaptation.mp4",
      "download": "/videos/examples/additions/centred-two-line-title-types-and-recentres-per-character/package.zip",
      "svg": "/videos/examples/additions/centred-two-line-title-types-and-recentres-per-character/editable.svg",
      "resolve": "/videos/examples/additions/centred-two-line-title-types-and-recentres-per-character/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145008,
      "packageSha256": "d6c967a18d175176e1910b3fc74fcae6f8194b3249c250f07bb245e9b2a384aa",
      "poster": "/videos/examples/posters/centred-two-line-title-types-and-recentres-per-character.jpg",
      "render": {
        "sha256": "ce87a538ef12e6177532df8751e9a5bf8e1342ce68cdeb11b35ac86e8bab5c30",
        "bytes": 60225,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 80,
        "duration": 3.333333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/centred-two-line-title-types-and-recentres-per-character/item.json",
      "observation": "Hard cut to a soft white field with a faint vignette. A dark 46px semibold title types on character by character (~f2-45): the first line grows and keeps re-centring as it lengthens, then a second line starts beneath it and does the same until 'picture-in-picture' completes. The finished two-line block sits centred at mid-height and holds (~f45-79) before the next hard cut.",
      "mechanism": "Centre-anchored character type-on: the text block re-centres on each new character rather than growing from a fixed left edge.",
      "phases": [
        {
          "frame": 0,
          "label": "White field"
        },
        {
          "frame": 2,
          "label": "Line 1 types, re-centring"
        },
        {
          "frame": 24,
          "label": "Line 2 begins"
        },
        {
          "frame": 45,
          "label": "Both lines complete"
        },
        {
          "frame": 79,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "chart-hover-scrub-swaps-kpi-count-and-column-highlight",
      "title": "Scrub a hover line across a stacked chart and swap the KPI count at each column",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing Sites in Codex",
        "id": "VRvC5smyzso",
        "url": "https://www.youtube.com/watch?v=VRvC5smyzso",
        "start": 46.666666666666664,
        "end": 49.0
      },
      "preview": "/videos/examples/additions/chart-hover-scrub-swaps-kpi-count-and-column-highlight/remake.mp4",
      "sourcePreview": "/videos/examples/additions/chart-hover-scrub-swaps-kpi-count-and-column-highlight/source.mp4",
      "adaptationPreview": "/videos/examples/additions/chart-hover-scrub-swaps-kpi-count-and-column-highlight/adaptation.mp4",
      "download": "/videos/examples/additions/chart-hover-scrub-swaps-kpi-count-and-column-highlight/package.zip",
      "svg": "/videos/examples/additions/chart-hover-scrub-swaps-kpi-count-and-column-highlight/editable.svg",
      "resolve": "/videos/examples/additions/chart-hover-scrub-swaps-kpi-count-and-column-highlight/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151008,
      "packageSha256": "578c4fa394dc6e621b67ebdb01bf98ac7500823d3c5ebba350d9edcfa2a3fa71",
      "poster": "/videos/examples/posters/chart-hover-scrub-swaps-kpi-count-and-column-highlight.jpg",
      "render": {
        "sha256": "e072985a5f33f78de05f4cec90bbff746ddf18c924fa2ef257fd17a8560b181e",
        "bytes": 116463,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 70,
        "duration": 2.333333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/chart-hover-scrub-swaps-kpi-count-and-column-highlight/item.json",
      "observation": "A cream report page with a dark green sidebar shows a stacked area chart with a KPI card to its right reading a large '143'. The pointer moves onto the chart at about f10 and a thin vertical hover line with a highlighted x-axis label appears. As the pointer drags right the line jumps column to column: at f28 the KPI card swaps to '117' and its caption changes, at f48 it swaps to '96'. The page then begins to scroll upward at about f68.",
      "mechanism": "Hover-driven data binding: a vertical scrub line snaps between columns and the linked KPI card hard-swaps its number and caption at each snap.",
      "phases": [
        {
          "frame": 0,
          "label": "Chart at rest, KPI shows the total"
        },
        {
          "frame": 10,
          "label": "Hover line appears at column five"
        },
        {
          "frame": 28,
          "label": "Snap to column four, KPI swaps to 117"
        },
        {
          "frame": 48,
          "label": "Snap to column three, KPI swaps to 96"
        },
        {
          "frame": 68,
          "label": "Page starts scrolling"
        }
      ]
    },
    {
      "id": "chat-message-blur-push-in-then-pull-back",
      "title": "Whip-blur push in on a chat message, hold the close-up, then pull back out",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Account Research and Customer Outreach",
        "id": "5DbZAMGZ5oM",
        "url": "https://www.youtube.com/watch?v=5DbZAMGZ5oM",
        "start": 10.0,
        "end": 12.333333333333334
      },
      "preview": "/videos/examples/additions/chat-message-blur-push-in-then-pull-back/remake.mp4",
      "sourcePreview": "/videos/examples/additions/chat-message-blur-push-in-then-pull-back/source.mp4",
      "adaptationPreview": "/videos/examples/additions/chat-message-blur-push-in-then-pull-back/adaptation.mp4",
      "download": "/videos/examples/additions/chat-message-blur-push-in-then-pull-back/package.zip",
      "svg": "/videos/examples/additions/chat-message-blur-push-in-then-pull-back/editable.svg",
      "resolve": "/videos/examples/additions/chat-message-blur-push-in-then-pull-back/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150171,
      "packageSha256": "f38fe7212074e676e5f91cabdbfc190ecef82ad2af1980a41faaf492f206c051",
      "poster": "/videos/examples/posters/chat-message-blur-push-in-then-pull-back.jpg",
      "render": {
        "sha256": "424aa44234a2e6ae441024910f509b0b58caa7526f5e1aff6002bf84ebe2a298",
        "bytes": 361069,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 70,
        "duration": 2.333333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/chat-message-blur-push-in-then-pull-back/item.json",
      "observation": "A dark chat window sits on a starfield background at full size (f0-9). Around f10 the whole frame blurs and scales up, landing at roughly 2.2x on the pinned message with its two blue links and 'Sent using' pill by f24; the close-up holds sharp until about f44. At f46-56 the frame blurs again while it scales back to 1x, and the full window is sharp again from f57 to the end.",
      "mechanism": "A symmetric motion-blur push-in and pull-out on a whole-frame screen capture: blur peaks mid-move and clears as the scale settles, framing one message as the close-up.",
      "phases": [
        {
          "frame": 0,
          "label": "Full window, sharp"
        },
        {
          "frame": 10,
          "label": "Blur ramps as camera pushes in (scale 1 to 2.2)"
        },
        {
          "frame": 24,
          "label": "Close-up on the message settles sharp"
        },
        {
          "frame": 46,
          "label": "Blur ramps as camera pulls out"
        },
        {
          "frame": 57,
          "label": "Full window, sharp again"
        }
      ]
    },
    {
      "id": "city-hud-resolves-from-blur-as-camera-settles",
      "title": "Bring the HUD back from a blur while the 3D camera eases into its new position",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "First impressions of GPT-6 Astra from developers",
        "id": "-TTyyY3VWh8",
        "url": "https://www.youtube.com/watch?v=-TTyyY3VWh8",
        "start": 21.855166666666666,
        "end": 23.440083333333334
      },
      "preview": "/videos/examples/additions/city-hud-resolves-from-blur-as-camera-settles/remake.mp4",
      "sourcePreview": "/videos/examples/additions/city-hud-resolves-from-blur-as-camera-settles/source.mp4",
      "adaptationPreview": "/videos/examples/additions/city-hud-resolves-from-blur-as-camera-settles/adaptation.mp4",
      "download": "/videos/examples/additions/city-hud-resolves-from-blur-as-camera-settles/package.zip",
      "svg": "/videos/examples/additions/city-hud-resolves-from-blur-as-camera-settles/editable.svg",
      "resolve": "/videos/examples/additions/city-hud-resolves-from-blur-as-camera-settles/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150015,
      "packageSha256": "6b003ed27bb907729530d825bc0394a9b9914fd161a520118e24a3ea8be23580",
      "poster": "/videos/examples/posters/city-hud-resolves-from-blur-as-camera-settles.jpg",
      "render": {
        "sha256": "70eabd048e0a61db1827eb7f0435ab1f8b801bd31e81299d1777625fdf8419ce",
        "bytes": 173787,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 38,
        "duration": 1.584911,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/city-hud-resolves-from-blur-as-camera-settles/item.json",
      "observation": "The low-poly city plays with no interface for the first frames (master 524-528) while the camera drifts lower toward street level. At master 530 (local 6) the bottom toolbar shows up as a soft, semi-transparent blur; by local 8 the era timeline is also ghosting in, and both are crisp by local 12. The scene keeps moving slowly under the crisp HUD until the window ends at master 562. The reverse of the earlier drop-out: chrome returns from blur once the fly-through is over.",
      "mechanism": "Chrome return: the interface resolves from a heavy blur to sharp over six frames while the camera decelerates, so UI and camera settle together.",
      "phases": [
        {
          "frame": 0,
          "label": "Clean scene, camera still moving"
        },
        {
          "frame": 6,
          "label": "Toolbar and timeline appear blurred and faint"
        },
        {
          "frame": 12,
          "label": "HUD sharp and opaque"
        },
        {
          "frame": 37,
          "label": "Camera nearly at rest, HUD idle"
        }
      ]
    },
    {
      "id": "city-hud-tooltip-then-chrome-blurs-out-on-flythrough",
      "title": "Show a tooltip, then blur and fade the whole HUD as the 3D camera starts flying",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "First impressions of GPT-6 Astra from developers",
        "id": "-TTyyY3VWh8",
        "url": "https://www.youtube.com/watch?v=-TTyyY3VWh8",
        "start": 8.341666666666667,
        "end": 9.843166666666667
      },
      "preview": "/videos/examples/additions/city-hud-tooltip-then-chrome-blurs-out-on-flythrough/remake.mp4",
      "sourcePreview": "/videos/examples/additions/city-hud-tooltip-then-chrome-blurs-out-on-flythrough/source.mp4",
      "adaptationPreview": "/videos/examples/additions/city-hud-tooltip-then-chrome-blurs-out-on-flythrough/adaptation.mp4",
      "download": "/videos/examples/additions/city-hud-tooltip-then-chrome-blurs-out-on-flythrough/package.zip",
      "svg": "/videos/examples/additions/city-hud-tooltip-then-chrome-blurs-out-on-flythrough/editable.svg",
      "resolve": "/videos/examples/additions/city-hud-tooltip-then-chrome-blurs-out-on-flythrough/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151531,
      "packageSha256": "4c7a6c56499491256a6654b2fe95fc4c61ece920f1320e1ae7301c4155920ed4",
      "poster": "/videos/examples/posters/city-hud-tooltip-then-chrome-blurs-out-on-flythrough.jpg",
      "render": {
        "sha256": "1399c17397e1012f7f78bf0f502ba87b9f20a630b33aef6f3f396279d69af404",
        "bytes": 117243,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 36,
        "duration": 1.501489,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/city-hud-tooltip-then-chrome-blurs-out-on-flythrough/item.json",
      "observation": "A low-poly aerial city scene fills the frame with a view-mode toolbar and an era timeline along the bottom and a small picture-in-picture inset top right (master 200-210). At master 206 (local 6) a dark tooltip pops in under the timeline. At local 11-14 the toolbar and timeline blur and fade out together while the whole scene motion-blurs; by local 14 the view has changed to a dense riverside town and by local 16 it is sharp again. The inset stays put throughout.",
      "mechanism": "Chrome drop-out: UI overlays blur and fade as one unit at the instant the camera begins a fast move, so the fly-through plays clean while a persistent inset survives.",
      "phases": [
        {
          "frame": 0,
          "label": "Idle: scene, toolbar, timeline, inset"
        },
        {
          "frame": 6,
          "label": "Tooltip pops in under the timeline"
        },
        {
          "frame": 11,
          "label": "HUD blurs and fades; scene motion blur begins"
        },
        {
          "frame": 14,
          "label": "New view under the blur"
        },
        {
          "frame": 17,
          "label": "Scene sharp, HUD gone, inset remains"
        }
      ]
    },
    {
      "id": "composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret",
      "title": "Type a long prompt into a wide composer, push the camera in on the caret and let it track the typing",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Character Consistency with 4o Image Generation",
        "id": "PFsOUNfBhzI",
        "url": "https://www.youtube.com/watch?v=PFsOUNfBhzI",
        "start": 16.850166666666667,
        "end": 20.854166666666668
      },
      "preview": "/videos/examples/additions/composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret/remake.mp4",
      "sourcePreview": "/videos/examples/additions/composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret/source.mp4",
      "adaptationPreview": "/videos/examples/additions/composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret/adaptation.mp4",
      "download": "/videos/examples/additions/composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret/package.zip",
      "svg": "/videos/examples/additions/composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret/editable.svg",
      "resolve": "/videos/examples/additions/composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146766,
      "packageSha256": "a234216b9eafc38088448263a55cbd1c8f3f807d770b86ec67e7434042621dfa",
      "poster": "/videos/examples/posters/composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret.jpg",
      "render": {
        "sha256": "c2cc407b6bb0416163a44542069f066bdb55db4fb381b5bf8a4349e349efca8d",
        "bytes": 112348,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 96,
        "duration": 4.003989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/composer-prompt-types-as-camera-pushes-in-and-tracks-the-caret/item.json",
      "observation": "Hard cut from an interview to a huge light-grey composer filling most of a white frame: a 40px prompt begins typing at the top-left with a caret (~f2), and a row of small tool icons and a model label sit along the bottom. At ~f46 the camera starts to push in to roughly 2.2x, centring on the caret, and settles by ~f58; from then on the framing drifts right so the caret stays right of centre while the sentence continues to type to the end of the interval.",
      "mechanism": "Caret-driven type-on with a delayed camera push-in that then pans continuously to keep the moving caret in frame.",
      "phases": [
        {
          "frame": 0,
          "label": "Hard cut to wide composer"
        },
        {
          "frame": 2,
          "label": "Prompt types with caret"
        },
        {
          "frame": 46,
          "label": "Camera push-in starts"
        },
        {
          "frame": 58,
          "label": "Settles at 2.2x, caret right of centre"
        },
        {
          "frame": 95,
          "label": "Pan keeps tracking the caret"
        }
      ]
    },
    {
      "id": "composer-third-line-types-with-caret-and-holds",
      "title": "Type a third line into a filled composer character by character, then hold on the finished prompt",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "You can just keep the work moving | ChatGPT Work",
        "id": "wIf9yMGalPU",
        "url": "https://www.youtube.com/watch?v=wIf9yMGalPU",
        "start": 9.066666666666666,
        "end": 11.066666666666666
      },
      "preview": "/videos/examples/additions/composer-third-line-types-with-caret-and-holds/remake.mp4",
      "sourcePreview": "/videos/examples/additions/composer-third-line-types-with-caret-and-holds/source.mp4",
      "adaptationPreview": "/videos/examples/additions/composer-third-line-types-with-caret-and-holds/adaptation.mp4",
      "download": "/videos/examples/additions/composer-third-line-types-with-caret-and-holds/package.zip",
      "svg": "/videos/examples/additions/composer-third-line-types-with-caret-and-holds/editable.svg",
      "resolve": "/videos/examples/additions/composer-third-line-types-with-caret-and-holds/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148134,
      "packageSha256": "037865d91c96945fee74b90cc5002d943583b261d508ce2f3a0d1964d3ce8988",
      "poster": "/videos/examples/posters/composer-third-line-types-with-caret-and-holds.jpg",
      "render": {
        "sha256": "5ee0d11a9117be4c439ad9e6e1d48771ccdb491beeea658880fe4165c792659e",
        "bytes": 47984,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 60,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/composer-third-line-types-with-caret-and-holds/item.json",
      "observation": "A wide, magnified composer card sits on white with two lines already written and a linked app name in blue at the end of line two (master 272-279). At master 280 (local 8) an 'F' starts a third line and the sentence types on at roughly one character per frame: 'Flag' at 289, 'Flag anything' at 298, 'critical by 9a' at 307, 'tomorrow' at 319 and the final full stop at 322 (local 50). The controls row (plus, model picker, mic, black send button) and the footer strip stay fixed while the card grows by a line; the finished prompt holds to master 332.",
      "mechanism": "Steady character type-on of an appended line inside a static composer, with the card's controls fixed in place and a hold on the completed text before the send.",
      "phases": [
        {
          "frame": 0,
          "label": "Composer with two written lines"
        },
        {
          "frame": 8,
          "label": "Third line begins typing"
        },
        {
          "frame": 50,
          "label": "Sentence complete with full stop"
        },
        {
          "frame": 59,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "context-menu-share-row-expands-inline-then-cuts-to-share-sheet",
      "title": "Expand a context-menu row into an inline submenu, walk the highlight down, then cut to the share sheet",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build and test iOS apps without leaving Codex",
        "id": "u9zLlcsCDiQ",
        "url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ",
        "start": 31.072708333333335,
        "end": 34.409375
      },
      "preview": "/videos/examples/additions/context-menu-share-row-expands-inline-then-cuts-to-share-sheet/remake.mp4",
      "sourcePreview": "/videos/examples/additions/context-menu-share-row-expands-inline-then-cuts-to-share-sheet/source.mp4",
      "adaptationPreview": "/videos/examples/additions/context-menu-share-row-expands-inline-then-cuts-to-share-sheet/adaptation.mp4",
      "download": "/videos/examples/additions/context-menu-share-row-expands-inline-then-cuts-to-share-sheet/package.zip",
      "svg": "/videos/examples/additions/context-menu-share-row-expands-inline-then-cuts-to-share-sheet/editable.svg",
      "resolve": "/videos/examples/additions/context-menu-share-row-expands-inline-then-cuts-to-share-sheet/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151056,
      "packageSha256": "594415d0bf5ce0f93772950a1d8b8da4e62c6fe609f0d0b8400dd62a15210573",
      "poster": "/videos/examples/posters/context-menu-share-row-expands-inline-then-cuts-to-share-sheet.jpg",
      "render": {
        "sha256": "fae3df23edd120720c03a1650abb6228cf0f1430ccaf601e574f310922ef7c7d",
        "bytes": 72639,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 80,
        "duration": 3.336656,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/context-menu-share-row-expands-inline-then-cuts-to-share-sheet/item.json",
      "observation": "Inside a phone simulator on the right, a post's long-press context menu is open (Quote, Share \u203a, View in Browser, Copy Text\u2026) with the hover highlight on 'Share' (f0\u201327). At ~f28 the Share row expands in place: its chevron turns down, 'Quote' dims, three sub-rows (Share Post, Share Link, Share as Image) are inserted and every row below steps downward. The highlight walks to 'Share as Image' by ~f45 and the pointer clicks at ~f55. At ~f58 the screen hard-cuts to a 'Share post as image' sheet with a Done button and a preview card. The left pane's agent log stays static.",
      "mechanism": "An accordion submenu: a menu row expands inline and pushes later rows down as a step, the hover highlight walks to the new child row, and a click hard-cuts to the resulting sheet.",
      "phases": [
        {
          "frame": 0,
          "label": "Context menu open, highlight on Share"
        },
        {
          "frame": 28,
          "label": "Share expands inline; rows below step down"
        },
        {
          "frame": 45,
          "label": "Highlight moves to the child row"
        },
        {
          "frame": 55,
          "label": "Click"
        },
        {
          "frame": 58,
          "label": "Hard cut to share sheet"
        },
        {
          "frame": 79,
          "label": "Sheet holds"
        }
      ]
    },
    {
      "id": "cut-to-closeup-then-dot-name-and-bracket-role-type-on",
      "title": "Hard cut to a close-up, then a dot, a mono name and a bracketed role type on beside the speaker",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "We're giving 100,000 academic researchers free access to our frontier models",
        "id": "MLehRytu9Zo",
        "url": "https://www.youtube.com/watch?v=MLehRytu9Zo",
        "start": 21.354666666666667,
        "end": 23.857166666666668
      },
      "preview": "/videos/examples/additions/cut-to-closeup-then-dot-name-and-bracket-role-type-on/remake.mp4",
      "sourcePreview": "/videos/examples/additions/cut-to-closeup-then-dot-name-and-bracket-role-type-on/source.mp4",
      "adaptationPreview": "/videos/examples/additions/cut-to-closeup-then-dot-name-and-bracket-role-type-on/adaptation.mp4",
      "download": "/videos/examples/additions/cut-to-closeup-then-dot-name-and-bracket-role-type-on/package.zip",
      "svg": "/videos/examples/additions/cut-to-closeup-then-dot-name-and-bracket-role-type-on/editable.svg",
      "resolve": "/videos/examples/additions/cut-to-closeup-then-dot-name-and-bracket-role-type-on/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145952,
      "packageSha256": "a4e5323b88d228c093e2119b79b94bbb8826188dd3540a5099095c01e1c65518",
      "poster": "/videos/examples/posters/cut-to-closeup-then-dot-name-and-bracket-role-type-on.jpg",
      "render": {
        "sha256": "c08f617c9c7524d6fdc4d2f61ab70ab68fdf236e7dfc230f70fcc771cf778109",
        "bytes": 15127,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 60,
        "duration": 2.502489,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/cut-to-closeup-then-dot-name-and-bracket-role-type-on/item.json",
      "observation": "A three-person wide shot holds for five frames, then hard-cuts to a single-speaker close-up (~f5). Two frames after the cut a small white dot appears mid-frame to the right of the speaker (~f7). A monospaced name types on to the right of the dot (~f9\u2013f13), then a two-line bracketed role types on beneath it, indented under the name (~f13\u2013f23). The block holds for the rest of the window.",
      "mechanism": "Mid-frame identifier build: cut, anchor dot, monospaced name type-on, then a bracketed two-line role type-on indented under the name.",
      "phases": [
        {
          "frame": 0,
          "label": "Wide shot"
        },
        {
          "frame": 5,
          "label": "Hard cut to close-up"
        },
        {
          "frame": 7,
          "label": "Anchor dot appears"
        },
        {
          "frame": 9,
          "label": "Name types on"
        },
        {
          "frame": 13,
          "label": "Bracketed role types on"
        },
        {
          "frame": 23,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "dashboard-push-in-then-scrolls-to-stakeholder-map",
      "title": "Push in on a floating browser, then scroll the account page down to its stakeholder map",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Account Planning and Meeting Prep",
        "id": "hjXi7b01s2c",
        "url": "https://www.youtube.com/watch?v=hjXi7b01s2c",
        "start": 40.5,
        "end": 43.5
      },
      "preview": "/videos/examples/additions/dashboard-push-in-then-scrolls-to-stakeholder-map/remake.mp4",
      "sourcePreview": "/videos/examples/additions/dashboard-push-in-then-scrolls-to-stakeholder-map/source.mp4",
      "adaptationPreview": "/videos/examples/additions/dashboard-push-in-then-scrolls-to-stakeholder-map/adaptation.mp4",
      "download": "/videos/examples/additions/dashboard-push-in-then-scrolls-to-stakeholder-map/package.zip",
      "svg": "/videos/examples/additions/dashboard-push-in-then-scrolls-to-stakeholder-map/editable.svg",
      "resolve": "/videos/examples/additions/dashboard-push-in-then-scrolls-to-stakeholder-map/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 153034,
      "packageSha256": "b6ace112b8b858f58ca10771e0842a08f727b5a803970dc14188b6a8ed9902ab",
      "poster": "/videos/examples/posters/dashboard-push-in-then-scrolls-to-stakeholder-map.jpg",
      "render": {
        "sha256": "ba48ecfb718c23367b34f6c1ac70c664971f41619525c84216e15f483dacb2a5",
        "bytes": 287399,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 180,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/dashboard-push-in-then-scrolls-to-stakeholder-map/item.json",
      "observation": "A small browser window floats centred on a dark starfield showing an account-plan page with a navy hero card (local f0\u201314). Between ~f14 and f28 the whole window pushes in until the page fills most of the frame. From ~f35 the page content scrolls upward past bullet lists and a dated 'path to close' timeline; by ~f150 a 'People we need aligned' heading and a tree of stakeholder cards has scrolled into view and settles by f175.",
      "mechanism": "A camera push-in on a floating app window followed by a long eased page scroll inside a fixed browser chrome, landing on a new section.",
      "phases": [
        {
          "frame": 0,
          "label": "Small floating browser holds"
        },
        {
          "frame": 14,
          "label": "Camera pushes in on the window"
        },
        {
          "frame": 35,
          "label": "Page scrolls up past lists and timeline"
        },
        {
          "frame": 150,
          "label": "Stakeholder map arrives and settles"
        }
      ]
    },
    {
      "id": "detail-sheet-macro-scroll-then-pull-out-to-full-browser",
      "title": "Scroll a magnified detail sheet, then pull the camera back to the full browser with a blur kick",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Pipeline and Forecast Intelligence",
        "id": "q9TPE7pKkIo",
        "url": "https://www.youtube.com/watch?v=q9TPE7pKkIo",
        "start": 68.0,
        "end": 71.0
      },
      "preview": "/videos/examples/additions/detail-sheet-macro-scroll-then-pull-out-to-full-browser/remake.mp4",
      "sourcePreview": "/videos/examples/additions/detail-sheet-macro-scroll-then-pull-out-to-full-browser/source.mp4",
      "adaptationPreview": "/videos/examples/additions/detail-sheet-macro-scroll-then-pull-out-to-full-browser/adaptation.mp4",
      "download": "/videos/examples/additions/detail-sheet-macro-scroll-then-pull-out-to-full-browser/package.zip",
      "svg": "/videos/examples/additions/detail-sheet-macro-scroll-then-pull-out-to-full-browser/editable.svg",
      "resolve": "/videos/examples/additions/detail-sheet-macro-scroll-then-pull-out-to-full-browser/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151974,
      "packageSha256": "0114bb2652ed48e713803217b59a4d7bd436062da010f167d0572a2d6b77a1b0",
      "poster": "/videos/examples/posters/detail-sheet-macro-scroll-then-pull-out-to-full-browser.jpg",
      "render": {
        "sha256": "3910bf5afc073a2cff8508d6d18e19f592339fce849c9c1afce691d04ca9715d",
        "bytes": 369778,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 90,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/detail-sheet-macro-scroll-then-pull-out-to-full-browser/item.json",
      "observation": "The frame opens magnified (~1.75x) on the right-hand detail sheet of a sales page: a 'Recommended outcome' paragraph, a 'Proposed action plan' with three numbered cards (card 1 highlighted blue) and the pointer near card 1. The sheet content scrolls upward slowly between ~f0 and ~f38. At ~f40 the picture smears with motion blur and by ~f50 the camera has pulled back to the full browser window floating on the dark starfield; the dimmed table and the sheet are both visible. It holds to the end while the pointer drifts.",
      "mechanism": "Slow in-panel scroll at macro scale, then an eased camera pull-out with a short blur kick that reveals the whole application frame.",
      "phases": [
        {
          "frame": 0,
          "label": "Macro on sheet; content scrolls up"
        },
        {
          "frame": 40,
          "label": "Pull-out starts, blur ramps"
        },
        {
          "frame": 52,
          "label": "Full browser visible, blur clears"
        },
        {
          "frame": 89,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "drag-file-tints-window-drop-to-attach-then-composer-grows",
      "title": "Drag a file over the window to tint it with a drop hint, then drop to attach and grow the composer",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build and share interactive prototypes in Codex",
        "id": "_9ImjmzAyus",
        "url": "https://www.youtube.com/watch?v=_9ImjmzAyus",
        "start": 19.266666666666666,
        "end": 20.933333333333334
      },
      "preview": "/videos/examples/additions/drag-file-tints-window-drop-to-attach-then-composer-grows/remake.mp4",
      "sourcePreview": "/videos/examples/additions/drag-file-tints-window-drop-to-attach-then-composer-grows/source.mp4",
      "adaptationPreview": "/videos/examples/additions/drag-file-tints-window-drop-to-attach-then-composer-grows/adaptation.mp4",
      "download": "/videos/examples/additions/drag-file-tints-window-drop-to-attach-then-composer-grows/package.zip",
      "svg": "/videos/examples/additions/drag-file-tints-window-drop-to-attach-then-composer-grows/editable.svg",
      "resolve": "/videos/examples/additions/drag-file-tints-window-drop-to-attach-then-composer-grows/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151412,
      "packageSha256": "a6d0e7ae22f9a1862e706cf08143379c4dc71d5586850c1fb859daaa84d7fa09",
      "poster": "/videos/examples/posters/drag-file-tints-window-drop-to-attach-then-composer-grows.jpg",
      "render": {
        "sha256": "0e0ad7cea7f8ef17efa9c68b92ad5c8de108e22a4a2ae4e49ba54be77c0cc0d9",
        "bytes": 179949,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 50,
        "duration": 1.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/drag-file-tints-window-drop-to-attach-then-composer-grows/item.json",
      "observation": "A desktop app window on a purple-blue gradient shows a drafted brief above a composer that already holds a three-line prompt. From about local frame 6 a small blue file chip is dragged in from the lower right; at ~9 (master 587) the entire window content tints pale blue and a white 'Drop to attach' pill appears at its centre. The chip continues toward the composer and is released at ~19 (master 597): the tint and pill vanish in one frame, a thumbnail tile appears at the top of the composer and the prompt text shifts down as the composer grows taller. Everything holds to the end.",
      "mechanism": "Drag-and-drop attach: drag-enter swaps the whole surface into a tinted drop-target state with a centred hint, and the drop reverts it in one frame while the composer reflows upward to make room for the new attachment tile.",
      "phases": [
        {
          "frame": 0,
          "label": "Composer holds a prompt"
        },
        {
          "frame": 6,
          "label": "File chip dragged in"
        },
        {
          "frame": 9,
          "label": "Window tints, 'Drop to attach' pill"
        },
        {
          "frame": 19,
          "label": "Drop: tint off, tile inserted, composer grows"
        },
        {
          "frame": 35,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "elapsed-timer-ticks-then-swaps-to-completion-stats",
      "title": "Tick a mono elapsed timer in tenths, then hard-swap the centre to a completion state with two stats",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing gpt-transcribe and gpt-live-transcribe",
        "id": "WeP9VUf1OoE",
        "url": "https://www.youtube.com/watch?v=WeP9VUf1OoE",
        "start": 107.6075,
        "end": 110.94416666666666
      },
      "preview": "/videos/examples/additions/elapsed-timer-ticks-then-swaps-to-completion-stats/remake.mp4",
      "sourcePreview": "/videos/examples/additions/elapsed-timer-ticks-then-swaps-to-completion-stats/source.mp4",
      "adaptationPreview": "/videos/examples/additions/elapsed-timer-ticks-then-swaps-to-completion-stats/adaptation.mp4",
      "download": "/videos/examples/additions/elapsed-timer-ticks-then-swaps-to-completion-stats/package.zip",
      "svg": "/videos/examples/additions/elapsed-timer-ticks-then-swaps-to-completion-stats/editable.svg",
      "resolve": "/videos/examples/additions/elapsed-timer-ticks-then-swaps-to-completion-stats/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150399,
      "packageSha256": "6977bb8435a9280451e008eb79ce2728956498e340dbab14d446187735d7f7b0",
      "poster": "/videos/examples/posters/elapsed-timer-ticks-then-swaps-to-completion-stats.jpg",
      "render": {
        "sha256": "fd439b75c889717d3163c78abf6242ed596f261d578fd614028d1273cd82e7c7",
        "bytes": 67241,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 80,
        "duration": 3.336656,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/elapsed-timer-ticks-then-swaps-to-completion-stats/item.json",
      "observation": "A browser window on a purple gradient shows an 'Offline transcription' page: title, Realtime/Offline segmented control, a file row with a greyed 'Transcribing' button and a nearly full progress bar. Centred below, a large monospaced timer counts in tenths of a second from about 00:40.0 (local 0, master 2580) to 00:41.7 by frame ~42, with a small spinner and label above it. At about local frame 43 (master 2623) the centre hard-swaps to a green check, 'Transcription complete', two large mono stats (audio length and elapsed time) and a dark 'View transcript' button; the file row gains a green complete badge and the button becomes solid 'Transcribe file'. Everything then holds.",
      "mechanism": "Real-time numeric counter that resolves into a summary state: the ticking value is stepped text with no easing, and completion is a single-frame swap of the centre block plus dependent controls.",
      "phases": [
        {
          "frame": 0,
          "label": "Timer at 00:40.0, transcribing"
        },
        {
          "frame": 22,
          "label": "Timer past 00:41.0"
        },
        {
          "frame": 43,
          "label": "Hard swap to completion state"
        },
        {
          "frame": 60,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "endcard-word-types-before-blue-word-then-erases-to-glyph",
      "title": "Type a black word in front of a waiting blue word, hold, backspace it all away, then pop a glyph",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Shopify Uses ChatGPT Work to Build Faster with AI Agents",
        "id": "OHVu3Y4B3RI",
        "url": "https://www.youtube.com/watch?v=OHVu3Y4B3RI",
        "start": 53.0,
        "end": 56.666666666666664
      },
      "preview": "/videos/examples/additions/endcard-word-types-before-blue-word-then-erases-to-glyph/remake.mp4",
      "sourcePreview": "/videos/examples/additions/endcard-word-types-before-blue-word-then-erases-to-glyph/source.mp4",
      "adaptationPreview": "/videos/examples/additions/endcard-word-types-before-blue-word-then-erases-to-glyph/adaptation.mp4",
      "download": "/videos/examples/additions/endcard-word-types-before-blue-word-then-erases-to-glyph/package.zip",
      "svg": "/videos/examples/additions/endcard-word-types-before-blue-word-then-erases-to-glyph/editable.svg",
      "resolve": "/videos/examples/additions/endcard-word-types-before-blue-word-then-erases-to-glyph/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146091,
      "packageSha256": "89873d31418b634182f6b4ffda0a9cfc7e48d5344be38b17d973e1e7c55621e2",
      "poster": "/videos/examples/posters/endcard-word-types-before-blue-word-then-erases-to-glyph.jpg",
      "render": {
        "sha256": "2b6db38050d7a1acd5be4bb895fb97dd2da758a4bf963739fab20fbf566ef826",
        "bytes": 26927,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 88,
        "duration": 3.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/endcard-word-types-before-blue-word-then-erases-to-glyph/item.json",
      "observation": "After a hard cut to white (~f1) the blue second word of a two-word mark is already sitting right of centre while the black first word types in character by character to its left (~f2-13); the pair reads as one centred wordmark once complete. It holds (~f14-41), then the characters are deleted from the right end backwards (~f42-57) until nothing remains. At ~f58 a small black ring-knot glyph scales up at centre (~f58-66) and holds.",
      "mechanism": "End-card wordmark: char type-on of the first word against a pre-placed second word, hold, backspace-erase from the tail, then a scale-in glyph replaces the text.",
      "phases": [
        {
          "frame": 0,
          "label": "White field"
        },
        {
          "frame": 2,
          "label": "Blue word present, black word types in"
        },
        {
          "frame": 14,
          "label": "Hold complete wordmark"
        },
        {
          "frame": 42,
          "label": "Backspace erase from the right"
        },
        {
          "frame": 58,
          "label": "Glyph scales in"
        },
        {
          "frame": 66,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "evidence-drawer-pops-then-blur-push-in",
      "title": "Click an evidence link, pop a right-hand drawer, then whip-blur push into the drawer",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Account Research and Customer Outreach",
        "id": "5DbZAMGZ5oM",
        "url": "https://www.youtube.com/watch?v=5DbZAMGZ5oM",
        "start": 36.666666666666664,
        "end": 38.666666666666664
      },
      "preview": "/videos/examples/additions/evidence-drawer-pops-then-blur-push-in/remake.mp4",
      "sourcePreview": "/videos/examples/additions/evidence-drawer-pops-then-blur-push-in/source.mp4",
      "adaptationPreview": "/videos/examples/additions/evidence-drawer-pops-then-blur-push-in/adaptation.mp4",
      "download": "/videos/examples/additions/evidence-drawer-pops-then-blur-push-in/package.zip",
      "svg": "/videos/examples/additions/evidence-drawer-pops-then-blur-push-in/editable.svg",
      "resolve": "/videos/examples/additions/evidence-drawer-pops-then-blur-push-in/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 152542,
      "packageSha256": "20fc5108d3b95eaa85d35a1f25fb470846076a03757cf181dc69e699f2b22ea3",
      "poster": "/videos/examples/posters/evidence-drawer-pops-then-blur-push-in.jpg",
      "render": {
        "sha256": "a7fbcfec6f5be1eb925cf6f972d1c757e5e1b8cd0fe39bcd5a63a47f15522f21",
        "bytes": 339819,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 60,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/evidence-drawer-pops-then-blur-push-in/item.json",
      "observation": "A light account-brief page fills a browser window. The pointer drifts from the quote body to an 'Open evidence note' link (f0-12) and clicks (~f14). Within about three frames (f18-20) a white evidence drawer is fully present along the right edge, dimming the page behind it. At f24-34 the whole frame blurs and scales up so the drawer occupies the right half of the frame; it settles sharp and holds with slight pointer drift to the end.",
      "mechanism": "Disclosure then emphasis: a near-instant right-edge drawer follows the click, and a motion-blurred camera push-in re-frames on the new panel.",
      "phases": [
        {
          "frame": 0,
          "label": "Pointer travels to the evidence link"
        },
        {
          "frame": 14,
          "label": "Click"
        },
        {
          "frame": 17,
          "label": "Drawer slides in from the right, page dims"
        },
        {
          "frame": 24,
          "label": "Blur ramps, camera pushes in (scale 1 to 1.65)"
        },
        {
          "frame": 34,
          "label": "Close-up on drawer settles sharp"
        }
      ]
    },
    {
      "id": "feature-list-rows-fade-in-one-by-one-over-presenter",
      "title": "Stack a five-row feature list over a presenter, one row fading in per spoken beat",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing gpt-transcribe and gpt-live-transcribe",
        "id": "WeP9VUf1OoE",
        "url": "https://www.youtube.com/watch?v=WeP9VUf1OoE",
        "start": 25.5255,
        "end": 29.738041666666668
      },
      "preview": "/videos/examples/additions/feature-list-rows-fade-in-one-by-one-over-presenter/remake.mp4",
      "sourcePreview": "/videos/examples/additions/feature-list-rows-fade-in-one-by-one-over-presenter/source.mp4",
      "adaptationPreview": "/videos/examples/additions/feature-list-rows-fade-in-one-by-one-over-presenter/adaptation.mp4",
      "download": "/videos/examples/additions/feature-list-rows-fade-in-one-by-one-over-presenter/package.zip",
      "svg": "/videos/examples/additions/feature-list-rows-fade-in-one-by-one-over-presenter/editable.svg",
      "resolve": "/videos/examples/additions/feature-list-rows-fade-in-one-by-one-over-presenter/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146935,
      "packageSha256": "c1103d1f0735287e579e5dd8a10d5b7682611fbaf7d55154d073afe567aa4606",
      "poster": "/videos/examples/posters/feature-list-rows-fade-in-one-by-one-over-presenter.jpg",
      "render": {
        "sha256": "1b834ed35d092ed894eaee96ae8c499ff6fa33ca1f396df602a938faa50de987",
        "bytes": 70550,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 101,
        "duration": 4.212533,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/feature-list-rows-fade-in-one-by-one-over-presenter/item.json",
      "observation": "Presenter at a desk with a laptop, no overlay for the first 14 frames. 'Accents' fades in at the left of frame around local frame 15 (master 627), 'Multilingual speech' below it at ~25, 'Short answers' at ~33, then 'Names' and 'Numbers' arrive in quick succession at ~42 and ~44. All five rows then hold, left-aligned in a single column of white bold type, until the window ends.",
      "mechanism": "A left-aligned list builds row by row on the spoken cue: each row fades in with a small upward settle while earlier rows stay fixed, so hierarchy comes from order and timing, not motion.",
      "phases": [
        {
          "frame": 0,
          "label": "Presenter shot, no overlay"
        },
        {
          "frame": 15,
          "label": "Row 1 fades in"
        },
        {
          "frame": 25,
          "label": "Row 2"
        },
        {
          "frame": 33,
          "label": "Row 3"
        },
        {
          "frame": 42,
          "label": "Row 4"
        },
        {
          "frame": 44,
          "label": "Row 5, list complete"
        },
        {
          "frame": 60,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "feature-title-card-types-on-centred-two-lines",
      "title": "Cut to a white card and type a two-line feature title, centred, in under a second",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
        "id": "xnInEsaaj9c",
        "url": "https://www.youtube.com/watch?v=xnInEsaaj9c",
        "start": 59.25,
        "end": 62.25
      },
      "preview": "/videos/examples/additions/feature-title-card-types-on-centred-two-lines/remake.mp4",
      "sourcePreview": "/videos/examples/additions/feature-title-card-types-on-centred-two-lines/source.mp4",
      "adaptationPreview": "/videos/examples/additions/feature-title-card-types-on-centred-two-lines/adaptation.mp4",
      "download": "/videos/examples/additions/feature-title-card-types-on-centred-two-lines/package.zip",
      "svg": "/videos/examples/additions/feature-title-card-types-on-centred-two-lines/editable.svg",
      "resolve": "/videos/examples/additions/feature-title-card-types-on-centred-two-lines/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145552,
      "packageSha256": "204d3274eaafb760974fc96bfb1253eb093e49ac8c8129a38ecb24cddc2aa541",
      "poster": "/videos/examples/posters/feature-title-card-types-on-centred-two-lines.jpg",
      "render": {
        "sha256": "5ae695bda70eae0913a5728af2a65077e7cc9e1b66261f6cd3499cf885c8bca7",
        "bytes": 47199,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 180,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/feature-title-card-types-on-centred-two-lines/item.json",
      "observation": "Hard cut from the magnified manuscript to a plain white card at about f4. A bold black title types on character by character from f6: 'Search literature and' fills the first line by about f22, wraps, and 'manage references' completes by f45. The two lines are centred as a block just above the vertical middle. The card holds with no motion until the next cut at f180.",
      "mechanism": "A centred two-line title type-on used as a chapter marker: fast character reveal, natural wrap, long hold.",
      "phases": [
        {
          "frame": 0,
          "label": "Tail of the previous shot"
        },
        {
          "frame": 4,
          "label": "Hard cut to white card"
        },
        {
          "frame": 6,
          "label": "Title types on, line one"
        },
        {
          "frame": 22,
          "label": "Wraps to line two"
        },
        {
          "frame": 45,
          "label": "Complete; hold to the end"
        }
      ]
    },
    {
      "id": "figure-inserts-into-manuscript-and-body-steps-down",
      "title": "Insert a diagram into a manuscript in one frame and let the body text step down to make room",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing Prism, a free workspace for scientists to write and collaborate on research",
        "id": "xnInEsaaj9c",
        "url": "https://www.youtube.com/watch?v=xnInEsaaj9c",
        "start": 55.5,
        "end": 57.5
      },
      "preview": "/videos/examples/additions/figure-inserts-into-manuscript-and-body-steps-down/remake.mp4",
      "sourcePreview": "/videos/examples/additions/figure-inserts-into-manuscript-and-body-steps-down/source.mp4",
      "adaptationPreview": "/videos/examples/additions/figure-inserts-into-manuscript-and-body-steps-down/adaptation.mp4",
      "download": "/videos/examples/additions/figure-inserts-into-manuscript-and-body-steps-down/package.zip",
      "svg": "/videos/examples/additions/figure-inserts-into-manuscript-and-body-steps-down/editable.svg",
      "resolve": "/videos/examples/additions/figure-inserts-into-manuscript-and-body-steps-down/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150442,
      "packageSha256": "30f9821145989fc66c5077fb9d5e584f835a1a8b05c4905ee780683a72f1f1d6",
      "poster": "/videos/examples/posters/figure-inserts-into-manuscript-and-body-steps-down.jpg",
      "render": {
        "sha256": "af6ee9ed53a6ac41d023d7dc389c096c0d93e6f71ef65bfcb9be0e087923c8e2",
        "bytes": 176334,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 120,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/figure-inserts-into-manuscript-and-body-steps-down/item.json",
      "observation": "A magnified view of a typeset paper page fills most of the frame, with a dark assistant panel visible at the left edge. Equations occupy the upper third and a numbered list of results begins below them. Nothing moves for about 44 frames. On f44-46 a commutative diagram (labelled nodes joined by arrows) appears between the last equation and the list, and the list steps down by the diagram's height in the same instant. The page then holds still.",
      "mechanism": "An insert as a hard state change: new content appears in place with no animation, and everything below reflows downward by exactly its height on the same frame.",
      "phases": [
        {
          "frame": 0,
          "label": "Page holds: equations above, results list below"
        },
        {
          "frame": 44,
          "label": "Diagram appears; list steps down 260px"
        },
        {
          "frame": 47,
          "label": "Hold on the new layout"
        }
      ]
    },
    {
      "id": "four-word-staircase-title-types-around-phone",
      "title": "Type a four-word title on, one word per beat, stepping down and around a centred phone",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Image interaction with GPT-Live",
        "id": "KS4X-BPjxN8",
        "url": "https://www.youtube.com/watch?v=KS4X-BPjxN8",
        "start": 0.0,
        "end": 3.3366666666666664
      },
      "preview": "/videos/examples/additions/four-word-staircase-title-types-around-phone/remake.mp4",
      "sourcePreview": "/videos/examples/additions/four-word-staircase-title-types-around-phone/source.mp4",
      "adaptationPreview": "/videos/examples/additions/four-word-staircase-title-types-around-phone/adaptation.mp4",
      "download": "/videos/examples/additions/four-word-staircase-title-types-around-phone/package.zip",
      "svg": "/videos/examples/additions/four-word-staircase-title-types-around-phone/editable.svg",
      "resolve": "/videos/examples/additions/four-word-staircase-title-types-around-phone/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 147222,
      "packageSha256": "a97e0b639f6eb12303e8917d7831bd34dd1e028a7c42482888f496bbd7b76a5f",
      "poster": "/videos/examples/posters/four-word-staircase-title-types-around-phone.jpg",
      "render": {
        "sha256": "dfbf26eaaa9cf4a5d441186a3aaf4e903cb8bb30b945d6ff4bdeee9ecbeb8468",
        "bytes": 51412,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 80,
        "duration": 3.336656,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/four-word-staircase-title-types-around-phone/item.json",
      "observation": "A hand holds a phone with a blank chat screen against a dark room with warm light streaks; a fingertip hovers near the composer. Large white words type on character by character in a staircase: 'Use' at upper left (local ~7-11), 'images' below it (~16-20), 'with' to the right of the phone lower down (~25-31) and 'Voice' bottom right (~35-39). The four words hold; at ~64-72 a soft lilac orb blooms on the phone screen, and the shot cuts away at master frame 83.",
      "mechanism": "Word-per-beat staircase title: each word types on with a fast per-character reveal at its own fixed position, stepping diagonally around a device so the copy frames the product instead of covering it.",
      "phases": [
        {
          "frame": 0,
          "label": "Phone, no copy"
        },
        {
          "frame": 7,
          "label": "Word 1 types on"
        },
        {
          "frame": 16,
          "label": "Word 2"
        },
        {
          "frame": 25,
          "label": "Word 3"
        },
        {
          "frame": 35,
          "label": "Word 4, title complete"
        },
        {
          "frame": 64,
          "label": "Orb blooms on screen"
        }
      ]
    },
    {
      "id": "four-word-staircase-title-types-corner-to-corner-then-subline",
      "title": "Type a four-word title as a staircase from top-left to mid-right, then type a small sub-line bottom-left",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT can now complete tasks on your computer",
        "id": "dB6pOolO7io",
        "url": "https://www.youtube.com/watch?v=dB6pOolO7io",
        "start": 0.0,
        "end": 2.5025
      },
      "preview": "/videos/examples/additions/four-word-staircase-title-types-corner-to-corner-then-subline/remake.mp4",
      "sourcePreview": "/videos/examples/additions/four-word-staircase-title-types-corner-to-corner-then-subline/source.mp4",
      "adaptationPreview": "/videos/examples/additions/four-word-staircase-title-types-corner-to-corner-then-subline/adaptation.mp4",
      "download": "/videos/examples/additions/four-word-staircase-title-types-corner-to-corner-then-subline/package.zip",
      "svg": "/videos/examples/additions/four-word-staircase-title-types-corner-to-corner-then-subline/editable.svg",
      "resolve": "/videos/examples/additions/four-word-staircase-title-types-corner-to-corner-then-subline/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146185,
      "packageSha256": "dbea4203b32d5544eb722a611237339cd1f6233090e6c178d663d3c03337ea90",
      "poster": "/videos/examples/posters/four-word-staircase-title-types-corner-to-corner-then-subline.jpg",
      "render": {
        "sha256": "c271573edd5918e94ebdf75b1f9baec29a3a82f22fdf2cbd854f2463f6c15511",
        "bytes": 34552,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 60,
        "duration": 2.502489,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/four-word-staircase-title-types-corner-to-corner-then-subline/item.json",
      "observation": "A presenter walks into a bright loft. Word one types on character by character at the top-left (~f6\u2013f10); word two appears indented beneath it (~f16). After a pause, word three types on at the right side of frame, lower (~f30\u2013f36), and word four types beneath it, indented further right (~f38\u2013f42). Finally a small sentence types on along the bottom-left (~f50\u2013f58). All type is white with a soft shadow; nothing moves once placed.",
      "mechanism": "Staircase title: four words type on in reading order at descending, offset positions, then a smaller sub-line types on as a fifth beat.",
      "phases": [
        {
          "frame": 0,
          "label": "Footage only"
        },
        {
          "frame": 6,
          "label": "Word 1 types top-left"
        },
        {
          "frame": 16,
          "label": "Word 2 beneath, indented"
        },
        {
          "frame": 30,
          "label": "Word 3 types mid-right"
        },
        {
          "frame": 38,
          "label": "Word 4 beneath, indented"
        },
        {
          "frame": 50,
          "label": "Sub-line types bottom-left"
        }
      ]
    },
    {
      "id": "grid-tile-hover-reveals-actions-then-click-expands-lightbox",
      "title": "Hover a board tile to reveal its action buttons, click it, and scale the image up into a lightbox",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 16.416666666666668,
        "end": 18.416666666666668
      },
      "preview": "/videos/examples/additions/grid-tile-hover-reveals-actions-then-click-expands-lightbox/remake.mp4",
      "sourcePreview": "/videos/examples/additions/grid-tile-hover-reveals-actions-then-click-expands-lightbox/source.mp4",
      "adaptationPreview": "/videos/examples/additions/grid-tile-hover-reveals-actions-then-click-expands-lightbox/adaptation.mp4",
      "download": "/videos/examples/additions/grid-tile-hover-reveals-actions-then-click-expands-lightbox/package.zip",
      "svg": "/videos/examples/additions/grid-tile-hover-reveals-actions-then-click-expands-lightbox/editable.svg",
      "resolve": "/videos/examples/additions/grid-tile-hover-reveals-actions-then-click-expands-lightbox/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149372,
      "packageSha256": "6af27b18ba6fdb39244180ed80247621d7e0952c6ca3591e3f063c70bd136391",
      "poster": "/videos/examples/posters/grid-tile-hover-reveals-actions-then-click-expands-lightbox.jpg",
      "render": {
        "sha256": "733c49405b49f4e1d914742eae186b00e32121ea5b4bb8b5978f1d7fbbce8903",
        "bytes": 111919,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 120,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/grid-tile-hover-reveals-actions-then-click-expands-lightbox/item.json",
      "observation": "An app window shows a left text column and a five-by-three image board. The pointer rests on one tile; at ~f10 two small round action buttons appear on the tile's top corners. At ~f30 the pointer clicks and the tile grows into a centred lightbox with prev/next arrows and an action bar beneath, the board fading behind it (~f30\u2013f45). Around ~f80 the left column's text is replaced with a new paragraph while the lightbox stays.",
      "mechanism": "Hover-disclosed tile actions, then a click that scales the tile into a lightbox overlay while the side column updates asynchronously.",
      "phases": [
        {
          "frame": 0,
          "label": "Pointer resting on tile"
        },
        {
          "frame": 10,
          "label": "Tile action buttons appear"
        },
        {
          "frame": 30,
          "label": "Click: tile scales into lightbox"
        },
        {
          "frame": 45,
          "label": "Lightbox settled"
        },
        {
          "frame": 80,
          "label": "Left column text swaps"
        }
      ]
    },
    {
      "id": "hard-cut-to-two-shot-then-paired-lower-thirds-fade-in",
      "title": "Hard cut from b-roll to a two-shot, then fade two lower thirds in simultaneously under each speaker",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How California Small Businesses Are Using ChatGPT | OpenAI Academy",
        "id": "cFyFF3Ad2aM",
        "url": "https://www.youtube.com/watch?v=cFyFF3Ad2aM",
        "start": 76.74333333333334,
        "end": 79.24583333333334
      },
      "preview": "/videos/examples/additions/hard-cut-to-two-shot-then-paired-lower-thirds-fade-in/remake.mp4",
      "sourcePreview": "/videos/examples/additions/hard-cut-to-two-shot-then-paired-lower-thirds-fade-in/source.mp4",
      "adaptationPreview": "/videos/examples/additions/hard-cut-to-two-shot-then-paired-lower-thirds-fade-in/adaptation.mp4",
      "download": "/videos/examples/additions/hard-cut-to-two-shot-then-paired-lower-thirds-fade-in/package.zip",
      "svg": "/videos/examples/additions/hard-cut-to-two-shot-then-paired-lower-thirds-fade-in/editable.svg",
      "resolve": "/videos/examples/additions/hard-cut-to-two-shot-then-paired-lower-thirds-fade-in/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 147080,
      "packageSha256": "748991e53594913b42aa6ac99346ce7b9c2847ef0b6c37adac6ae57c48033312",
      "poster": "/videos/examples/posters/hard-cut-to-two-shot-then-paired-lower-thirds-fade-in.jpg",
      "render": {
        "sha256": "f6fee37042d8d2ecf05d090111215eaa4f588a568d025a22079797acf4de5f9a",
        "bytes": 98419,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 60,
        "duration": 2.502489,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/hard-cut-to-two-shot-then-paired-lower-thirds-fade-in/item.json",
      "observation": "Ten frames of b-roll (a seated speaker with a microphone at a dark table, crowd behind) then a hard cut at local frame 10 (master 1850) to a bright two-shot: two people standing in front of a cream wall and a curved black stair rail, banner at right. Starting at ~12 both lower thirds fade in at once, one under each person (left at x\u2248200, right at x\u22481066), reaching full opacity by ~20 (master 1860). Each is a white semibold name over a lighter role line, no plate. The shot then holds.",
      "mechanism": "Cut then paired identification: a hard cut lands the two-shot, and two independent lower thirds share one fade so both subjects are named in a single beat.",
      "phases": [
        {
          "frame": 0,
          "label": "B-roll"
        },
        {
          "frame": 10,
          "label": "Hard cut to two-shot"
        },
        {
          "frame": 12,
          "label": "Both lower thirds start fading in"
        },
        {
          "frame": 20,
          "label": "Lower thirds fully on"
        },
        {
          "frame": 45,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "interstitial-question-card-types-on-white-then-holds",
      "title": "Cut to a white card and type a two-line interview question on, then hold before cutting back",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Think AI-First: Emmanuel Marill on Building AI-Native Companies | OpenAI France",
        "id": "Fu3WWi-pAv4",
        "url": "https://www.youtube.com/watch?v=Fu3WWi-pAv4",
        "start": 8.74,
        "end": 12.1
      },
      "preview": "/videos/examples/additions/interstitial-question-card-types-on-white-then-holds/remake.mp4",
      "sourcePreview": "/videos/examples/additions/interstitial-question-card-types-on-white-then-holds/source.mp4",
      "adaptationPreview": "/videos/examples/additions/interstitial-question-card-types-on-white-then-holds/adaptation.mp4",
      "download": "/videos/examples/additions/interstitial-question-card-types-on-white-then-holds/package.zip",
      "svg": "/videos/examples/additions/interstitial-question-card-types-on-white-then-holds/editable.svg",
      "resolve": "/videos/examples/additions/interstitial-question-card-types-on-white-then-holds/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 144925,
      "packageSha256": "43c10f499834540eb8b0a2d1147f8c3b76ad1911f3bd5d5fd64602894ed9c1c4",
      "poster": "/videos/examples/posters/interstitial-question-card-types-on-white-then-holds.jpg",
      "render": {
        "sha256": "83285e2ea7749118cbc5edfd08f40d82b03a86aa4588eb4a0a48bc641ff84435",
        "bytes": 66803,
        "width": 1920,
        "height": 1080,
        "fps": "50/1",
        "frames": 168,
        "duration": 3.36,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/interstitial-question-card-types-on-white-then-holds/item.json",
      "observation": "The interview footage hard-cuts to a plain white card. From local f1 a bold, centred, two-line question types on character by character with no caret ('Wha' by f3, the first line and 'fo' by ~f23, the full second line by ~f66). The finished question then holds motionless until the card cuts back to footage at f168.",
      "mechanism": "An interstitial question card: hard cut to white, centred two-line type-on with a linear character reveal, then a long static hold.",
      "phases": [
        {
          "frame": 0,
          "label": "White card"
        },
        {
          "frame": 1,
          "label": "Character type-on begins"
        },
        {
          "frame": 66,
          "label": "Second line complete"
        },
        {
          "frame": 167,
          "label": "Hold before cut back"
        }
      ]
    },
    {
      "id": "interview-caption-first-word-pops-then-types",
      "title": "Pop the first word of a lower caption, then type the rest character by character",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "First impressions of GPT-6 Astra from developers",
        "id": "-TTyyY3VWh8",
        "url": "https://www.youtube.com/watch?v=-TTyyY3VWh8",
        "start": 5.25525,
        "end": 7.25725
      },
      "preview": "/videos/examples/additions/interview-caption-first-word-pops-then-types/remake.mp4",
      "sourcePreview": "/videos/examples/additions/interview-caption-first-word-pops-then-types/source.mp4",
      "adaptationPreview": "/videos/examples/additions/interview-caption-first-word-pops-then-types/adaptation.mp4",
      "download": "/videos/examples/additions/interview-caption-first-word-pops-then-types/package.zip",
      "svg": "/videos/examples/additions/interview-caption-first-word-pops-then-types/editable.svg",
      "resolve": "/videos/examples/additions/interview-caption-first-word-pops-then-types/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145841,
      "packageSha256": "a65166af7558f53cf698f6441f42017c830af6008a56c6521348e337ef1371ba",
      "poster": "/videos/examples/posters/interview-caption-first-word-pops-then-types.jpg",
      "render": {
        "sha256": "71e0d7587d1dae183368a6eb1e03b231b5cd7925d7bfdedb08f86410743dc641",
        "bytes": 21889,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 48,
        "duration": 2.001989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/interview-caption-first-word-pops-then-types/item.json",
      "observation": "Over an interview shot the bottom-left caption is empty for the first six frames (master 126-131). At master 132 (local 6) the word 'with' appears whole in white bold sans. From local 11 the remaining names type in a few characters per frame ('Ben, Pe' at local 11, 'Peter,' at 15, 'and' at 17, 'and T' at 19) and the full line 'with Ben, Peter, and Tom' is complete by local 21, then holds to the end of the window.",
      "mechanism": "Caption build in two speeds: the lead word pops on as a unit, then the rest of the line types on character by character and holds.",
      "phases": [
        {
          "frame": 0,
          "label": "Interview plate, no caption"
        },
        {
          "frame": 6,
          "label": "Lead word pops on whole"
        },
        {
          "frame": 11,
          "label": "Names type on by character"
        },
        {
          "frame": 21,
          "label": "Caption complete, hold"
        }
      ]
    },
    {
      "id": "interview-lower-third-fades-in-holds-and-fades-out",
      "title": "Fade a name-and-role lower third in after the cut, hold, and fade it out before the next cut",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How European Small Businesses Are Using ChatGPT and Codex | OpenAI Academy",
        "id": "4Nv--b12hxQ",
        "url": "https://www.youtube.com/watch?v=4Nv--b12hxQ",
        "start": 40.48,
        "end": 45.24
      },
      "preview": "/videos/examples/additions/interview-lower-third-fades-in-holds-and-fades-out/remake.mp4",
      "sourcePreview": "/videos/examples/additions/interview-lower-third-fades-in-holds-and-fades-out/source.mp4",
      "adaptationPreview": "/videos/examples/additions/interview-lower-third-fades-in-holds-and-fades-out/adaptation.mp4",
      "download": "/videos/examples/additions/interview-lower-third-fades-in-holds-and-fades-out/package.zip",
      "svg": "/videos/examples/additions/interview-lower-third-fades-in-holds-and-fades-out/editable.svg",
      "resolve": "/videos/examples/additions/interview-lower-third-fades-in-holds-and-fades-out/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146049,
      "packageSha256": "636b466f5e9ba82a16b053bd5e69e52b7d0596e4b4c462e48353e4b4ca361410",
      "poster": "/videos/examples/posters/interview-lower-third-fades-in-holds-and-fades-out.jpg",
      "render": {
        "sha256": "552fb0759d71018c6765f63c27e0fe18eb01ebdcd4df11204e67ad4dc3ac243e",
        "bytes": 38578,
        "width": 1920,
        "height": 1080,
        "fps": "25/1",
        "frames": 119,
        "duration": 4.76,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/interview-lower-third-fades-in-holds-and-fades-out/item.json",
      "observation": "Six frames of a cool-toned workshop b-roll shot, then a hard cut (~f6) to a warm ballroom interview. At about f10 a bold white name begins to fade in at the lower-left with a smaller role line beneath it; both are fully opaque by f24. The lower third holds through f104, then both lines fade together to zero by f117, leaving the interview frame clean for the next cut.",
      "mechanism": "A classic interview lower third: a short delayed fade-in after the cut, a long hold, and a fade-out that clears before the shot ends.",
      "phases": [
        {
          "frame": 0,
          "label": "B-roll shot"
        },
        {
          "frame": 6,
          "label": "Hard cut to interview"
        },
        {
          "frame": 10,
          "label": "Name and role fade in (14 frames)"
        },
        {
          "frame": 24,
          "label": "Hold"
        },
        {
          "frame": 104,
          "label": "Fade out (13 frames)"
        },
        {
          "frame": 117,
          "label": "Clean frame"
        }
      ]
    },
    {
      "id": "interview-lower-third-name-and-role-fade-up-together",
      "title": "Fade an interview lower third up as one block, name and role together, with no plate",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How California Small Businesses Are Using ChatGPT | OpenAI Academy",
        "id": "cFyFF3Ad2aM",
        "url": "https://www.youtube.com/watch?v=cFyFF3Ad2aM",
        "start": 39.748041666666666,
        "end": 43.25154166666667
      },
      "preview": "/videos/examples/additions/interview-lower-third-name-and-role-fade-up-together/remake.mp4",
      "sourcePreview": "/videos/examples/additions/interview-lower-third-name-and-role-fade-up-together/source.mp4",
      "adaptationPreview": "/videos/examples/additions/interview-lower-third-name-and-role-fade-up-together/adaptation.mp4",
      "download": "/videos/examples/additions/interview-lower-third-name-and-role-fade-up-together/package.zip",
      "svg": "/videos/examples/additions/interview-lower-third-name-and-role-fade-up-together/editable.svg",
      "resolve": "/videos/examples/additions/interview-lower-third-name-and-role-fade-up-together/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146170,
      "packageSha256": "41defc797293e02b0af0cd0f6ed207a88388143a9d958dc40304bcf39b3cd352",
      "poster": "/videos/examples/posters/interview-lower-third-name-and-role-fade-up-together.jpg",
      "render": {
        "sha256": "d937b5ee7861aeac654fe772e8badf6dc1652e6e337edeefe672a0e706ecda44",
        "bytes": 61298,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 84,
        "duration": 3.503489,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/interview-lower-third-name-and-role-fade-up-together/item.json",
      "observation": "Medium interview shot, subject left of centre against a warm hall wall with a pastel banner at right. The frame is clean for the first five frames. From about local frame 5 (master 958) a white name in semibold and a lighter one-line role fade up together at the lower left; they are fully opaque by ~12 (master 965) with a slight rise of a few pixels. There is no background plate, bar or line, and the text holds unchanged for the rest of the shot.",
      "mechanism": "Single-block lower third: name and role are one group with a shared opacity ramp and a small upward settle, relying on weight contrast instead of a plate.",
      "phases": [
        {
          "frame": 0,
          "label": "Clean interview frame"
        },
        {
          "frame": 5,
          "label": "Name and role start fading up"
        },
        {
          "frame": 12,
          "label": "Lower third fully on"
        },
        {
          "frame": 60,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "kicker-holds-then-split-title-lands-top-and-bottom",
      "title": "Show a small centred kicker, drop it, then land a two-word title split to the top and bottom edges",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Ten tiny canvases",
        "id": "fmzaw4HB9N0",
        "url": "https://www.youtube.com/watch?v=fmzaw4HB9N0",
        "start": 17.100416666666668,
        "end": 22.105416666666667
      },
      "preview": "/videos/examples/additions/kicker-holds-then-split-title-lands-top-and-bottom/remake.mp4",
      "sourcePreview": "/videos/examples/additions/kicker-holds-then-split-title-lands-top-and-bottom/source.mp4",
      "adaptationPreview": "/videos/examples/additions/kicker-holds-then-split-title-lands-top-and-bottom/adaptation.mp4",
      "download": "/videos/examples/additions/kicker-holds-then-split-title-lands-top-and-bottom/package.zip",
      "svg": "/videos/examples/additions/kicker-holds-then-split-title-lands-top-and-bottom/editable.svg",
      "resolve": "/videos/examples/additions/kicker-holds-then-split-title-lands-top-and-bottom/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145767,
      "packageSha256": "24fabd9ca2d77970a41513dde5e47b7dc71ce1c9d4ee7b62870848b96a244e32",
      "poster": "/videos/examples/posters/kicker-holds-then-split-title-lands-top-and-bottom.jpg",
      "render": {
        "sha256": "5efa36b31ad35f27b293f8f75c9500557e7251325b18ce0284c1a26f48a1f03a",
        "bytes": 236942,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 120,
        "duration": 5.004989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/kicker-holds-then-split-title-lands-top-and-bottom/item.json",
      "observation": "Over a macro shot of swirling green nail polish, a small centred white kicker pops on (~f9) and holds for about 45 frames while the footage drifts (~f9\u2013f53). It vanishes at ~f54 leaving footage alone for nine frames. At ~f63 the two-word title pops on with the first word at the very top of frame and the second at the very bottom, both centred, and holds to the end of the window.",
      "mechanism": "Kicker-then-title sequencing with a deliberate empty beat, where the title is split to the top and bottom edges of frame.",
      "phases": [
        {
          "frame": 0,
          "label": "Footage only"
        },
        {
          "frame": 9,
          "label": "Kicker pops on, centred"
        },
        {
          "frame": 54,
          "label": "Kicker off; empty beat"
        },
        {
          "frame": 63,
          "label": "Title word 1 top, word 2 bottom"
        },
        {
          "frame": 100,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "kicker-types-top-left-then-two-line-title-types-bottom-right",
      "title": "Type a small kicker top-left, then type a two-line title bottom-right and clear it line by line",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "We're giving 100,000 academic researchers free access to our frontier models",
        "id": "MLehRytu9Zo",
        "url": "https://www.youtube.com/watch?v=MLehRytu9Zo",
        "start": 7.5075,
        "end": 10.5105
      },
      "preview": "/videos/examples/additions/kicker-types-top-left-then-two-line-title-types-bottom-right/remake.mp4",
      "sourcePreview": "/videos/examples/additions/kicker-types-top-left-then-two-line-title-types-bottom-right/source.mp4",
      "adaptationPreview": "/videos/examples/additions/kicker-types-top-left-then-two-line-title-types-bottom-right/adaptation.mp4",
      "download": "/videos/examples/additions/kicker-types-top-left-then-two-line-title-types-bottom-right/package.zip",
      "svg": "/videos/examples/additions/kicker-types-top-left-then-two-line-title-types-bottom-right/editable.svg",
      "resolve": "/videos/examples/additions/kicker-types-top-left-then-two-line-title-types-bottom-right/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146219,
      "packageSha256": "3a465b433b72fe0d0db60522d0092ac3f9221c96bdaeb00ecb75c2e43576e0ef",
      "poster": "/videos/examples/posters/kicker-types-top-left-then-two-line-title-types-bottom-right.jpg",
      "render": {
        "sha256": "c76385e2aa148e551f1672e474dce672d38b84bfabff862299f770ca28e5739a",
        "bytes": 30970,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 72,
        "duration": 3.002989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/kicker-types-top-left-then-two-line-title-types-bottom-right/item.json",
      "observation": "Over an overhead wide shot of a bright room, a small sans-serif kicker types on character by character in the top-left corner (local f6\u2013f12). A large right-aligned serif title then appears bottom-right: the first line lands almost at once (~f16\u2013f21) and the second line types on character by character (~f24\u2013f36). Both hold until ~f64; the second line is removed first (~f65), the first line at ~f69, while the kicker stays on screen past the end of the window.",
      "mechanism": "Two-register title build: a small corner kicker types on first, then a large two-line right-aligned title types on line by line and is cleared bottom line first.",
      "phases": [
        {
          "frame": 0,
          "label": "Footage only"
        },
        {
          "frame": 6,
          "label": "Kicker types on top-left"
        },
        {
          "frame": 16,
          "label": "Title line 1 types bottom-right"
        },
        {
          "frame": 24,
          "label": "Title line 2 types beneath"
        },
        {
          "frame": 36,
          "label": "Hold"
        },
        {
          "frame": 65,
          "label": "Line 2 cleared, then line 1"
        }
      ]
    },
    {
      "id": "lightbox-arrows-step-through-mixed-aspect-ad-variants",
      "title": "Step a lightbox through ad variants on a fixed beat while the frame resizes to each new aspect ratio",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 68.33333333333333,
        "end": 73.33333333333333
      },
      "preview": "/videos/examples/additions/lightbox-arrows-step-through-mixed-aspect-ad-variants/remake.mp4",
      "sourcePreview": "/videos/examples/additions/lightbox-arrows-step-through-mixed-aspect-ad-variants/source.mp4",
      "adaptationPreview": "/videos/examples/additions/lightbox-arrows-step-through-mixed-aspect-ad-variants/adaptation.mp4",
      "download": "/videos/examples/additions/lightbox-arrows-step-through-mixed-aspect-ad-variants/package.zip",
      "svg": "/videos/examples/additions/lightbox-arrows-step-through-mixed-aspect-ad-variants/editable.svg",
      "resolve": "/videos/examples/additions/lightbox-arrows-step-through-mixed-aspect-ad-variants/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149048,
      "packageSha256": "230f429438ac85b46a76cf20b42033eadc93dc96091edac9c4bcb5830043e9c2",
      "poster": "/videos/examples/posters/lightbox-arrows-step-through-mixed-aspect-ad-variants.jpg",
      "render": {
        "sha256": "b7a519830a64d97ddd54fe42d4c550eea4d8992cfee4724e3195ecb8908ab013",
        "bytes": 121299,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/lightbox-arrows-step-through-mixed-aspect-ad-variants/item.json",
      "observation": "A lightbox shows a square ad card with a small brand kicker, a large serif headline, a date and a product photo. Every ~48 frames the card hard-swaps to the next variant: two landscape 4:3 versions (~f14, ~f62), two 16:9 versions (~f110, ~f158), a very wide banner (~f206) and a portrait (~f254). The card is always re-centred and the arrows and action bar stay put; the left text column and the window do not change.",
      "mechanism": "Fixed-tempo carousel stepping: each step is a hard swap that re-fits the centred card to a different aspect ratio without any slide or fade.",
      "phases": [
        {
          "frame": 0,
          "label": "Square variant"
        },
        {
          "frame": 14,
          "label": "Landscape 4:3"
        },
        {
          "frame": 62,
          "label": "Landscape 4:3 variant"
        },
        {
          "frame": 110,
          "label": "Landscape 16:9"
        },
        {
          "frame": 158,
          "label": "16:9 variant"
        },
        {
          "frame": 206,
          "label": "Wide banner"
        },
        {
          "frame": 254,
          "label": "Portrait"
        }
      ]
    },
    {
      "id": "loader-label-shimmers-twice-then-dissolves-to-image-created",
      "title": "Sweep a dark shimmer across a huge grey loading label twice, then cross-dissolve it to the done label",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Character Consistency with 4o Image Generation",
        "id": "PFsOUNfBhzI",
        "url": "https://www.youtube.com/watch?v=PFsOUNfBhzI",
        "start": 26.69333333333333,
        "end": 29.69633333333333
      },
      "preview": "/videos/examples/additions/loader-label-shimmers-twice-then-dissolves-to-image-created/remake.mp4",
      "sourcePreview": "/videos/examples/additions/loader-label-shimmers-twice-then-dissolves-to-image-created/source.mp4",
      "adaptationPreview": "/videos/examples/additions/loader-label-shimmers-twice-then-dissolves-to-image-created/adaptation.mp4",
      "download": "/videos/examples/additions/loader-label-shimmers-twice-then-dissolves-to-image-created/package.zip",
      "svg": "/videos/examples/additions/loader-label-shimmers-twice-then-dissolves-to-image-created/editable.svg",
      "resolve": "/videos/examples/additions/loader-label-shimmers-twice-then-dissolves-to-image-created/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145795,
      "packageSha256": "5a4c20e63e3e05fc8cfcf05921a14645ee62504377413eedaed8974d83fb9d09",
      "poster": "/videos/examples/posters/loader-label-shimmers-twice-then-dissolves-to-image-created.jpg",
      "render": {
        "sha256": "b60ae50a2991b751f9c49a317f8b6a5bd0a29ed405629d0f3c242024a3feddd5",
        "bytes": 47721,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 72,
        "duration": 3.002989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/loader-label-shimmers-twice-then-dissolves-to-image-created/item.json",
      "observation": "Extreme close-up of a chat response: a light grey 150px 'Finishing touches' label above the rounded top edge of a beige image placeholder. A darker band roughly half the label's width sweeps across the letters from left to right (~f2-22), then again (~f32-52). Around ~f54-62 the label cross-dissolves into 'Image created' in the same grey, which holds until a hard cut at the end of the interval.",
      "mechanism": "Loading-state shimmer: a moving dark band revealed through the text, repeated on a fixed cycle, then a straight cross-dissolve to the completed-state label.",
      "phases": [
        {
          "frame": 0,
          "label": "Grey label and beige placeholder"
        },
        {
          "frame": 2,
          "label": "First shimmer sweep"
        },
        {
          "frame": 32,
          "label": "Second shimmer sweep"
        },
        {
          "frame": 54,
          "label": "Cross-dissolve to done label"
        },
        {
          "frame": 62,
          "label": "Hold until hard cut"
        }
      ]
    },
    {
      "id": "log-rows-stack-then-swap-to-streaming-brief-with-autoscroll",
      "title": "Stack tool-call rows, hard-swap to a streaming brief, then autoscroll as sections fill in",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Schedule tasks with ChatGPT",
        "id": "CToxp125mhc",
        "url": "https://www.youtube.com/watch?v=CToxp125mhc",
        "start": 16.5165,
        "end": 19.76975
      },
      "preview": "/videos/examples/additions/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/remake.mp4",
      "sourcePreview": "/videos/examples/additions/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/source.mp4",
      "adaptationPreview": "/videos/examples/additions/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/adaptation.mp4",
      "download": "/videos/examples/additions/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/package.zip",
      "svg": "/videos/examples/additions/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/editable.svg",
      "resolve": "/videos/examples/additions/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 153166,
      "packageSha256": "d926becb026f85715af57af959840150887114d5058d2a13c2e0c561760e95ff",
      "poster": "/videos/examples/posters/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll.jpg",
      "render": {
        "sha256": "0bce2f6fe2a8a86240211f30cd4c9e9ef3ae781c12ff950c858679aaebdfe9ca",
        "bytes": 394954,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 78,
        "duration": 3.253244,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/item.json",
      "observation": "White app view with the user's short question as a small bubble top-right and a presenter PiP beneath it. Under 'Worked for 12s' an activity log grows one row every 2-3 frames (local 0 to 13): alternating dark task lines and small grey 'searched...' sub-rows. At ~14 (master 410) the whole log is replaced by the answer: a 30 px heading fades in, a grey 'Top line' callout and a 'Sources reviewed' table follow, and the table's five rows arrive at ~3-frame intervals (18-30). 'Do today' with three numbered items lands around 32-37, then from ~38 (master 434) the page scrolls up by about 420 px while a 'Meetings' table appears; a second scroll around 60-76 brings later meeting rows into view.",
      "mechanism": "Two-stage response arrival: a log list populates row by row, is swapped in one frame for the formatted answer, and the answer streams section by section while the container autoscrolls to keep the newest rows in view.",
      "phases": [
        {
          "frame": 0,
          "label": "Activity log rows stacking"
        },
        {
          "frame": 14,
          "label": "Log replaced by heading"
        },
        {
          "frame": 18,
          "label": "Sources table rows stream in"
        },
        {
          "frame": 32,
          "label": "Do today list"
        },
        {
          "frame": 38,
          "label": "First autoscroll, Meetings table"
        },
        {
          "frame": 60,
          "label": "Second autoscroll, later meeting rows"
        }
      ]
    },
    {
      "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",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "No Limits on Text Chats with ChatGPT",
        "id": "9MIkJHcMtVA",
        "url": "https://www.youtube.com/watch?v=9MIkJHcMtVA",
        "start": 84.91816666666666,
        "end": 89.50608333333334
      },
      "preview": "/videos/examples/additions/lyric-caption-holds-across-cuts-with-beat-dot-blips/remake.mp4",
      "sourcePreview": "/videos/examples/additions/lyric-caption-holds-across-cuts-with-beat-dot-blips/source.mp4",
      "adaptationPreview": "/videos/examples/additions/lyric-caption-holds-across-cuts-with-beat-dot-blips/adaptation.mp4",
      "download": "/videos/examples/additions/lyric-caption-holds-across-cuts-with-beat-dot-blips/package.zip",
      "svg": "/videos/examples/additions/lyric-caption-holds-across-cuts-with-beat-dot-blips/editable.svg",
      "resolve": "/videos/examples/additions/lyric-caption-holds-across-cuts-with-beat-dot-blips/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148102,
      "packageSha256": "f4867f21025a42d8074add62ec3b7a91ee02d2b6ec4ddbbc86e42cb28f864fa3",
      "poster": "/videos/examples/posters/lyric-caption-holds-across-cuts-with-beat-dot-blips.jpg",
      "render": {
        "sha256": "94a5bae5861a47f43fe33cbc5bfef45256edf6310761a32310e28f09bd4be576",
        "bytes": 80882,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 110,
        "duration": 4.587911,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/lyric-caption-holds-across-cuts-with-beat-dot-blips/item.json",
      "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"
        }
      ]
    },
    {
      "id": "macro-crop-pulls-back-to-full-app-window",
      "title": "Hold a macro crop on the player's action row, then pull back in one eased move to the full app window",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to storyboard with Sora",
        "id": "6PXWAvUG8Sg",
        "url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg",
        "start": 132.83333333333334,
        "end": 134.66666666666666
      },
      "preview": "/videos/examples/additions/macro-crop-pulls-back-to-full-app-window/remake.mp4",
      "sourcePreview": "/videos/examples/additions/macro-crop-pulls-back-to-full-app-window/source.mp4",
      "adaptationPreview": "/videos/examples/additions/macro-crop-pulls-back-to-full-app-window/adaptation.mp4",
      "download": "/videos/examples/additions/macro-crop-pulls-back-to-full-app-window/package.zip",
      "svg": "/videos/examples/additions/macro-crop-pulls-back-to-full-app-window/editable.svg",
      "resolve": "/videos/examples/additions/macro-crop-pulls-back-to-full-app-window/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149063,
      "packageSha256": "b9e14568ed75374e726624c11d26f202a11a2bf19cc0b4487091abe15cee7334",
      "poster": "/videos/examples/posters/macro-crop-pulls-back-to-full-app-window.jpg",
      "render": {
        "sha256": "9e75b18076059048959d8e2a91ee298fee6b278e2037342d3437922524ed09bc",
        "bytes": 158991,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 110,
        "duration": 1.833333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/macro-crop-pulls-back-to-full-app-window/item.json",
      "observation": "Macro crop on the bottom of a video player: the picture fills the top half, below it a thin progress track, two segment buttons with a 'Storyboard' label, and an action row (Edit story, Re-cut, Remix, Blend, Loop) with a tooltip 'Revise storyboard and create new videos' and an 'E' key chip above the first item. The tooltip fades out by about local frame 12 (master 7982) and the pointer drifts away. From ~28 (master 7998) the whole frame scales down and re-centres in one eased move, landing by ~60 (master 8030) on the full app view: header text and icons at top, the video as a 1520x760 window, the same controls now small beneath it, and coloured glows at the frame edges. It holds to the end.",
      "mechanism": "Single eased camera pull-back from a detail crop to the full screen: scale and translation are keyed together so the action row travels from centre-frame to its true position while everything else is revealed around it.",
      "phases": [
        {
          "frame": 0,
          "label": "Macro on action row with tooltip"
        },
        {
          "frame": 12,
          "label": "Tooltip gone, pointer drifts"
        },
        {
          "frame": 28,
          "label": "Pull-back begins"
        },
        {
          "frame": 60,
          "label": "Full app window"
        },
        {
          "frame": 100,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "micro-hud-effort-slider-fills-then-relaxes",
      "title": "Fill a floating composer's effort slider as a physical dial turns, swap its label, then let it fall back",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing the Codex Micro",
        "id": "m8uUUUsMD3Y",
        "url": "https://www.youtube.com/watch?v=m8uUUUsMD3Y",
        "start": 55.01329166666667,
        "end": 57.682625
      },
      "preview": "/videos/examples/additions/micro-hud-effort-slider-fills-then-relaxes/remake.mp4",
      "sourcePreview": "/videos/examples/additions/micro-hud-effort-slider-fills-then-relaxes/source.mp4",
      "adaptationPreview": "/videos/examples/additions/micro-hud-effort-slider-fills-then-relaxes/adaptation.mp4",
      "download": "/videos/examples/additions/micro-hud-effort-slider-fills-then-relaxes/package.zip",
      "svg": "/videos/examples/additions/micro-hud-effort-slider-fills-then-relaxes/editable.svg",
      "resolve": "/videos/examples/additions/micro-hud-effort-slider-fills-then-relaxes/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148366,
      "packageSha256": "389b0550eaa1a58f725bb6bc6b302f73422b6be4573ec27e2692bf3853785538",
      "poster": "/videos/examples/posters/micro-hud-effort-slider-fills-then-relaxes.jpg",
      "render": {
        "sha256": "f7dcd645b17d8560d326ada2f1b1a1ecaf9ebca003ab4198066aae48411b7c9e",
        "bytes": 33893,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 64,
        "duration": 2.669322,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/micro-hud-effort-slider-fills-then-relaxes/item.json",
      "observation": "A white composer card floats over warm, blurred desk footage while a hand works a small hardware controller. The card shows an empty placeholder, a 'Step 1 / 3' tag, an 'Advanced' row with an empty segmented slider, and a green-outlined model pill reading a light effort level. From ~f9 the slider fills blue left to right, reaching full at ~f26 while the pill label changes to the high effort level; it holds full until ~f51, then drains back to empty by ~f60 as the label reverts. The window ends on a cut at f64.",
      "mechanism": "Overlay control state driven by an off-screen input: a slider fill with a moving knob and a dependent label swap, then the reverse.",
      "phases": [
        {
          "frame": 0,
          "label": "Card idle, slider empty, light effort label"
        },
        {
          "frame": 9,
          "label": "Fill begins"
        },
        {
          "frame": 18,
          "label": "Label swaps to high effort"
        },
        {
          "frame": 26,
          "label": "Slider full"
        },
        {
          "frame": 51,
          "label": "Fill drains"
        },
        {
          "frame": 56,
          "label": "Label reverts"
        },
        {
          "frame": 60,
          "label": "Empty again; cut at 64"
        }
      ]
    },
    {
      "id": "mx95-lower-third-name-pops-role-fades-held-to-cut",
      "title": "Pop a name, fade the role in beneath it, and hold the pair until a hard cut removes both",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How AI Agents Will Redesign Enterprise Work | Barak Kaufman, Wonderful",
        "id": "MX95QbxSc9Q",
        "url": "https://www.youtube.com/watch?v=MX95QbxSc9Q",
        "start": 10.48,
        "end": 12.72
      },
      "preview": "/videos/examples/additions/mx95-lower-third-name-pops-role-fades-held-to-cut/remake.mp4",
      "sourcePreview": "/videos/examples/additions/mx95-lower-third-name-pops-role-fades-held-to-cut/source.mp4",
      "adaptationPreview": "/videos/examples/additions/mx95-lower-third-name-pops-role-fades-held-to-cut/adaptation.mp4",
      "download": "/videos/examples/additions/mx95-lower-third-name-pops-role-fades-held-to-cut/package.zip",
      "svg": "/videos/examples/additions/mx95-lower-third-name-pops-role-fades-held-to-cut/editable.svg",
      "resolve": "/videos/examples/additions/mx95-lower-third-name-pops-role-fades-held-to-cut/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146026,
      "packageSha256": "a203ae830df2419f01367b32b33bc1495a72ad32efc04e5becb72318daff12db",
      "poster": "/videos/examples/posters/mx95-lower-third-name-pops-role-fades-held-to-cut.jpg",
      "render": {
        "sha256": "5c4bc6f4183d106d3288ef4d1ad62b98b21dc079a698369a6785897d1c8cd026",
        "bytes": 20836,
        "width": 1920,
        "height": 1080,
        "fps": "25/1",
        "frames": 56,
        "duration": 2.24,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/mx95-lower-third-name-pops-role-fades-held-to-cut/item.json",
      "observation": "A warm, dim interior interview shot with no graphics at local 0. At ~f5 a small white name appears at bottom-left; the role line beneath it is already faintly visible and reaches full opacity by ~f13. Both lines hold unchanged until ~f54, when the picture hard-cuts to a different interior angle and the lower third is gone on the same frame.",
      "mechanism": "Two-line lower third with a fast name pop and a slower role fade, exited by a hard cut rather than an out animation.",
      "phases": [
        {
          "frame": 0,
          "label": "Clean interior plate"
        },
        {
          "frame": 5,
          "label": "Name pops in"
        },
        {
          "frame": 7,
          "label": "Role begins fading in"
        },
        {
          "frame": 13,
          "label": "Role fully visible; hold"
        },
        {
          "frame": 54,
          "label": "Hard cut, lower third gone"
        }
      ]
    },
    {
      "id": "mx95-title-card-builds-in-three-beats-then-hard-cuts",
      "title": "Build a title card in three beats (line, line, kicker), hold, then hard-cut to footage",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How AI Agents Will Redesign Enterprise Work | Barak Kaufman, Wonderful",
        "id": "MX95QbxSc9Q",
        "url": "https://www.youtube.com/watch?v=MX95QbxSc9Q",
        "start": 4.0,
        "end": 6.64
      },
      "preview": "/videos/examples/additions/mx95-title-card-builds-in-three-beats-then-hard-cuts/remake.mp4",
      "sourcePreview": "/videos/examples/additions/mx95-title-card-builds-in-three-beats-then-hard-cuts/source.mp4",
      "adaptationPreview": "/videos/examples/additions/mx95-title-card-builds-in-three-beats-then-hard-cuts/adaptation.mp4",
      "download": "/videos/examples/additions/mx95-title-card-builds-in-three-beats-then-hard-cuts/package.zip",
      "svg": "/videos/examples/additions/mx95-title-card-builds-in-three-beats-then-hard-cuts/editable.svg",
      "resolve": "/videos/examples/additions/mx95-title-card-builds-in-three-beats-then-hard-cuts/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145886,
      "packageSha256": "1425c544cef2af9a93452e89bed604722878455c7df9ead77209a8d7e25c08ef",
      "poster": "/videos/examples/posters/mx95-title-card-builds-in-three-beats-then-hard-cuts.jpg",
      "render": {
        "sha256": "4ed3da52cfe76102be690b4a363a8af894cabe0733d68e70da534bd8d2de3203",
        "bytes": 34473,
        "width": 1920,
        "height": 1080,
        "fps": "25/1",
        "frames": 66,
        "duration": 2.64,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/mx95-title-card-builds-in-three-beats-then-hard-cuts/item.json",
      "observation": "Local 0 shows a blue-grey sky with a pale building facade filling the right third and no type. At ~f4 the first title line appears left of centre in large white sans; at ~f16 the second line appears beneath it; at ~f22 a smaller kicker line appears below. All three hold to ~f63, then a hard cut to a street exterior with no graphics.",
      "mechanism": "Three-beat additive title build (line one, line two, kicker) with a held state and a hard cut out.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty plate"
        },
        {
          "frame": 4,
          "label": "Line one appears"
        },
        {
          "frame": 16,
          "label": "Line two appears"
        },
        {
          "frame": 22,
          "label": "Kicker appears"
        },
        {
          "frame": 63,
          "label": "Hard cut to exterior"
        }
      ]
    },
    {
      "id": "name-then-role-lower-third-in-two-beats",
      "title": "Bring a presenter lower third in as name first, role four frames later, then lose it on the cut",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Make information visual with ChatGPT",
        "id": "jzmNh8lbSp8",
        "url": "https://www.youtube.com/watch?v=jzmNh8lbSp8",
        "start": 2.75275,
        "end": 9.426083333333333
      },
      "preview": "/videos/examples/additions/name-then-role-lower-third-in-two-beats/remake.mp4",
      "sourcePreview": "/videos/examples/additions/name-then-role-lower-third-in-two-beats/source.mp4",
      "adaptationPreview": "/videos/examples/additions/name-then-role-lower-third-in-two-beats/adaptation.mp4",
      "download": "/videos/examples/additions/name-then-role-lower-third-in-two-beats/package.zip",
      "svg": "/videos/examples/additions/name-then-role-lower-third-in-two-beats/editable.svg",
      "resolve": "/videos/examples/additions/name-then-role-lower-third-in-two-beats/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145304,
      "packageSha256": "efd08887398cd3971079de21d39d31e37c4277a65187d090e1a75ad79b092849",
      "poster": "/videos/examples/posters/name-then-role-lower-third-in-two-beats.jpg",
      "render": {
        "sha256": "a64cdb50ddef1698d40a5ea15cbfae544c3edc1238215d0a97d0ec62483880d7",
        "bytes": 26614,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 160,
        "duration": 6.673322,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/name-then-role-lower-third-in-two-beats/item.json",
      "observation": "The shot hard-cuts in at local 0 to a wide presenter-at-desk frame. The name pops on bottom-left at local ~2 in bold 21 px white; the role pops on ~420 px to the right at ~6 on the same baseline in regular weight. Both hold unchanged until the picture hard-cuts to a close-up at local 156, taking the card with it.",
      "mechanism": "Two-beat lower third: name and role appear as separate pops four frames apart on one baseline, and exit with the picture cut instead of their own animation.",
      "phases": [
        {
          "frame": 0,
          "label": "Cut in to wide presenter shot"
        },
        {
          "frame": 2,
          "label": "Name pops on"
        },
        {
          "frame": 6,
          "label": "Role pops on"
        },
        {
          "frame": 156,
          "label": "Hard cut to close-up, card gone"
        }
      ]
    },
    {
      "id": "now-you-can-word-pops-with-offset-colour-plates",
      "title": "Pop three giant words in sequence, each landing on its own offset colour plate",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Health in ChatGPT is coming to U.S. users",
        "id": "lR58Dge8jE8",
        "url": "https://www.youtube.com/watch?v=lR58Dge8jE8",
        "start": 1.4666666666666666,
        "end": 3.7333333333333334
      },
      "preview": "/videos/examples/additions/now-you-can-word-pops-with-offset-colour-plates/remake.mp4",
      "sourcePreview": "/videos/examples/additions/now-you-can-word-pops-with-offset-colour-plates/source.mp4",
      "adaptationPreview": "/videos/examples/additions/now-you-can-word-pops-with-offset-colour-plates/adaptation.mp4",
      "download": "/videos/examples/additions/now-you-can-word-pops-with-offset-colour-plates/package.zip",
      "svg": "/videos/examples/additions/now-you-can-word-pops-with-offset-colour-plates/editable.svg",
      "resolve": "/videos/examples/additions/now-you-can-word-pops-with-offset-colour-plates/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148692,
      "packageSha256": "a2d02955501bb6435f9e6440be7f16430ad75e5d5e691119f8fb767ed9d0fec0",
      "poster": "/videos/examples/posters/now-you-can-word-pops-with-offset-colour-plates.jpg",
      "render": {
        "sha256": "0c7838dbe759ffe49f3c70ba8004e80f61b42b977bf122347e6481b57d78d6b9",
        "bytes": 157198,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 68,
        "duration": 2.266667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/now-you-can-word-pops-with-offset-colour-plates/item.json",
      "observation": "A small centred label reads 'With ChatGPT' (f0). At ~f3 a huge black 'now' slams in at upper-left over a pale grey plate while the label fades; ~f11 'you' lands lower and to the right on a yellow plate; ~f19 'can' lands upper-right on a pink plate, overlapping the yellow one. From ~f26 the whole composition eases downward about 120px and ghosted lab values, a small activity stat with bar glyphs and a mini lab list fade in around the words; everything holds to f67.",
      "mechanism": "Staggered kinetic type: each word pops with a spring onto a different offset colour plate, then the finished cluster settles downward as peripheral UI ghosts fade in.",
      "phases": [
        {
          "frame": 0,
          "label": "Small label holds"
        },
        {
          "frame": 3,
          "label": "'now' pops on grey plate, label fades"
        },
        {
          "frame": 11,
          "label": "'you' pops on yellow plate"
        },
        {
          "frame": 19,
          "label": "'can' pops on pink plate"
        },
        {
          "frame": 26,
          "label": "Cluster settles down; peripheral ghosts fade in"
        },
        {
          "frame": 40,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "numbered-step-title-pops-types-and-toggles-then-wipes-off",
      "title": "Pop a numbered step title in beats, type its last word, slide a toggle, then wipe it all off",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Schedule a Weekly Metrics Report With ChatGPT Work",
        "id": "p_slDAvPjv0",
        "url": "https://www.youtube.com/watch?v=p_slDAvPjv0",
        "start": 34.74304166666667,
        "end": 39.24754166666666
      },
      "preview": "/videos/examples/additions/numbered-step-title-pops-types-and-toggles-then-wipes-off/remake.mp4",
      "sourcePreview": "/videos/examples/additions/numbered-step-title-pops-types-and-toggles-then-wipes-off/source.mp4",
      "adaptationPreview": "/videos/examples/additions/numbered-step-title-pops-types-and-toggles-then-wipes-off/adaptation.mp4",
      "download": "/videos/examples/additions/numbered-step-title-pops-types-and-toggles-then-wipes-off/package.zip",
      "svg": "/videos/examples/additions/numbered-step-title-pops-types-and-toggles-then-wipes-off/editable.svg",
      "resolve": "/videos/examples/additions/numbered-step-title-pops-types-and-toggles-then-wipes-off/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146934,
      "packageSha256": "a32ace7da782990e20bf31a63c22cbb2c2bdd49cec161642199f5c2f3e6264d7",
      "poster": "/videos/examples/posters/numbered-step-title-pops-types-and-toggles-then-wipes-off.jpg",
      "render": {
        "sha256": "41925b448a07268eb6a0d7dedd6e9a44ed4b47de2266ead6aa4e0e2bbde63ab5",
        "bytes": 41833,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 108,
        "duration": 4.504489,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/numbered-step-title-pops-types-and-toggles-then-wipes-off/item.json",
      "observation": "Over a dark, warm shot of hands at a laptop, '1.' is already on screen at local 0. 'Open' pops in whole at ~3, the product word pops in whole lower-right at ~6, and its second word types on from ~12 to ~21. At ~15 a white segmented toggle pill appears under the title with the knob on the left option; the knob slides to the right option over ~22-30. Everything holds, then exits in reverse beats: toggle off at ~87, '1.' off at ~91, 'Open' off at ~95, and the product line wiped left to right over ~95-103.",
      "mechanism": "Beat-built step title: word-level pops plus a final type-on and a toggle-state change, removed by staggered pops and a closing left-to-right wipe.",
      "phases": [
        {
          "frame": 0,
          "label": "Step number on"
        },
        {
          "frame": 3,
          "label": "Verb pops on"
        },
        {
          "frame": 6,
          "label": "Product word pops on"
        },
        {
          "frame": 12,
          "label": "Second product word types on"
        },
        {
          "frame": 15,
          "label": "Toggle appears, knob left"
        },
        {
          "frame": 22,
          "label": "Knob slides right"
        },
        {
          "frame": 87,
          "label": "Staggered exit; product line wipes off"
        }
      ]
    },
    {
      "id": "one-word-per-beat-caption-on-black-then-small-product-tag",
      "title": "Cut to black and flash a five-word line one word at a time, then land a small product tag",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "OpenAI Super Bowl 2026 | Codex | You Can Just Build Things",
        "id": "aCN9iCXNJqQ",
        "url": "https://www.youtube.com/watch?v=aCN9iCXNJqQ",
        "start": 51.760041666666666,
        "end": 57.515791666666665
      },
      "preview": "/videos/examples/additions/one-word-per-beat-caption-on-black-then-small-product-tag/remake.mp4",
      "sourcePreview": "/videos/examples/additions/one-word-per-beat-caption-on-black-then-small-product-tag/source.mp4",
      "adaptationPreview": "/videos/examples/additions/one-word-per-beat-caption-on-black-then-small-product-tag/adaptation.mp4",
      "download": "/videos/examples/additions/one-word-per-beat-caption-on-black-then-small-product-tag/package.zip",
      "svg": "/videos/examples/additions/one-word-per-beat-caption-on-black-then-small-product-tag/editable.svg",
      "resolve": "/videos/examples/additions/one-word-per-beat-caption-on-black-then-small-product-tag/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146282,
      "packageSha256": "ba378711c33867aaf17f52f47dd490d4d1a652463ff884daae020f9de15e41e2",
      "poster": "/videos/examples/posters/one-word-per-beat-caption-on-black-then-small-product-tag.jpg",
      "render": {
        "sha256": "f8143adc3eab51b99fcd17cd13e399ffee632e3b1d845da78c4d5d66ae8a2ae1",
        "bytes": 61599,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 138,
        "duration": 5.755744,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/one-word-per-beat-caption-on-black-then-small-product-tag/item.json",
      "observation": "A laptop shot hard-cuts to near-black with a faint starfield (~f2). One bold uppercase word appears centred at ~f3 and holds; it is replaced by the next word at ~f27, then ~f48, ~f72 and ~f99, each a hard swap with no motion. At ~f120 the last word is replaced by a much smaller product name in the same centred position, which holds until it starts erasing just after the window.",
      "mechanism": "Word-per-beat caption: a single centred slot that hard-swaps through the words of a sentence on irregular beats, then downshifts in scale to a small tag.",
      "phases": [
        {
          "frame": 0,
          "label": "Laptop shot"
        },
        {
          "frame": 2,
          "label": "Cut to black"
        },
        {
          "frame": 3,
          "label": "Word 1"
        },
        {
          "frame": 27,
          "label": "Word 2"
        },
        {
          "frame": 48,
          "label": "Word 3"
        },
        {
          "frame": 72,
          "label": "Word 4"
        },
        {
          "frame": 99,
          "label": "Word 5"
        },
        {
          "frame": 120,
          "label": "Small product tag"
        }
      ]
    },
    {
      "id": "open-in-dropdown-hover-walk-then-select-appends-link-line",
      "title": "Open a small dropdown from an action bar, walk the pointer down its items, select one, and append a link line to the side column",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 77.33333333333333,
        "end": 80.33333333333333
      },
      "preview": "/videos/examples/additions/open-in-dropdown-hover-walk-then-select-appends-link-line/remake.mp4",
      "sourcePreview": "/videos/examples/additions/open-in-dropdown-hover-walk-then-select-appends-link-line/source.mp4",
      "adaptationPreview": "/videos/examples/additions/open-in-dropdown-hover-walk-then-select-appends-link-line/adaptation.mp4",
      "download": "/videos/examples/additions/open-in-dropdown-hover-walk-then-select-appends-link-line/package.zip",
      "svg": "/videos/examples/additions/open-in-dropdown-hover-walk-then-select-appends-link-line/editable.svg",
      "resolve": "/videos/examples/additions/open-in-dropdown-hover-walk-then-select-appends-link-line/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149200,
      "packageSha256": "82d4402722eac330fb96cd05beb3396e655319b82ff4541baa5662a5151099c6",
      "poster": "/videos/examples/posters/open-in-dropdown-hover-walk-then-select-appends-link-line.jpg",
      "render": {
        "sha256": "c9daf62754e527ba6120be77433b8f69c956eaaccca20b9d261da683410135e5",
        "bytes": 65194,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 180,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/open-in-dropdown-hover-walk-then-select-appends-link-line/item.json",
      "observation": "A lightbox of a portrait ad sits over a dimmed board with an action bar. The pointer clicks the 'Open in' action (~f8) and a three-item dropdown pops up above it (~f10). The menu holds while the pointer drifts, then walks down the items with a hover highlight (~f75\u2013f125). At ~f138 the pointer clicks the second item; the menu closes (~f142) and shortly after a new link line is appended beneath the text in the left column (~f150).",
      "mechanism": "Dropdown lifecycle: click-to-open, hover walk with item highlight, select-to-close, and a delayed side-effect elsewhere in the layout.",
      "phases": [
        {
          "frame": 0,
          "label": "Pointer approaches Open in"
        },
        {
          "frame": 8,
          "label": "Click opens dropdown"
        },
        {
          "frame": 75,
          "label": "Hover walk begins"
        },
        {
          "frame": 138,
          "label": "Second item selected"
        },
        {
          "frame": 142,
          "label": "Menu closes"
        },
        {
          "frame": 150,
          "label": "Link line appended in left column"
        }
      ]
    },
    {
      "id": "part-labels-pop-in-sequence-as-components-are-placed",
      "title": "Pop a highlighted two-line label onto each part as it is set down on the mat",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Turn the world into cheese (or anything really) with this camera.",
        "id": "09-krjdFfis",
        "url": "https://www.youtube.com/watch?v=09-krjdFfis",
        "start": 4.666666666666667,
        "end": 9.333333333333334
      },
      "preview": "/videos/examples/additions/part-labels-pop-in-sequence-as-components-are-placed/remake.mp4",
      "sourcePreview": "/videos/examples/additions/part-labels-pop-in-sequence-as-components-are-placed/source.mp4",
      "adaptationPreview": "/videos/examples/additions/part-labels-pop-in-sequence-as-components-are-placed/adaptation.mp4",
      "download": "/videos/examples/additions/part-labels-pop-in-sequence-as-components-are-placed/package.zip",
      "svg": "/videos/examples/additions/part-labels-pop-in-sequence-as-components-are-placed/editable.svg",
      "resolve": "/videos/examples/additions/part-labels-pop-in-sequence-as-components-are-placed/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148532,
      "packageSha256": "116d385bdcac3db72c817a40b0c05000bb70b7d858fecc04ff3c0f5300ee5b73",
      "poster": "/videos/examples/posters/part-labels-pop-in-sequence-as-components-are-placed.jpg",
      "render": {
        "sha256": "384bb1ec37c06d1614d3c2455e762e7cfbc402d54a780fdd502cdf60d8f6fc50",
        "bytes": 70625,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 140,
        "duration": 4.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/part-labels-pop-in-sequence-as-components-are-placed/item.json",
      "observation": "A top-down lavender cutting mat with a few parts and an orange case edge (f0\u20139). As a hand places a small board at ~f10, a two-line label with lime highlight bars pops above it. Further labels pop as parts land: a display at ~f40, a battery at ~f70, a camera at ~f100, a tiny SD card at ~f110 and a large printed body at ~f130. Placed labels stay put; nothing else animates.",
      "mechanism": "Event-timed overlay annotations: highlighted caption blocks pop in one at a time, each anchored to the object placed at that moment, and persist.",
      "phases": [
        {
          "frame": 0,
          "label": "Mat with a few loose parts"
        },
        {
          "frame": 10,
          "label": "First part placed, label pops"
        },
        {
          "frame": 40,
          "label": "Second label"
        },
        {
          "frame": 70,
          "label": "Third label"
        },
        {
          "frame": 100,
          "label": "Fourth label"
        },
        {
          "frame": 110,
          "label": "Fifth label"
        },
        {
          "frame": 130,
          "label": "Sixth label, hold"
        }
      ]
    },
    {
      "id": "pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram",
      "title": "Cross-dissolve one dark pitch slide into the next while a playhead keeps moving",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Account Planning and Meeting Prep",
        "id": "hjXi7b01s2c",
        "url": "https://www.youtube.com/watch?v=hjXi7b01s2c",
        "start": 77.83333333333333,
        "end": 79.83333333333333
      },
      "preview": "/videos/examples/additions/pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram/remake.mp4",
      "sourcePreview": "/videos/examples/additions/pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram/source.mp4",
      "adaptationPreview": "/videos/examples/additions/pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram/adaptation.mp4",
      "download": "/videos/examples/additions/pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram/package.zip",
      "svg": "/videos/examples/additions/pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram/editable.svg",
      "resolve": "/videos/examples/additions/pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150483,
      "packageSha256": "db321f25daed76fee5dcbf3645f6e7cd4b8440cbc39f6cf9afa4af0835827937",
      "poster": "/videos/examples/posters/pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram.jpg",
      "render": {
        "sha256": "fbef15bb9f80755ba726bd2fa32feca5cb4622420fb5d799bb9dc96ac00767d3",
        "bytes": 120309,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 120,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/pitch-slide-dissolve-swaps-eyebrow-headline-and-node-diagram/item.json",
      "observation": "A dark video player sits over a faded light document page. It shows 'Capability 1' with a two-line headline, a curved node diagram with a hexagonal check mark, two labelled facts and a phone mock at right (f0\u201334). Around f36\u201350 the slide cross-dissolves into 'Capability 2': a straight network diagram, new headline and new labels, the ghost of the old headline visible mid-blend. The transport bar's playhead keeps advancing throughout; the pointer rests near the bottom of the player.",
      "mechanism": "An in-player slide change built as a straight cross-dissolve between two fully composed slide groups, with the transport bar living outside the dissolve so it never blinks.",
      "phases": [
        {
          "frame": 0,
          "label": "Slide A holds, playhead advancing"
        },
        {
          "frame": 36,
          "label": "Cross-dissolve A to B begins"
        },
        {
          "frame": 50,
          "label": "Slide B fully in"
        },
        {
          "frame": 119,
          "label": "Slide B holds"
        }
      ]
    },
    {
      "id": "prompt-caption-types-behind-foreground-subject",
      "title": "Type a multi-paragraph prompt caption layered behind the foreground subject",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "OpenAI deep research in practice.",
        "id": "zm6F0vo2E64",
        "url": "https://www.youtube.com/watch?v=zm6F0vo2E64",
        "start": 71.32125,
        "end": 79.16241666666667
      },
      "preview": "/videos/examples/additions/prompt-caption-types-behind-foreground-subject/remake.mp4",
      "sourcePreview": "/videos/examples/additions/prompt-caption-types-behind-foreground-subject/source.mp4",
      "adaptationPreview": "/videos/examples/additions/prompt-caption-types-behind-foreground-subject/adaptation.mp4",
      "download": "/videos/examples/additions/prompt-caption-types-behind-foreground-subject/package.zip",
      "svg": "/videos/examples/additions/prompt-caption-types-behind-foreground-subject/editable.svg",
      "resolve": "/videos/examples/additions/prompt-caption-types-behind-foreground-subject/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148059,
      "packageSha256": "a819dc29545c4c3da3891e4aafe3e9886dcf7a455da50b2d14e139e6caeed792",
      "poster": "/videos/examples/posters/prompt-caption-types-behind-foreground-subject.jpg",
      "render": {
        "sha256": "162e526105fc6bf174fddd8735d1c9240058a4e55516534fd49a7385cba36bc2",
        "bytes": 77920,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 188,
        "duration": 7.841156,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/prompt-caption-types-behind-foreground-subject/item.json",
      "observation": "Seven frames of a soft laptop close-up, then a hard cut (~f7) to a wide office shot with a seated figure at centre-left. Large white caption text is already present: two finished paragraphs at the top and a third paragraph mid-type. The third paragraph continues typing character by character (f7-170), and wherever a line crosses the seated figure the letters are hidden behind her, so words appear to pass behind the subject. The complete caption holds until a cut at f188.",
      "mechanism": "Depth-sorted caption: a type-on text layer is composited behind a matted foreground subject, so the typing reads as living inside the shot rather than on top of it.",
      "phases": [
        {
          "frame": 0,
          "label": "Laptop close-up"
        },
        {
          "frame": 7,
          "label": "Cut to wide shot; paragraphs one and two already set"
        },
        {
          "frame": 8,
          "label": "Paragraph three types on behind the subject"
        },
        {
          "frame": 170,
          "label": "Caption complete, hold"
        }
      ]
    },
    {
      "id": "question-card-types-on-and-wraps-to-second-line",
      "title": "Type an interview question onto a white card, wrapping to a centred second line",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Have a Crazy Idea? Build It with Codex | Romain Huet | OpenAI France",
        "id": "jaYDbeQTUR0",
        "url": "https://www.youtube.com/watch?v=jaYDbeQTUR0",
        "start": 22.0,
        "end": 25.0
      },
      "preview": "/videos/examples/additions/question-card-types-on-and-wraps-to-second-line/remake.mp4",
      "sourcePreview": "/videos/examples/additions/question-card-types-on-and-wraps-to-second-line/source.mp4",
      "adaptationPreview": "/videos/examples/additions/question-card-types-on-and-wraps-to-second-line/adaptation.mp4",
      "download": "/videos/examples/additions/question-card-types-on-and-wraps-to-second-line/package.zip",
      "svg": "/videos/examples/additions/question-card-types-on-and-wraps-to-second-line/editable.svg",
      "resolve": "/videos/examples/additions/question-card-types-on-and-wraps-to-second-line/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145062,
      "packageSha256": "ec201b6df1bddb0feb5b0b0da3e66f84d5918f64609bdf76e4e390dd6893c208",
      "poster": "/videos/examples/posters/question-card-types-on-and-wraps-to-second-line.jpg",
      "render": {
        "sha256": "2cc2fa1a4f41ef28fa35170339c1a3d23b9dee9753e3cb96553a990148284cad",
        "bytes": 72434,
        "width": 1920,
        "height": 1080,
        "fps": "50/1",
        "frames": 150,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/question-card-types-on-and-wraps-to-second-line/item.json",
      "observation": "Hard cut from the interview to a plain white card. A bold black question types on character by character from f0: the first line fills by about f26, the text wraps and the second line completes with a question mark by f62. Both lines are centred as a block; the card then holds still until the cut back to the interview at f150.",
      "mechanism": "An interstitial question card built as a single centred, wrapping type-on: the line break arrives naturally as characters fill the measure.",
      "phases": [
        {
          "frame": 0,
          "label": "Cut to white card, typing begins"
        },
        {
          "frame": 26,
          "label": "First line full, wraps"
        },
        {
          "frame": 62,
          "label": "Question mark lands"
        },
        {
          "frame": 63,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "recut-floating-player-window-grows-to-fill-frame",
      "title": "Grow a floating app window from a desktop inset to full frame while its video keeps playing",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to recut with Sora",
        "id": "jC0i_0wnly8",
        "url": "https://www.youtube.com/watch?v=jC0i_0wnly8",
        "start": 0.0,
        "end": 2.0
      },
      "preview": "/videos/examples/additions/recut-floating-player-window-grows-to-fill-frame/remake.mp4",
      "sourcePreview": "/videos/examples/additions/recut-floating-player-window-grows-to-fill-frame/source.mp4",
      "adaptationPreview": "/videos/examples/additions/recut-floating-player-window-grows-to-fill-frame/adaptation.mp4",
      "download": "/videos/examples/additions/recut-floating-player-window-grows-to-fill-frame/package.zip",
      "svg": "/videos/examples/additions/recut-floating-player-window-grows-to-fill-frame/editable.svg",
      "resolve": "/videos/examples/additions/recut-floating-player-window-grows-to-fill-frame/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148267,
      "packageSha256": "9a43bf5f3c495136451fe9e68cb4127b4fe3e2372582f548016538f081ec349b",
      "poster": "/videos/examples/posters/recut-floating-player-window-grows-to-fill-frame.jpg",
      "render": {
        "sha256": "40a84f22a838bf0075d5a828525f30548767252fe6d41419a865f942b65c71da",
        "bytes": 243076,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 120,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/recut-floating-player-window-grows-to-fill-frame/item.json",
      "observation": "The film opens on a vivid orange-blue-pink desktop gradient with a dark video-app window sitting at roughly 55% size in the centre. Over ~f0\u201370 the window eases larger until its edges meet the frame, the gradient disappearing behind it; the clip inside the player is playing the whole time and the timeline playhead advances. The pointer sits idle near the bottom-left of the player. Frames 70\u2013120 hold at full size.",
      "mechanism": "Window-manager style scale-up: a whole app window eases from an inset to full-bleed with its content live, no cut.",
      "phases": [
        {
          "frame": 0,
          "label": "Window at 55% over the desktop gradient"
        },
        {
          "frame": 70,
          "label": "Window fills the frame"
        },
        {
          "frame": 120,
          "label": "Hold at full size"
        }
      ]
    },
    {
      "id": "recut-player-border-fades-then-video-expands-full-bleed",
      "title": "Fade the app's glowing border, then expand the inset video to full-bleed as the player chrome dissolves",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to recut with Sora",
        "id": "jC0i_0wnly8",
        "url": "https://www.youtube.com/watch?v=jC0i_0wnly8",
        "start": 57.833333333333336,
        "end": 59.333333333333336
      },
      "preview": "/videos/examples/additions/recut-player-border-fades-then-video-expands-full-bleed/remake.mp4",
      "sourcePreview": "/videos/examples/additions/recut-player-border-fades-then-video-expands-full-bleed/source.mp4",
      "adaptationPreview": "/videos/examples/additions/recut-player-border-fades-then-video-expands-full-bleed/adaptation.mp4",
      "download": "/videos/examples/additions/recut-player-border-fades-then-video-expands-full-bleed/package.zip",
      "svg": "/videos/examples/additions/recut-player-border-fades-then-video-expands-full-bleed/editable.svg",
      "resolve": "/videos/examples/additions/recut-player-border-fades-then-video-expands-full-bleed/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148321,
      "packageSha256": "67404dfb21d6e30e173a4ffc1555e3decd623f91d07f3312729029df36e4f7d9",
      "poster": "/videos/examples/posters/recut-player-border-fades-then-video-expands-full-bleed.jpg",
      "render": {
        "sha256": "1a144cca38c0476533fb6b35d79348ef7fe7f311fce2526f16d45d20b422d27e",
        "bytes": 77926,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 90,
        "duration": 1.5,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/recut-player-border-fades-then-video-expands-full-bleed/item.json",
      "observation": "The player shows a letterboxed clip inside a dark app with a coloured gradient border hugging the frame edge, a crumb at top and a Storyboard chip, timeline and tool labels below. From ~f15\u201330 the border fades away. Then from ~f30\u201348 the video eases outward from its 1320x742 inset to cover the whole frame while the crumb, chip, timeline and tools fade; the side gutters go with them. The pointer drops toward the bottom-left corner and the clip holds full-bleed to f90.",
      "mechanism": "Two-stage exit into full-bleed: an edge glow fades first, then the media scales up to the frame while the surrounding chrome dissolves.",
      "phases": [
        {
          "frame": 0,
          "label": "Player with glowing border and chrome"
        },
        {
          "frame": 15,
          "label": "Border begins to fade"
        },
        {
          "frame": 30,
          "label": "Border gone; video starts expanding, chrome fades"
        },
        {
          "frame": 48,
          "label": "Video full-bleed, chrome gone"
        },
        {
          "frame": 90,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards",
      "title": "Click Remix under a lightbox to raise a tabbed option sheet, then click a tab to swap its three cards",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 34.5,
        "end": 37.166666666666664
      },
      "preview": "/videos/examples/additions/remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards/remake.mp4",
      "sourcePreview": "/videos/examples/additions/remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards/source.mp4",
      "adaptationPreview": "/videos/examples/additions/remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards/adaptation.mp4",
      "download": "/videos/examples/additions/remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards/package.zip",
      "svg": "/videos/examples/additions/remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards/editable.svg",
      "resolve": "/videos/examples/additions/remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149729,
      "packageSha256": "ab2047f1b6d5d1e85d92f5c2b7b16aecafda693df162bbf454a9b052aea081e5",
      "poster": "/videos/examples/posters/remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards.jpg",
      "render": {
        "sha256": "a130323d1b2c8a74df0d01b57ac89e966ec7dacad507ba4720ca03285f1cbef6",
        "bytes": 97439,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 160,
        "duration": 2.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/remix-click-slides-up-tabbed-option-sheet-and-tab-swaps-cards/item.json",
      "observation": "A lightbox of a product photo sits over a dimmed board with a small action bar beneath it. The pointer moves to the Remix action and clicks (~f16). Immediately the whole view widens and a tab row plus three option cards appear along the bottom (~f20\u2013f32) while the photo shifts up slightly. The pointer then walks along the tabs and clicks one at ~f80, and the three cards are replaced by a different set with one card highlighted under the pointer (~f80\u2013f160).",
      "mechanism": "Action click that raises a tabbed option sheet, followed by a tab click that hard-swaps the sheet's card set.",
      "phases": [
        {
          "frame": 0,
          "label": "Lightbox with action bar"
        },
        {
          "frame": 16,
          "label": "Remix clicked"
        },
        {
          "frame": 22,
          "label": "Tab row and three cards appear"
        },
        {
          "frame": 80,
          "label": "Tab clicked: cards swap"
        },
        {
          "frame": 140,
          "label": "Hold with hovered card"
        }
      ]
    },
    {
      "id": "right-aligned-lower-third-name-fades-then-role-fades-beneath",
      "title": "Fade in a small right-aligned name, then fade the role line in beneath it three frames later",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Building at the pace of AI innovation | Grant Lee, Gamma",
        "id": "PB7DBemxl3E",
        "url": "https://www.youtube.com/watch?v=PB7DBemxl3E",
        "start": 10.72,
        "end": 13.2
      },
      "preview": "/videos/examples/additions/right-aligned-lower-third-name-fades-then-role-fades-beneath/remake.mp4",
      "sourcePreview": "/videos/examples/additions/right-aligned-lower-third-name-fades-then-role-fades-beneath/source.mp4",
      "adaptationPreview": "/videos/examples/additions/right-aligned-lower-third-name-fades-then-role-fades-beneath/adaptation.mp4",
      "download": "/videos/examples/additions/right-aligned-lower-third-name-fades-then-role-fades-beneath/package.zip",
      "svg": "/videos/examples/additions/right-aligned-lower-third-name-fades-then-role-fades-beneath/editable.svg",
      "resolve": "/videos/examples/additions/right-aligned-lower-third-name-fades-then-role-fades-beneath/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145330,
      "packageSha256": "774498958347d273824162363188c62f91928d91a8b53f0b9ad51d151fb4b924",
      "poster": "/videos/examples/posters/right-aligned-lower-third-name-fades-then-role-fades-beneath.jpg",
      "render": {
        "sha256": "495dbb719e4dbcaeb3b7503a8004e88dcc4f82e6e8a4de87148d09ce55a34530",
        "bytes": 35554,
        "width": 1920,
        "height": 1080,
        "fps": "25/1",
        "frames": 62,
        "duration": 2.48,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/right-aligned-lower-third-name-fades-then-role-fades-beneath/item.json",
      "observation": "On a dark restaurant interview shot with the speaker frame-left, a small right-aligned name fades up on the right side of frame around two-thirds down (~f2\u2013f5, grey to white). A lighter-weight role line fades up directly beneath it, also right-aligned (~f5\u2013f9). Both hold for the rest of the window with no further motion.",
      "mechanism": "Staggered two-line lower third: name and role fade in as separate right-aligned layers, offset by three frames.",
      "phases": [
        {
          "frame": 0,
          "label": "Footage only"
        },
        {
          "frame": 2,
          "label": "Name fades in"
        },
        {
          "frame": 5,
          "label": "Role fades in beneath"
        },
        {
          "frame": 9,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "right-aligned-lower-third-name-then-role-fade-up",
      "title": "Fade in a right-aligned name, then its role line one beat later",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Have a Crazy Idea? Build It with Codex | Romain Huet | OpenAI France",
        "id": "jaYDbeQTUR0",
        "url": "https://www.youtube.com/watch?v=jaYDbeQTUR0",
        "start": 17.0,
        "end": 20.0
      },
      "preview": "/videos/examples/additions/right-aligned-lower-third-name-then-role-fade-up/remake.mp4",
      "sourcePreview": "/videos/examples/additions/right-aligned-lower-third-name-then-role-fade-up/source.mp4",
      "adaptationPreview": "/videos/examples/additions/right-aligned-lower-third-name-then-role-fade-up/adaptation.mp4",
      "download": "/videos/examples/additions/right-aligned-lower-third-name-then-role-fade-up/package.zip",
      "svg": "/videos/examples/additions/right-aligned-lower-third-name-then-role-fade-up/editable.svg",
      "resolve": "/videos/examples/additions/right-aligned-lower-third-name-then-role-fade-up/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145904,
      "packageSha256": "632d3db779ec73566232d619ac2a35ceee943abf137251f376e52e20a55427ba",
      "poster": "/videos/examples/posters/right-aligned-lower-third-name-then-role-fade-up.jpg",
      "render": {
        "sha256": "1b4b976f218a76cb27973a128aab092f15ab09934824d38005b6bfe71176e671",
        "bytes": 35016,
        "width": 1920,
        "height": 1080,
        "fps": "50/1",
        "frames": 150,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/right-aligned-lower-third-name-then-role-fade-up/item.json",
      "observation": "A handheld interview shot in an ornate salon with a microphone in frame. At about f20 the interviewee's name fades in, right-aligned near the lower-right corner, in a bold white sans (f20-30). About fourteen frames later (f34-46) a longer role line fades in beneath it, right-aligned to the same edge. Both hold, with a soft drop shadow for legibility over the bright wall, until the end of the interval.",
      "mechanism": "A two-beat lower third: the name commits first, the role follows one beat later, both anchored to a shared right edge.",
      "phases": [
        {
          "frame": 0,
          "label": "Interview shot, no graphics"
        },
        {
          "frame": 20,
          "label": "Name fades in, right-aligned"
        },
        {
          "frame": 34,
          "label": "Role line fades in beneath"
        },
        {
          "frame": 46,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "rr-browser-chrome-strips-away-as-page-scales-up",
      "title": "Collapse the tab strip, then the address bar, while the page scales up to fill the freed height",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Record & Replay in Codex",
        "id": "ZK3JhU73W18",
        "url": "https://www.youtube.com/watch?v=ZK3JhU73W18",
        "start": 93.42666666666666,
        "end": 95.92916666666666
      },
      "preview": "/videos/examples/additions/rr-browser-chrome-strips-away-as-page-scales-up/remake.mp4",
      "sourcePreview": "/videos/examples/additions/rr-browser-chrome-strips-away-as-page-scales-up/source.mp4",
      "adaptationPreview": "/videos/examples/additions/rr-browser-chrome-strips-away-as-page-scales-up/adaptation.mp4",
      "download": "/videos/examples/additions/rr-browser-chrome-strips-away-as-page-scales-up/package.zip",
      "svg": "/videos/examples/additions/rr-browser-chrome-strips-away-as-page-scales-up/editable.svg",
      "resolve": "/videos/examples/additions/rr-browser-chrome-strips-away-as-page-scales-up/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151174,
      "packageSha256": "3a50c1bc4beb8caf55086e4bdcd72049ab764820feeccd47e46ceaae15003dd5",
      "poster": "/videos/examples/posters/rr-browser-chrome-strips-away-as-page-scales-up.jpg",
      "render": {
        "sha256": "4388b817f2a281356aea2007fc275eeff28cab53076ba402ccfe495c9f23b6f2",
        "bytes": 208687,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 60,
        "duration": 2.502489,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/rr-browser-chrome-strips-away-as-page-scales-up/item.json",
      "observation": "A full browser shows a channel content page under three chrome bands: a grey tab strip, a white address bar and a white automation banner ('\u2026 started debugging this browser \u00b7 Cancel'). At ~f12 the tab strip disappears and the banner rides up into its place; at ~f18 the address bar disappears too and the banner reaches the very top by ~f22. Meanwhile (~f12\u201326) the page content slides up and grows about 3% so the layout re-fills the frame; a dark toast near the bottom stays put relative to the page. Everything holds from ~f26.",
      "mechanism": "Progressive chrome strip: two browser bands cut out in sequence while the surviving banner re-docks and the page scales up to re-fill the frame.",
      "phases": [
        {
          "frame": 0,
          "label": "Full browser chrome: tab strip, address bar, banner"
        },
        {
          "frame": 12,
          "label": "Tab strip drops out; banner moves up; page begins to scale"
        },
        {
          "frame": 18,
          "label": "Address bar drops out"
        },
        {
          "frame": 22,
          "label": "Banner docked at top"
        },
        {
          "frame": 26,
          "label": "Page settled at 1.03x; hold"
        }
      ]
    },
    {
      "id": "rr-wizard-save-click-dissolves-into-processing-modal",
      "title": "Click Save and cross-dissolve a full upload wizard into a small processing modal over the list page",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Record & Replay in Codex",
        "id": "ZK3JhU73W18",
        "url": "https://www.youtube.com/watch?v=ZK3JhU73W18",
        "start": 41.082708333333336,
        "end": 43.75204166666666
      },
      "preview": "/videos/examples/additions/rr-wizard-save-click-dissolves-into-processing-modal/remake.mp4",
      "sourcePreview": "/videos/examples/additions/rr-wizard-save-click-dissolves-into-processing-modal/source.mp4",
      "adaptationPreview": "/videos/examples/additions/rr-wizard-save-click-dissolves-into-processing-modal/adaptation.mp4",
      "download": "/videos/examples/additions/rr-wizard-save-click-dissolves-into-processing-modal/package.zip",
      "svg": "/videos/examples/additions/rr-wizard-save-click-dissolves-into-processing-modal/editable.svg",
      "resolve": "/videos/examples/additions/rr-wizard-save-click-dissolves-into-processing-modal/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151985,
      "packageSha256": "595ee21d755a020a0a1b39d66140c5197d82a8ad3065b975aa700b3998f1ce9b",
      "poster": "/videos/examples/posters/rr-wizard-save-click-dissolves-into-processing-modal.jpg",
      "render": {
        "sha256": "61802a99658119694a9d5fb564267f3cd9244929ed0d0f331326bbab8432fc77",
        "bytes": 159686,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 64,
        "duration": 2.669322,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/rr-wizard-save-click-dissolves-into-processing-modal/item.json",
      "observation": "A large upload wizard (title, four-step progress, 'Save or publish' radio list with Private selected, a video preview card and link, a footer with processing status and a dark Save button) sits over a channel content page. The pointer rests on Save and clicks at ~f18. From ~f20 the wizard fades out while a much smaller 'Video processing' modal (title, sentence, thumbnail row, progress line, Close) fades in centred over the page; by ~f32 only the modal remains. Nothing moves; the swap is purely opacity and the page behind is visible through both.",
      "mechanism": "Cross-dissolve between two differently sized modals on the same page after a confirm click.",
      "phases": [
        {
          "frame": 0,
          "label": "Wizard open, pointer on Save"
        },
        {
          "frame": 18,
          "label": "Save clicked"
        },
        {
          "frame": 20,
          "label": "Wizard begins fading out"
        },
        {
          "frame": 22,
          "label": "Processing modal begins fading in"
        },
        {
          "frame": 32,
          "label": "Dissolve complete; modal only"
        },
        {
          "frame": 64,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "sales-bar-chart-hover-walk-tooltip-follows-bars",
      "title": "Walk the pointer down a bar chart so each bar greys and a tooltip re-anchors to it",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Revenue Intelligence for Sales Leaders",
        "id": "g-g6E-qtCjA",
        "url": "https://www.youtube.com/watch?v=g-g6E-qtCjA",
        "start": 40.93333333333333,
        "end": 45.93333333333333
      },
      "preview": "/videos/examples/additions/sales-bar-chart-hover-walk-tooltip-follows-bars/remake.mp4",
      "sourcePreview": "/videos/examples/additions/sales-bar-chart-hover-walk-tooltip-follows-bars/source.mp4",
      "adaptationPreview": "/videos/examples/additions/sales-bar-chart-hover-walk-tooltip-follows-bars/adaptation.mp4",
      "download": "/videos/examples/additions/sales-bar-chart-hover-walk-tooltip-follows-bars/package.zip",
      "svg": "/videos/examples/additions/sales-bar-chart-hover-walk-tooltip-follows-bars/editable.svg",
      "resolve": "/videos/examples/additions/sales-bar-chart-hover-walk-tooltip-follows-bars/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151019,
      "packageSha256": "9cc46fc7521eb6d9ec034a94a058305e543287d9cdd90e89c5c5a0526a841ac2",
      "poster": "/videos/examples/posters/sales-bar-chart-hover-walk-tooltip-follows-bars.jpg",
      "render": {
        "sha256": "ec59255077e9da976920401a0eb98c61638160ca25b6ece17cd3da9c374007c1",
        "bytes": 109566,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 150,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/sales-bar-chart-hover-walk-tooltip-follows-bars/item.json",
      "observation": "A white report card holds a six-row horizontal bar chart ('Objections in deals over $1M ARR'); the top bar is blue, the rest slate grey. The pointer rises from below the chart and rests on the top bar (~f6): a white two-line tooltip appears beside it. It then steps down one bar at a time (~f36, f52, f76, f96, f124); on each step the hovered grey bar turns light grey and the tooltip re-anchors to that bar with new copy, the previous one vanishing on the same frame. No easing on the tooltip swaps.",
      "mechanism": "Hover walk on a chart: each hovered bar toggles to a highlight fill while a single tooltip jumps between anchor positions in step with the pointer.",
      "phases": [
        {
          "frame": 0,
          "label": "Pointer below the chart, no tooltip"
        },
        {
          "frame": 6,
          "label": "Top bar hovered: tooltip appears"
        },
        {
          "frame": 36,
          "label": "Bar 2 hovered: bar greys, tooltip jumps"
        },
        {
          "frame": 52,
          "label": "Bar 3"
        },
        {
          "frame": 76,
          "label": "Bar 4"
        },
        {
          "frame": 96,
          "label": "Bar 5"
        },
        {
          "frame": 124,
          "label": "Bar 6, held to the end"
        }
      ]
    },
    {
      "id": "sales-rail-click-swaps-featured-dark-card",
      "title": "Click a rail item and hard-swap the featured dark card's copy while the highlight steps down",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Revenue Intelligence for Sales Leaders",
        "id": "g-g6E-qtCjA",
        "url": "https://www.youtube.com/watch?v=g-g6E-qtCjA",
        "start": 75.66666666666667,
        "end": 79.66666666666667
      },
      "preview": "/videos/examples/additions/sales-rail-click-swaps-featured-dark-card/remake.mp4",
      "sourcePreview": "/videos/examples/additions/sales-rail-click-swaps-featured-dark-card/source.mp4",
      "adaptationPreview": "/videos/examples/additions/sales-rail-click-swaps-featured-dark-card/adaptation.mp4",
      "download": "/videos/examples/additions/sales-rail-click-swaps-featured-dark-card/package.zip",
      "svg": "/videos/examples/additions/sales-rail-click-swaps-featured-dark-card/editable.svg",
      "resolve": "/videos/examples/additions/sales-rail-click-swaps-featured-dark-card/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 155116,
      "packageSha256": "b3fa401ef9ab0e66da30117233134626f3e6e182b97282ac27b630388e5a51ad",
      "poster": "/videos/examples/posters/sales-rail-click-swaps-featured-dark-card.jpg",
      "render": {
        "sha256": "417137282fda85b86985bfeba3a9a15652e3392d1b136667bc269e1f35f728cd",
        "bytes": 212712,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 120,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/sales-rail-click-swaps-featured-dark-card/item.json",
      "observation": "A 'Recommendations & Actions' section shows a five-item rail on the left and a large navy card on the right describing the first move. The hand pointer rests on rail item 2; at ~f18 the light-blue rail highlight jumps to item 2 and the card's eyebrow, title, two paragraphs, three metric tiles and buttons all change copy in a single frame. The pointer drifts down to item 3 and at ~f72 the same hard swap happens again. No transitions, no motion inside the card.",
      "mechanism": "Master-detail hard swap: a click on a list item steps the selection highlight and replaces the detail card's entire copy on one frame.",
      "phases": [
        {
          "frame": 0,
          "label": "Item 1 selected, card A"
        },
        {
          "frame": 18,
          "label": "Click item 2: highlight steps, card B hard-swaps in"
        },
        {
          "frame": 40,
          "label": "Pointer drifts to item 3"
        },
        {
          "frame": 72,
          "label": "Click item 3: highlight steps, card C"
        },
        {
          "frame": 120,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "sales-side-drawer-push-in-then-hover-cards",
      "title": "Push the camera into an open side drawer, then let the pointer browse its cards",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Revenue Intelligence for Sales Leaders",
        "id": "g-g6E-qtCjA",
        "url": "https://www.youtube.com/watch?v=g-g6E-qtCjA",
        "start": 50.733333333333334,
        "end": 52.733333333333334
      },
      "preview": "/videos/examples/additions/sales-side-drawer-push-in-then-hover-cards/remake.mp4",
      "sourcePreview": "/videos/examples/additions/sales-side-drawer-push-in-then-hover-cards/source.mp4",
      "adaptationPreview": "/videos/examples/additions/sales-side-drawer-push-in-then-hover-cards/adaptation.mp4",
      "download": "/videos/examples/additions/sales-side-drawer-push-in-then-hover-cards/package.zip",
      "svg": "/videos/examples/additions/sales-side-drawer-push-in-then-hover-cards/editable.svg",
      "resolve": "/videos/examples/additions/sales-side-drawer-push-in-then-hover-cards/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 152387,
      "packageSha256": "1a95c894cb479f7a262ef38e9a78b7a04500535e6c89ad0268eed7a98b7b0656",
      "poster": "/videos/examples/posters/sales-side-drawer-push-in-then-hover-cards.jpg",
      "render": {
        "sha256": "252f40e7e29e18483f576866cb7ccd74795b8ed93e27eb4d120717943e431249",
        "bytes": 687606,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 60,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/sales-side-drawer-push-in-then-hover-cards/item.json",
      "observation": "At local 0 the full browser is visible with a 'Supporting records' evidence drawer already open on the right over a whitened page. Over ~f0\u201318 the whole frame scales up about 1.55x and slides left so the drawer fills the right half and the top of the browser leaves frame. From ~f18 the pointer moves from the first evidence card down to the second (~f34) and toward the third (~f52); nothing else changes.",
      "mechanism": "Post camera push-in on an already-open side drawer, followed by pointer-only browsing of its stacked cards.",
      "phases": [
        {
          "frame": 0,
          "label": "Full browser with drawer open"
        },
        {
          "frame": 18,
          "label": "Push-in settles at 1.55x, drawer fills right half"
        },
        {
          "frame": 34,
          "label": "Pointer on second card"
        },
        {
          "frame": 52,
          "label": "Pointer reaches third card"
        }
      ]
    },
    {
      "id": "sales-table-row-click-snaps-in-detail-sheet-then-push-in",
      "title": "Click a table row, snap a right-hand detail sheet over a dimmed page, then push in",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Pipeline and Forecast Intelligence",
        "id": "q9TPE7pKkIo",
        "url": "https://www.youtube.com/watch?v=q9TPE7pKkIo",
        "start": 61.333333333333336,
        "end": 64.33333333333333
      },
      "preview": "/videos/examples/additions/sales-table-row-click-snaps-in-detail-sheet-then-push-in/remake.mp4",
      "sourcePreview": "/videos/examples/additions/sales-table-row-click-snaps-in-detail-sheet-then-push-in/source.mp4",
      "adaptationPreview": "/videos/examples/additions/sales-table-row-click-snaps-in-detail-sheet-then-push-in/adaptation.mp4",
      "download": "/videos/examples/additions/sales-table-row-click-snaps-in-detail-sheet-then-push-in/package.zip",
      "svg": "/videos/examples/additions/sales-table-row-click-snaps-in-detail-sheet-then-push-in/editable.svg",
      "resolve": "/videos/examples/additions/sales-table-row-click-snaps-in-detail-sheet-then-push-in/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 153856,
      "packageSha256": "5ff35bce86588d0c2d30ede3939a515e2cc11914db3b434aa9f4f1c88c427e68",
      "poster": "/videos/examples/posters/sales-table-row-click-snaps-in-detail-sheet-then-push-in.jpg",
      "render": {
        "sha256": "a75f752788387e5c75769c7c99f4c1205b7742d357ae60055f65d29332f83f5d",
        "bytes": 679161,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 90,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/sales-table-row-click-snaps-in-detail-sheet-then-push-in/item.json",
      "observation": "A white browser window floats on a dark starfield showing a sales-play page: a three-step row, a blue KPI pill and a five-row account table. The pointer rests on the first account name and drifts slightly (~f0-28), then clicks (~f30). Between local f30 and f34 a full-height detail sheet is already fully in place over the right 45% of the window and the rest of the page is dimmed grey; there is no visible slide. The sheet holds until ~f58, then the camera pushes into the sheet until ~f72 and holds.",
      "mechanism": "Row click snaps a right-hand detail sheet plus backdrop dim into place as a near-instant state change, followed by a delayed eased camera push-in on the new sheet.",
      "phases": [
        {
          "frame": 0,
          "label": "Page with account table, pointer on row 1"
        },
        {
          "frame": 30,
          "label": "Click on row 1"
        },
        {
          "frame": 32,
          "label": "Detail sheet and dim snap in (2-3 frames)"
        },
        {
          "frame": 58,
          "label": "Camera push-in on sheet begins"
        },
        {
          "frame": 72,
          "label": "Push-in settles at 1.75x"
        }
      ]
    },
    {
      "id": "send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window",
      "title": "Click send in a macro composer, lift the prompt into a bubble, then blur-pull back to the whole window",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Work with docs, sheets, and slides in ChatGPT",
        "id": "E3dDr_QtBuo",
        "url": "https://www.youtube.com/watch?v=E3dDr_QtBuo",
        "start": 47.96458333333333,
        "end": 49.63291666666667
      },
      "preview": "/videos/examples/additions/send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window/remake.mp4",
      "sourcePreview": "/videos/examples/additions/send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window/source.mp4",
      "adaptationPreview": "/videos/examples/additions/send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window/adaptation.mp4",
      "download": "/videos/examples/additions/send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window/package.zip",
      "svg": "/videos/examples/additions/send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window/editable.svg",
      "resolve": "/videos/examples/additions/send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150382,
      "packageSha256": "334beabea3c606021184befd50d2500191fc6fc4e870d5fb446ac75e8fd30756",
      "poster": "/videos/examples/posters/send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window.jpg",
      "render": {
        "sha256": "577b3e6710c9fb4d4c8f8531a63b18eb13653ddaeb3f50130eff4e5dd5274ced",
        "bytes": 131869,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 40,
        "duration": 1.668322,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/send-lifts-prompt-to-bubble-then-blurred-pull-back-to-window/item.json",
      "observation": "Macro framing on the lower-left composer, which holds a finished three-line prompt; the assistant's previous reply sits above and slide thumbnails plus a slide preview show to the right. The pointer rests on the send circle and clicks at about local frame 16 (master 1166). At ~18 the composer empties to its placeholder, the prompt reappears as a right-aligned grey bubble above it and a 'Thinking' label appears. Frames 19 to 24 are a fast pull-back with heavy motion blur (master 1169 to 1174) that lands on the full browser window with chrome and tabs; the window then holds.",
      "mechanism": "State change under a camera move: the send commit (composer clears, bubble and Thinking appear) happens at macro scale, then a blurred zoom-out reveals the full window so the commit reads first and the context second.",
      "phases": [
        {
          "frame": 0,
          "label": "Macro composer, pointer on send"
        },
        {
          "frame": 16,
          "label": "Click"
        },
        {
          "frame": 18,
          "label": "Prompt lifts into bubble, Thinking appears"
        },
        {
          "frame": 19,
          "label": "Blurred pull-back starts"
        },
        {
          "frame": 25,
          "label": "Full window, blur clears"
        },
        {
          "frame": 39,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "sent-prompt-lifts-to-corner-then-numbered-answer-streams",
      "title": "Send a prompt so it lifts into the corner, then stream a numbered answer beneath it",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Health in ChatGPT is coming to U.S. users",
        "id": "lR58Dge8jE8",
        "url": "https://www.youtube.com/watch?v=lR58Dge8jE8",
        "start": 38.5,
        "end": 41.5
      },
      "preview": "/videos/examples/additions/sent-prompt-lifts-to-corner-then-numbered-answer-streams/remake.mp4",
      "sourcePreview": "/videos/examples/additions/sent-prompt-lifts-to-corner-then-numbered-answer-streams/source.mp4",
      "adaptationPreview": "/videos/examples/additions/sent-prompt-lifts-to-corner-then-numbered-answer-streams/adaptation.mp4",
      "download": "/videos/examples/additions/sent-prompt-lifts-to-corner-then-numbered-answer-streams/package.zip",
      "svg": "/videos/examples/additions/sent-prompt-lifts-to-corner-then-numbered-answer-streams/editable.svg",
      "resolve": "/videos/examples/additions/sent-prompt-lifts-to-corner-then-numbered-answer-streams/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148822,
      "packageSha256": "155d11fc22ae0f45531d6cb07a582724db06af6e96a7c94357e300554e6f23bf",
      "poster": "/videos/examples/posters/sent-prompt-lifts-to-corner-then-numbered-answer-streams.jpg",
      "render": {
        "sha256": "a86a6d9491fafbc1ef9f4f6c0d535a7744413ca8dadb66e4ef7b968f08ce2b05",
        "bytes": 131722,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 90,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/sent-prompt-lifts-to-corner-then-numbered-answer-streams/item.json",
      "observation": "A two-line user prompt sits in a grey bubble mid-frame with a purple send circle (f0\u20139). At ~f10 the bubble glides up and right, shrinking slightly, and the send button disappears; a faint 'Used health data' status appears beneath it at ~f16. At ~f40 a red-dot source label and a paragraph begin streaming at the left, followed by a bold 'Questions to bring\u2026' heading (~f60) and a numbered list that fills line by line until f89.",
      "mechanism": "Send commits the composer bubble into a message by translating and shrinking it, after which the assistant reply streams as prose, heading and a row-by-row numbered list.",
      "phases": [
        {
          "frame": 0,
          "label": "Composer bubble with send button"
        },
        {
          "frame": 10,
          "label": "Bubble lifts to upper-right, send fades"
        },
        {
          "frame": 16,
          "label": "Faint status label appears"
        },
        {
          "frame": 40,
          "label": "Source label and paragraph stream"
        },
        {
          "frame": 60,
          "label": "Heading, then numbered list fills"
        },
        {
          "frame": 89,
          "label": "List complete"
        }
      ]
    },
    {
      "id": "settings-push-in-to-developer-card-then-toggle-flips-on",
      "title": "Push into a settings page's last card with a blur kick, then click its toggle on",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Debug web apps with browser use in Codex",
        "id": "bhgYFRZLyKI",
        "url": "https://www.youtube.com/watch?v=bhgYFRZLyKI",
        "start": 25.2,
        "end": 28.266666666666666
      },
      "preview": "/videos/examples/additions/settings-push-in-to-developer-card-then-toggle-flips-on/remake.mp4",
      "sourcePreview": "/videos/examples/additions/settings-push-in-to-developer-card-then-toggle-flips-on/source.mp4",
      "adaptationPreview": "/videos/examples/additions/settings-push-in-to-developer-card-then-toggle-flips-on/adaptation.mp4",
      "download": "/videos/examples/additions/settings-push-in-to-developer-card-then-toggle-flips-on/package.zip",
      "svg": "/videos/examples/additions/settings-push-in-to-developer-card-then-toggle-flips-on/editable.svg",
      "resolve": "/videos/examples/additions/settings-push-in-to-developer-card-then-toggle-flips-on/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150373,
      "packageSha256": "e263be88527a13b98535b37e223df4bad96726765a3c56bcb3f4b70ce3cbd46e",
      "poster": "/videos/examples/posters/settings-push-in-to-developer-card-then-toggle-flips-on.jpg",
      "render": {
        "sha256": "7f2457c9eaeead60025fb6f545a52988f8a5737cd2642e245252360d271240d5",
        "bytes": 144953,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 92,
        "duration": 3.066667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/settings-push-in-to-developer-card-then-toggle-flips-on/item.json",
      "observation": "After a hard cut, a white settings page fills a window on a blue-violet desktop: a left nav list and a long right column of section rows ending in a 'Developer mode' card with an orange 'Elevated risk' label, a title, two lines of body copy and an off toggle. The pointer drifts toward the card (~f0-20). Between ~f22 and ~f34 the picture blurs and the camera pushes in about 1.9x so the card fills the frame. The pointer sits on the toggle and clicks (~f55); the toggle knob slides right and the track turns blue (~f55-60). The pointer moves away and fades (~f76-80) and the on state holds.",
      "mechanism": "Eased camera push-in with a blur kick onto one settings card, followed by a pointer click that flips a toggle's knob and track colour.",
      "phases": [
        {
          "frame": 0,
          "label": "Full settings page, pointer drifting"
        },
        {
          "frame": 22,
          "label": "Blur ramps, push-in starts"
        },
        {
          "frame": 34,
          "label": "Card fills frame at 1.9x"
        },
        {
          "frame": 55,
          "label": "Click; knob slides, track turns blue"
        },
        {
          "frame": 80,
          "label": "Pointer gone; hold"
        }
      ]
    },
    {
      "id": "sidebar-hover-pill-click-scrolls-to-anchored-section",
      "title": "Hover a sidebar item to raise its pill, click, and smooth-scroll the page to that section",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Account Research and Customer Outreach",
        "id": "5DbZAMGZ5oM",
        "url": "https://www.youtube.com/watch?v=5DbZAMGZ5oM",
        "start": 42.06666666666667,
        "end": 45.0
      },
      "preview": "/videos/examples/additions/sidebar-hover-pill-click-scrolls-to-anchored-section/remake.mp4",
      "sourcePreview": "/videos/examples/additions/sidebar-hover-pill-click-scrolls-to-anchored-section/source.mp4",
      "adaptationPreview": "/videos/examples/additions/sidebar-hover-pill-click-scrolls-to-anchored-section/adaptation.mp4",
      "download": "/videos/examples/additions/sidebar-hover-pill-click-scrolls-to-anchored-section/package.zip",
      "svg": "/videos/examples/additions/sidebar-hover-pill-click-scrolls-to-anchored-section/editable.svg",
      "resolve": "/videos/examples/additions/sidebar-hover-pill-click-scrolls-to-anchored-section/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 153594,
      "packageSha256": "d22110bde98044a41458e00b8283c06206fc4ee4c661b3611b46bd354a6a62bc",
      "poster": "/videos/examples/posters/sidebar-hover-pill-click-scrolls-to-anchored-section.jpg",
      "render": {
        "sha256": "48529ad3c12a4e2c0b7c2bef7505ddeb8c2075a8977a22d75c041921246de084",
        "bytes": 768961,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 88,
        "duration": 2.933333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/sidebar-hover-pill-click-scrolls-to-anchored-section/item.json",
      "observation": "The account-brief page is at the 'What they actually said' section. The pointer leaves the quote block and travels left to the sidebar nav (f0-20); as it lands on the 'Stakeholders' item a rounded hover pill appears behind the label (~f22-30). On the click (~f34) the URL gains a '#stakeholders' anchor and the content column scrolls upward over about 40 frames, passing a dark card and settling on the 'Known executives' heading with a row of four person cards (~f78).",
      "mechanism": "Anchor navigation: a hover pill acknowledges the target, and the click drives one eased vertical scroll of the content column while the sidebar stays fixed.",
      "phases": [
        {
          "frame": 0,
          "label": "Pointer leaves the quote block"
        },
        {
          "frame": 22,
          "label": "Hover pill fades in behind the nav item"
        },
        {
          "frame": 34,
          "label": "Click; URL gains anchor"
        },
        {
          "frame": 36,
          "label": "Content column scrolls up 1180px, eased"
        },
        {
          "frame": 78,
          "label": "Settles on the next section heading and cards"
        }
      ]
    },
    {
      "id": "slide-thumbnail-click-hard-swaps-main-slide-and-outline",
      "title": "Click the next slide thumbnail to hard-swap the main slide and jump the red selection outline",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Work with docs, sheets, and slides in ChatGPT",
        "id": "E3dDr_QtBuo",
        "url": "https://www.youtube.com/watch?v=E3dDr_QtBuo",
        "start": 70.40366666666667,
        "end": 72.5725
      },
      "preview": "/videos/examples/additions/slide-thumbnail-click-hard-swaps-main-slide-and-outline/remake.mp4",
      "sourcePreview": "/videos/examples/additions/slide-thumbnail-click-hard-swaps-main-slide-and-outline/source.mp4",
      "adaptationPreview": "/videos/examples/additions/slide-thumbnail-click-hard-swaps-main-slide-and-outline/adaptation.mp4",
      "download": "/videos/examples/additions/slide-thumbnail-click-hard-swaps-main-slide-and-outline/package.zip",
      "svg": "/videos/examples/additions/slide-thumbnail-click-hard-swaps-main-slide-and-outline/editable.svg",
      "resolve": "/videos/examples/additions/slide-thumbnail-click-hard-swaps-main-slide-and-outline/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149515,
      "packageSha256": "5d936825143265f0ac7e0d4b8024d45e37d7b5d3360916b63b9133eb9e0a83d6",
      "poster": "/videos/examples/posters/slide-thumbnail-click-hard-swaps-main-slide-and-outline.jpg",
      "render": {
        "sha256": "9ab5ce50d7dedb7ac1ec82bad7e1ee9f4b1980ddd2a7d50e0a553921e5710254",
        "bytes": 55309,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 52,
        "duration": 2.168822,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/slide-thumbnail-click-hard-swaps-main-slide-and-outline/item.json",
      "observation": "A dark slide editor: thumbnail rail on the left with slide 4 outlined in red, the main canvas showing slide 4 (a line chart titled 'Short videos lead'), and a presenter PiP top-right. The pointer travels down onto thumbnail 5 during local frames 0 to 14 and clicks at ~21 (master 1709). On the next frame the main canvas shows slide 5 (a horizontal bar chart, 'Sizzle leads engagement') and the red outline sits on thumbnail 5. No transition; the new slide holds to the end.",
      "mechanism": "Selection-driven hard swap: a click on a list item replaces the detail view in one frame and the selection indicator steps to the item, with no crossfade or motion.",
      "phases": [
        {
          "frame": 0,
          "label": "Slide 4 shown, pointer approaching thumbnail 5"
        },
        {
          "frame": 21,
          "label": "Click on thumbnail 5"
        },
        {
          "frame": 22,
          "label": "Main slide and red outline swap"
        },
        {
          "frame": 40,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "slider-drag-recolours-track-and-swaps-tier-label",
      "title": "Drag a popover slider to its end so the track recolours and the model tier label swaps",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Meet GPT-5.6",
        "id": "-MPGU2a67Ls",
        "url": "https://www.youtube.com/watch?v=-MPGU2a67Ls",
        "start": 69.194125,
        "end": 73.198125
      },
      "preview": "/videos/examples/additions/slider-drag-recolours-track-and-swaps-tier-label/remake.mp4",
      "sourcePreview": "/videos/examples/additions/slider-drag-recolours-track-and-swaps-tier-label/source.mp4",
      "adaptationPreview": "/videos/examples/additions/slider-drag-recolours-track-and-swaps-tier-label/adaptation.mp4",
      "download": "/videos/examples/additions/slider-drag-recolours-track-and-swaps-tier-label/package.zip",
      "svg": "/videos/examples/additions/slider-drag-recolours-track-and-swaps-tier-label/editable.svg",
      "resolve": "/videos/examples/additions/slider-drag-recolours-track-and-swaps-tier-label/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 147890,
      "packageSha256": "e3123c577956aa4da6216c2696e70718792b0b2681ab091330d23bf759c8ed0b",
      "poster": "/videos/examples/posters/slider-drag-recolours-track-and-swaps-tier-label.jpg",
      "render": {
        "sha256": "2e45f7fc29930853c41575cb00cc75e9f058eb058bf8a99f82819dfa0d86ea07",
        "bytes": 38337,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 96,
        "duration": 4.003989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/slider-drag-recolours-track-and-swaps-tier-label/item.json",
      "observation": "A settings popover sits above a chat composer showing a blue slider filled about three quarters. The pointer travels to the knob (~f0\u2013f24), grabs it and drags right (~f24\u2013f33). As it passes the end the fill turns purple, a tooltip appears above the knob (~f30\u2013f39) and the tier name in the model button beneath changes (~f33). The popover holds with the new colour until it closes at ~f93, revealing the plain composer.",
      "mechanism": "Drag interaction with state feedback: slider fill grows and recolours, a transient tooltip flashes, and a dependent label swaps the moment the value commits.",
      "phases": [
        {
          "frame": 0,
          "label": "Popover open, slider at 75%"
        },
        {
          "frame": 24,
          "label": "Pointer grabs knob"
        },
        {
          "frame": 33,
          "label": "Drag completes: fill purple, label swaps"
        },
        {
          "frame": 30,
          "label": "Tooltip flashes"
        },
        {
          "frame": 93,
          "label": "Popover closes"
        }
      ]
    },
    {
      "id": "source-doc-tables-hard-cut-to-skill-chat",
      "title": "Hard cut from the source document's tables to the chat that consumes them",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to pressure-test marketing campaign briefs",
        "id": "HHt8CPJRviA",
        "url": "https://www.youtube.com/watch?v=HHt8CPJRviA",
        "start": 36.666666666666664,
        "end": 40.0
      },
      "preview": "/videos/examples/additions/source-doc-tables-hard-cut-to-skill-chat/remake.mp4",
      "sourcePreview": "/videos/examples/additions/source-doc-tables-hard-cut-to-skill-chat/source.mp4",
      "adaptationPreview": "/videos/examples/additions/source-doc-tables-hard-cut-to-skill-chat/adaptation.mp4",
      "download": "/videos/examples/additions/source-doc-tables-hard-cut-to-skill-chat/package.zip",
      "svg": "/videos/examples/additions/source-doc-tables-hard-cut-to-skill-chat/editable.svg",
      "resolve": "/videos/examples/additions/source-doc-tables-hard-cut-to-skill-chat/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 155851,
      "packageSha256": "c31a817bc17a9089a8bf31ce2ef61b8d2ddc0b043279a6f3b4ad542185e2e2bb",
      "poster": "/videos/examples/posters/source-doc-tables-hard-cut-to-skill-chat.jpg",
      "render": {
        "sha256": "100d63d03251df8094e23e545969c6ed73b73ae32d2d77d876f37ee142876655",
        "bytes": 238509,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 200,
        "duration": 3.333333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/source-doc-tables-hard-cut-to-skill-chat/item.json",
      "observation": "Frames 2200-2245 hold a full-screen browser recording of a word-processor page: two bold centred headings each followed by a dense five-column table with a bold header row. At local frame 46 (master ~2246) a hard cut lands on a chat transcript view: a small title row at top-left and a tall, pale-blue highlighted block of instruction text in the centre column (intro line, a bold-led bulleted list of four roles, two long paragraphs) that runs off the bottom of the frame. Nothing moves on either side of the cut.",
      "mechanism": "Hard cut from a static source document to the static chat that references it, using the change of layout (tables to a highlighted text block) alone to carry the edit.",
      "phases": [
        {
          "frame": 0,
          "label": "Document with two tables, hold"
        },
        {
          "frame": 46,
          "label": "Hard cut to chat with highlighted instruction block"
        },
        {
          "frame": 199,
          "label": "Chat holds"
        }
      ]
    },
    {
      "id": "speaker-cut-lower-third-drops-and-rebuilds",
      "title": "Cut between speakers: the outgoing lower third drops with the picture and the new one rebuilds name-then-role",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Previewing Ultrafast mode: GPT\u20115.6 Sol at up to 14X the speed",
        "id": "EDWbX_-RYws",
        "url": "https://www.youtube.com/watch?v=EDWbX_-RYws",
        "start": 68.23483333333333,
        "end": 71.98858333333334
      },
      "preview": "/videos/examples/additions/speaker-cut-lower-third-drops-and-rebuilds/remake.mp4",
      "sourcePreview": "/videos/examples/additions/speaker-cut-lower-third-drops-and-rebuilds/source.mp4",
      "adaptationPreview": "/videos/examples/additions/speaker-cut-lower-third-drops-and-rebuilds/adaptation.mp4",
      "download": "/videos/examples/additions/speaker-cut-lower-third-drops-and-rebuilds/package.zip",
      "svg": "/videos/examples/additions/speaker-cut-lower-third-drops-and-rebuilds/editable.svg",
      "resolve": "/videos/examples/additions/speaker-cut-lower-third-drops-and-rebuilds/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 147013,
      "packageSha256": "e44e0263e315dfb1ef4baa4a519883e964aa7a7a6fa9dffb023b1203717c1417",
      "poster": "/videos/examples/posters/speaker-cut-lower-third-drops-and-rebuilds.jpg",
      "render": {
        "sha256": "f205fd04833cfb0f5be17c48f1e29ab4b1ae355490bc7bfc447f2f8146393ba4",
        "bytes": 40290,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 90,
        "duration": 3.753744,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/speaker-cut-lower-third-drops-and-rebuilds/item.json",
      "observation": "Local 0-2 (master 1636-1638) show speaker A against a bright room with a complete lower third (bold name, then role to its right) at bottom-left. At local 3 (1639) a hard cut lands on speaker B in a warm beige room framed by dark pillars, and the lower third is gone. At local 6 (1642) speaker B's name pops on in the same position; at local 10 (1646) the role pops on to its right. Both hold to the end of the window with no motion.",
      "mechanism": "Lower-third continuity across a speaker cut: the graphic is cut out with the outgoing shot and rebuilt in two hard steps (name, then role) a few frames into the new shot.",
      "phases": [
        {
          "frame": 0,
          "label": "Speaker A with full lower third"
        },
        {
          "frame": 3,
          "label": "Hard cut to speaker B, graphic gone"
        },
        {
          "frame": 6,
          "label": "New name pops on"
        },
        {
          "frame": 10,
          "label": "New role pops on"
        },
        {
          "frame": 89,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "split-title-holds-while-speakers-jump-cut-beneath",
      "title": "Land a top and bottom title in two beats, then hold it while the footage hard-cuts every 13 frames",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Enterprise Teams Use ChatGPT Work | Zapier, Shopify & Virgin Atlantic",
        "id": "zq88iLsSfMA",
        "url": "https://www.youtube.com/watch?v=zq88iLsSfMA",
        "start": 5.75,
        "end": 10.25
      },
      "preview": "/videos/examples/additions/split-title-holds-while-speakers-jump-cut-beneath/remake.mp4",
      "sourcePreview": "/videos/examples/additions/split-title-holds-while-speakers-jump-cut-beneath/source.mp4",
      "adaptationPreview": "/videos/examples/additions/split-title-holds-while-speakers-jump-cut-beneath/adaptation.mp4",
      "download": "/videos/examples/additions/split-title-holds-while-speakers-jump-cut-beneath/package.zip",
      "svg": "/videos/examples/additions/split-title-holds-while-speakers-jump-cut-beneath/editable.svg",
      "resolve": "/videos/examples/additions/split-title-holds-while-speakers-jump-cut-beneath/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146426,
      "packageSha256": "30f137bb4fcee51ddc72804ac48354ff141e2bd4a2585665cd27a49515d1a388",
      "poster": "/videos/examples/posters/split-title-holds-while-speakers-jump-cut-beneath.jpg",
      "render": {
        "sha256": "e3631cdcff1f98cf8ead4fe1604a346870ed618c4c797aa58950d2172bd5c3d5",
        "bytes": 116959,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 108,
        "duration": 4.5,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/split-title-holds-while-speakers-jump-cut-beneath/item.json",
      "observation": "A webcam-style speaker shot holds for two frames; a large white first title line pops on across the top of frame (~f2), then a second line pops on across the bottom (~f5). The title then stays fixed while the footage hard-cuts through eight different speakers at roughly 13\u201314 frame intervals (local ~f11, 25, 39, 52, 66, 79, 93, 107). The type never moves or fades; only the plate beneath it changes.",
      "mechanism": "A locked two-line split title that persists as a constant while the underlying footage jump-cuts on a steady beat.",
      "phases": [
        {
          "frame": 0,
          "label": "Speaker A, no title"
        },
        {
          "frame": 2,
          "label": "Top line pops on"
        },
        {
          "frame": 5,
          "label": "Bottom line pops on"
        },
        {
          "frame": 11,
          "label": "Cut to speaker B; title holds"
        },
        {
          "frame": 25,
          "label": "Cut C"
        },
        {
          "frame": 39,
          "label": "Cut D"
        },
        {
          "frame": 52,
          "label": "Cut E"
        },
        {
          "frame": 66,
          "label": "Cut F"
        },
        {
          "frame": 79,
          "label": "Cut G"
        },
        {
          "frame": 93,
          "label": "Cut H"
        },
        {
          "frame": 107,
          "label": "Cut back to A"
        }
      ]
    },
    {
      "id": "staircase-title-clears-in-two-beats-then-lower-third-fades-in",
      "title": "Clear a four-word title right half first, left half two frames later, then fade in a two-part lower third",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT can now complete tasks on your computer",
        "id": "dB6pOolO7io",
        "url": "https://www.youtube.com/watch?v=dB6pOolO7io",
        "start": 5.338666666666667,
        "end": 8.341666666666667
      },
      "preview": "/videos/examples/additions/staircase-title-clears-in-two-beats-then-lower-third-fades-in/remake.mp4",
      "sourcePreview": "/videos/examples/additions/staircase-title-clears-in-two-beats-then-lower-third-fades-in/source.mp4",
      "adaptationPreview": "/videos/examples/additions/staircase-title-clears-in-two-beats-then-lower-third-fades-in/adaptation.mp4",
      "download": "/videos/examples/additions/staircase-title-clears-in-two-beats-then-lower-third-fades-in/package.zip",
      "svg": "/videos/examples/additions/staircase-title-clears-in-two-beats-then-lower-third-fades-in/editable.svg",
      "resolve": "/videos/examples/additions/staircase-title-clears-in-two-beats-then-lower-third-fades-in/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146486,
      "packageSha256": "30a422160e4b21a899cec50f65f2bbbb128de436b1ba503fd45d6fee7251db6e",
      "poster": "/videos/examples/posters/staircase-title-clears-in-two-beats-then-lower-third-fades-in.jpg",
      "render": {
        "sha256": "67b426fee9b82026eb2a58479b26ea70b1e27eb1b15b7dfff00967cca08c909c",
        "bytes": 30449,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 72,
        "duration": 3.002989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/staircase-title-clears-in-two-beats-then-lower-third-fades-in/item.json",
      "observation": "The four-word staircase title and its bottom-left sub-line sit over a presenter at a desk. At ~f15 the right-hand pair of words and the sub-line vanish together; two frames later (~f17) the left-hand pair vanishes, leaving clean footage. After an 18-frame pause a small lower third fades in at the bottom-left (~f35\u2013f38): the name on the left and, with a gap, the role to its right on the same baseline. It holds to the end.",
      "mechanism": "Two-beat title clear (right group, then left group) followed by a single-baseline name-and-role lower third fading in after a pause.",
      "phases": [
        {
          "frame": 0,
          "label": "Title and sub-line hold"
        },
        {
          "frame": 15,
          "label": "Right words and sub-line off"
        },
        {
          "frame": 17,
          "label": "Left words off"
        },
        {
          "frame": 35,
          "label": "Lower third fades in"
        },
        {
          "frame": 38,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "staircase-title-type-on-across-a-hard-cut",
      "title": "Type a four-line staircase title, cut the background under it, then pop the lines off bottom-up",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Plugins & Skills",
        "id": "5QPBVrAAdBk",
        "url": "https://www.youtube.com/watch?v=5QPBVrAAdBk",
        "start": 0.75075,
        "end": 4.671333333333333
      },
      "preview": "/videos/examples/additions/staircase-title-type-on-across-a-hard-cut/remake.mp4",
      "sourcePreview": "/videos/examples/additions/staircase-title-type-on-across-a-hard-cut/source.mp4",
      "adaptationPreview": "/videos/examples/additions/staircase-title-type-on-across-a-hard-cut/adaptation.mp4",
      "download": "/videos/examples/additions/staircase-title-type-on-across-a-hard-cut/package.zip",
      "svg": "/videos/examples/additions/staircase-title-type-on-across-a-hard-cut/editable.svg",
      "resolve": "/videos/examples/additions/staircase-title-type-on-across-a-hard-cut/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145984,
      "packageSha256": "a69f5fc3893a89041ed73b4bd85b946ae3dbbfb33e803cfda04e9f7a60645677",
      "poster": "/videos/examples/posters/staircase-title-type-on-across-a-hard-cut.jpg",
      "render": {
        "sha256": "ffb08e7476ffaec559e4ccaf52dcfbd6e45b73077ffdd2573294812de2282435",
        "bytes": 42527,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 94,
        "duration": 3.920578,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/staircase-title-type-on-across-a-hard-cut/item.json",
      "observation": "Over a bright top-down room shot the first word types on at local ~5-12 in the top-left, the second word types in one step down and right (~13-18), the third word (~22-30) and a smaller fourth line (~34-48) continue the staircase toward the bottom-right. At ~48 the footage hard-cuts to a darker laptop close-up while all four lines stay in place. From ~78 the lines pop off from the bottom up: line four at ~80, line three at ~82, line two at ~86, line one at ~88.",
      "mechanism": "Staircase title build: sequential character type-ons stepping diagonally down the frame, held across a hard picture cut, then removed bottom-up in quick hard pops.",
      "phases": [
        {
          "frame": 5,
          "label": "Line one types on"
        },
        {
          "frame": 13,
          "label": "Line two types on"
        },
        {
          "frame": 22,
          "label": "Line three types on"
        },
        {
          "frame": 34,
          "label": "Small line four types on"
        },
        {
          "frame": 48,
          "label": "Hard cut to darker plate, title holds"
        },
        {
          "frame": 80,
          "label": "Lines pop off bottom-up"
        }
      ]
    },
    {
      "id": "sticker-word-hard-cut-then-tilted-photo-cards-stack-in",
      "title": "Hold a caption over live footage, hard-cut to a sticker word, then stack tilted photo cards behind it",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Turn the world into cheese (or anything really) with this camera.",
        "id": "09-krjdFfis",
        "url": "https://www.youtube.com/watch?v=09-krjdFfis",
        "start": 37.666666666666664,
        "end": 40.0
      },
      "preview": "/videos/examples/additions/sticker-word-hard-cut-then-tilted-photo-cards-stack-in/remake.mp4",
      "sourcePreview": "/videos/examples/additions/sticker-word-hard-cut-then-tilted-photo-cards-stack-in/source.mp4",
      "adaptationPreview": "/videos/examples/additions/sticker-word-hard-cut-then-tilted-photo-cards-stack-in/adaptation.mp4",
      "download": "/videos/examples/additions/sticker-word-hard-cut-then-tilted-photo-cards-stack-in/package.zip",
      "svg": "/videos/examples/additions/sticker-word-hard-cut-then-tilted-photo-cards-stack-in/editable.svg",
      "resolve": "/videos/examples/additions/sticker-word-hard-cut-then-tilted-photo-cards-stack-in/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148381,
      "packageSha256": "36dd1ef19a74f184706800a48383af34e03ebf069806c77326516c3890c1c941",
      "poster": "/videos/examples/posters/sticker-word-hard-cut-then-tilted-photo-cards-stack-in.jpg",
      "render": {
        "sha256": "20037c4b0b475f10c09f25a4639224d9defb5b0c9b3b64204cf8cb19d4743247",
        "bytes": 136543,
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 70,
        "duration": 2.333333,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/sticker-word-hard-cut-then-tilted-photo-cards-stack-in/item.json",
      "observation": "A small white caption 'Turn the world into' sits top-centre over a handheld shot of a parking lot with a lime camera in the foreground (f0\u201319). At f20 the frame hard-cuts: a large photo card tilted about -6\u00b0 fills most of the frame with a red, hand-lettered sticker word across it. At ~f33 a second tilted card pops in top-right, ~f38 a third bottom-left and ~f45 a fourth bottom-right, each scaling up quickly; the sticker word stays on top throughout and everything holds to f69.",
      "mechanism": "A hard cut from live-action caption to a graphic collage: a sticker word sits on a tilted hero card and further rotated cards pop in behind it in a quick stagger.",
      "phases": [
        {
          "frame": 0,
          "label": "Caption holds over footage"
        },
        {
          "frame": 20,
          "label": "Hard cut: hero card and sticker word"
        },
        {
          "frame": 33,
          "label": "Second card pops top-right"
        },
        {
          "frame": 38,
          "label": "Third card pops bottom-left"
        },
        {
          "frame": 45,
          "label": "Fourth card pops bottom-right"
        },
        {
          "frame": 69,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "storyboard-caption-card-pops-then-swaps-to-second-card",
      "title": "Pop a translucent caption card over the video on a segment click, then hard-swap it for the second card",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to storyboard with Sora",
        "id": "6PXWAvUG8Sg",
        "url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg",
        "start": 114.73333333333333,
        "end": 118.33333333333333
      },
      "preview": "/videos/examples/additions/storyboard-caption-card-pops-then-swaps-to-second-card/remake.mp4",
      "sourcePreview": "/videos/examples/additions/storyboard-caption-card-pops-then-swaps-to-second-card/source.mp4",
      "adaptationPreview": "/videos/examples/additions/storyboard-caption-card-pops-then-swaps-to-second-card/adaptation.mp4",
      "download": "/videos/examples/additions/storyboard-caption-card-pops-then-swaps-to-second-card/package.zip",
      "svg": "/videos/examples/additions/storyboard-caption-card-pops-then-swaps-to-second-card/editable.svg",
      "resolve": "/videos/examples/additions/storyboard-caption-card-pops-then-swaps-to-second-card/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148577,
      "packageSha256": "de68cdedb1a8e1a46ea18ef50d1407fa38397b81fbf7db3b0acc8a27af41563b",
      "poster": "/videos/examples/posters/storyboard-caption-card-pops-then-swaps-to-second-card.jpg",
      "render": {
        "sha256": "8dfea22aca2b14e8a61a112f907147a02764ca19f97012489ac7e264f78bef70",
        "bytes": 81533,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 216,
        "duration": 3.6,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/storyboard-caption-card-pops-then-swaps-to-second-card/item.json",
      "observation": "A generated video (a red-crowned bird by a stream) fills the frame above a thin dark player bar with a progress track and two small storyboard-segment buttons. The pointer sits on the first segment button; at about local frame 8 it clicks, and by frame 9-10 (master 6893) a tall translucent dark card labelled '1' pops in over the left of the picture carrying the scene's caption in white; the progress marker jumps forward at the same time. The card holds while the video plays. At about frame 186 (master ~7070) the pointer has moved to the second button and the card is replaced in one frame by card '2' with a shorter caption; that holds to the end.",
      "mechanism": "Caption overlay bound to a segment control: the card enters with a two-frame fade and slight scale-up on the first click, and subsequent segments hard-swap the card contents rather than re-animating it.",
      "phases": [
        {
          "frame": 0,
          "label": "Video, no card, pointer on segment 1"
        },
        {
          "frame": 8,
          "label": "Click segment 1"
        },
        {
          "frame": 9,
          "label": "Card 1 pops in, marker jumps"
        },
        {
          "frame": 172,
          "label": "Pointer moves to segment 2"
        },
        {
          "frame": 186,
          "label": "Card hard-swaps to 2"
        },
        {
          "frame": 210,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "strength-chip-tooltip-gives-way-to-radio-popover-hover-walk",
      "title": "Swap a chip tooltip for a radio popover on click, then walk the hover highlight down a row",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to remix with Sora",
        "id": "tC2ZELc4bOA",
        "url": "https://www.youtube.com/watch?v=tC2ZELc4bOA",
        "start": 37.25,
        "end": 39.0
      },
      "preview": "/videos/examples/additions/strength-chip-tooltip-gives-way-to-radio-popover-hover-walk/remake.mp4",
      "sourcePreview": "/videos/examples/additions/strength-chip-tooltip-gives-way-to-radio-popover-hover-walk/source.mp4",
      "adaptationPreview": "/videos/examples/additions/strength-chip-tooltip-gives-way-to-radio-popover-hover-walk/adaptation.mp4",
      "download": "/videos/examples/additions/strength-chip-tooltip-gives-way-to-radio-popover-hover-walk/package.zip",
      "svg": "/videos/examples/additions/strength-chip-tooltip-gives-way-to-radio-popover-hover-walk/editable.svg",
      "resolve": "/videos/examples/additions/strength-chip-tooltip-gives-way-to-radio-popover-hover-walk/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149351,
      "packageSha256": "28c0d3e05861ba4dc6c7d54e8901658949a7871177b251f7a5ddcc3be6febfbb",
      "poster": "/videos/examples/posters/strength-chip-tooltip-gives-way-to-radio-popover-hover-walk.jpg",
      "render": {
        "sha256": "98048f6f669edd1348344a8bd3118dfb44c7cc7f5a27c27a194bb2fae50a4d8a",
        "bytes": 66506,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 105,
        "duration": 1.75,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/strength-chip-tooltip-gives-way-to-radio-popover-hover-walk/item.json",
      "observation": "A dark composer under a portrait video shows a typed edit request and a chip row; the pointer rests on the 'Strong remix' chip and a small 'Remix strength' tooltip floats above it (f0\u201312). The pointer clicks at ~f13: the tooltip vanishes and a dark popover scales in above the chip (~f15\u201327) listing Strong (selected), Mild, Subtle and Custom, each with a grey description and a radio ring. It holds; at ~f65 the pointer moves onto 'Mild' and a lighter hover plate highlights that row, holding to f104.",
      "mechanism": "Tooltip-to-popover disclosure: a hover tooltip is replaced on click by a scaled-in option popover, then a hover plate walks to a new row.",
      "phases": [
        {
          "frame": 0,
          "label": "Chip tooltip visible"
        },
        {
          "frame": 13,
          "label": "Click on chip; tooltip gone"
        },
        {
          "frame": 15,
          "label": "Popover scales in"
        },
        {
          "frame": 27,
          "label": "Popover holds"
        },
        {
          "frame": 65,
          "label": "Hover plate highlights second row"
        },
        {
          "frame": 104,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "subtitle-carried-across-picture-cut-then-cleared",
      "title": "Swap the subtitle mid-shot, carry it unchanged across the picture cut, then clear it on its own beat",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Inside Cricket\u2019s Smartest Backroom | Rajasthan Royals | ChatGPT @rajasthanroyals",
        "id": "0XPk_MAwCW4",
        "url": "https://www.youtube.com/watch?v=0XPk_MAwCW4",
        "start": 187.6,
        "end": 190.0
      },
      "preview": "/videos/examples/additions/subtitle-carried-across-picture-cut-then-cleared/remake.mp4",
      "sourcePreview": "/videos/examples/additions/subtitle-carried-across-picture-cut-then-cleared/source.mp4",
      "adaptationPreview": "/videos/examples/additions/subtitle-carried-across-picture-cut-then-cleared/adaptation.mp4",
      "download": "/videos/examples/additions/subtitle-carried-across-picture-cut-then-cleared/package.zip",
      "svg": "/videos/examples/additions/subtitle-carried-across-picture-cut-then-cleared/editable.svg",
      "resolve": "/videos/examples/additions/subtitle-carried-across-picture-cut-then-cleared/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 147230,
      "packageSha256": "1d648d7cc06e41234cc95bc05b37157c95e1439c7b9d459b16105ba68ece5c3f",
      "poster": "/videos/examples/posters/subtitle-carried-across-picture-cut-then-cleared.jpg",
      "render": {
        "sha256": "2bbb0eb28dda3136bf5695b211bb40b9bfdcf6eef196980a46191ee7fb911ac5",
        "bytes": 59510,
        "width": 1920,
        "height": 1080,
        "fps": "25/1",
        "frames": 60,
        "duration": 2.4,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/subtitle-carried-across-picture-cut-then-cleared/item.json",
      "observation": "A close-up of hands holding a phone against a jersey fills the frame; a long subtitle sits on a black plate at bottom centre. At local 11 (master 4701) the subtitle hard-swaps to a shorter line and its plate shrinks to fit. At local 31 (~4721) the picture hard-cuts to a warm medium close-up of a man looking down, and the short subtitle stays exactly where it was. At local 41 (4731) the subtitle disappears while the picture holds, and the shot continues clean to the end of the window.",
      "mechanism": "Subtitle timing decoupled from the picture edit: the line swaps before the cut, rides across the cut untouched, and is cleared ten frames later on the speech rhythm.",
      "phases": [
        {
          "frame": 0,
          "label": "Phone close-up with long subtitle"
        },
        {
          "frame": 11,
          "label": "Hard swap to short subtitle, plate shrinks"
        },
        {
          "frame": 31,
          "label": "Hard cut to face; subtitle unchanged"
        },
        {
          "frame": 41,
          "label": "Subtitle cleared, picture holds"
        }
      ]
    },
    {
      "id": "subtitle-plate-resizes-on-line-swap-then-clears-at-cut",
      "title": "Hard-swap a subtitle line so its black plate re-sizes to the new text, then clear it on the picture cut",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Inside Cricket\u2019s Smartest Backroom | Rajasthan Royals | ChatGPT @rajasthanroyals",
        "id": "0XPk_MAwCW4",
        "url": "https://www.youtube.com/watch?v=0XPk_MAwCW4",
        "start": 149.0,
        "end": 151.76
      },
      "preview": "/videos/examples/additions/subtitle-plate-resizes-on-line-swap-then-clears-at-cut/remake.mp4",
      "sourcePreview": "/videos/examples/additions/subtitle-plate-resizes-on-line-swap-then-clears-at-cut/source.mp4",
      "adaptationPreview": "/videos/examples/additions/subtitle-plate-resizes-on-line-swap-then-clears-at-cut/adaptation.mp4",
      "download": "/videos/examples/additions/subtitle-plate-resizes-on-line-swap-then-clears-at-cut/package.zip",
      "svg": "/videos/examples/additions/subtitle-plate-resizes-on-line-swap-then-clears-at-cut/editable.svg",
      "resolve": "/videos/examples/additions/subtitle-plate-resizes-on-line-swap-then-clears-at-cut/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146994,
      "packageSha256": "797e4700ed88148cf84da4178f5bfb13330a0e0d7f526d7ee8f4188bda50e7f2",
      "poster": "/videos/examples/posters/subtitle-plate-resizes-on-line-swap-then-clears-at-cut.jpg",
      "render": {
        "sha256": "3b3df225a12337c0cb295d30d113999d6a5ea18ded1dd87f457c193ce97faebb",
        "bytes": 33773,
        "width": 1920,
        "height": 1080,
        "fps": "25/1",
        "frames": 69,
        "duration": 2.76,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/subtitle-plate-resizes-on-line-swap-then-clears-at-cut/item.json",
      "observation": "A seated interviewee in a dark wood-panelled room speaks to camera; at the bottom centre a short subtitle sits on a tight black plate. Frames 0-25 hold that short line. At local 26 (master 3751) the line swaps in one frame to a much longer sentence and the black plate is correspondingly wider, still centred at the same baseline. The long line holds until local 67 (3792), where a hard cut to a tight close-up of the same person arrives with no subtitle at all for the last two frames.",
      "mechanism": "Subtitle hard swap with a fitted plate: the plate width follows the text on the swap frame, and the subtitle is cut out with the shot rather than carried over.",
      "phases": [
        {
          "frame": 0,
          "label": "Short subtitle on a narrow plate"
        },
        {
          "frame": 26,
          "label": "Hard swap to long line; plate widens to fit"
        },
        {
          "frame": 67,
          "label": "Hard cut to close-up; subtitle cleared"
        }
      ]
    },
    {
      "id": "theme-pill-appears-then-page-field-hard-swaps-black-to-navy",
      "title": "Fade a theme pill into the corner, then hard-swap the page field from black to navy",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Shopify Uses ChatGPT Work to Build Faster with AI Agents",
        "id": "OHVu3Y4B3RI",
        "url": "https://www.youtube.com/watch?v=OHVu3Y4B3RI",
        "start": 40.0,
        "end": 42.5
      },
      "preview": "/videos/examples/additions/theme-pill-appears-then-page-field-hard-swaps-black-to-navy/remake.mp4",
      "sourcePreview": "/videos/examples/additions/theme-pill-appears-then-page-field-hard-swaps-black-to-navy/source.mp4",
      "adaptationPreview": "/videos/examples/additions/theme-pill-appears-then-page-field-hard-swaps-black-to-navy/adaptation.mp4",
      "download": "/videos/examples/additions/theme-pill-appears-then-page-field-hard-swaps-black-to-navy/package.zip",
      "svg": "/videos/examples/additions/theme-pill-appears-then-page-field-hard-swaps-black-to-navy/editable.svg",
      "resolve": "/videos/examples/additions/theme-pill-appears-then-page-field-hard-swaps-black-to-navy/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149166,
      "packageSha256": "03f80f794b3f562a5e0efe22b73aca5ee2d7e838141c7c43e1fec0ad6bb65c02",
      "poster": "/videos/examples/posters/theme-pill-appears-then-page-field-hard-swaps-black-to-navy.jpg",
      "render": {
        "sha256": "599b4c76cac9afa047974c47099c47d472b915d05a5f8a5256792c5026717b88",
        "bytes": 67502,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 60,
        "duration": 2.5,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/theme-pill-appears-then-page-field-hard-swaps-black-to-navy/item.json",
      "observation": "A browser window on a light grey desktop shows a coding assistant with a white sidebar and a black page: a three-line 80px serif-style headline with the last word in green, an italic subline and a row of small green tags; a rounded webcam inset overlaps the bottom-right corner. At ~f12 a small white pill with a blue dot and 'change to light mode' fades in at the top-right of the page. At ~f15 the whole page field switches from black to deep navy in a single frame; the type stays white. Everything holds to the end.",
      "mechanism": "Control appears first, then the state change: a soft pill fade-in followed by a one-frame background colour swap with the typography untouched.",
      "phases": [
        {
          "frame": 0,
          "label": "Black page holds"
        },
        {
          "frame": 12,
          "label": "Theme pill fades in top-right"
        },
        {
          "frame": 15,
          "label": "Page field hard-swaps to navy"
        },
        {
          "frame": 59,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "three-corner-title-staggered-char-typeon",
      "title": "Type a three-part opening title into three corners of the frame in a stagger",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Using Voice in ChatGPT Work",
        "id": "_Gd9yzAc-WI",
        "url": "https://www.youtube.com/watch?v=_Gd9yzAc-WI",
        "start": 0.23356666666666667,
        "end": 2.3690333333333333
      },
      "preview": "/videos/examples/additions/three-corner-title-staggered-char-typeon/remake.mp4",
      "sourcePreview": "/videos/examples/additions/three-corner-title-staggered-char-typeon/source.mp4",
      "adaptationPreview": "/videos/examples/additions/three-corner-title-staggered-char-typeon/adaptation.mp4",
      "download": "/videos/examples/additions/three-corner-title-staggered-char-typeon/package.zip",
      "svg": "/videos/examples/additions/three-corner-title-staggered-char-typeon/editable.svg",
      "resolve": "/videos/examples/additions/three-corner-title-staggered-char-typeon/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145821,
      "packageSha256": "f80b082637d986f0646b426e5d410c9c69fe266dc21b072f594506d29b6aac1d",
      "poster": "/videos/examples/posters/three-corner-title-staggered-char-typeon.jpg",
      "render": {
        "sha256": "c0e5e390eaedc87c5afafa85343a9cced0df648e974af3337a41c962b484d861",
        "bytes": 28513,
        "width": 1920,
        "height": 1080,
        "fps": "30000/1001",
        "frames": 64,
        "duration": 2.135467,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/three-corner-title-staggered-char-typeon/item.json",
      "observation": "Over a dark desk shot the first word types in at top left in white bold sans: 'Us' at master 9, 'Usin' at 11, complete 'Using' at 13 (local 2-6). It holds alone until the product name lands centre-right just below it in a fast burst between master 19 and 23 (local 12-16). After another hold the third fragment types in bottom right: 'in' at 35, 'in Wo' at 37, 'in Work' at 41 (local 28-34). All three then hold through the end of the window at master 71 while the footage moves underneath.",
      "mechanism": "Staggered three-corner title: each fragment types on by character at its own corner, separated by deliberate holds, so the sentence is read across the frame rather than in one block.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty plate"
        },
        {
          "frame": 2,
          "label": "Fragment 1 types top left"
        },
        {
          "frame": 12,
          "label": "Fragment 2 bursts in centre right"
        },
        {
          "frame": 28,
          "label": "Fragment 3 types bottom right"
        },
        {
          "frame": 34,
          "label": "Complete, hold"
        }
      ]
    },
    {
      "id": "three-corner-title-types-over-wide-room-shot",
      "title": "Type a three-word title into three corners, one word per beat, over a wide shot",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Building with ChatGPT Voice | OpenAI",
        "id": "E0ZMOschrTU",
        "url": "https://www.youtube.com/watch?v=E0ZMOschrTU",
        "start": 5.088416666666666,
        "end": 7.298958333333333
      },
      "preview": "/videos/examples/additions/three-corner-title-types-over-wide-room-shot/remake.mp4",
      "sourcePreview": "/videos/examples/additions/three-corner-title-types-over-wide-room-shot/source.mp4",
      "adaptationPreview": "/videos/examples/additions/three-corner-title-types-over-wide-room-shot/adaptation.mp4",
      "download": "/videos/examples/additions/three-corner-title-types-over-wide-room-shot/package.zip",
      "svg": "/videos/examples/additions/three-corner-title-types-over-wide-room-shot/editable.svg",
      "resolve": "/videos/examples/additions/three-corner-title-types-over-wide-room-shot/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146106,
      "packageSha256": "6158cc6cb9bbdcd3a80737c931aa1ede16b351a22c052a91ef831a6231baaad7",
      "poster": "/videos/examples/posters/three-corner-title-types-over-wide-room-shot.jpg",
      "render": {
        "sha256": "64a620ffa511849f9a9b1a11daff28af4247351c895be02c6c3227e081ba0327",
        "bytes": 54943,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 53,
        "duration": 2.210533,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/three-corner-title-types-over-wide-room-shot/item.json",
      "observation": "Hard cut to a high, wide shot of a living room. 'Building' types on character by character at the top-left (f2-10), then 'with' types on at the right edge mid-frame (f14-22), then 'voice' types on at the bottom-right (f22-30). All three words hold in place with a slight camera drift until a hard cut at f53.",
      "mechanism": "A staggered three-word title: each word types on in its own corner in sequence, building a triangular composition over live footage.",
      "phases": [
        {
          "frame": 0,
          "label": "Hard cut to wide room shot"
        },
        {
          "frame": 2,
          "label": "Word one types on, top-left"
        },
        {
          "frame": 14,
          "label": "Word two types on, right-middle"
        },
        {
          "frame": 22,
          "label": "Word three types on, bottom-right"
        },
        {
          "frame": 31,
          "label": "Hold until the cut"
        }
      ]
    },
    {
      "id": "three-name-lower-thirds-stagger-then-footer-role-types",
      "title": "Stagger three name tags across a wide shot, then type a shared role footer",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Improved Intelligence with GPT-Live",
        "id": "avpZWh6sm9M",
        "url": "https://www.youtube.com/watch?v=avpZWh6sm9M",
        "start": 14.097416666666666,
        "end": 16.349666666666668
      },
      "preview": "/videos/examples/additions/three-name-lower-thirds-stagger-then-footer-role-types/remake.mp4",
      "sourcePreview": "/videos/examples/additions/three-name-lower-thirds-stagger-then-footer-role-types/source.mp4",
      "adaptationPreview": "/videos/examples/additions/three-name-lower-thirds-stagger-then-footer-role-types/adaptation.mp4",
      "download": "/videos/examples/additions/three-name-lower-thirds-stagger-then-footer-role-types/package.zip",
      "svg": "/videos/examples/additions/three-name-lower-thirds-stagger-then-footer-role-types/editable.svg",
      "resolve": "/videos/examples/additions/three-name-lower-thirds-stagger-then-footer-role-types/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146262,
      "packageSha256": "17574cc0fb02176597972bf37fd20172336ec5fd85605033856980b0b75252c1",
      "poster": "/videos/examples/posters/three-name-lower-thirds-stagger-then-footer-role-types.jpg",
      "render": {
        "sha256": "9cd8fff1c3b2308f4823dfcbd1058ece5645daa27a8a9ffc2d9c890609cad27b",
        "bytes": 25494,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 54,
        "duration": 2.252244,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/three-name-lower-thirds-stagger-then-footer-role-types/item.json",
      "observation": "A hard cut lands on a wide living-room shot with three people (f0\u20133). At ~f4 a bold white name pops up over the left figure; at ~f8 a second name appears low-centre over the middle figure; at ~f12 a third appears lower-right. From ~f14 a small shared role line types on at the bottom-left corner, finishing by ~f21. Everything holds until the shot cuts away at f54.",
      "mechanism": "A multi-subject lower third: names pop in with a short rise and fade in a left-to-right stagger, followed by a small typed footer that labels the group.",
      "phases": [
        {
          "frame": 0,
          "label": "Wide shot, no graphics"
        },
        {
          "frame": 4,
          "label": "First name pops"
        },
        {
          "frame": 8,
          "label": "Second name pops"
        },
        {
          "frame": 12,
          "label": "Third name pops"
        },
        {
          "frame": 14,
          "label": "Footer role types on"
        },
        {
          "frame": 21,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "three-word-staircase-types-then-wipes-off-by-line",
      "title": "Type a numbered three-word staircase in overlapping beats and wipe it off line by line",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Schedule a Weekly Metrics Report With ChatGPT Work",
        "id": "p_slDAvPjv0",
        "url": "https://www.youtube.com/watch?v=p_slDAvPjv0",
        "start": 39.24754166666666,
        "end": 42.00029166666667
      },
      "preview": "/videos/examples/additions/three-word-staircase-types-then-wipes-off-by-line/remake.mp4",
      "sourcePreview": "/videos/examples/additions/three-word-staircase-types-then-wipes-off-by-line/source.mp4",
      "adaptationPreview": "/videos/examples/additions/three-word-staircase-types-then-wipes-off-by-line/adaptation.mp4",
      "download": "/videos/examples/additions/three-word-staircase-types-then-wipes-off-by-line/package.zip",
      "svg": "/videos/examples/additions/three-word-staircase-types-then-wipes-off-by-line/editable.svg",
      "resolve": "/videos/examples/additions/three-word-staircase-types-then-wipes-off-by-line/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145933,
      "packageSha256": "3e0b87df1bf39c70e3a29eb6e749105ec8967bee6ac3bb4d7ba8eb62f37a9cf9",
      "poster": "/videos/examples/posters/three-word-staircase-types-then-wipes-off-by-line.jpg",
      "render": {
        "sha256": "2e529599d26cbf69ecbaa03628a6ff727c48e8ba1c3ea4dcf2e9c6a2205ff1e9",
        "bytes": 25146,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 66,
        "duration": 2.752744,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/three-word-staircase-types-then-wipes-off-by-line/item.json",
      "observation": "On a warm blurred interview background '2.' pops on at local ~1. The verb types on top-left from ~4 to ~15; the second word pops on whole to the right at ~9 while the verb is still typing; the third word types on lower-right from ~12 to ~21. The three words hold until ~55, then exit as staggered left-to-right wipes: number off at ~57, verb wiped ~57-62, third word wiped ~60-65, second word wiped ~62-66.",
      "mechanism": "Overlapping type-on staircase: a typed line, a popped line and a typed line whose reveals overlap in time, exited by per-line left-to-right wipes.",
      "phases": [
        {
          "frame": 1,
          "label": "Step number pops on"
        },
        {
          "frame": 4,
          "label": "Verb types on"
        },
        {
          "frame": 9,
          "label": "Second word pops on"
        },
        {
          "frame": 12,
          "label": "Third word types on"
        },
        {
          "frame": 21,
          "label": "Complete, hold"
        },
        {
          "frame": 57,
          "label": "Staggered wipe-off"
        }
      ]
    },
    {
      "id": "title-card-cut-to-interview-lower-third-name-then-role",
      "title": "Cut from the title card into the interview and build the lower third: name first, role three frames later",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Previewing Ultrafast mode: GPT\u20115.6 Sol at up to 14X the speed",
        "id": "EDWbX_-RYws",
        "url": "https://www.youtube.com/watch?v=EDWbX_-RYws",
        "start": 8.25825,
        "end": 12.26225
      },
      "preview": "/videos/examples/additions/title-card-cut-to-interview-lower-third-name-then-role/remake.mp4",
      "sourcePreview": "/videos/examples/additions/title-card-cut-to-interview-lower-third-name-then-role/source.mp4",
      "adaptationPreview": "/videos/examples/additions/title-card-cut-to-interview-lower-third-name-then-role/adaptation.mp4",
      "download": "/videos/examples/additions/title-card-cut-to-interview-lower-third-name-then-role/package.zip",
      "svg": "/videos/examples/additions/title-card-cut-to-interview-lower-third-name-then-role/editable.svg",
      "resolve": "/videos/examples/additions/title-card-cut-to-interview-lower-third-name-then-role/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 147424,
      "packageSha256": "0faa5d470c8f0ff30f9bc1c789cfdf828f0b627dc07136f1f052aed6909e7ea6",
      "poster": "/videos/examples/posters/title-card-cut-to-interview-lower-third-name-then-role.jpg",
      "render": {
        "sha256": "92f6fe0198ce2bdbfab14444a536ce08a39f27c11725f0163278df047a819c3b",
        "bytes": 41555,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 96,
        "duration": 4.003989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/title-card-cut-to-interview-lower-third-name-then-role/item.json",
      "observation": "Local 0-1 (master 198-199) are the last two frames of the opening title card: two lines of very large white bold type, top-left and bottom-left, over a warm interview shot. At local 2 (200) a hard cut lands on a different speaker in a book-lined room with no graphics. At local 5 (203) the speaker's name pops on at bottom-left in small bold white type; at local 8 (206) the role line pops on to its right, separated by a wide gap. Both hold unchanged to the end of the window; neither slides, fades or has a plate.",
      "mechanism": "Two-stage lower-third build on hard steps after a cut: name lands first, the role follows three frames later, with no plate or motion.",
      "phases": [
        {
          "frame": 0,
          "label": "Title card, last two frames"
        },
        {
          "frame": 2,
          "label": "Hard cut to interview"
        },
        {
          "frame": 5,
          "label": "Name pops on"
        },
        {
          "frame": 8,
          "label": "Role pops on"
        },
        {
          "frame": 95,
          "label": "Lower third holds"
        }
      ]
    },
    {
      "id": "title-card-hard-cuts-to-interview-then-name-and-role-pop-in",
      "title": "Hold a collage title card, hard-cut to the interview, then pop the name and the role in two beats",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Shopify Uses ChatGPT Work to Build Faster with AI Agents",
        "id": "OHVu3Y4B3RI",
        "url": "https://www.youtube.com/watch?v=OHVu3Y4B3RI",
        "start": 4.166666666666667,
        "end": 7.166666666666667
      },
      "preview": "/videos/examples/additions/title-card-hard-cuts-to-interview-then-name-and-role-pop-in/remake.mp4",
      "sourcePreview": "/videos/examples/additions/title-card-hard-cuts-to-interview-then-name-and-role-pop-in/source.mp4",
      "adaptationPreview": "/videos/examples/additions/title-card-hard-cuts-to-interview-then-name-and-role-pop-in/adaptation.mp4",
      "download": "/videos/examples/additions/title-card-hard-cuts-to-interview-then-name-and-role-pop-in/package.zip",
      "svg": "/videos/examples/additions/title-card-hard-cuts-to-interview-then-name-and-role-pop-in/editable.svg",
      "resolve": "/videos/examples/additions/title-card-hard-cuts-to-interview-then-name-and-role-pop-in/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148009,
      "packageSha256": "dbed94aa760dd2512654d25f3d007bd5d6c3ad10bf8964109a0b256ee5c59bd1",
      "poster": "/videos/examples/posters/title-card-hard-cuts-to-interview-then-name-and-role-pop-in.jpg",
      "render": {
        "sha256": "e88c788100323885a5f43b43e49b7a364a3e953f9a4acc9437b614d2ad6bd27a",
        "bytes": 43758,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 72,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/title-card-hard-cuts-to-interview-then-name-and-role-pop-in/item.json",
      "observation": "An off-white title card holds for the first eight frames: a two-line centred headline surrounded by small illustration tiles (a parcel, a 'Workflow summary' document card, a yellow code snippet, a small table and a flowchart). At ~f8 it hard-cuts to a webcam interview in a pale green room. The speaker's name pops in bottom-left at ~f11 with no animation, and the role line pops in to its right three frames later (~f14). Both hold to the end.",
      "mechanism": "Static collage title card, hard cut to interview footage, then a two-beat lower third where the name appears first and the role follows.",
      "phases": [
        {
          "frame": 0,
          "label": "Title card holds"
        },
        {
          "frame": 8,
          "label": "Hard cut to interview"
        },
        {
          "frame": 11,
          "label": "Name pops in"
        },
        {
          "frame": 14,
          "label": "Role pops in"
        },
        {
          "frame": 71,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "title-first-word-pops-then-second-word-types",
      "title": "Pop the first word of a lower-left title on whole, then type the second word",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Make information visual with ChatGPT",
        "id": "jzmNh8lbSp8",
        "url": "https://www.youtube.com/watch?v=jzmNh8lbSp8",
        "start": 0.0,
        "end": 2.75275
      },
      "preview": "/videos/examples/additions/title-first-word-pops-then-second-word-types/remake.mp4",
      "sourcePreview": "/videos/examples/additions/title-first-word-pops-then-second-word-types/source.mp4",
      "adaptationPreview": "/videos/examples/additions/title-first-word-pops-then-second-word-types/adaptation.mp4",
      "download": "/videos/examples/additions/title-first-word-pops-then-second-word-types/package.zip",
      "svg": "/videos/examples/additions/title-first-word-pops-then-second-word-types/editable.svg",
      "resolve": "/videos/examples/additions/title-first-word-pops-then-second-word-types/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145413,
      "packageSha256": "0b285820914412fce4f55d3306882f89329b07fc94dbae079f21a252ce0c0fae",
      "poster": "/videos/examples/posters/title-first-word-pops-then-second-word-types.jpg",
      "render": {
        "sha256": "876977dbd79e5a0ee7a72aeae9689c5df23822d5bf4f5f8085b2b7a438199781",
        "bytes": 20340,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 66,
        "duration": 2.752744,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/title-first-word-pops-then-second-word-types/item.json",
      "observation": "The film opens on a bright tabletop; a laptop lid swings open from local ~6 to ~24. At local ~11 the first word of the title appears whole in the lower-left at ~60 px white with a soft shadow. From ~16 to ~22 the second word types on character by character with no caret. The two-word title then holds to the end of the shot at 66.",
      "mechanism": "Hybrid title reveal: the first word hard-pops in as a unit and the second word types on, giving a one-beat build without a caret.",
      "phases": [
        {
          "frame": 0,
          "label": "Tabletop, no title"
        },
        {
          "frame": 11,
          "label": "First word pops on"
        },
        {
          "frame": 16,
          "label": "Second word types"
        },
        {
          "frame": 22,
          "label": "Title complete, holds"
        }
      ]
    },
    {
      "id": "title-types-on-then-glow-sweeps-it-off-left-to-right",
      "title": "Type a one-line title over a night landscape, hold, then let a travelling glow wipe it off left to right",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Computer Use: Now faster with Live Picture-in-Picture",
        "id": "IYYTI73J7Rg",
        "url": "https://www.youtube.com/watch?v=IYYTI73J7Rg",
        "start": 0.0,
        "end": 4.666666666666667
      },
      "preview": "/videos/examples/additions/title-types-on-then-glow-sweeps-it-off-left-to-right/remake.mp4",
      "sourcePreview": "/videos/examples/additions/title-types-on-then-glow-sweeps-it-off-left-to-right/source.mp4",
      "adaptationPreview": "/videos/examples/additions/title-types-on-then-glow-sweeps-it-off-left-to-right/adaptation.mp4",
      "download": "/videos/examples/additions/title-types-on-then-glow-sweeps-it-off-left-to-right/package.zip",
      "svg": "/videos/examples/additions/title-types-on-then-glow-sweeps-it-off-left-to-right/editable.svg",
      "resolve": "/videos/examples/additions/title-types-on-then-glow-sweeps-it-off-left-to-right/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146724,
      "packageSha256": "02294637a536826053741067ed3051ffb6ae730ee816cd6b744d2c1694494309",
      "poster": "/videos/examples/posters/title-types-on-then-glow-sweeps-it-off-left-to-right.jpg",
      "render": {
        "sha256": "a3b0e54131fee7f0151b3c5f87d6933d6bd1baf883c1af100a06447718835d70",
        "bytes": 66417,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 112,
        "duration": 4.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/title-types-on-then-glow-sweeps-it-off-left-to-right/item.json",
      "observation": "A dark lake-and-mountain night scene. A white 46px sentence types on from the left edge character by character (~f2-26) at mid-height and holds (~f26-60). At ~f62 a small glowing mascot enters from the left at the text baseline and travels right; the characters it passes disappear so the line is wiped away left to right (~f64-110), leaving only the glow by the end.",
      "mechanism": "Character type-on, hold, then a left-to-right wipe-off driven by a moving glowing object that erases the text as it passes.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty landscape"
        },
        {
          "frame": 2,
          "label": "Title types on"
        },
        {
          "frame": 26,
          "label": "Hold"
        },
        {
          "frame": 60,
          "label": "Glow enters from left"
        },
        {
          "frame": 64,
          "label": "Wipe-off begins"
        },
        {
          "frame": 110,
          "label": "Text gone, glow alone"
        }
      ]
    },
    {
      "id": "toolbar-remix-click-morphs-action-row-into-composer",
      "title": "Hover a toolbar action for its tooltip, click it, and morph the action row into a composer",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to remix with Sora",
        "id": "tC2ZELc4bOA",
        "url": "https://www.youtube.com/watch?v=tC2ZELc4bOA",
        "start": 21.5,
        "end": 23.5
      },
      "preview": "/videos/examples/additions/toolbar-remix-click-morphs-action-row-into-composer/remake.mp4",
      "sourcePreview": "/videos/examples/additions/toolbar-remix-click-morphs-action-row-into-composer/source.mp4",
      "adaptationPreview": "/videos/examples/additions/toolbar-remix-click-morphs-action-row-into-composer/adaptation.mp4",
      "download": "/videos/examples/additions/toolbar-remix-click-morphs-action-row-into-composer/package.zip",
      "svg": "/videos/examples/additions/toolbar-remix-click-morphs-action-row-into-composer/editable.svg",
      "resolve": "/videos/examples/additions/toolbar-remix-click-morphs-action-row-into-composer/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149781,
      "packageSha256": "de838748006378130e007d964f237299983573d9cafcd12baaeed7a75cfca966",
      "poster": "/videos/examples/posters/toolbar-remix-click-morphs-action-row-into-composer.jpg",
      "render": {
        "sha256": "04079ac2942ababc15db99b7db813bdd3c00cb258b78945437a4a81e49b16da8",
        "bytes": 71499,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 120,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/toolbar-remix-click-morphs-action-row-into-composer/item.json",
      "observation": "A portrait video sits centred on black above a small 'Prompt' line, a progress bar and a six-item icon toolbar (f0\u201311). The pointer moves onto 'Remix' and at ~f12 a dark tooltip appears above it with a keyboard hint. The pointer clicks at ~f40; the toolbar fades and over ~f40\u201356 a wide dark composer grows in its place with placeholder text, three option chips, a help mark and a white 'Remix' button at right. The composer then holds while the pointer drifts down.",
      "mechanism": "A toolbar-to-composer morph: tooltip on hover, click, then the action row dissolves as a composer plate expands upward into the same footprint.",
      "phases": [
        {
          "frame": 0,
          "label": "Player with toolbar"
        },
        {
          "frame": 12,
          "label": "Tooltip appears over the action"
        },
        {
          "frame": 40,
          "label": "Click; toolbar fades"
        },
        {
          "frame": 56,
          "label": "Composer fully grown"
        },
        {
          "frame": 119,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "tooltip-button-click-dissolves-to-timeline-then-blur-pull-back",
      "title": "Hover a tooltip with a shortcut, click, cross-dissolve into a timeline macro, then blur-pull back to the editor",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to storyboard with Sora",
        "id": "6PXWAvUG8Sg",
        "url": "https://www.youtube.com/watch?v=6PXWAvUG8Sg",
        "start": 11.666666666666666,
        "end": 13.333333333333334
      },
      "preview": "/videos/examples/additions/tooltip-button-click-dissolves-to-timeline-then-blur-pull-back/remake.mp4",
      "sourcePreview": "/videos/examples/additions/tooltip-button-click-dissolves-to-timeline-then-blur-pull-back/source.mp4",
      "adaptationPreview": "/videos/examples/additions/tooltip-button-click-dissolves-to-timeline-then-blur-pull-back/adaptation.mp4",
      "download": "/videos/examples/additions/tooltip-button-click-dissolves-to-timeline-then-blur-pull-back/package.zip",
      "svg": "/videos/examples/additions/tooltip-button-click-dissolves-to-timeline-then-blur-pull-back/editable.svg",
      "resolve": "/videos/examples/additions/tooltip-button-click-dissolves-to-timeline-then-blur-pull-back/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150761,
      "packageSha256": "0aa7a067988505d3fca1de2938ed0e05f247d82e36fb78018aba35d85b448c5e",
      "poster": "/videos/examples/posters/tooltip-button-click-dissolves-to-timeline-then-blur-pull-back.jpg",
      "render": {
        "sha256": "8bfabefe08a5e3d3a50a55a1086766c7686bc67164d56ed700ff9871e80779ce",
        "bytes": 66657,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 100,
        "duration": 1.666667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/tooltip-button-click-dissolves-to-timeline-then-blur-pull-back/item.json",
      "observation": "Macro on a dark composer bar under a video: duration and version pills at left, a 'Storyboard' button and send circle at right, and a dark tooltip reading 'New storyboard' with a keyboard-shortcut chip above the button. The pointer sits on the button; the tooltip fades out around local frame 20 (master 720) and the button lights on the click at ~22. From ~33 to 37 (master 733-737) the frame cross-dissolves into a different macro: a dark storyboard timeline with a ruler (06-10), a wide clip block and a bottom toolbar. That holds until ~78, then blurs and shrinks (master 778-795) into the storyboard editor: a tall empty scene card centred over a timeline strip, which settles by ~96.",
      "mechanism": "Tooltip-to-mode change in two transitions: a short cross-dissolve carries the click into a detail view, then a blur-and-scale dissolve resolves that detail into the full new screen, each transition timed to a different UI beat.",
      "phases": [
        {
          "frame": 0,
          "label": "Tooltip with shortcut over the button"
        },
        {
          "frame": 20,
          "label": "Tooltip fades"
        },
        {
          "frame": 22,
          "label": "Click"
        },
        {
          "frame": 33,
          "label": "Cross-dissolve to timeline macro"
        },
        {
          "frame": 78,
          "label": "Blur and shrink"
        },
        {
          "frame": 92,
          "label": "Editor with scene card settles"
        }
      ]
    },
    {
      "id": "two-column-lower-third-types-name-and-two-line-role",
      "title": "Type a lower third in two columns: name at left, role and affiliation stacked at right",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Meet a mathematician solving previously unsolvable math problems with GPT-5.6",
        "id": "5X5CALvYvp0",
        "url": "https://www.youtube.com/watch?v=5X5CALvYvp0",
        "start": 21.980291666666666,
        "end": 25.567208333333333
      },
      "preview": "/videos/examples/additions/two-column-lower-third-types-name-and-two-line-role/remake.mp4",
      "sourcePreview": "/videos/examples/additions/two-column-lower-third-types-name-and-two-line-role/source.mp4",
      "adaptationPreview": "/videos/examples/additions/two-column-lower-third-types-name-and-two-line-role/adaptation.mp4",
      "download": "/videos/examples/additions/two-column-lower-third-types-name-and-two-line-role/package.zip",
      "svg": "/videos/examples/additions/two-column-lower-third-types-name-and-two-line-role/editable.svg",
      "resolve": "/videos/examples/additions/two-column-lower-third-types-name-and-two-line-role/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146648,
      "packageSha256": "073505a80444ef8472b1153d5ff9b088018cff065a26bb939bc9df6d54446815",
      "poster": "/videos/examples/posters/two-column-lower-third-types-name-and-two-line-role.jpg",
      "render": {
        "sha256": "4ef199e785e55f05bd20fd37b1a56b5334c5f5d98254668abb9ab6e45d9ec610",
        "bytes": 47795,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 86,
        "duration": 3.586911,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/two-column-lower-third-types-name-and-two-line-role/item.json",
      "observation": "Three frames of a warm close-up, then a hard cut (~f3) to a wide interview shot in front of bookshelves. From about f4 the interviewee's name types on at the lower-left in small bold white type; from f6 a second column starts typing the role on the same baseline about 230px to the right, and from f10 a second, right-aligned affiliation line types beneath the role. All text is complete by f22 and holds until a cut at f86.",
      "mechanism": "A typewriter lower third laid out as two columns: the name column and a two-line role column type on with overlapping starts, so the block assembles left to right.",
      "phases": [
        {
          "frame": 0,
          "label": "Close-up tail"
        },
        {
          "frame": 3,
          "label": "Hard cut to interview"
        },
        {
          "frame": 4,
          "label": "Name types on (left column)"
        },
        {
          "frame": 6,
          "label": "Role types on (right column, line 1)"
        },
        {
          "frame": 10,
          "label": "Affiliation types on (right column, line 2)"
        },
        {
          "frame": 22,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "two-column-name-card-pop-on-hard-cut-off",
      "title": "Pop a name and role on as one flat baseline lower third, then lose it on a hard cut",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Plugins & Skills",
        "id": "5QPBVrAAdBk",
        "url": "https://www.youtube.com/watch?v=5QPBVrAAdBk",
        "start": 5.25525,
        "end": 10.427083333333334
      },
      "preview": "/videos/examples/additions/two-column-name-card-pop-on-hard-cut-off/remake.mp4",
      "sourcePreview": "/videos/examples/additions/two-column-name-card-pop-on-hard-cut-off/source.mp4",
      "adaptationPreview": "/videos/examples/additions/two-column-name-card-pop-on-hard-cut-off/adaptation.mp4",
      "download": "/videos/examples/additions/two-column-name-card-pop-on-hard-cut-off/package.zip",
      "svg": "/videos/examples/additions/two-column-name-card-pop-on-hard-cut-off/editable.svg",
      "resolve": "/videos/examples/additions/two-column-name-card-pop-on-hard-cut-off/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145872,
      "packageSha256": "d42722d1653b5bbe1f88e55f6af9f7f169ec7fb8e0399ae73ef0952fbb2e8378",
      "poster": "/videos/examples/posters/two-column-name-card-pop-on-hard-cut-off.jpg",
      "render": {
        "sha256": "97b6f4031d3444fd534e0b1a758d3d622d9f2967ab7aaa75cda57282a8693be0",
        "bytes": 25450,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 124,
        "duration": 5.171822,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/two-column-name-card-pop-on-hard-cut-off/item.json",
      "observation": "A presenter shot holds with an empty lower band until local ~5, when the presenter's name (bold) and, on the same baseline about 330 px to the right, the role (regular) appear together in two frames with no motion. Both hold at 22 px in the bottom-left. At local 118 the picture hard-cuts to a screen-recording window on a dark field and the lower third disappears with the cut.",
      "mechanism": "Minimal lower third: a two-column single-baseline name/role card pops on with a two-frame fade and is removed by the picture cut rather than its own exit.",
      "phases": [
        {
          "frame": 0,
          "label": "Presenter shot, no graphics"
        },
        {
          "frame": 5,
          "label": "Name and role pop on together"
        },
        {
          "frame": 118,
          "label": "Hard cut to screen recording, card gone"
        }
      ]
    },
    {
      "id": "two-corner-title-dot-caret-word-type-on",
      "title": "Type a title word by word behind a dot caret, then answer it from the opposite corner",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How IT Admins can manage ChatGPT Work at scale | OpenAI",
        "id": "t8Ej9aeW388",
        "url": "https://www.youtube.com/watch?v=t8Ej9aeW388",
        "start": 0.0,
        "end": 3.003
      },
      "preview": "/videos/examples/additions/two-corner-title-dot-caret-word-type-on/remake.mp4",
      "sourcePreview": "/videos/examples/additions/two-corner-title-dot-caret-word-type-on/source.mp4",
      "adaptationPreview": "/videos/examples/additions/two-corner-title-dot-caret-word-type-on/adaptation.mp4",
      "download": "/videos/examples/additions/two-corner-title-dot-caret-word-type-on/package.zip",
      "svg": "/videos/examples/additions/two-corner-title-dot-caret-word-type-on/editable.svg",
      "resolve": "/videos/examples/additions/two-corner-title-dot-caret-word-type-on/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 146160,
      "packageSha256": "df5144e576b6f272afab5a66ae81c2aeb500aee935307e27545bc2f9739727d0",
      "poster": "/videos/examples/posters/two-corner-title-dot-caret-word-type-on.jpg",
      "render": {
        "sha256": "2e584b6c1147f518be5ebb828633a434e5c96f000f2cf5ad7618b0dac2182f5d",
        "bytes": 24844,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 72,
        "duration": 3.002989,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/two-corner-title-dot-caret-word-type-on/item.json",
      "observation": "Over an office two-shot a white dot sits alone at centre-left (f0-5). The first word pops in to its left (~f6) and the second word (~f14), each appearing whole, with the dot always trailing the last word. The dot vanishes (~f24) and a second dot appears at the bottom-right corner (~f24). A right-aligned second line grows leftward from that dot in three word beats ('Work for' ~f30, 'your' ~f37, 'team' ~f43); the dot disappears at ~f48 and both lines hold while the footage continues.",
      "mechanism": "Two-corner title build: whole-word type-on trailed by a dot caret, then the caret jumps to the opposite corner and a right-anchored second line grows towards it.",
      "phases": [
        {
          "frame": 0,
          "label": "Lone dot caret, centre-left"
        },
        {
          "frame": 6,
          "label": "Word 1 pops in"
        },
        {
          "frame": 14,
          "label": "Word 2 pops in"
        },
        {
          "frame": 24,
          "label": "Dot jumps to bottom-right"
        },
        {
          "frame": 30,
          "label": "Second line grows leftward in word beats"
        },
        {
          "frame": 48,
          "label": "Dot disappears; hold"
        }
      ]
    },
    {
      "id": "two-line-title-pops-line-by-line-over-stage-footage",
      "title": "Cut to the wide stage shot, then pop the title in two hard beats, one line at a time",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Building at the pace of AI innovation | Grant Lee, Gamma",
        "id": "PB7DBemxl3E",
        "url": "https://www.youtube.com/watch?v=PB7DBemxl3E",
        "start": 5.0,
        "end": 7.52
      },
      "preview": "/videos/examples/additions/two-line-title-pops-line-by-line-over-stage-footage/remake.mp4",
      "sourcePreview": "/videos/examples/additions/two-line-title-pops-line-by-line-over-stage-footage/source.mp4",
      "adaptationPreview": "/videos/examples/additions/two-line-title-pops-line-by-line-over-stage-footage/adaptation.mp4",
      "download": "/videos/examples/additions/two-line-title-pops-line-by-line-over-stage-footage/package.zip",
      "svg": "/videos/examples/additions/two-line-title-pops-line-by-line-over-stage-footage/editable.svg",
      "resolve": "/videos/examples/additions/two-line-title-pops-line-by-line-over-stage-footage/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145582,
      "packageSha256": "ac52f13a095a3f219e782b84176012332da35b203c6d7779d257ea6ba621f828",
      "poster": "/videos/examples/posters/two-line-title-pops-line-by-line-over-stage-footage.jpg",
      "render": {
        "sha256": "57f215c9fe819f02848f37a51e7e9c4afa279c1031f98bc275df9b5ffa3e3559",
        "bytes": 56076,
        "width": 1920,
        "height": 1080,
        "fps": "25/1",
        "frames": 63,
        "duration": 2.52,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/two-line-title-pops-line-by-line-over-stage-footage/item.json",
      "observation": "A dark interview close-up hard-cuts (~f2) to a wide shot of two people seated in front of a warm orange-and-blue backdrop with an audience in silhouette. At ~f12 the first title line pops on fully formed, centred slightly left of the speakers. At ~f22 the second line pops on directly beneath it. Nothing fades; both lines simply switch on and hold to the end of the window.",
      "mechanism": "Two-beat title pop: a hard cut to the establishing shot, then each title line appears as an instant switch-on ten frames apart.",
      "phases": [
        {
          "frame": 0,
          "label": "Interview close-up"
        },
        {
          "frame": 2,
          "label": "Hard cut to wide stage"
        },
        {
          "frame": 12,
          "label": "Line 1 pops on"
        },
        {
          "frame": 22,
          "label": "Line 2 pops on"
        },
        {
          "frame": 40,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "two-line-title-word-reveal-then-hard-cut-to-app",
      "title": "Reveal a two-line title word by word, hold it, then hard cut into the app",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to pressure-test marketing campaign briefs",
        "id": "HHt8CPJRviA",
        "url": "https://www.youtube.com/watch?v=HHt8CPJRviA",
        "start": 0.0,
        "end": 4.0
      },
      "preview": "/videos/examples/additions/two-line-title-word-reveal-then-hard-cut-to-app/remake.mp4",
      "sourcePreview": "/videos/examples/additions/two-line-title-word-reveal-then-hard-cut-to-app/source.mp4",
      "adaptationPreview": "/videos/examples/additions/two-line-title-word-reveal-then-hard-cut-to-app/adaptation.mp4",
      "download": "/videos/examples/additions/two-line-title-word-reveal-then-hard-cut-to-app/package.zip",
      "svg": "/videos/examples/additions/two-line-title-word-reveal-then-hard-cut-to-app/editable.svg",
      "resolve": "/videos/examples/additions/two-line-title-word-reveal-then-hard-cut-to-app/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151461,
      "packageSha256": "67ca243c7b1919de0ea3473e9b4c9ca0527c5d7b2fd8d8d410fbe73f0c81fe4a",
      "poster": "/videos/examples/posters/two-line-title-word-reveal-then-hard-cut-to-app.jpg",
      "render": {
        "sha256": "701e814ff3639f6c490ff5926e9c6d34d8feb8d2c33de3b38f781fbb6afa7ee1",
        "bytes": 132877,
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 240,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/two-line-title-word-reveal-then-hard-cut-to-app/item.json",
      "observation": "The film opens on an off-white field. A two-line centred title appears one word at a time in its final position: word 1 at ~f6, word 2 ~f14, word 3 (start of line two) ~f22, word 4 ~f28 and the last word ~f34, with no slide or fade. The full title holds until f179, then a hard cut lands on a full-screen browser recording of a chat app with a sidebar, a suggested message, a highlighted user bubble and a read-only composer, which holds to the end of the window.",
      "mechanism": "Word-by-word in-place title reveal on a fixed beat, followed by a hard cut from the title card straight into the product frame.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty off-white field"
        },
        {
          "frame": 6,
          "label": "Words appear in place every ~7 frames"
        },
        {
          "frame": 41,
          "label": "Two-line title complete, hold"
        },
        {
          "frame": 179,
          "label": "Hard cut to app recording"
        }
      ]
    },
    {
      "id": "va-jump-cut-to-worked-status-ghost-summary-solidifies",
      "title": "Show a review step solidifying, then jump-cut to the finished 'Worked for' turn whose summary fills in word by word",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Virgin Atlantic Uses ChatGPT Work to Turn Weeks of Work Into Hours",
        "id": "WwxZeU4WH14",
        "url": "https://www.youtube.com/watch?v=WwxZeU4WH14",
        "start": 32.5,
        "end": 34.0
      },
      "preview": "/videos/examples/additions/va-jump-cut-to-worked-status-ghost-summary-solidifies/remake.mp4",
      "sourcePreview": "/videos/examples/additions/va-jump-cut-to-worked-status-ghost-summary-solidifies/source.mp4",
      "adaptationPreview": "/videos/examples/additions/va-jump-cut-to-worked-status-ghost-summary-solidifies/adaptation.mp4",
      "download": "/videos/examples/additions/va-jump-cut-to-worked-status-ghost-summary-solidifies/package.zip",
      "svg": "/videos/examples/additions/va-jump-cut-to-worked-status-ghost-summary-solidifies/editable.svg",
      "resolve": "/videos/examples/additions/va-jump-cut-to-worked-status-ghost-summary-solidifies/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150367,
      "packageSha256": "fd830e5f4dd68a5ddbcbfbdc4d66dc65831883a5ece86efb88a98488cbb5ccfa",
      "poster": "/videos/examples/posters/va-jump-cut-to-worked-status-ghost-summary-solidifies.jpg",
      "render": {
        "sha256": "91ca0e6be7a7d3c573603ac66c27430d234ccb094acfdad07dba270e3f357c36",
        "bytes": 118502,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 36,
        "duration": 1.5,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/va-jump-cut-to-worked-status-ghost-summary-solidifies/item.json",
      "observation": "Local 0 cuts to a document thumbnail with a paragraph beneath it rendered in light grey; over ~f0\u20139 the words turn solid dark left to right and a small 'Thinking' label appears (~f8). At ~f12 a jump cut lands on the top of the same thread: the user prompt bubble, a 'Worked for 4m 59s' status line, a 'Created the \u2026 Draft' link line, and a summary paragraph that again starts grey and solidifies word by word (~f14\u201330). A composer sits at the bottom and a chart card is pinned at right throughout.",
      "mechanism": "Ghost-to-solid word reveal for streamed text, used twice across a jump cut from an in-progress step to the completed turn.",
      "phases": [
        {
          "frame": 0,
          "label": "Cut in: thumbnail and grey review paragraph"
        },
        {
          "frame": 9,
          "label": "Review paragraph fully solid; 'Thinking' label"
        },
        {
          "frame": 12,
          "label": "Jump cut to the completed turn: prompt, status, created link"
        },
        {
          "frame": 14,
          "label": "Summary paragraph solidifies word by word"
        },
        {
          "frame": 30,
          "label": "Summary solid; hold"
        }
      ]
    },
    {
      "id": "va-lower-third-name-then-role-on-one-baseline",
      "title": "Pop a name, then its role four frames later on the same baseline to its right",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Virgin Atlantic Uses ChatGPT Work to Turn Weeks of Work Into Hours",
        "id": "WwxZeU4WH14",
        "url": "https://www.youtube.com/watch?v=WwxZeU4WH14",
        "start": 4.5,
        "end": 7.5
      },
      "preview": "/videos/examples/additions/va-lower-third-name-then-role-on-one-baseline/remake.mp4",
      "sourcePreview": "/videos/examples/additions/va-lower-third-name-then-role-on-one-baseline/source.mp4",
      "adaptationPreview": "/videos/examples/additions/va-lower-third-name-then-role-on-one-baseline/adaptation.mp4",
      "download": "/videos/examples/additions/va-lower-third-name-then-role-on-one-baseline/package.zip",
      "svg": "/videos/examples/additions/va-lower-third-name-then-role-on-one-baseline/editable.svg",
      "resolve": "/videos/examples/additions/va-lower-third-name-then-role-on-one-baseline/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 145717,
      "packageSha256": "834b959a76be081e579744fba9b0b47c0bbf06c75cf98fbabef9ba62c102a5c9",
      "poster": "/videos/examples/posters/va-lower-third-name-then-role-on-one-baseline.jpg",
      "render": {
        "sha256": "b404252cfbddf4029699034c8e248e92e9cbf4698363060e8b9cb0ad482c61e6",
        "bytes": 21970,
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 72,
        "duration": 3.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/va-lower-third-name-then-role-on-one-baseline/item.json",
      "observation": "A speaker sits against a plain pale wall with no graphics. At local ~f4 a bold white name pops in at bottom-left; at ~f8 the role and company appear in lighter weight to the right of the name on the same baseline, separated by a gap rather than stacked underneath. Both hold unchanged to the end of the window.",
      "mechanism": "Two-beat lower third laid out horizontally: name pops first, role follows on the same baseline instead of a second line.",
      "phases": [
        {
          "frame": 0,
          "label": "Clean plate"
        },
        {
          "frame": 4,
          "label": "Name pops in"
        },
        {
          "frame": 8,
          "label": "Role appears to the right, same baseline"
        },
        {
          "frame": 72,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "working-timer-flips-then-report-card-fills-and-autoscrolls",
      "title": "Flip a working timer to done, drop in a report heading, grow the bars, then autoscroll",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How IT Admins can manage ChatGPT Work at scale | OpenAI",
        "id": "t8Ej9aeW388",
        "url": "https://www.youtube.com/watch?v=t8Ej9aeW388",
        "start": 52.80275,
        "end": 56.13941666666667
      },
      "preview": "/videos/examples/additions/working-timer-flips-then-report-card-fills-and-autoscrolls/remake.mp4",
      "sourcePreview": "/videos/examples/additions/working-timer-flips-then-report-card-fills-and-autoscrolls/source.mp4",
      "adaptationPreview": "/videos/examples/additions/working-timer-flips-then-report-card-fills-and-autoscrolls/adaptation.mp4",
      "download": "/videos/examples/additions/working-timer-flips-then-report-card-fills-and-autoscrolls/package.zip",
      "svg": "/videos/examples/additions/working-timer-flips-then-report-card-fills-and-autoscrolls/editable.svg",
      "resolve": "/videos/examples/additions/working-timer-flips-then-report-card-fills-and-autoscrolls/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 153136,
      "packageSha256": "a1934285e8923a5e32353668444e278c0ef04e7115d97bb7a30d0c7ff12df9ab",
      "poster": "/videos/examples/posters/working-timer-flips-then-report-card-fills-and-autoscrolls.jpg",
      "render": {
        "sha256": "e71b781c7bfa366d97093a199d800ba56499e881cf03c1c0e74473a8b50b0f65",
        "bytes": 377045,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 80,
        "duration": 3.336656,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/working-timer-flips-then-report-card-fills-and-autoscrolls/item.json",
      "observation": "A dark admin chat: an earlier bar list sits above a user bubble asking for spend per active user, followed by a grey 'Working for 44s' status and a thinking paragraph. At ~f12 the status flips to 'Worked for 45s', the thinking paragraph disappears and a bold heading with a one-line summary appears in its place (~f14-16). A dark card appears beneath (~f20) with three KPI tiles and five labelled bar rows whose orange and blue bars grow to their values (~f24-44). Between ~f50 and ~f66 the whole column scrolls upward so the table under the card comes into view; it holds to the end.",
      "mechanism": "Status flip from working to done, heading and summary replace the thinking text, a chart card populates with growing bars, then the transcript autoscrolls to reveal the rest.",
      "phases": [
        {
          "frame": 0,
          "label": "Working timer and thinking text"
        },
        {
          "frame": 12,
          "label": "Timer flips to Worked; heading and summary replace thinking"
        },
        {
          "frame": 20,
          "label": "Card plate appears"
        },
        {
          "frame": 24,
          "label": "KPI tiles fade in, bars grow"
        },
        {
          "frame": 50,
          "label": "Autoscroll up 300px"
        },
        {
          "frame": 66,
          "label": "Hold on table"
        }
      ]
    },
    {
      "id": "report-export-menu",
      "title": "Inspect export choices without losing report context",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Updates to deep research in ChatGPT",
        "id": "2gCqVb2lBwk",
        "url": "https://www.youtube.com/watch?v=2gCqVb2lBwk",
        "start": 72.4,
        "end": 75.2
      },
      "preview": "/videos/examples/additions/report-export-menu/remake.mp4",
      "sourcePreview": "/videos/examples/additions/report-export-menu/source.mp4",
      "adaptationPreview": "/videos/examples/additions/report-export-menu/adaptation.mp4",
      "download": "/videos/examples/additions/report-export-menu/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Manually fitted geometry and camera/pointer tracks; no independent moving-source fidelity approval.",
        "Arial, original sample text, and a substituted gradient replace source-specific typography and content.",
        "The interval ends on a hovered option and does not demonstrate a completed export."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 41494,
      "packageSha256": "90178aa1dc374c0ab5b1d0c7ff4e7db8bb0f73e7639c816cf9519409ef0ba516",
      "poster": "/videos/examples/posters/report-export-menu.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 168,
        "fps": "60/1",
        "audioStreams": 0,
        "sha256": "2afdf11273ed4edb18e369f53a3e91e3b56279c6be21c4dd4abc428df76f2e0c"
      },
      "originalRecord": "/videos/examples/additions/report-export-menu/item.json",
      "observation": "A lateral reframe settles on the report toolbar. The export menu opens at local frame 26, holds while the pointer stays near its trigger, then remains fixed as the pointer browses four choices. The report body and source rail preserve context behind the menu.",
      "mechanism": "Separate the camera move, menu reveal, reading hold, and pointer inspection. Keep the pointer in screen coordinates while the document reframes.",
      "phases": [
        {
          "frame": 0,
          "label": "Lateral reframe already in progress"
        },
        {
          "frame": 26,
          "label": "Camera settles; menu visible"
        },
        {
          "frame": 113,
          "label": "End of reading hold"
        },
        {
          "frame": 122,
          "label": "Pointer enters menu rows"
        },
        {
          "frame": 155,
          "label": "Final option hover; no export completion"
        }
      ]
    },
    {
      "id": "codex-project-choice",
      "title": "Change the project before entering a task",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "A first look at the Codex app",
        "id": "0e-Brv-gS9Q",
        "url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
        "start": 5.005,
        "end": 6.589916666666666
      },
      "preview": "/videos/examples/additions/codex-project-choice/remake.mp4",
      "sourcePreview": "/videos/examples/additions/codex-project-choice/source.mp4",
      "adaptationPreview": "/videos/examples/additions/codex-project-choice/adaptation.mp4",
      "download": "/videos/examples/additions/codex-project-choice/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Source sampled at three frames per second; geometry, cursor tracks, and phase thresholds are manually fitted approximations.",
        "Arial, original project names and requests, and simplified vector icons replace source-specific content.",
        "No independent moving-source fidelity approval. This is a silent, source-linked editable study."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 43198,
      "packageSha256": "677ddf8cd8ab51a395c03319a6aa6e8297991b61673e832814ab596686d49b68",
      "poster": "/videos/examples/posters/codex-project-choice.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 38,
        "fps": "24000/1001",
        "audioStreams": 0,
        "sha256": "a8269be401f7387c64cfd567251debc1d71918a7216402c6f4a5b8cd49859f9b"
      },
      "originalRecord": "/videos/examples/additions/codex-project-choice/item.json",
      "observation": "The project list is already open. The pointer selects a different project, the list closes, and the chosen project name stays visible.",
      "mechanism": "Selection closes the transient list but preserves the selected context in the heading.",
      "phases": [
        {
          "frame": 0,
          "label": "Project list open"
        },
        {
          "frame": 6,
          "label": "First row highlighted"
        },
        {
          "frame": 14,
          "label": "Selection committed; list closes"
        }
      ]
    },
    {
      "id": "codex-composer-request",
      "title": "Replace starter suggestions with a readable request",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "A first look at the Codex app",
        "id": "0e-Brv-gS9Q",
        "url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
        "start": 8.008,
        "end": 14.389375
      },
      "preview": "/videos/examples/additions/codex-composer-request/remake.mp4",
      "sourcePreview": "/videos/examples/additions/codex-composer-request/source.mp4",
      "adaptationPreview": "/videos/examples/additions/codex-composer-request/adaptation.mp4",
      "download": "/videos/examples/additions/codex-composer-request/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Source sampled at three frames per second; geometry, cursor tracks, and phase thresholds are manually fitted approximations.",
        "Arial, original project names and requests, and simplified vector icons replace source-specific content.",
        "No independent moving-source fidelity approval. This is a silent, source-linked editable study."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 43210,
      "packageSha256": "992a3f500005902009c4912975197ba0766af4086bf64200b5bb548a85e1ae6f",
      "poster": "/videos/examples/posters/codex-composer-request.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 153,
        "fps": "24000/1001",
        "audioStreams": 0,
        "sha256": "bbef0239c51f9eb14f62174bf3ed7c5088fd67f498b54b44eecb44ff2ef3fedf"
      },
      "originalRecord": "/videos/examples/additions/codex-composer-request/item.json",
      "observation": "The camera settles on the lower composer. Starter suggestions disappear as the request is typed; the completed sentence holds before the pointer approaches Send.",
      "mechanism": "Separate the typing interval, reading hold, and pointer approach.",
      "phases": [
        {
          "frame": 0,
          "label": "Lower-window crop settles"
        },
        {
          "frame": 12,
          "label": "Typing replaces starter suggestions"
        },
        {
          "frame": 99,
          "label": "Completed request holds"
        },
        {
          "frame": 132,
          "label": "Pointer reaches send control"
        }
      ]
    },
    {
      "id": "codex-worktree-request",
      "title": "Select a worktree before describing the change",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "A first look at the Codex app",
        "id": "0e-Brv-gS9Q",
        "url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
        "start": 39.039,
        "end": 45.045
      },
      "preview": "/videos/examples/additions/codex-worktree-request/remake.mp4",
      "sourcePreview": "/videos/examples/additions/codex-worktree-request/source.mp4",
      "adaptationPreview": "/videos/examples/additions/codex-worktree-request/adaptation.mp4",
      "download": "/videos/examples/additions/codex-worktree-request/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Source sampled at three frames per second; geometry, cursor tracks, and phase thresholds are manually fitted approximations.",
        "Arial, original project names and requests, and simplified vector icons replace source-specific content.",
        "No independent moving-source fidelity approval. This is a silent, source-linked editable study."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 43208,
      "packageSha256": "7529bcfb67fc59ac28d0f21f3a0c1a648624fab87bc44bf65b0d5b03f810d861",
      "poster": "/videos/examples/posters/codex-worktree-request.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 144,
        "fps": "24000/1001",
        "audioStreams": 0,
        "sha256": "ba3cec825086de890fb0f33939e7d014c8a8cfcf7c24396ad4a1fb36fa26f8d2"
      },
      "originalRecord": "/videos/examples/additions/codex-worktree-request/item.json",
      "observation": "A worktree hint is visible above the mode row. The pointer selects Worktree, pauses, enters the composer, and types a task while the selected mode remains visible.",
      "mechanism": "Keep the execution setting visible throughout task entry.",
      "phases": [
        {
          "frame": 0,
          "label": "Worktree hint visible"
        },
        {
          "frame": 13,
          "label": "Worktree selected"
        },
        {
          "frame": 44,
          "label": "Pointer reaches composer"
        },
        {
          "frame": 58,
          "label": "Task entry begins"
        },
        {
          "frame": 132,
          "label": "Task complete; mode still visible"
        }
      ]
    },
    {
      "id": "codex-automation-schedule",
      "title": "Move from automation context into a scheduled task",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "A first look at the Codex app",
        "id": "0e-Brv-gS9Q",
        "url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
        "start": 80.08,
        "end": 89.25583333333333
      },
      "preview": "/videos/examples/additions/codex-automation-schedule/remake.mp4",
      "sourcePreview": "/videos/examples/additions/codex-automation-schedule/source.mp4",
      "adaptationPreview": "/videos/examples/additions/codex-automation-schedule/adaptation.mp4",
      "download": "/videos/examples/additions/codex-automation-schedule/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Source sampled at three frames per second; geometry, cursor tracks, and phase thresholds are manually fitted approximations.",
        "Arial, original project names and requests, and simplified vector icons replace source-specific content.",
        "No independent moving-source fidelity approval. This is a silent, source-linked editable study."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 43213,
      "packageSha256": "bc5cc14ed4a6f0cf90d9526e1045f0aa489fe2067861df544a1da8c68666ecee",
      "poster": "/videos/examples/posters/codex-automation-schedule.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 220,
        "fps": "24000/1001",
        "audioStreams": 0,
        "sha256": "a16e55255579f38c8a69119b030fcceda5d97e3f03bd8b49cd40043fa082b093"
      },
      "originalRecord": "/videos/examples/additions/codex-automation-schedule/item.json",
      "observation": "The pointer enters Automations, revealing a page of suggested tasks. A form opens; a project is selected from its dropdown, then weekday choices are adjusted. The studied excerpt ends before the final creation click.",
      "mechanism": "Establish page context before focusing on the form, then resolve each dependent choice in order.",
      "phases": [
        {
          "frame": 0,
          "label": "Application context"
        },
        {
          "frame": 26,
          "label": "Automation page visible"
        },
        {
          "frame": 67,
          "label": "Form opens"
        },
        {
          "frame": 104,
          "label": "Project dropdown opens"
        },
        {
          "frame": 129,
          "label": "Project chosen"
        },
        {
          "frame": 143,
          "label": "Dropdown closes"
        },
        {
          "frame": 171,
          "label": "Weekday selection begins"
        }
      ]
    },
    {
      "id": "atlas-response-scroll",
      "title": "Stream the answer while preserving its page context",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 27.0,
        "end": 31.5
      },
      "preview": "/videos/examples/additions/atlas-response-scroll/remake.mp4",
      "sourcePreview": "/videos/examples/additions/atlas-response-scroll/source.mp4",
      "adaptationPreview": "/videos/examples/additions/atlas-response-scroll/adaptation.mp4",
      "download": "/videos/examples/additions/atlas-response-scroll/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Source sampled at three frames per second; geometry, cursor tracks, and phase thresholds are manually fitted approximations.",
        "Arial, original page content, and simplified vector objects replace source-specific photography and interface details.",
        "No independent moving-source fidelity approval. This is a silent, source-linked editable study."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 43811,
      "packageSha256": "2945c99281004b0dcb274a71a94ca578a6d16f54b2d55e7d4812b9f303eed2b2",
      "poster": "/videos/examples/posters/atlas-response-scroll.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 135,
        "fps": "30/1",
        "audioStreams": 0,
        "sha256": "e4dbe1b091c9b85429e6f47638a0cda6033f47a5751629808c6806c1c5251db0"
      },
      "originalRecord": "/videos/examples/additions/atlas-response-scroll/item.json",
      "observation": "A question appears beside a lodging page. The answer grows downward, then the assistant pane scrolls upward while the original page stays fixed at the left.",
      "mechanism": "Use independent content scrolling to reveal the answer without losing the source context.",
      "phases": [
        {
          "frame": 0,
          "label": "Page remains visible"
        },
        {
          "frame": 4,
          "label": "Question bubbles appear"
        },
        {
          "frame": 31,
          "label": "Answer begins"
        },
        {
          "frame": 58,
          "label": "Growing answer starts to scroll"
        },
        {
          "frame": 123,
          "label": "Final reading position"
        }
      ]
    },
    {
      "id": "atlas-context-montage",
      "title": "Change the page while keeping the prompt in the same place",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 31.5,
        "end": 35.0
      },
      "preview": "/videos/examples/additions/atlas-context-montage/remake.mp4",
      "sourcePreview": "/videos/examples/additions/atlas-context-montage/source.mp4",
      "adaptationPreview": "/videos/examples/additions/atlas-context-montage/adaptation.mp4",
      "download": "/videos/examples/additions/atlas-context-montage/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Source sampled at three frames per second; geometry, cursor tracks, and phase thresholds are manually fitted approximations.",
        "Arial, original page content, and simplified vector objects replace source-specific photography and interface details.",
        "No independent moving-source fidelity approval. This is a silent, source-linked editable study."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 43811,
      "packageSha256": "759608ce2a9c1164aaf9743a2fdafa9d42279273955a74078ed6216b0e2fcdf5",
      "poster": "/videos/examples/posters/atlas-context-montage.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 105,
        "fps": "30/1",
        "audioStreams": 0,
        "sha256": "41a0398a57c4f4b68ac8ca34b1fd47af85078a4f256c034a168355a86c70a0dc"
      },
      "originalRecord": "/videos/examples/additions/atlas-context-montage/item.json",
      "observation": "A course page, a product page, and a report appear in successive cuts. Each pairs a left-hand source with a right-hand composer containing a short contextual question.",
      "mechanism": "Repeat the spatial relationship while changing the subject, so the viewer can follow a fast montage.",
      "phases": [
        {
          "frame": 0,
          "label": "Course context and question"
        },
        {
          "frame": 39,
          "label": "Cut to product context"
        },
        {
          "frame": 70,
          "label": "Cut to report context"
        }
      ]
    },
    {
      "id": "atlas-restored-tabs",
      "title": "Reveal recovered context through progressively opened tabs",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 57.0,
        "end": 61.0
      },
      "preview": "/videos/examples/additions/atlas-restored-tabs/remake.mp4",
      "sourcePreview": "/videos/examples/additions/atlas-restored-tabs/source.mp4",
      "adaptationPreview": "/videos/examples/additions/atlas-restored-tabs/adaptation.mp4",
      "download": "/videos/examples/additions/atlas-restored-tabs/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Source sampled at three frames per second; geometry, cursor tracks, and phase thresholds are manually fitted approximations.",
        "Arial, original page content, and simplified vector objects replace source-specific photography and interface details.",
        "No independent moving-source fidelity approval. This is a silent, source-linked editable study."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 43808,
      "packageSha256": "6d1d267cc151700445988223c841e68e0d4958854f0b416b7bc16c24e9ab4735",
      "poster": "/videos/examples/posters/atlas-restored-tabs.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 120,
        "fps": "30/1",
        "audioStreams": 0,
        "sha256": "b74020bf54b420d5e35d6c35534e04f6f73b9fc7e1e0e8cda8ec4d0272e470fa"
      },
      "originalRecord": "/videos/examples/additions/atlas-restored-tabs/item.json",
      "observation": "A checking-history message gives way to opened tabs. New tabs accumulate in the browser chrome while a short answer lists the recovered pages; the camera pans across the growing tab strip.",
      "mechanism": "Let the browser chrome provide tangible evidence of the action, then reframe to keep the expanding result visible.",
      "phases": [
        {
          "frame": 0,
          "label": "Checking history"
        },
        {
          "frame": 16,
          "label": "Tabs begin opening"
        },
        {
          "frame": 35,
          "label": "Horizontal reframe begins"
        },
        {
          "frame": 75,
          "label": "Five tabs are present"
        },
        {
          "frame": 104,
          "label": "Pan settles"
        }
      ]
    },
    {
      "id": "atlas-cart-result",
      "title": "Settle on the cart before pointing to checkout",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 83.36666666666666,
        "end": 86.4
      },
      "preview": "/videos/examples/additions/atlas-cart-result/remake.mp4",
      "sourcePreview": "/videos/examples/additions/atlas-cart-result/source.mp4",
      "adaptationPreview": "/videos/examples/additions/atlas-cart-result/adaptation.mp4",
      "download": "/videos/examples/additions/atlas-cart-result/package.zip",
      "svg": null,
      "resolve": null,
      "limitations": [
        "Source sampled at three frames per second; geometry, cursor tracks, and phase thresholds are manually fitted approximations.",
        "Arial, original page content, and simplified vector objects replace source-specific photography and interface details.",
        "No independent moving-source fidelity approval. This is a silent, source-linked editable study."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 43798,
      "packageSha256": "0ef2d6936e7e932377f77d3e87ecb350ab0850791160ecf3c8d7db77faafcfe0",
      "poster": "/videos/examples/posters/atlas-cart-result.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "frames": 91,
        "fps": "30/1",
        "audioStreams": 0,
        "sha256": "73ca7761e475569366fec4b5c9841b2f15679b1a8c200cb937bda6ee1fc71593"
      },
      "originalRecord": "/videos/examples/additions/atlas-cart-result/item.json",
      "observation": "The cart panel and its item list fill the frame. A short reframe brings the total and checkout control fully into view, followed by a pointer approach and a hold.",
      "mechanism": "Close the sequence on a readable result and available next action, without implying the purchase has occurred.",
      "phases": [
        {
          "frame": 0,
          "label": "Cart visible during reframe"
        },
        {
          "frame": 30,
          "label": "Cart and checkout settle"
        },
        {
          "frame": 52,
          "label": "Pointer arrives at checkout"
        },
        {
          "frame": 90,
          "label": "End on hover, before the following title card"
        }
      ]
    },
    {
      "id": "camera-pulls-back-then-hard-cut-to-new-sheet-tab",
      "title": "Pull the camera back from a spreadsheet detail, then hard-cut the sheet to its new scenario tab",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Get a daily CFO briefing with ChatGPT Work",
        "id": "bl2eGejkbaU",
        "url": "https://www.youtube.com/watch?v=bl2eGejkbaU",
        "start": 91.75,
        "end": 93.33333333333333
      },
      "preview": "/videos/examples/repairs/camera-pulls-back-then-hard-cut-to-new-sheet-tab/remake.mp4",
      "sourcePreview": "/videos/examples/repairs/camera-pulls-back-then-hard-cut-to-new-sheet-tab/source.mp4",
      "adaptationPreview": "/videos/examples/repairs/camera-pulls-back-then-hard-cut-to-new-sheet-tab/adaptation.mp4",
      "download": "/videos/examples/repairs/camera-pulls-back-then-hard-cut-to-new-sheet-tab/package.zip",
      "svg": "/videos/examples/repairs/camera-pulls-back-then-hard-cut-to-new-sheet-tab/editable.svg",
      "resolve": null,
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution.",
        "Fractional line spacing corrected to pixel values in this revision; both variants rerendered."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149994,
      "packageSha256": "c3683f3abbab25294fba272096d0f2c191734394e7f561c42f21b9c691e688a1",
      "poster": "/videos/examples/posters/camera-pulls-back-then-hard-cut-to-new-sheet-tab.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 95,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/repairs/camera-pulls-back-then-hard-cut-to-new-sheet-tab/item.json",
      "observation": "The frame starts pushed in about 1.5x on the right half of a spreadsheet window with the assistant panel and its finished answer. Over local ~0-30 the camera eases back to show the full window on the dark field. The pointer sits on the sheet-tab strip; at ~40 the sheet content hard-cuts to a new 'Growth Scenarios' tab: new title band, a scenario table and a three-line chart, with the active tab highlight moved to the last tab. Everything then holds.",
      "mechanism": "Camera pull-back to establish, followed by an in-place hard cut of the host content to a new tab state while the surrounding chrome stays fixed.",
      "phases": [
        {
          "frame": 0,
          "label": "Pushed in 1.5x on sheet and panel"
        },
        {
          "frame": 30,
          "label": "Pull-back complete, full window"
        },
        {
          "frame": 38,
          "label": "Pointer clicks the new tab"
        },
        {
          "frame": 40,
          "label": "Hard cut to scenario sheet with chart"
        }
      ]
    },
    {
      "id": "agent-step-log-streams-scrolls-then-collapses-to-answer",
      "title": "Stream an agent's step log line by line, scroll it as it grows, then collapse it into the final answer",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Get a daily CFO briefing with ChatGPT Work",
        "id": "bl2eGejkbaU",
        "url": "https://www.youtube.com/watch?v=bl2eGejkbaU",
        "start": 90.0,
        "end": 91.75
      },
      "preview": "/videos/examples/repairs/agent-step-log-streams-scrolls-then-collapses-to-answer/remake.mp4",
      "sourcePreview": "/videos/examples/repairs/agent-step-log-streams-scrolls-then-collapses-to-answer/source.mp4",
      "adaptationPreview": "/videos/examples/repairs/agent-step-log-streams-scrolls-then-collapses-to-answer/adaptation.mp4",
      "download": "/videos/examples/repairs/agent-step-log-streams-scrolls-then-collapses-to-answer/package.zip",
      "svg": "/videos/examples/repairs/agent-step-log-streams-scrolls-then-collapses-to-answer/editable.svg",
      "resolve": null,
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution.",
        "Fractional line spacing corrected to pixel values in this revision; both variants rerendered."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 151753,
      "packageSha256": "9d09eefcc440cc696d40a934d7f108bc6bb30feb6d76c0cd357f1b5a2f10a0f7",
      "poster": "/videos/examples/posters/agent-step-log-streams-scrolls-then-collapses-to-answer.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 105,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/repairs/agent-step-log-streams-scrolls-then-collapses-to-answer/item.json",
      "observation": "In the right-hand assistant panel a 'Working \u00b7 41s' header sits above a grey step log; new one-line steps append roughly every 4 frames and the list scrolls up as older lines leave the top. At local ~45 a short narrative sentence lands under the log; at ~60 the log is replaced by the final answer: bold-led bullets with small blue citation chips, then a 'Spreadsheet updated / Undo' card at ~80 and the thread title swaps in for the working header at ~100. The spreadsheet on the left holds dim throughout.",
      "mechanism": "Streaming step log: staggered row appends with a compensating upward scroll, then a hard swap of the log for the finished answer and its confirmation card.",
      "phases": [
        {
          "frame": 0,
          "label": "Working header, step log appending"
        },
        {
          "frame": 24,
          "label": "Log scrolls as rows keep appending"
        },
        {
          "frame": 45,
          "label": "Narrative line lands"
        },
        {
          "frame": 60,
          "label": "Log swapped for final bullets with citations"
        },
        {
          "frame": 80,
          "label": "Spreadsheet updated / Undo card"
        },
        {
          "frame": 100,
          "label": "Thread title replaces the working header"
        }
      ]
    },
    {
      "id": "phone-button-tap-pushes-detail-then-camera-drives-in",
      "title": "Tap a call-to-action, push the detail screen in from the right, then drive the camera into the phone",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Get a daily CFO briefing with ChatGPT Work",
        "id": "bl2eGejkbaU",
        "url": "https://www.youtube.com/watch?v=bl2eGejkbaU",
        "start": 16.333333333333332,
        "end": 17.25
      },
      "preview": "/videos/examples/repairs/phone-button-tap-pushes-detail-then-camera-drives-in/remake.mp4",
      "sourcePreview": "/videos/examples/repairs/phone-button-tap-pushes-detail-then-camera-drives-in/source.mp4",
      "adaptationPreview": "/videos/examples/repairs/phone-button-tap-pushes-detail-then-camera-drives-in/adaptation.mp4",
      "download": "/videos/examples/repairs/phone-button-tap-pushes-detail-then-camera-drives-in/package.zip",
      "svg": "/videos/examples/repairs/phone-button-tap-pushes-detail-then-camera-drives-in/editable.svg",
      "resolve": null,
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution.",
        "Fractional line spacing corrected to pixel values in this revision; both variants rerendered."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149328,
      "packageSha256": "69b74fc9c5a45aca07873d492b9491f14ed1ebcbe9aba377404aa9bcb51ee857",
      "poster": "/videos/examples/posters/phone-button-tap-pushes-detail-then-camera-drives-in.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 55,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/repairs/phone-button-tap-pushes-detail-then-camera-drives-in/item.json",
      "observation": "The dashboard holds on the centred phone; the pointer rests on the lime call-to-action and clicks at local ~20. Over ~21-32 a detail screen (dark hero with a large percentage, a 'Conditional go' style headline, and a checklist) slides in from the right while the dashboard slides left. From ~25 the whole frame pushes in on the phone, and by the last frame the device is about 1.8x larger with its top edge near the top of the canvas.",
      "mechanism": "Tap-to-detail with camera follow: an in-device horizontal push transition is immediately joined by a camera push-in so the new screen fills the frame.",
      "phases": [
        {
          "frame": 0,
          "label": "Dashboard holds, pointer on the button"
        },
        {
          "frame": 20,
          "label": "Click"
        },
        {
          "frame": 21,
          "label": "Detail screen pushes in from the right"
        },
        {
          "frame": 25,
          "label": "Camera push-in begins"
        },
        {
          "frame": 54,
          "label": "Phone at ~1.8x, top-aligned"
        }
      ]
    },
    {
      "id": "phone-icon-tap-zooms-app-open-with-device-scale-up",
      "title": "Tap a home-screen icon and zoom the app open from the icon while the phone scales up",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Get a daily CFO briefing with ChatGPT Work",
        "id": "bl2eGejkbaU",
        "url": "https://www.youtube.com/watch?v=bl2eGejkbaU",
        "start": 9.0,
        "end": 10.666666666666666
      },
      "preview": "/videos/examples/repairs/phone-icon-tap-zooms-app-open-with-device-scale-up/remake.mp4",
      "sourcePreview": "/videos/examples/repairs/phone-icon-tap-zooms-app-open-with-device-scale-up/source.mp4",
      "adaptationPreview": "/videos/examples/repairs/phone-icon-tap-zooms-app-open-with-device-scale-up/adaptation.mp4",
      "download": "/videos/examples/repairs/phone-icon-tap-zooms-app-open-with-device-scale-up/package.zip",
      "svg": "/videos/examples/repairs/phone-icon-tap-zooms-app-open-with-device-scale-up/editable.svg",
      "resolve": null,
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution.",
        "Fractional line spacing corrected to pixel values in this revision; both variants rerendered."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148395,
      "packageSha256": "4660b32c2c08d8de2138fe215df3b2c41256f766b7b6daa491dbb7c0a7aa312f",
      "poster": "/videos/examples/posters/phone-icon-tap-zooms-app-open-with-device-scale-up.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 100,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/repairs/phone-icon-tap-zooms-app-open-with-device-scale-up/item.json",
      "observation": "A phone mock-up sits centred on a dark starfield showing a gradient home screen with two icons top-left and a four-icon dock. The pointer clicks the second icon at local ~8. From ~8 to ~23 a rounded app card grows out of the icon to fill the screen (iOS-style zoom) while the wallpaper dims and the whole phone scales up about 12 percent. The dashboard (dark header, greeting, lime-accented hero card, stats, decision queue) is fully legible by ~26 and holds to the end.",
      "mechanism": "Device app-launch zoom: a click grows an app surface from its icon to full screen while the phone itself is pushed slightly larger, then the new screen holds.",
      "phases": [
        {
          "frame": 0,
          "label": "Home screen holds"
        },
        {
          "frame": 8,
          "label": "Pointer clicks the icon"
        },
        {
          "frame": 9,
          "label": "App card zooms from icon to full screen; phone scales up"
        },
        {
          "frame": 26,
          "label": "Dashboard legible, hold"
        }
      ]
    },
    {
      "id": "assistant-side-panel-pops-in-loading-then-composer",
      "title": "Pop an assistant side panel into a spreadsheet, show a loading spinner, then reveal the empty-chat composer",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Get a daily CFO briefing with ChatGPT Work",
        "id": "bl2eGejkbaU",
        "url": "https://www.youtube.com/watch?v=bl2eGejkbaU",
        "start": 81.0,
        "end": 83.16666666666667
      },
      "preview": "/videos/examples/repairs/assistant-side-panel-pops-in-loading-then-composer/remake.mp4",
      "sourcePreview": "/videos/examples/repairs/assistant-side-panel-pops-in-loading-then-composer/source.mp4",
      "adaptationPreview": "/videos/examples/repairs/assistant-side-panel-pops-in-loading-then-composer/adaptation.mp4",
      "download": "/videos/examples/repairs/assistant-side-panel-pops-in-loading-then-composer/package.zip",
      "svg": "/videos/examples/repairs/assistant-side-panel-pops-in-loading-then-composer/editable.svg",
      "resolve": null,
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution.",
        "Fractional line spacing corrected to pixel values in this revision; both variants rerendered."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149690,
      "packageSha256": "d958858564eca5412327ae42c45fcfae039a0f41ba1c56eb0126dbdcade2d5cf",
      "poster": "/videos/examples/posters/assistant-side-panel-pops-in-loading-then-composer.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 130,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/repairs/assistant-side-panel-pops-in-loading-then-composer/item.json",
      "observation": "A spreadsheet window fills the frame with a dark title band, two-column figures and a sheet-tab strip. At local ~19 a 320 px white assistant panel appears at the right edge in one frame and the sheet area narrows to make room. The panel shows 'Loading...' with a small spinner until ~50, then sits blank with a faint dot until ~110, when a 'New chat' header, a selection chip and an 'Ask anything' composer fade in and hold.",
      "mechanism": "Side-panel disclosure: an instant pop-in that reflows the host content, a loading state, and a delayed fade-in of the panel's ready state.",
      "phases": [
        {
          "frame": 0,
          "label": "Spreadsheet, no panel"
        },
        {
          "frame": 19,
          "label": "Panel pops in; sheet narrows"
        },
        {
          "frame": 20,
          "label": "Loading spinner"
        },
        {
          "frame": 50,
          "label": "Spinner clears, panel blank"
        },
        {
          "frame": 110,
          "label": "Header, selection chip and composer fade in"
        }
      ]
    },
    {
      "id": "camera-push-in-settles-on-spreadsheet-chart",
      "title": "Push the camera 1.75x into a spreadsheet so the scenario chart and answer panel fill the frame",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Get a daily CFO briefing with ChatGPT Work",
        "id": "bl2eGejkbaU",
        "url": "https://www.youtube.com/watch?v=bl2eGejkbaU",
        "start": 94.5,
        "end": 96.0
      },
      "preview": "/videos/examples/repairs/camera-push-in-settles-on-spreadsheet-chart/remake.mp4",
      "sourcePreview": "/videos/examples/repairs/camera-push-in-settles-on-spreadsheet-chart/source.mp4",
      "adaptationPreview": "/videos/examples/repairs/camera-push-in-settles-on-spreadsheet-chart/adaptation.mp4",
      "download": "/videos/examples/repairs/camera-push-in-settles-on-spreadsheet-chart/package.zip",
      "svg": "/videos/examples/repairs/camera-push-in-settles-on-spreadsheet-chart/editable.svg",
      "resolve": null,
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution.",
        "Fractional line spacing corrected to pixel values in this revision; both variants rerendered."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149375,
      "packageSha256": "7df2a3347ab30972bd54f164253b2af53b17ba6aa50bd9cac40c967b0798353d",
      "poster": "/videos/examples/posters/camera-push-in-settles-on-spreadsheet-chart.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 90,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/repairs/camera-push-in-settles-on-spreadsheet-chart/item.json",
      "observation": "The full spreadsheet window with the assistant panel holds on the dark field for the first frames. From local ~0 to ~25 the camera pushes in about 1.75x, easing to a stop with the small three-line chart near frame centre-left and the answer bullets on the right; the window chrome and the dark field leave the frame. The composition then holds without any UI change.",
      "mechanism": "Camera push-in as emphasis: an eased 1.75x scale about an off-centre target that reframes a wide screen recording onto its chart and result.",
      "phases": [
        {
          "frame": 0,
          "label": "Wide window on dark field"
        },
        {
          "frame": 25,
          "label": "Push-in settles on chart and panel"
        },
        {
          "frame": 89,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "open-in-click-hard-cuts-to-new-tab-then-scroll",
      "title": "Click Open in on a file card, hard-cut to a new browser tab with the document, then scroll it",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Get a daily CFO briefing with ChatGPT Work",
        "id": "bl2eGejkbaU",
        "url": "https://www.youtube.com/watch?v=bl2eGejkbaU",
        "start": 61.666666666666664,
        "end": 64.5
      },
      "preview": "/videos/examples/repairs/open-in-click-hard-cuts-to-new-tab-then-scroll/remake.mp4",
      "sourcePreview": "/videos/examples/repairs/open-in-click-hard-cuts-to-new-tab-then-scroll/source.mp4",
      "adaptationPreview": "/videos/examples/repairs/open-in-click-hard-cuts-to-new-tab-then-scroll/adaptation.mp4",
      "download": "/videos/examples/repairs/open-in-click-hard-cuts-to-new-tab-then-scroll/package.zip",
      "svg": "/videos/examples/repairs/open-in-click-hard-cuts-to-new-tab-then-scroll/editable.svg",
      "resolve": null,
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution.",
        "Fractional line spacing corrected to pixel values in this revision; both variants rerendered."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 150282,
      "packageSha256": "bae8dab723b8cfbdef634e1250bb135f4a33e4f8aae1ed018d1a3db805ee8a81",
      "poster": "/videos/examples/posters/open-in-click-hard-cuts-to-new-tab-then-scroll.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 170,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/repairs/open-in-click-hard-cuts-to-new-tab-then-scroll/item.json",
      "observation": "A chat window on a dark field shows a bulleted recommendation, two attached file cards with 'Open in' buttons and a right-hand rail. The pointer clicks the memo card's button at local ~22. At ~28 the picture hard-cuts: a browser tab strip appears, the chat shrinks to a narrow left column and a white 'Decision memo' document with a black 'decision ask' band fills the right. The page holds, then from ~130 scrolls upward about 240 px by frame 170.",
      "mechanism": "Hard cut on click into a re-flowed two-pane browser state, followed by a delayed continuous scroll of the new document.",
      "phases": [
        {
          "frame": 0,
          "label": "Chat with file cards holds"
        },
        {
          "frame": 22,
          "label": "Pointer clicks Open in"
        },
        {
          "frame": 28,
          "label": "Hard cut: tab strip, narrow chat, document pane"
        },
        {
          "frame": 130,
          "label": "Document scrolls up"
        },
        {
          "frame": 170,
          "label": "Scroll settles"
        }
      ]
    },
    {
      "id": "agent-window-status-swaps-while-words-stream-in",
      "title": "Swap a status label through timings while the reply streams word by word and a tool panel slides in",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "You can just keep the work moving | ChatGPT Work",
        "id": "wIf9yMGalPU",
        "url": "https://www.youtube.com/watch?v=wIf9yMGalPU",
        "start": 17.066666666666666,
        "end": 19.133333333333333
      },
      "preview": "/videos/examples/rebuilds/agent-window-status-swaps-while-words-stream-in/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/agent-window-status-swaps-while-words-stream-in/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/agent-window-status-swaps-while-words-stream-in/adaptation.mp4",
      "download": "/videos/examples/rebuilds/agent-window-status-swaps-while-words-stream-in/package.zip",
      "svg": "/videos/examples/rebuilds/agent-window-status-swaps-while-words-stream-in/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": 148578,
      "packageSha256": "8e7ef6779b995e28e26fa4953d4beb6c0572c111abc932419231d4e289dc2ed9",
      "poster": "/videos/examples/posters/agent-window-status-swaps-while-words-stream-in.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 62,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/agent-window-status-swaps-while-words-stream-in/item.json",
      "observation": "A white agent window sits on a lavender desktop with folder icons and widgets. It shows a grey 'Thinking' label (master 512-522); at 523 (local 11) the label becomes 'Working for 2s'. At master 528 (local 16) the first word of the reply fades in on its own; after a pause the rest streams in word by word from 546 (local 34): 'checking' 546, 'overnight' 550, 'sales,' 554, 'social' 556, 'and' 560, 'connections' 564, 'now.' 566. The label reads 'Working for 5s' at 548 and 'Working for 30s' at 570. A grey tool line 'Running command' fades in under the reply at 556-560 and a chat-app panel rises into the bottom-left corner at 556-562; the tool line swaps to 'Reading chat skill' at 572.",
      "mechanism": "Streaming reply choreography: a timing label steps through values, reply words fade in one at a time with an early solo word and a pause, and supporting tool UI fades or slides in beneath.",
      "phases": [
        {
          "frame": 0,
          "label": "Thinking label only"
        },
        {
          "frame": 11,
          "label": "Label becomes Working for 2s"
        },
        {
          "frame": 16,
          "label": "First word fades in alone"
        },
        {
          "frame": 34,
          "label": "Remaining words stream in"
        },
        {
          "frame": 44,
          "label": "Tool line and chat panel enter"
        },
        {
          "frame": 58,
          "label": "Working for 30s; tool line swaps"
        }
      ]
    },
    {
      "id": "astra-agent-turn-streams-then-swaps-thinking-for-tool-row",
      "title": "Collapse a running tool line into a summary, stream the reply, swap the shimmer for the next tool row",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing GPT-6 Astra for developers",
        "id": "bOC3DisEOfg",
        "url": "https://www.youtube.com/watch?v=bOC3DisEOfg",
        "start": 168.08458333333334,
        "end": 170.17
      },
      "preview": "/videos/examples/rebuilds/astra-agent-turn-streams-then-swaps-thinking-for-tool-row/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/astra-agent-turn-streams-then-swaps-thinking-for-tool-row/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/astra-agent-turn-streams-then-swaps-thinking-for-tool-row/adaptation.mp4",
      "download": "/videos/examples/rebuilds/astra-agent-turn-streams-then-swaps-thinking-for-tool-row/package.zip",
      "svg": "/videos/examples/rebuilds/astra-agent-turn-streams-then-swaps-thinking-for-tool-row/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": 148258,
      "packageSha256": "2895dedd27077a8d53a25bc1b7327501c68ce4cc8545d6c407aff44499bf9b3b",
      "poster": "/videos/examples/posters/astra-agent-turn-streams-then-swaps-thinking-for-tool-row.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 50,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/astra-agent-turn-streams-then-swaps-thinking-for-tool-row/item.json",
      "observation": "The scrolled transcript shows a paragraph, two tool rows, the right-aligned sent prompt and a greyed, shimmering \"Running npm install\u2026\" line (local f0-6, master 4030-4036). At ~f7 that line is replaced in place by a \"Read files, ran a command\" summary row, a reply sentence streams in word by word beneath it (~f7-16) and a shimmering \"Thinking\" placeholder sits below. At ~f27 (master 4057) the placeholder is replaced by a new grey tool row (\"Running python3 \u2026\"), which holds to the end.",
      "mechanism": "A streamed agent turn: a running status line collapses into a summary row, the reply streams by words, and the thinking shimmer is replaced in place by the next tool row.",
      "phases": [
        {
          "frame": 0,
          "label": "Running tool line shimmers"
        },
        {
          "frame": 7,
          "label": "Line collapses into a summary row; reply starts streaming"
        },
        {
          "frame": 16,
          "label": "Reply complete, thinking shimmer below"
        },
        {
          "frame": 27,
          "label": "Shimmer replaced by the next tool row"
        }
      ]
    },
    {
      "id": "astra-transcript-whiteout-to-magnified-composer-type-on",
      "title": "White out the transcript, type in a magnified composer, white back to the updated thread",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing GPT-6 Astra for developers",
        "id": "bOC3DisEOfg",
        "url": "https://www.youtube.com/watch?v=bOC3DisEOfg",
        "start": 166.166,
        "end": 168.08458333333334
      },
      "preview": "/videos/examples/caret-fix/astra-transcript-whiteout-to-magnified-composer-type-on/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/astra-transcript-whiteout-to-magnified-composer-type-on/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/astra-transcript-whiteout-to-magnified-composer-type-on/adaptation.mp4",
      "download": "/videos/examples/caret-fix/astra-transcript-whiteout-to-magnified-composer-type-on/package.zip",
      "svg": "/videos/examples/caret-fix/astra-transcript-whiteout-to-magnified-composer-type-on/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149949,
      "packageSha256": "8cd3256466c065159adc0665145f117afa7ae25cb69e8fe757dd939eac9eb93b",
      "poster": "/videos/examples/posters/astra-transcript-whiteout-to-magnified-composer-type-on.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 46,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/astra-transcript-whiteout-to-magnified-composer-type-on/item.json",
      "observation": "The agent transcript (user bubble, status line, two paragraphs, a tool row) holds for local frames 0-4, then lifts upward with blur and fades to pure white by ~f10 (master 3989-3994). A composer, magnified to about 1290px wide, resolves at the bottom of the frame (~f11) and the prompt types character by character from ~f12 to ~f32 with a caret. It holds to ~f36, blurs out to white (f37-40) and the transcript resolves back in (f41-45), now scrolled with the sent prompt as a right-aligned bubble and a greyed running tool line.",
      "mechanism": "A white-out insert: blur-fade the thread to white, cut to a magnified composer for a caret type-on, then white-out back to the thread with the sent message already in place.",
      "phases": [
        {
          "frame": 0,
          "label": "Transcript holds"
        },
        {
          "frame": 5,
          "label": "Transcript lifts, blurs and whites out"
        },
        {
          "frame": 11,
          "label": "Magnified composer resolves in"
        },
        {
          "frame": 12,
          "label": "Prompt types with caret"
        },
        {
          "frame": 32,
          "label": "Typed prompt holds"
        },
        {
          "frame": 37,
          "label": "Composer whites out"
        },
        {
          "frame": 41,
          "label": "Updated transcript resolves in"
        }
      ]
    },
    {
      "id": "billboard-carousel-hard-swap-to-typeset-variant",
      "title": "Hold a drifting product-only billboard, then hard-swap the carousel to its typeset variant",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to build custom creative tools",
        "id": "D-QteDHdHes",
        "url": "https://www.youtube.com/watch?v=D-QteDHdHes",
        "start": 94.5,
        "end": 96.5
      },
      "preview": "/videos/examples/rebuilds/billboard-carousel-hard-swap-to-typeset-variant/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/billboard-carousel-hard-swap-to-typeset-variant/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/billboard-carousel-hard-swap-to-typeset-variant/adaptation.mp4",
      "download": "/videos/examples/rebuilds/billboard-carousel-hard-swap-to-typeset-variant/package.zip",
      "svg": "/videos/examples/rebuilds/billboard-carousel-hard-swap-to-typeset-variant/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": 148300,
      "packageSha256": "4bcee5ff0e4bd1981c289d50079a83a41f3fe410be9722f08236967dea8e17ca",
      "poster": "/videos/examples/posters/billboard-carousel-hard-swap-to-typeset-variant.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 120,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/billboard-carousel-hard-swap-to-typeset-variant/item.json",
      "observation": "A review gallery fills the browser: a dark 1428\u00d7794 billboard card centred on a light page, round previous/next arrows at each side, a CLOSE button top-right and a label row with Favorite/Download beneath. For local frames 0\u201324 the first variant (brand mark bottom-left, pink headphones only) holds while the product render creeps a few pixels right and up. At local 25 (master 5695) the card hard-swaps to the second variant: brand mark top-left, a two-line headline and a sub-line at 92/36px, the handle line turning blue, and the render larger. The Favorite button reads as filled after the swap. Everything then holds to the end.",
      "mechanism": "A carousel advance treated as a hard cut inside a fixed frame: the surrounding chrome never changes, only the card contents swap, so the eye reads the difference in typography and product scale.",
      "phases": [
        {
          "frame": 0,
          "label": "Variant A holds; render drifts +18px"
        },
        {
          "frame": 25,
          "label": "Hard swap to variant B (typeset)"
        },
        {
          "frame": 26,
          "label": "Hold on variant B"
        }
      ]
    },
    {
      "id": "blur-whip-push-into-message-composer",
      "title": "Whip-push into a floating chat window with a blur spike, landing on its composer",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Prepare for Customer Meetings With ChatGPT Work | Tutorial",
        "id": "yQZgOSHHxjk",
        "url": "https://www.youtube.com/watch?v=yQZgOSHHxjk",
        "start": 86.961875,
        "end": 89.25583333333333
      },
      "preview": "/videos/examples/rebuilds/blur-whip-push-into-message-composer/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/blur-whip-push-into-message-composer/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/blur-whip-push-into-message-composer/adaptation.mp4",
      "download": "/videos/examples/rebuilds/blur-whip-push-into-message-composer/package.zip",
      "svg": "/videos/examples/rebuilds/blur-whip-push-into-message-composer/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": 147770,
      "packageSha256": "9100b299b4f53b62a51cc26b1127efc21320c1e7a8c208d5bffa9b606961d14b",
      "poster": "/videos/examples/posters/blur-whip-push-into-message-composer.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 55,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/blur-whip-push-into-message-composer/item.json",
      "observation": "A small flat screenshot-style chat window floats at the right over bright green footage and holds still for local frames 0-11. From ~f12 the window is pushed up in scale about its bottom-left, smearing into heavy blur at ~f16-17 (the text is illegible) and resolving by ~f22 at roughly 2.45x, so the bottom of the message (prep-owner bullets, a link line, 'Sent using') and the formatting toolbar and 'Message #channel' placeholder fill the frame. It holds there to the end.",
      "mechanism": "Fast push-in on a floating panel with a blur spike at the midpoint that hides the scale change and lands on a detail region.",
      "phases": [
        {
          "frame": 0,
          "label": "Wide window holds"
        },
        {
          "frame": 12,
          "label": "Push-in and blur begin"
        },
        {
          "frame": 17,
          "label": "Blur peak, text illegible"
        },
        {
          "frame": 22,
          "label": "Resolved at 2.45x on the composer"
        },
        {
          "frame": 55,
          "label": "End"
        }
      ]
    },
    {
      "id": "builder-click-build-cuts-to-loading-glyph-then-finished-app",
      "title": "Click Build, hard-cut to a loading screen with a morphing glyph, hard-cut to the finished app",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Base44 Uses GPT-5.6 to Build Apps With 20% Fewer Tokens",
        "id": "Cxp2aZQqkYM",
        "url": "https://www.youtube.com/watch?v=Cxp2aZQqkYM",
        "start": 19.936583333333335,
        "end": 23.356666666666666
      },
      "preview": "/videos/examples/rebuilds/builder-click-build-cuts-to-loading-glyph-then-finished-app/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/builder-click-build-cuts-to-loading-glyph-then-finished-app/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/builder-click-build-cuts-to-loading-glyph-then-finished-app/adaptation.mp4",
      "download": "/videos/examples/rebuilds/builder-click-build-cuts-to-loading-glyph-then-finished-app/package.zip",
      "svg": "/videos/examples/rebuilds/builder-click-build-cuts-to-loading-glyph-then-finished-app/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": 151249,
      "packageSha256": "c25dd254fce946d922c0ca8a0a451400ca23bc303a35e892c533d0367cb886b9",
      "poster": "/videos/examples/posters/builder-click-build-cuts-to-loading-glyph-then-finished-app.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 82,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/builder-click-build-cuts-to-loading-glyph-then-finished-app/item.json",
      "observation": "A warm beige start screen holds with a greeting, a filled prompt card and the pointer resting on the orange send button (local f0-16, master 478-494). On the click (~f16) the view hard-cuts to a light workspace: a chat column on the left and an empty canvas with a small black glyph that morphs and rotates above \"Building your idea\u2026\" copy (f17-58, master 495-536). At ~f59 (master 537) it hard-cuts again to the generated app: chat column, a large coastal map with a dashed route and stops, and a right-hand itinerary panel, which holds to the end.",
      "mechanism": "Two hard cuts carry a build: submit state, loading state with a morphing glyph, result state, with no dissolves between them.",
      "phases": [
        {
          "frame": 0,
          "label": "Start screen, pointer on send"
        },
        {
          "frame": 16,
          "label": "Click"
        },
        {
          "frame": 17,
          "label": "Hard cut to loading workspace, glyph morphs"
        },
        {
          "frame": 59,
          "label": "Hard cut to the finished app"
        }
      ]
    },
    {
      "id": "builder-long-prompt-types-with-caret-then-send-commits",
      "title": "Type a long prompt with a caret in a magnified composer, pause, then send it into a bubble",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Base44 Uses GPT-5.6 to Build Apps With 20% Fewer Tokens",
        "id": "Cxp2aZQqkYM",
        "url": "https://www.youtube.com/watch?v=Cxp2aZQqkYM",
        "start": 55.88916666666667,
        "end": 60.268541666666664
      },
      "preview": "/videos/examples/caret-fix/builder-long-prompt-types-with-caret-then-send-commits/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/builder-long-prompt-types-with-caret-then-send-commits/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/builder-long-prompt-types-with-caret-then-send-commits/adaptation.mp4",
      "download": "/videos/examples/caret-fix/builder-long-prompt-types-with-caret-then-send-commits/package.zip",
      "svg": "/videos/examples/caret-fix/builder-long-prompt-types-with-caret-then-send-commits/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149850,
      "packageSha256": "2ebdab4c6439253f36d92874f00e54d7ce7000c3d92cb4f7c22a594f4ba04533",
      "poster": "/videos/examples/posters/builder-long-prompt-types-with-caret-then-send-commits.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 105,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/builder-long-prompt-types-with-caret-then-send-commits/item.json",
      "observation": "The camera finishes a short push toward the composer (local f0-8, master 1340-1348). An I-beam caret sits in the empty field and a long prompt types in over ~f6-72 (master 1346-1412), wrapping to a second line, with a caret at the insertion point throughout. The finished text holds while the pointer changes to an arrow and moves onto the send square (~f85-90); it clicks at ~f92 (master 1432); the field clears to the placeholder and a light grey bubble with a small avatar fades in above the suggestions by ~f100 (master 1440).",
      "mechanism": "A caret-driven type-on of a wrapping prompt followed by a commit: the send click empties the field and the words reappear as a user bubble.",
      "phases": [
        {
          "frame": 0,
          "label": "Push-in settles on the composer"
        },
        {
          "frame": 6,
          "label": "Prompt types with caret, wraps to line two"
        },
        {
          "frame": 72,
          "label": "Finished prompt holds"
        },
        {
          "frame": 85,
          "label": "Pointer moves to send"
        },
        {
          "frame": 92,
          "label": "Click"
        },
        {
          "frame": 93,
          "label": "Field clears; bubble fades in above"
        }
      ]
    },
    {
      "id": "builder-push-in-on-composer-then-send-lifts-prompt-to-bubble",
      "title": "Push in on the composer, then send: the prompt clears and reappears as a grey bubble above",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Base44 Uses GPT-5.6 to Build Apps With 20% Fewer Tokens",
        "id": "Cxp2aZQqkYM",
        "url": "https://www.youtube.com/watch?v=Cxp2aZQqkYM",
        "start": 23.77375,
        "end": 26.69333333333333
      },
      "preview": "/videos/examples/rebuilds/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/adaptation.mp4",
      "download": "/videos/examples/rebuilds/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/package.zip",
      "svg": "/videos/examples/rebuilds/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/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": 149291,
      "packageSha256": "5b48324919060a5480c9b69aeba8709a19b20d4cc21cba3c4bd9cedfeac85b5d",
      "poster": "/videos/examples/posters/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 70,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/item.json",
      "observation": "The full app (chat column left, coastal map right) is framed at 1:1 for the first frames, then the camera eases in about 2.3x toward the bottom-left composer over local f0-30 (master 570-600), leaving the suggestion chips and the filled prompt large in frame with a slice of map at right. The pointer sits on the send square and clicks at ~f40 (master 610); by f43 the prompt text has left the field, the placeholder is back, and a grey user bubble holding the same words appears above the suggestions while the older assistant text is pushed up.",
      "mechanism": "A digital push-in that isolates the composer before a commit: on send, the typed prompt is cleared from the field and re-instantiated as a user bubble above, shifting prior content up.",
      "phases": [
        {
          "frame": 0,
          "label": "Full app at 1:1"
        },
        {
          "frame": 1,
          "label": "Camera pushes in toward the composer"
        },
        {
          "frame": 30,
          "label": "Push-in settles"
        },
        {
          "frame": 40,
          "label": "Send clicked"
        },
        {
          "frame": 43,
          "label": "Field clears; bubble appears; prior content shifts up"
        }
      ]
    },
    {
      "id": "builder-transcript-scrolls-up-as-agent-rows-stack-in",
      "title": "Keep the composer anchored while the transcript above scrolls up to make room for each new agent row",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Base44 Uses GPT-5.6 to Build Apps With 20% Fewer Tokens",
        "id": "Cxp2aZQqkYM",
        "url": "https://www.youtube.com/watch?v=Cxp2aZQqkYM",
        "start": 60.5605,
        "end": 63.22983333333333
      },
      "preview": "/videos/examples/rebuilds/builder-transcript-scrolls-up-as-agent-rows-stack-in/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/builder-transcript-scrolls-up-as-agent-rows-stack-in/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/builder-transcript-scrolls-up-as-agent-rows-stack-in/adaptation.mp4",
      "download": "/videos/examples/rebuilds/builder-transcript-scrolls-up-as-agent-rows-stack-in/package.zip",
      "svg": "/videos/examples/rebuilds/builder-transcript-scrolls-up-as-agent-rows-stack-in/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": 150602,
      "packageSha256": "7dc8efa0d4575cfa4b8550f2d2a0982c21d9d8e356775d382faf606273baf5de",
      "poster": "/videos/examples/posters/builder-transcript-scrolls-up-as-agent-rows-stack-in.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 64,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/builder-transcript-scrolls-up-as-agent-rows-stack-in/item.json",
      "observation": "In the magnified chat column the sent bubble sits above the suggestion chips and the empty composer (local f0-5). At ~f6 (master 1458) a reply sentence and a collapsed \"Updated your app\" row appear beneath the bubble and the whole thread shifts up so the composer stays put; the camera eases back from 2.3x to ~1.9x over f18-38. At ~f38 (master 1490) a second paragraph and an expanded change list (Wrote / Wrote / Edited file rows plus a small agent card) stack in with another upward shift, and at ~f46 (master 1498) a \"verified\" block with two screenshot thumbnails lands, pushing the bubble out of view. It holds to the end.",
      "mechanism": "Bottom-anchored chat growth: each incoming agent block is added at the bottom of the thread and the thread scrolls up by the block height, with the composer fixed.",
      "phases": [
        {
          "frame": 0,
          "label": "Sent bubble above chips and composer"
        },
        {
          "frame": 6,
          "label": "Reply and collapsed change row stack in; thread shifts up"
        },
        {
          "frame": 18,
          "label": "Camera eases back slightly"
        },
        {
          "frame": 38,
          "label": "Second paragraph and expanded file rows; second shift"
        },
        {
          "frame": 46,
          "label": "Verified block with thumbnails; third shift"
        }
      ]
    },
    {
      "id": "composer-bubble-inline-file-tokens-type-on",
      "title": "Type a prompt whose file references render as green inline tokens while the bubble grows",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Turn a Forecast Spreadsheet Into an Interactive Planning Tool With ChatGPT Work",
        "id": "TryfaGZwvIE",
        "url": "https://www.youtube.com/watch?v=TryfaGZwvIE",
        "start": 55.764041666666664,
        "end": 58.391666666666666
      },
      "preview": "/videos/examples/rebuilds/composer-bubble-inline-file-tokens-type-on/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/composer-bubble-inline-file-tokens-type-on/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/composer-bubble-inline-file-tokens-type-on/adaptation.mp4",
      "download": "/videos/examples/rebuilds/composer-bubble-inline-file-tokens-type-on/package.zip",
      "svg": "/videos/examples/rebuilds/composer-bubble-inline-file-tokens-type-on/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": 147867,
      "packageSha256": "d33e0809cdc98e95d3ea6d7db0de495c9b587304c4a05b79d14b051688d921e9",
      "poster": "/videos/examples/posters/composer-bubble-inline-file-tokens-type-on.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 63,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/composer-bubble-inline-file-tokens-type-on/item.json",
      "observation": "A white composer bubble floats over dark olive footage beside a white plus disc. At local frame 0 it holds two lines ending in a green file token with a small sheet icon; typing continues at roughly half a frame per character: the second file token types in green ('Week 4' ~f6), returns to black for 'results. Use the' (~f12-18), then plain lines follow ('read-only spreadsheet as' ~f24, 'source of truth and the pr' ~f42) and the sentence ends 'as context.' at ~f53. The bubble steps taller at each new line (about f1, 8, 18, 30, 47) around a fixed centre, with the black send disc riding the bottom edge.",
      "mechanism": "Caret type-on where referenced file names switch to a green token style mid-line, inside a centred bubble that steps taller per wrapped line.",
      "phases": [
        {
          "frame": 0,
          "label": "Two lines with first green token"
        },
        {
          "frame": 4,
          "label": "Second line: plain text then second token"
        },
        {
          "frame": 12,
          "label": "Third line: token finishes, colour returns to black"
        },
        {
          "frame": 30,
          "label": "Fifth line begins"
        },
        {
          "frame": 47,
          "label": "Sixth line begins"
        },
        {
          "frame": 53,
          "label": "Sentence complete, hold"
        },
        {
          "frame": 63,
          "label": "End"
        }
      ]
    },
    {
      "id": "composer-dissolves-to-schedule-card-then-macro-pan",
      "title": "Fade the composer out, fade a result card in, then jump to macro and pan across the card to its button",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "You can just keep the work moving | ChatGPT Work",
        "id": "wIf9yMGalPU",
        "url": "https://www.youtube.com/watch?v=wIf9yMGalPU",
        "start": 11.533333333333333,
        "end": 14.533333333333333
      },
      "preview": "/videos/examples/rebuilds/composer-dissolves-to-schedule-card-then-macro-pan/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/composer-dissolves-to-schedule-card-then-macro-pan/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/composer-dissolves-to-schedule-card-then-macro-pan/adaptation.mp4",
      "download": "/videos/examples/rebuilds/composer-dissolves-to-schedule-card-then-macro-pan/package.zip",
      "svg": "/videos/examples/rebuilds/composer-dissolves-to-schedule-card-then-macro-pan/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": 147716,
      "packageSha256": "c06f47b163fbd09784fad579b080dec6c9e0df3ef07c47ae9048cd0f4b4e6e2c",
      "poster": "/videos/examples/posters/composer-dissolves-to-schedule-card-then-macro-pan.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 90,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/composer-dissolves-to-schedule-card-then-macro-pan/item.json",
      "observation": "The finished composer holds for a few frames (master 346-350), fades to about 40% by master 354 and is gone by 358 (local 12), leaving pure white. A wide schedule card (clock icon, title, 'Hourly', Open button) fades in at the same spot between master 358 and 366 (local 12-20). At master 370 (local 24) there is a hard jump to a macro view of the card's left end at roughly 3x. The camera then pans right across the card, slowly at first (icon still visible at 386) and faster from 390, passing the title, until the Open button slides in from the right edge at 426 and settles near the right third by 434 (local 88).",
      "mechanism": "Cross-fade between two UI states followed by a jump cut to macro and a lateral camera pan that reads the card left to right and lands on its action.",
      "phases": [
        {
          "frame": 0,
          "label": "Finished composer holds"
        },
        {
          "frame": 4,
          "label": "Composer fades out"
        },
        {
          "frame": 12,
          "label": "Blank; schedule card fades in"
        },
        {
          "frame": 24,
          "label": "Jump cut to macro on the card icon"
        },
        {
          "frame": 40,
          "label": "Pan accelerates along the title"
        },
        {
          "frame": 82,
          "label": "Open button enters and settles"
        }
      ]
    },
    {
      "id": "composer-typed-prompt-inline-chip-send-hard-cut",
      "title": "Type a prompt, drop a source chip inline, click send, and hard-cut to the running session",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Plugins & Skills",
        "id": "5QPBVrAAdBk",
        "url": "https://www.youtube.com/watch?v=5QPBVrAAdBk",
        "start": 65.065,
        "end": 69.444375
      },
      "preview": "/videos/examples/rebuilds/composer-typed-prompt-inline-chip-send-hard-cut/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/composer-typed-prompt-inline-chip-send-hard-cut/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/composer-typed-prompt-inline-chip-send-hard-cut/adaptation.mp4",
      "download": "/videos/examples/rebuilds/composer-typed-prompt-inline-chip-send-hard-cut/package.zip",
      "svg": "/videos/examples/rebuilds/composer-typed-prompt-inline-chip-send-hard-cut/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": 147957,
      "packageSha256": "139c043dbcd797e0bde4ebcd414907e8ff89d2fc17ed7cb4492f9a28d56f8dfb",
      "poster": "/videos/examples/posters/composer-typed-prompt-inline-chip-send-hard-cut.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 105,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/composer-typed-prompt-inline-chip-send-hard-cut/item.json",
      "observation": "On a white field a centred 'What should we work on?' heading sits above a rounded composer with a plus, a mode pill, a model label and a black send circle. The first clause types on at local ~0-15, an inline source chip with a small icon pops in at ~28, the rest of the sentence types across two lines from ~30 to ~75. The pointer travels in and clicks the send circle at ~88; at ~103 the picture hard-cuts to a browser window on a dark starfield showing the prompt echoed at the top and a 'Thinking' status.",
      "mechanism": "Composer build-to-send: character type-on interrupted by an inline chip insertion, a pointer click on send, then a hard cut to the resulting session view.",
      "phases": [
        {
          "frame": 0,
          "label": "First clause types on"
        },
        {
          "frame": 28,
          "label": "Inline source chip pops in"
        },
        {
          "frame": 30,
          "label": "Remaining sentence types across two lines"
        },
        {
          "frame": 75,
          "label": "Prompt complete"
        },
        {
          "frame": 88,
          "label": "Pointer clicks send"
        },
        {
          "frame": 103,
          "label": "Hard cut to session window"
        }
      ]
    },
    {
      "id": "dark-composer-app-mention-chip-type-on",
      "title": "Type a question after an app-mention chip inside a dark centred composer",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to analyze ad performance and refine creative",
        "id": "5iu0nY9lIy8",
        "url": "https://www.youtube.com/watch?v=5iu0nY9lIy8",
        "start": 73.25,
        "end": 77.0
      },
      "preview": "/videos/examples/rebuilds/dark-composer-app-mention-chip-type-on/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/dark-composer-app-mention-chip-type-on/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/dark-composer-app-mention-chip-type-on/adaptation.mp4",
      "download": "/videos/examples/rebuilds/dark-composer-app-mention-chip-type-on/package.zip",
      "svg": "/videos/examples/rebuilds/dark-composer-app-mention-chip-type-on/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": 146454,
      "packageSha256": "c94c26377fc348ca86c948bf457fb3f079e4580939a2a810f6c2d43fef03a10a",
      "poster": "/videos/examples/posters/dark-composer-app-mention-chip-type-on.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 225,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/dark-composer-app-mention-chip-type-on/item.json",
      "observation": "A near-black field holds a centred 'What can I help with?' heading above a single wide composer pill. The pill already contains a grey-dot app chip and the first letters 'How ar' at local frame 0; characters arrive steadily at about 8 frames each until the question 'How are my ... ads doing?' completes around f195, then the caret holds. The mode label, mic and blue send disc on the right never change.",
      "mechanism": "Character-by-character type-on of a prompt that follows a fixed inline app-mention chip in a dark single-line composer.",
      "phases": [
        {
          "frame": 0,
          "label": "Chip fixed, 'How ar' visible with caret"
        },
        {
          "frame": 100,
          "label": "Question half typed"
        },
        {
          "frame": 200,
          "label": "Question complete, caret holds"
        },
        {
          "frame": 225,
          "label": "End"
        }
      ]
    },
    {
      "id": "document-pane-fast-scroll-settles-on-chart",
      "title": "Scroll a long memo fast through several pages and decelerate onto a chart page",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to deliver board-ready reporting",
        "id": "_HCks5jkPLw",
        "url": "https://www.youtube.com/watch?v=_HCks5jkPLw",
        "start": 95.66666666666667,
        "end": 100.0
      },
      "preview": "/videos/examples/rebuilds/document-pane-fast-scroll-settles-on-chart/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/document-pane-fast-scroll-settles-on-chart/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/document-pane-fast-scroll-settles-on-chart/adaptation.mp4",
      "download": "/videos/examples/rebuilds/document-pane-fast-scroll-settles-on-chart/package.zip",
      "svg": "/videos/examples/rebuilds/document-pane-fast-scroll-settles-on-chart/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": 149093,
      "packageSha256": "6dbff69b63efa266711a5632744628d665fcea3e83733e0baff205668a872695",
      "poster": "/videos/examples/posters/document-pane-fast-scroll-settles-on-chart.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 104,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/document-pane-fast-scroll-settles-on-chart/item.json",
      "observation": "Two windows share a black field: a narrow chat transcript on the left stays still, and a document editor on the right scrolls its pages quickly. From local frame 0 a line-chart page slides up, followed by a budget page with a table and green bars, a revenue-bridge page with dark bars and a table, a bullets page with a blue callout, and finally a 'Product Plan and Mix' page with four coloured bars; the scroll decelerates and settles on that bar-chart page around f88 and holds to f104.",
      "mechanism": "Fast, decelerating scroll of a multi-page document inside a clipped pane, ending precisely on a chart page while an adjacent pane stays static.",
      "phases": [
        {
          "frame": 0,
          "label": "Line-chart page in view, scrolling"
        },
        {
          "frame": 30,
          "label": "Table and bar pages pass"
        },
        {
          "frame": 60,
          "label": "Bullets and callout pass"
        },
        {
          "frame": 88,
          "label": "Settles on product-mix bar chart"
        },
        {
          "frame": 104,
          "label": "End"
        }
      ]
    },
    {
      "id": "endcard-colour-dot-bursts-into-stickers-and-wordmark",
      "title": "Cycle a centred dot through brand colours, then burst into a sticker field while the wordmark types on",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to build custom creative tools",
        "id": "D-QteDHdHes",
        "url": "https://www.youtube.com/watch?v=D-QteDHdHes",
        "start": 162.25,
        "end": 163.91666666666666
      },
      "preview": "/videos/examples/rebuilds/endcard-colour-dot-bursts-into-stickers-and-wordmark/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/endcard-colour-dot-bursts-into-stickers-and-wordmark/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/endcard-colour-dot-bursts-into-stickers-and-wordmark/adaptation.mp4",
      "download": "/videos/examples/rebuilds/endcard-colour-dot-bursts-into-stickers-and-wordmark/package.zip",
      "svg": "/videos/examples/rebuilds/endcard-colour-dot-bursts-into-stickers-and-wordmark/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": 148019,
      "packageSha256": "841319bf4ae52393437c6fddd48dbfb8786a058cda3e203d44adb9625ed28d60",
      "poster": "/videos/examples/posters/endcard-colour-dot-bursts-into-stickers-and-wordmark.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 100,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/endcard-colour-dot-bursts-into-stickers-and-wordmark/item.json",
      "observation": "On an off-white field a single ~56px dot sits at centre and steps through colours (black, orange, purple, green, yellow, blue, pink, pale pink) every 8 frames with hard changes, no blends. At local 62 the dot vanishes and, in the same instant, a scattered field of small illustrated stickers pops in around the centre while a bold black wordmark types on left-to-right from the middle (local 64\u201388). The field then holds (60 fps master).",
      "mechanism": "A stepped colour-cycle on a single dot used as a countdown, released by a simultaneous pop-in of many small elements plus a character type-on of the wordmark.",
      "phases": [
        {
          "frame": 0,
          "label": "Dot black"
        },
        {
          "frame": 8,
          "label": "Dot steps colour every 8 frames"
        },
        {
          "frame": 62,
          "label": "Dot out; stickers pop in"
        },
        {
          "frame": 64,
          "label": "Wordmark types on"
        },
        {
          "frame": 88,
          "label": "Wordmark complete, field holds"
        }
      ]
    },
    {
      "id": "endcard-dot-cycle-burst-and-type-on-at-24fps",
      "title": "Cycle the dot through colours at 24 fps, then burst into stickers as the wordmark types on",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to build custom forecasting apps",
        "id": "mOAHWk24D28",
        "url": "https://www.youtube.com/watch?v=mOAHWk24D28",
        "start": 139.75,
        "end": 141.75
      },
      "preview": "/videos/examples/rebuilds/endcard-dot-cycle-burst-and-type-on-at-24fps/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/endcard-dot-cycle-burst-and-type-on-at-24fps/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/endcard-dot-cycle-burst-and-type-on-at-24fps/adaptation.mp4",
      "download": "/videos/examples/rebuilds/endcard-dot-cycle-burst-and-type-on-at-24fps/package.zip",
      "svg": "/videos/examples/rebuilds/endcard-dot-cycle-burst-and-type-on-at-24fps/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": 147964,
      "packageSha256": "8633ba41b76d13b4a251f6f2e166cceab58c8c67fb069dd35c49d54cc58283b7",
      "poster": "/videos/examples/posters/endcard-dot-cycle-burst-and-type-on-at-24fps.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 48,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/endcard-dot-cycle-burst-and-type-on-at-24fps/item.json",
      "observation": "On an off-white field a single ~56px dot sits at centre and steps through colours (black, orange, purple, green, yellow, blue, pink, pale pink) every 3 frames with hard changes, no blends. At local 24 the dot vanishes and, in the same instant, a scattered field of small illustrated stickers pops in around the centre while a bold black wordmark types on left-to-right from the middle (local 26\u201336). The field then holds (24 fps master).",
      "mechanism": "A stepped colour-cycle on a single dot used as a countdown, released by a simultaneous pop-in of many small elements plus a character type-on of the wordmark.",
      "phases": [
        {
          "frame": 0,
          "label": "Dot black"
        },
        {
          "frame": 3,
          "label": "Dot steps colour every 3 frames"
        },
        {
          "frame": 24,
          "label": "Dot out; stickers pop in"
        },
        {
          "frame": 26,
          "label": "Wordmark types on"
        },
        {
          "frame": 36,
          "label": "Wordmark complete, field holds"
        }
      ]
    },
    {
      "id": "endcard-wordmark-backspace-collapses-to-mark",
      "title": "Hold the sticker field, backspace the wordmark two letters at a time as stickers drop out, leave the mark alone",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to build custom creative tools",
        "id": "D-QteDHdHes",
        "url": "https://www.youtube.com/watch?v=D-QteDHdHes",
        "start": 163.91666666666666,
        "end": 166.0
      },
      "preview": "/videos/examples/rebuilds/endcard-wordmark-backspace-collapses-to-mark/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/endcard-wordmark-backspace-collapses-to-mark/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/endcard-wordmark-backspace-collapses-to-mark/adaptation.mp4",
      "download": "/videos/examples/rebuilds/endcard-wordmark-backspace-collapses-to-mark/package.zip",
      "svg": "/videos/examples/rebuilds/endcard-wordmark-backspace-collapses-to-mark/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": 147799,
      "packageSha256": "0885e7f80eb11f84dd4542846d822147bf8e6cd5e89d62056d08e1117cdf6a49",
      "poster": "/videos/examples/posters/endcard-wordmark-backspace-collapses-to-mark.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 125,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/endcard-wordmark-backspace-collapses-to-mark/item.json",
      "observation": "The finished end-card field (18 scattered stickers around a bold black wordmark at centre) holds from local 0 to ~41. At local 42 the wordmark loses its last two characters and the outermost stickers disappear together; at local 50 two more characters go and the middle ring drops; at local 56 the last letters and stickers are gone. At local 58 a small black line mark grows in at exact centre and holds for the rest of the interval.",
      "mechanism": "A backspace-style character deletion synchronised with concentric removal of surrounding elements, resolving to a single centred mark.",
      "phases": [
        {
          "frame": 0,
          "label": "Full field holds"
        },
        {
          "frame": 42,
          "label": "Two letters removed; outer stickers drop"
        },
        {
          "frame": 50,
          "label": "Two more letters; middle ring drops"
        },
        {
          "frame": 56,
          "label": "Field cleared"
        },
        {
          "frame": 58,
          "label": "Mark grows in at centre"
        },
        {
          "frame": 70,
          "label": "Mark holds"
        }
      ]
    },
    {
      "id": "endcard-wordmark-types-erases-then-glyph-scales-in",
      "title": "Type a wordmark on, hold, un-type it from the end, then pop the glyph in with a scale",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Base44 Uses GPT-5.6 to Build Apps With 20% Fewer Tokens",
        "id": "Cxp2aZQqkYM",
        "url": "https://www.youtube.com/watch?v=Cxp2aZQqkYM",
        "start": 66.60820833333334,
        "end": 71.11270833333333
      },
      "preview": "/videos/examples/rebuilds/endcard-wordmark-types-erases-then-glyph-scales-in/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/endcard-wordmark-types-erases-then-glyph-scales-in/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/endcard-wordmark-types-erases-then-glyph-scales-in/adaptation.mp4",
      "download": "/videos/examples/rebuilds/endcard-wordmark-types-erases-then-glyph-scales-in/package.zip",
      "svg": "/videos/examples/rebuilds/endcard-wordmark-types-erases-then-glyph-scales-in/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": 146488,
      "packageSha256": "52bdb4b4f12c9db1bd9a14479d8950228e79eff6adc7854f2865a418caaede14",
      "poster": "/videos/examples/posters/endcard-wordmark-types-erases-then-glyph-scales-in.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 108,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/endcard-wordmark-types-erases-then-glyph-scales-in/item.json",
      "observation": "A hard cut lands on an off-white field. A centred black wordmark types in one character per frame from about local f1 to f9 (master 1598-1606) and holds. From ~f48 the characters are removed from the end backwards (master 1648 shows three characters left) and the text is gone by ~f53. At ~f53 a small mark appears at the same centre as a thin ring and scales up to its final size by ~f61 (master 1650-1658), then holds to the end of the film.",
      "mechanism": "An end-card handoff: type the wordmark on, un-type it from the end, and scale the glyph in from the same centre point.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty off-white field"
        },
        {
          "frame": 1,
          "label": "Wordmark types on"
        },
        {
          "frame": 9,
          "label": "Wordmark holds"
        },
        {
          "frame": 48,
          "label": "Wordmark un-types from the end"
        },
        {
          "frame": 53,
          "label": "Glyph scales in from the centre"
        },
        {
          "frame": 61,
          "label": "Glyph holds"
        }
      ]
    },
    {
      "id": "floating-composer-bubble-grows-per-line",
      "title": "Type into a floating composer bubble that re-centres and grows with every new line",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Prepare for Customer Meetings With ChatGPT Work | Tutorial",
        "id": "yQZgOSHHxjk",
        "url": "https://www.youtube.com/watch?v=yQZgOSHHxjk",
        "start": 50.008291666666665,
        "end": 52.135416666666664
      },
      "preview": "/videos/examples/rebuilds/floating-composer-bubble-grows-per-line/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/floating-composer-bubble-grows-per-line/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/floating-composer-bubble-grows-per-line/adaptation.mp4",
      "download": "/videos/examples/rebuilds/floating-composer-bubble-grows-per-line/package.zip",
      "svg": "/videos/examples/rebuilds/floating-composer-bubble-grows-per-line/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": 147333,
      "packageSha256": "784dbb15edd84770976159ed9dd6bfed9bcb3d9dff5de666c77258ba6435fae0",
      "poster": "/videos/examples/posters/floating-composer-bubble-grows-per-line.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 51,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/floating-composer-bubble-grows-per-line/item.json",
      "observation": "A white rounded composer bubble floats over dark olive footage between a white plus disc and its own black send disc. At local frame 0 three lines are typed and a caret blinks after 'sources:'; by ~f6 a fourth line begins ('today's / a'), the bubble grows and its centre stays put so the top edge rises while the bottom drops; the fourth line completes ~f20, a fifth line starts at ~f21, growing the bubble again, and the sentence ends with a full stop at ~f29 before holding.",
      "mechanism": "Caret type-on inside a vertically centred bubble whose height steps up per wrapped line, pushing both edges outward while the send button rides the bottom edge.",
      "phases": [
        {
          "frame": 0,
          "label": "Three lines typed, caret after colon"
        },
        {
          "frame": 6,
          "label": "Fourth line begins: bubble steps to 4 lines"
        },
        {
          "frame": 21,
          "label": "Fifth line begins: bubble steps to 5 lines"
        },
        {
          "frame": 29,
          "label": "Sentence complete, hold"
        },
        {
          "frame": 51,
          "label": "End"
        }
      ]
    },
    {
      "id": "forecast-browser-page-eased-scroll-to-summary-section",
      "title": "Scroll a dashboard inside a browser frame from its hero to the summary section with one eased move",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build custom financial forecasting apps with ChatGPT Work",
        "id": "94Td-y5z5rk",
        "url": "https://www.youtube.com/watch?v=94Td-y5z5rk",
        "start": 28.666666666666668,
        "end": 32.0
      },
      "preview": "/videos/examples/rebuilds/forecast-browser-page-eased-scroll-to-summary-section/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/forecast-browser-page-eased-scroll-to-summary-section/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/forecast-browser-page-eased-scroll-to-summary-section/adaptation.mp4",
      "download": "/videos/examples/rebuilds/forecast-browser-page-eased-scroll-to-summary-section/package.zip",
      "svg": "/videos/examples/rebuilds/forecast-browser-page-eased-scroll-to-summary-section/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": 151940,
      "packageSha256": "ad2c4f21a0c177a9d82cf16fa67461b4286605ee917aead0dc9b909a48351f08",
      "poster": "/videos/examples/posters/forecast-browser-page-eased-scroll-to-summary-section.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 200,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/forecast-browser-page-eased-scroll-to-summary-section/item.json",
      "observation": "A browser window floats over a dark starfield; the page shows a sticky nav, a dark green hero with headline and KPI card, and a four-stat row (local f0-20, master 1720-1740). From ~f20 the page scrolls upward under the nav with a long ease, revealing the \"recoverable miss\" summary heading, a bar-chart panel, a numbered gates panel and finally a row of three tinted summary cards; the scroll settles by ~f130 (master 1850) and holds to the end. The chat sidebar on the left never moves.",
      "mechanism": "A single eased page scroll inside a device frame: page content moves under a sticky nav while the frame, sidebar and backdrop stay fixed.",
      "phases": [
        {
          "frame": 0,
          "label": "Hero and stats hold"
        },
        {
          "frame": 20,
          "label": "Page scrolls up under the sticky nav"
        },
        {
          "frame": 130,
          "label": "Summary section settles"
        }
      ]
    },
    {
      "id": "forecast-presentation-hard-cut-three-cards-to-four-cards",
      "title": "Hard-cut between two presentation slides that share chrome but re-grid from three cards to four",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build custom financial forecasting apps with ChatGPT Work",
        "id": "94Td-y5z5rk",
        "url": "https://www.youtube.com/watch?v=94Td-y5z5rk",
        "start": 49.0,
        "end": 51.0
      },
      "preview": "/videos/examples/rebuilds/forecast-presentation-hard-cut-three-cards-to-four-cards/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/forecast-presentation-hard-cut-three-cards-to-four-cards/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/forecast-presentation-hard-cut-three-cards-to-four-cards/adaptation.mp4",
      "download": "/videos/examples/rebuilds/forecast-presentation-hard-cut-three-cards-to-four-cards/package.zip",
      "svg": "/videos/examples/rebuilds/forecast-presentation-hard-cut-three-cards-to-four-cards/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": 151843,
      "packageSha256": "a1355212c6c057881239da53887955358652dea879c606f8b2e3e5ba8a919fa3",
      "poster": "/videos/examples/posters/forecast-presentation-hard-cut-three-cards-to-four-cards.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 120,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/forecast-presentation-hard-cut-three-cards-to-four-cards/item.json",
      "observation": "Inside the browser frame a presentation view holds a three-card slide (eyebrow, two-line headline, paragraph at right, cream/green/blue cards with big numbers, a footer band) for local f0-39 (master 2940-2979). At ~f40 (master 2980) it hard-cuts to the next slide: same header, footer and page chrome, but a new eyebrow and headline, four narrower numbered cards with badges, owner and dependency lines, and a dark green rule bar. The header counter advances and the progress marker jumps. The second slide holds to the end of the window.",
      "mechanism": "A hard cut between sibling slides: shared chrome stays pixel-stable while the content grid re-flows from three wide cards to four narrow ones, so the cut reads as a page turn.",
      "phases": [
        {
          "frame": 0,
          "label": "Three-card evidence slide"
        },
        {
          "frame": 40,
          "label": "Hard cut to the four-card release slide"
        }
      ]
    },
    {
      "id": "forecast-slider-drag-recomputes-kpi-tiles-and-bridge",
      "title": "Drag a lever slider one step and back: KPI tiles, bridge chips and the value label recompute instantly",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build custom financial forecasting apps with ChatGPT Work",
        "id": "94Td-y5z5rk",
        "url": "https://www.youtube.com/watch?v=94Td-y5z5rk",
        "start": 62.333333333333336,
        "end": 64.16666666666667
      },
      "preview": "/videos/examples/rebuilds/forecast-slider-drag-recomputes-kpi-tiles-and-bridge/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/forecast-slider-drag-recomputes-kpi-tiles-and-bridge/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/forecast-slider-drag-recomputes-kpi-tiles-and-bridge/adaptation.mp4",
      "download": "/videos/examples/rebuilds/forecast-slider-drag-recomputes-kpi-tiles-and-bridge/package.zip",
      "svg": "/videos/examples/rebuilds/forecast-slider-drag-recomputes-kpi-tiles-and-bridge/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": 151113,
      "packageSha256": "a6be92519cb0b2c0d3e6ab6840362834f88c9b9b7bdd12797aea96d568d4ce1b",
      "poster": "/videos/examples/posters/forecast-slider-drag-recomputes-kpi-tiles-and-bridge.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 110,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/forecast-slider-drag-recomputes-kpi-tiles-and-bridge/item.json",
      "observation": "The camera is already pushed in on the strategy section and the whole frame sits under an editorial dim (~30% darker than the surrounding shots). The pointer holds the \"Expense decrease\" slider knob at 10% (local f0-4). It drags the knob one step left over ~f4-14 (master 3744-3754); at ~f14 the label reads 9% and the revenue, contribution and lift tiles plus the bridge chips step to new values. They hold until the pointer drags back over ~f64-74 (master 3804-3814) and every value snaps back to the 10% state, holding to the end. The dim persists throughout.",
      "mechanism": "Direct manipulation with instant recompute: a slider drag steps a value and every dependent number on the page hard-swaps in the same frame, no counting or tweening.",
      "phases": [
        {
          "frame": 0,
          "label": "Zoomed strategy section, dimmed; knob at 10%"
        },
        {
          "frame": 4,
          "label": "Drag knob one step left"
        },
        {
          "frame": 14,
          "label": "Label reads 9%; tiles and chips recompute"
        },
        {
          "frame": 64,
          "label": "Drag knob back"
        },
        {
          "frame": 74,
          "label": "Values snap back to the 10% case"
        }
      ]
    },
    {
      "id": "forecast-tab-click-appends-section-and-autoscrolls-to-it",
      "title": "Click a nav tab: the new section renders below the hero and the page auto-scrolls it to the top",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build custom financial forecasting apps with ChatGPT Work",
        "id": "94Td-y5z5rk",
        "url": "https://www.youtube.com/watch?v=94Td-y5z5rk",
        "start": 57.333333333333336,
        "end": 58.833333333333336
      },
      "preview": "/videos/examples/rebuilds/forecast-tab-click-appends-section-and-autoscrolls-to-it/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/forecast-tab-click-appends-section-and-autoscrolls-to-it/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/forecast-tab-click-appends-section-and-autoscrolls-to-it/adaptation.mp4",
      "download": "/videos/examples/rebuilds/forecast-tab-click-appends-section-and-autoscrolls-to-it/package.zip",
      "svg": "/videos/examples/rebuilds/forecast-tab-click-appends-section-and-autoscrolls-to-it/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": 151886,
      "packageSha256": "d71f502096112541c5178a48e1272eb44757ab7fdea1dfa9501a37f3314e6b8c",
      "poster": "/videos/examples/posters/forecast-tab-click-appends-section-and-autoscrolls-to-it.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 90,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/forecast-tab-click-appends-section-and-autoscrolls-to-it/item.json",
      "observation": "The hero dashboard holds while the pointer rises toward the nav (local f0-28, master 3440-3468). On the click (~f30, master 3470) the active underline jumps to the new tab and a new section (heading, brief banner, four stat tiles, two panel headers) is already present beneath the four-stat row. From ~f34 the page scrolls upward quickly with an ease-out, and by ~f52 (master 3492) the new section heading sits just under the sticky nav. It holds for the rest of the window.",
      "mechanism": "Tab navigation as append-and-scroll: the new section is inserted below existing content and the viewport is scrolled to it, rather than replacing the page.",
      "phases": [
        {
          "frame": 0,
          "label": "Hero dashboard; pointer rises to the nav"
        },
        {
          "frame": 30,
          "label": "Tab clicked; underline jumps; section appears below"
        },
        {
          "frame": 34,
          "label": "Page scrolls the new section to the top"
        },
        {
          "frame": 52,
          "label": "Section settles under the nav"
        }
      ]
    },
    {
      "id": "forecast-table-row-click-expands-inline-detail-card",
      "title": "Click a table row to expand an inline detail card and push the rows below it down",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build custom financial forecasting apps with ChatGPT Work",
        "id": "94Td-y5z5rk",
        "url": "https://www.youtube.com/watch?v=94Td-y5z5rk",
        "start": 40.0,
        "end": 41.666666666666664
      },
      "preview": "/videos/examples/rebuilds/forecast-table-row-click-expands-inline-detail-card/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/forecast-table-row-click-expands-inline-detail-card/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/forecast-table-row-click-expands-inline-detail-card/adaptation.mp4",
      "download": "/videos/examples/rebuilds/forecast-table-row-click-expands-inline-detail-card/package.zip",
      "svg": "/videos/examples/rebuilds/forecast-table-row-click-expands-inline-detail-card/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": 151151,
      "packageSha256": "6e3baa47b609cd6bc48a974de6ade3abe3e7d6a107c4d3cad4990d9b5f6c8515",
      "poster": "/videos/examples/posters/forecast-table-row-click-expands-inline-detail-card.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 100,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/forecast-table-row-click-expands-inline-detail-card/item.json",
      "observation": "The \"close detail\" page shows a heading, two status banners (green tie, orange pending control), a dark table header and five account rows (local f0-28, master 2400-2428). The pointer travels to the first row and clicks at ~f30; over the next ~14 frames a detail card grows open beneath that row (a sub-line name, an explanatory note and an owner) while every row below slides down by the same height. The expanded table then holds to the end of the window.",
      "mechanism": "An inline accordion: the clicked row reveals a detail card by animating its height, and the following rows translate down in lockstep.",
      "phases": [
        {
          "frame": 0,
          "label": "Collapsed table"
        },
        {
          "frame": 4,
          "label": "Pointer travels to row one"
        },
        {
          "frame": 30,
          "label": "Click"
        },
        {
          "frame": 31,
          "label": "Detail card grows; rows below slide down"
        },
        {
          "frame": 45,
          "label": "Expanded table holds"
        }
      ]
    },
    {
      "id": "hard-cut-to-working-plan-with-slow-scroll-drift",
      "title": "Hard cut from the zoomed composer to the sent bubble and Working plan, then let the thread drift upward",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Model ML Uses GPT-5.6 Sol to Get Finance Work Done More Efficiently",
        "id": "OEkxKdhtQng",
        "url": "https://www.youtube.com/watch?v=OEkxKdhtQng",
        "start": 32.57420833333333,
        "end": 35.74404166666667
      },
      "preview": "/videos/examples/rebuilds/hard-cut-to-working-plan-with-slow-scroll-drift/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/hard-cut-to-working-plan-with-slow-scroll-drift/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/hard-cut-to-working-plan-with-slow-scroll-drift/adaptation.mp4",
      "download": "/videos/examples/rebuilds/hard-cut-to-working-plan-with-slow-scroll-drift/package.zip",
      "svg": "/videos/examples/rebuilds/hard-cut-to-working-plan-with-slow-scroll-drift/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": 149711,
      "packageSha256": "61e6a9a9b4a3f7495cd4caeb5436113d5b84f0dc63ba70bed8ea1ba652273921",
      "poster": "/videos/examples/posters/hard-cut-to-working-plan-with-slow-scroll-drift.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 76,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/hard-cut-to-working-plan-with-slow-scroll-drift/item.json",
      "observation": "Inside the same inset viewport, the 2x-zoomed composer holds for local 0\u201311. At local 12 (master 793) the recording hard-cuts to the conversation view at 1:1: the sent brief now sits as a grey bubble upper-right with its top clipped by the viewport, a small \"Working\" row with a chevron appears at left below it, and three plan paragraphs (the last in lighter grey with a trailing chevron) fill the lower left. From the cut to the end the whole thread creeps upward by about 28px. Subtitles swap at local 32 and 61.",
      "mechanism": "A hard cut from a zoomed input state to the response state at native scale, followed by a slow upward scroll drift that keeps the frame alive while the text is read.",
      "phases": [
        {
          "frame": 0,
          "label": "Zoomed composer holds"
        },
        {
          "frame": 12,
          "label": "Hard cut to the Working thread"
        },
        {
          "frame": 13,
          "label": "Thread drifts up 28px to the end"
        },
        {
          "frame": 32,
          "label": "Subtitle swap"
        },
        {
          "frame": 61,
          "label": "Subtitle swap"
        }
      ]
    },
    {
      "id": "interview-title-wipe-out-then-typed-byline",
      "title": "Hold a two-line title, wipe it out left to right, then type the byline on and wipe it off",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "GPT-6 Astra with Ben Davis",
        "id": "B-jjnydci50",
        "url": "https://www.youtube.com/watch?v=B-jjnydci50",
        "start": 2.25225,
        "end": 9.426083333333333
      },
      "preview": "/videos/examples/rebuilds/interview-title-wipe-out-then-typed-byline/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/interview-title-wipe-out-then-typed-byline/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/interview-title-wipe-out-then-typed-byline/adaptation.mp4",
      "download": "/videos/examples/rebuilds/interview-title-wipe-out-then-typed-byline/package.zip",
      "svg": "/videos/examples/rebuilds/interview-title-wipe-out-then-typed-byline/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": 146609,
      "packageSha256": "b0cc3d563a7b5623a2acdbea68b937d9ce473457b9c96b3683ecee56748f4ffa",
      "poster": "/videos/examples/posters/interview-title-wipe-out-then-typed-byline.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 172,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/interview-title-wipe-out-then-typed-byline/item.json",
      "observation": "A two-line white title sits bottom-left over an interview shot and holds from local frame 0 to ~36. Between ~37 and ~44 a left-to-right wipe erases it (first the left of line one, then only the tail of line two remains). The corner stays empty until ~74, when 'with ...' types on character by character and finishes at ~96; the byline holds and is erased by the same left-to-right wipe at ~160-165.",
      "mechanism": "Lower-third title swap: a hard left-to-right wipe-off replaces a static two-line title with a caret-free character type-on byline, which later exits by the same wipe.",
      "phases": [
        {
          "frame": 0,
          "label": "Two-line title holds"
        },
        {
          "frame": 37,
          "label": "Left-to-right wipe erases the title"
        },
        {
          "frame": 74,
          "label": "Byline types on"
        },
        {
          "frame": 96,
          "label": "Byline complete, holds"
        },
        {
          "frame": 160,
          "label": "Byline wiped off"
        }
      ]
    },
    {
      "id": "jump-cut-wide-reveals-question-bubble",
      "title": "Jump-cut from a close response read to a wider framing that reveals the user's question",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to analyze ad performance and refine creative",
        "id": "5iu0nY9lIy8",
        "url": "https://www.youtube.com/watch?v=5iu0nY9lIy8",
        "start": 105.5,
        "end": 108.25
      },
      "preview": "/videos/examples/rebuilds/jump-cut-wide-reveals-question-bubble/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/jump-cut-wide-reveals-question-bubble/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/jump-cut-wide-reveals-question-bubble/adaptation.mp4",
      "download": "/videos/examples/rebuilds/jump-cut-wide-reveals-question-bubble/package.zip",
      "svg": "/videos/examples/rebuilds/jump-cut-wide-reveals-question-bubble/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": 148972,
      "packageSha256": "b82c76b4b66296b9293b980f26ce896f95f8a6b8aefc042824fcc0ea724b5371",
      "poster": "/videos/examples/posters/jump-cut-wide-reveals-question-bubble.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 165,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/jump-cut-wide-reveals-question-bubble/item.json",
      "observation": "For local frames 0-22 the dark response fills the frame at reading scale with its action bar already visible. At f23 a hard cut swaps to a wider framing of the same page: the text shrinks to about 81%, shifts right, and a blue user-question bubble appears at the top; in this take the last paragraph is still finishing ('closes the' ~f25, 'closes the g' ~f40, 'closes the gap' ~f55). The action row fades in again at ~f145 once the paragraph ends.",
      "mechanism": "Hard jump-cut between two framings of the same content (close to wide) used to reveal context above, with the second take resuming a still-streaming last line.",
      "phases": [
        {
          "frame": 0,
          "label": "Close framing, response complete with action bar"
        },
        {
          "frame": 23,
          "label": "Hard cut to wide framing with question bubble"
        },
        {
          "frame": 25,
          "label": "Last paragraph re-streams 'closes the'"
        },
        {
          "frame": 63,
          "label": "Paragraph complete"
        },
        {
          "frame": 145,
          "label": "Action bar fades in"
        },
        {
          "frame": 165,
          "label": "End"
        }
      ]
    },
    {
      "id": "kicker-type-on-title-type-on-then-name-pop",
      "title": "Type on a small kicker, then a two-line 140px title, then pop the subject name and a caption",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Model ML Uses GPT-5.6 Sol to Get Finance Work Done More Efficiently",
        "id": "OEkxKdhtQng",
        "url": "https://www.youtube.com/watch?v=OEkxKdhtQng",
        "start": 7.75775,
        "end": 12.5125
      },
      "preview": "/videos/examples/rebuilds/kicker-type-on-title-type-on-then-name-pop/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/kicker-type-on-title-type-on-then-name-pop/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/kicker-type-on-title-type-on-then-name-pop/adaptation.mp4",
      "download": "/videos/examples/rebuilds/kicker-type-on-title-type-on-then-name-pop/package.zip",
      "svg": "/videos/examples/rebuilds/kicker-type-on-title-type-on-then-name-pop/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": 147068,
      "packageSha256": "0b1cf37410ec229a030d864804b5bc0588fa7159792a843668c3245b340b25ca",
      "poster": "/videos/examples/posters/kicker-type-on-title-type-on-then-name-pop.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 114,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/kicker-type-on-title-type-on-then-name-pop/item.json",
      "observation": "Over a soft-focus glass-walled interview set (subject on the right, replaced here by blurred plates) a centred title block builds on the left third: a 36px kicker types on character by character (local 0\u201324), a two-line 140px title types on beneath it (local 27\u201344, wrapping onto the second line as it goes), holds, then the subject name appears in the same size at local 63 in a three-frame fade, and finally a small black caption pill appears bottom-right at local 103. All text is white and centred on x\u2248600.",
      "mechanism": "A stacked title build using two sequential character type-ons (kicker then title) followed by a hard pop of the name line and a late caption pill.",
      "phases": [
        {
          "frame": 0,
          "label": "Kicker types on"
        },
        {
          "frame": 24,
          "label": "Kicker complete"
        },
        {
          "frame": 27,
          "label": "Title types on across two lines"
        },
        {
          "frame": 44,
          "label": "Title complete, holds"
        },
        {
          "frame": 63,
          "label": "Name pops in (3-frame fade)"
        },
        {
          "frame": 103,
          "label": "Caption pill appears bottom-right"
        }
      ]
    },
    {
      "id": "landing-scroll-light-shop-block-to-dark-hero",
      "title": "Scroll a launch page so the light shop block slides up and the dark hero seats under the fixed nav",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to build custom creative tools",
        "id": "D-QteDHdHes",
        "url": "https://www.youtube.com/watch?v=D-QteDHdHes",
        "start": 139.75,
        "end": 141.33333333333334
      },
      "preview": "/videos/examples/rebuilds/landing-scroll-light-shop-block-to-dark-hero/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/landing-scroll-light-shop-block-to-dark-hero/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/landing-scroll-light-shop-block-to-dark-hero/adaptation.mp4",
      "download": "/videos/examples/rebuilds/landing-scroll-light-shop-block-to-dark-hero/package.zip",
      "svg": "/videos/examples/rebuilds/landing-scroll-light-shop-block-to-dark-hero/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": 149572,
      "packageSha256": "66961b4a72b099204b548157134b167b2390e03723f8c24f430f0737a0c83a36",
      "poster": "/videos/examples/posters/landing-scroll-light-shop-block-to-dark-hero.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 95,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/landing-scroll-light-shop-block-to-dark-hero/item.json",
      "observation": "A product launch site sits in a browser: white nav (brand, COLORS/SOUND/FILMS links, a black Build yours pill), a wide sky-blue product image left with a swatch grid, Sky Blue / $99 and a grey Add to cart button right; the white block ends around y=780 where a dark navy section begins. From local 18 (master 8403) the page scrolls upward and by local 31 (8416) the dark hero is seated directly under the nav: eyebrow, two-line 56px headline, paragraph, three feature rows with hairline dividers, a grey headphone render on the right and a DRAG TO ROTATE label. The nav never moves; the hero then holds to the end of the interval.",
      "mechanism": "A fast eased page scroll under a fixed navigation bar that swaps the field from light commerce block to dark hero in about a fifth of a second.",
      "phases": [
        {
          "frame": 0,
          "label": "Light shop block holds"
        },
        {
          "frame": 18,
          "label": "Scroll begins"
        },
        {
          "frame": 31,
          "label": "Dark hero seated under the nav"
        },
        {
          "frame": 32,
          "label": "Hold on the hero"
        }
      ]
    },
    {
      "id": "loader-dot-hue-cycle-resolves-to-shimmer-label",
      "title": "Cut from a macro button to a single dot that cycles hue, then swap it for a shimmering status word",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "You can just keep the work moving | ChatGPT Work",
        "id": "wIf9yMGalPU",
        "url": "https://www.youtube.com/watch?v=wIf9yMGalPU",
        "start": 14.733333333333333,
        "end": 16.866666666666667
      },
      "preview": "/videos/examples/rebuilds/loader-dot-hue-cycle-resolves-to-shimmer-label/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/loader-dot-hue-cycle-resolves-to-shimmer-label/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/loader-dot-hue-cycle-resolves-to-shimmer-label/adaptation.mp4",
      "download": "/videos/examples/rebuilds/loader-dot-hue-cycle-resolves-to-shimmer-label/package.zip",
      "svg": "/videos/examples/rebuilds/loader-dot-hue-cycle-resolves-to-shimmer-label/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": 146948,
      "packageSha256": "808db4b4ba7430d7a325860d5eacb213a446436f26bc3d692a48a30632110253",
      "poster": "/videos/examples/posters/loader-dot-hue-cycle-resolves-to-shimmer-label.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 64,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/loader-dot-hue-cycle-resolves-to-shimmer-label/item.json",
      "observation": "The macro pan ends on the card's Open button (master 442-444). At master 445 (local 3) the card is gone and a single small dark dot sits at frame centre on white. The dot changes colour in steps: yellow at 451, blue at 454, orange at 457-460, lilac at 463, pink at 466, green from 469 (local 9-33). At master 478 (local 36) the dot is replaced by the word 'Thinking' in light grey, and from about 490 (local 48) a lighter shimmer sweeps through the letters left to right until the window ends at 506 with a wipe edge appearing at the far left.",
      "mechanism": "Loading handoff: a hard cut to a minimal hue-stepping dot buys time, then the dot resolves into a status word whose shimmer says the wait continues.",
      "phases": [
        {
          "frame": 0,
          "label": "Macro Open button holds"
        },
        {
          "frame": 3,
          "label": "Cut to a dark dot at centre"
        },
        {
          "frame": 9,
          "label": "Dot steps through hues"
        },
        {
          "frame": 36,
          "label": "Dot swaps for the status word"
        },
        {
          "frame": 48,
          "label": "Shimmer sweeps the word"
        }
      ]
    },
    {
      "id": "lyric-caption-pop-in-with-blinking-beat-dot",
      "title": "Pop a lyric caption in after a shot change with a beat dot that blinks colours, hops once and leaves",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "No Limits on Text Chats with ChatGPT",
        "id": "9MIkJHcMtVA",
        "url": "https://www.youtube.com/watch?v=9MIkJHcMtVA",
        "start": 49.215833333333336,
        "end": 52.71933333333333
      },
      "preview": "/videos/examples/rebuilds/lyric-caption-pop-in-with-blinking-beat-dot/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/lyric-caption-pop-in-with-blinking-beat-dot/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/lyric-caption-pop-in-with-blinking-beat-dot/adaptation.mp4",
      "download": "/videos/examples/rebuilds/lyric-caption-pop-in-with-blinking-beat-dot/package.zip",
      "svg": "/videos/examples/rebuilds/lyric-caption-pop-in-with-blinking-beat-dot/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": 147151,
      "packageSha256": "1aca973321ccd3022d4a22fad6e13ecf42bde275336ffdb188af2027b42565a8",
      "poster": "/videos/examples/posters/lyric-caption-pop-in-with-blinking-beat-dot.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 84,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/lyric-caption-pop-in-with-blinking-beat-dot/item.json",
      "observation": "Local 0-4 (master 1180-1184) is a brief insert of a bright comic-art frame with no caption. At local 5 (1185) a hard cut returns to the saturated dance set, still with no caption. At local 7 (1187) a bold white lyric line appears low in frame in one frame, with a 28 px dot above its first word. The dot steps colour every 3-6 frames (green, yellow, blue, black, orange, lilac, yellow, pink), hops right to above the fourth word at ~f36 (1216) and disappears at ~f40 (1220). The caption itself stays on screen unchanged through the rest of the window.",
      "mechanism": "Caption pop-in on a fixed frame after a cut, decorated with a step-keyed beat dot that cycles colour, hops once and exits while the caption holds.",
      "phases": [
        {
          "frame": 0,
          "label": "Comic-art insert, no caption"
        },
        {
          "frame": 5,
          "label": "Hard cut back to the set"
        },
        {
          "frame": 7,
          "label": "Caption pops in with green dot"
        },
        {
          "frame": 36,
          "label": "Dot hops to fourth word, turns pink"
        },
        {
          "frame": 40,
          "label": "Dot gone, caption holds"
        }
      ]
    },
    {
      "id": "lyric-caption-swap-with-hopping-beat-dot",
      "title": "Swap the lyric caption on the beat and walk a colour-cycling dot across the new line",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "No Limits on Text Chats with ChatGPT",
        "id": "9MIkJHcMtVA",
        "url": "https://www.youtube.com/watch?v=9MIkJHcMtVA",
        "start": 39.956583333333334,
        "end": 42.500791666666665
      },
      "preview": "/videos/examples/rebuilds/lyric-caption-swap-with-hopping-beat-dot/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/lyric-caption-swap-with-hopping-beat-dot/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/lyric-caption-swap-with-hopping-beat-dot/adaptation.mp4",
      "download": "/videos/examples/rebuilds/lyric-caption-swap-with-hopping-beat-dot/package.zip",
      "svg": "/videos/examples/rebuilds/lyric-caption-swap-with-hopping-beat-dot/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": 147293,
      "packageSha256": "806abaa542a5ff2c7e1a43d62b440cdadfa5efe7335dc9c2e001c17f97643914",
      "poster": "/videos/examples/posters/lyric-caption-swap-with-hopping-beat-dot.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 61,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/lyric-caption-swap-with-hopping-beat-dot/item.json",
      "observation": "Over a saturated music-video shot, a bold white lyric caption sits low in frame (text centre ~y=800). Frames 0-18 hold the outgoing line; a small lilac dot blinks above its last word around local 10-13 (master 968-971). At local 19 (master 977) the caption hard-swaps to the next line and a 28 px dot appears above its first word, stepping colour every ~3 frames (orange, lilac, green) and hopping right in steps: to ~x=528 at f28 (black), ~x=552 at f32 (orange, lilac, green again), then ~x=688 from f41 where it turns green, yellow, blue and finally pink and holds. The caption stays until the shot cuts at master 1019.",
      "mechanism": "Karaoke-style caption: a hard line swap timed to the lyric, with a step-keyed marker dot that changes colour on each beat and hops word to word along the line.",
      "phases": [
        {
          "frame": 0,
          "label": "Outgoing lyric line holds"
        },
        {
          "frame": 10,
          "label": "Lilac dot blinks above the last word"
        },
        {
          "frame": 19,
          "label": "Hard swap to next line; dot appears on word one"
        },
        {
          "frame": 28,
          "label": "Dot hops right, colour steps every ~3 frames"
        },
        {
          "frame": 41,
          "label": "Dot on final position, settles pink"
        }
      ]
    },
    {
      "id": "macro-composer-camera-tracks-the-caret-then-pulls-out",
      "title": "Hold a macro on the composer, track the camera with the caret as the prompt types, then cut wide",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "You can just keep the work moving | ChatGPT Work",
        "id": "wIf9yMGalPU",
        "url": "https://www.youtube.com/watch?v=wIf9yMGalPU",
        "start": 30.233333333333334,
        "end": 34.233333333333334
      },
      "preview": "/videos/examples/rebuilds/macro-composer-camera-tracks-the-caret-then-pulls-out/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/macro-composer-camera-tracks-the-caret-then-pulls-out/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/macro-composer-camera-tracks-the-caret-then-pulls-out/adaptation.mp4",
      "download": "/videos/examples/rebuilds/macro-composer-camera-tracks-the-caret-then-pulls-out/package.zip",
      "svg": "/videos/examples/rebuilds/macro-composer-camera-tracks-the-caret-then-pulls-out/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": 147319,
      "packageSha256": "93a0f02aca7b035080e63baa65d2e14dbe87f53ae5cdbd8c056a9c0dc4d91d15",
      "poster": "/videos/examples/posters/macro-composer-camera-tracks-the-caret-then-pulls-out.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 120,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/macro-composer-camera-tracks-the-caret-then-pulls-out/item.json",
      "observation": "The view jumps to a macro on the empty composer (plus button huge at bottom left, master 907-911). 'N', 'Nic', 'Nice!!!' type in by master 921 (local 6-14) and hold for about 24 frames. From master 949 (local 42) the rest of the prompt types on and the camera starts sliding right so the caret stays in the right third; the exclamation marks drift off the left edge by 957. From about master 993 (local 86) the camera also drifts down and the controls row (model picker, mic, black send button) rises into view; typing ends at about 1009 (local 102) on 'check-in'. The macro holds until master 1025 (local 118), when a hard cut shows the full composer at normal size with the complete text.",
      "mechanism": "Caret-tracking macro: at high magnification the camera pans laterally in step with typing so the newest characters stay framed, adds a small vertical drift to reveal controls, then cuts wide on the finished prompt.",
      "phases": [
        {
          "frame": 0,
          "label": "Macro on empty composer"
        },
        {
          "frame": 6,
          "label": "First word types and holds"
        },
        {
          "frame": 42,
          "label": "Typing resumes; camera pans with the caret"
        },
        {
          "frame": 86,
          "label": "Camera drifts down; controls row appears"
        },
        {
          "frame": 102,
          "label": "Typing ends; macro holds"
        },
        {
          "frame": 118,
          "label": "Hard cut to wide composer"
        }
      ]
    },
    {
      "id": "menubar-dropdown-hover-walk-to-submenu-flyout",
      "title": "Open a menu-bar dropdown, walk the hover highlight down the list, and fly out a submenu on the target",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Computer History in ChatGPT",
        "id": "W-HhMUe9hOg",
        "url": "https://www.youtube.com/watch?v=W-HhMUe9hOg",
        "start": 121.496375,
        "end": 123.6235
      },
      "preview": "/videos/examples/rebuilds/menubar-dropdown-hover-walk-to-submenu-flyout/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/menubar-dropdown-hover-walk-to-submenu-flyout/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/menubar-dropdown-hover-walk-to-submenu-flyout/adaptation.mp4",
      "download": "/videos/examples/rebuilds/menubar-dropdown-hover-walk-to-submenu-flyout/package.zip",
      "svg": "/videos/examples/rebuilds/menubar-dropdown-hover-walk-to-submenu-flyout/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": 148908,
      "packageSha256": "3770feed97f5fda7c363f96ce2cf32adb98f87ecc903c79bf0813a032ea7ff89",
      "poster": "/videos/examples/posters/menubar-dropdown-hover-walk-to-submenu-flyout.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 51,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/menubar-dropdown-hover-walk-to-submenu-flyout/item.json",
      "observation": "An orange desktop with a translucent menu bar and a small presenter inset top left (master 2913). At master 2914 (local 1) a tall cream dropdown pops open under a highlighted menu-bar icon: a 'Pause' item, a Recents section of five apps with icons and chevrons, then Show/Clear items and Settings. The arrow pointer travels down from the menu bar (2926) and the blue row highlight follows it: first app at 2930, second at 2932, third at 2936, fourth at 2940 (local 17-27). A two-item submenu flies out to the LEFT of the fourth row at 2942 (local 29); when the pointer reaches the fifth row at 2946 the flyout swaps to that row's submenu at 2948 (local 35). The pointer then crosses left into the submenu by 2962 (local 49).",
      "mechanism": "Cascading menu navigation: hard-open dropdown, hover highlight that tracks the pointer row by row, and a leftward submenu flyout that swaps instantly when the parent row changes.",
      "phases": [
        {
          "frame": 0,
          "label": "Desktop with menu bar, no dropdown"
        },
        {
          "frame": 1,
          "label": "Dropdown pops open"
        },
        {
          "frame": 13,
          "label": "Pointer descends into the menu"
        },
        {
          "frame": 17,
          "label": "Highlight walks the app rows"
        },
        {
          "frame": 29,
          "label": "Submenu flies out left of row four"
        },
        {
          "frame": 35,
          "label": "Highlight and submenu move to row five"
        },
        {
          "frame": 49,
          "label": "Pointer enters the submenu"
        }
      ]
    },
    {
      "id": "mobile-composer-continued-type-on-keyboard",
      "title": "Continue a type-on inside a mobile composer that grows a line above the keyboard",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to analyze ad performance and refine creative",
        "id": "5iu0nY9lIy8",
        "url": "https://www.youtube.com/watch?v=5iu0nY9lIy8",
        "start": 6.366666666666666,
        "end": 11.666666666666666
      },
      "preview": "/videos/examples/rebuilds/mobile-composer-continued-type-on-keyboard/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/mobile-composer-continued-type-on-keyboard/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/mobile-composer-continued-type-on-keyboard/adaptation.mp4",
      "download": "/videos/examples/rebuilds/mobile-composer-continued-type-on-keyboard/package.zip",
      "svg": "/videos/examples/rebuilds/mobile-composer-continued-type-on-keyboard/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": 147387,
      "packageSha256": "8208ff844c1dfdaccd8aeb7d80fea70b00b908b6fc7109c770c832d7394fcbb6",
      "poster": "/videos/examples/posters/mobile-composer-continued-type-on-keyboard.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 318,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/mobile-composer-continued-type-on-keyboard/item.json",
      "observation": "A phone-scale composer sits above an on-screen keyboard on a white screen framed by pale green. At local frame 0 the first sentence and a half are already typed with a caret ('...travel and home.'); characters keep arriving at roughly 9 frames each ('I'm not' ~f45, 'I'm not sure which' ~f90, 'features' ~f135, 'features to look for' ~f180). Around f195 the text wraps to a third line and the composer plate grows upward while the keyboard stays fixed; typing continues faster ('How should I think about th' by f315).",
      "mechanism": "Caret-driven type-on that is already in progress at the cut, with the composer plate stepping taller when the text wraps to a new line above a fixed keyboard.",
      "phases": [
        {
          "frame": 0,
          "label": "Composer mid-sentence, caret blinking"
        },
        {
          "frame": 45,
          "label": "Second sentence continues"
        },
        {
          "frame": 195,
          "label": "Wrap to third line: plate steps 66px taller"
        },
        {
          "frame": 318,
          "label": "End of window, still typing"
        }
      ]
    },
    {
      "id": "name-card-holds-while-caption-pill-refits",
      "title": "Hold a white name card lower-left while the subtitle pill hard-swaps and refits to the new line",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Model ML Uses GPT-5.6 Sol to Get Finance Work Done More Efficiently",
        "id": "OEkxKdhtQng",
        "url": "https://www.youtube.com/watch?v=OEkxKdhtQng",
        "start": 17.5175,
        "end": 20.02
      },
      "preview": "/videos/examples/rebuilds/name-card-holds-while-caption-pill-refits/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/name-card-holds-while-caption-pill-refits/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/name-card-holds-while-caption-pill-refits/adaptation.mp4",
      "download": "/videos/examples/rebuilds/name-card-holds-while-caption-pill-refits/package.zip",
      "svg": "/videos/examples/rebuilds/name-card-holds-while-caption-pill-refits/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": 146795,
      "packageSha256": "d6b3f685c686d2702408f42326bf7e3b2d248402c01e05a311292ce43684db2b",
      "poster": "/videos/examples/posters/name-card-holds-while-caption-pill-refits.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 60,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/name-card-holds-while-caption-pill-refits/item.json",
      "observation": "On the interview set a white rounded name card (44px name, 22px role) sits at lower-left, x\u2248170\u2013740, y\u2248750\u2013916, and does not move for the whole interval. A black subtitle pill sits bottom-centre; at local 22 (master 442) its text changes from a short line to a longer one and the pill widens from ~500px to ~840px instantly, staying centred on x=960. Nothing animates; both changes are hard.",
      "mechanism": "A static lower-third name card paired with a centred subtitle pill that hard-swaps and re-sizes to its text on each new line.",
      "phases": [
        {
          "frame": 0,
          "label": "Name card and short caption hold"
        },
        {
          "frame": 22,
          "label": "Caption swaps; pill refits wider, still centred"
        },
        {
          "frame": 60,
          "label": "End of interval"
        }
      ]
    },
    {
      "id": "numbered-chapter-title-staircase-with-left-delete",
      "title": "Stage a numbered chapter title on two columns, then delete it left to right",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Turn a Forecast Spreadsheet Into an Interactive Planning Tool With ChatGPT Work",
        "id": "TryfaGZwvIE",
        "url": "https://www.youtube.com/watch?v=TryfaGZwvIE",
        "start": 41.49979166666667,
        "end": 44.002291666666665
      },
      "preview": "/videos/examples/rebuilds/numbered-chapter-title-staircase-with-left-delete/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/numbered-chapter-title-staircase-with-left-delete/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/numbered-chapter-title-staircase-with-left-delete/adaptation.mp4",
      "download": "/videos/examples/rebuilds/numbered-chapter-title-staircase-with-left-delete/package.zip",
      "svg": "/videos/examples/rebuilds/numbered-chapter-title-staircase-with-left-delete/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": 146929,
      "packageSha256": "e0b466ffac321f9155a2c93af12b6ea06e8751836c12de0e1e014f5b700d91ba",
      "poster": "/videos/examples/posters/numbered-chapter-title-staircase-with-left-delete.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 60,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/numbered-chapter-title-staircase-with-left-delete/item.json",
      "observation": "Over defocused mauve-and-olive footage the frame is empty for two frames, then '2.' appears at local f2 in the upper-left column. The verb types beneath it from ~f3 to ~f16 while 'Your' pops in whole at ~f6 in the right column and the noun types under it from ~f10 to ~f22. The title holds until ~f49, then erases in place: the number and verb are gone by ~f52, the noun loses letters from its left edge (''orecast' ~f52, 'ast' ~f55), 'Your' disappears by ~f57 and the last letter leaves at ~f58.",
      "mechanism": "Two-column numbered chapter title with per-word type-on followed by an in-place left-to-right deletion that removes letters without shifting the survivors.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty"
        },
        {
          "frame": 2,
          "label": "Number appears"
        },
        {
          "frame": 3,
          "label": "Verb types, 'Your' pops at 6"
        },
        {
          "frame": 10,
          "label": "Noun types"
        },
        {
          "frame": 22,
          "label": "Complete, hold"
        },
        {
          "frame": 49,
          "label": "Deletion begins"
        },
        {
          "frame": 58,
          "label": "Last letter gone"
        },
        {
          "frame": 60,
          "label": "End"
        }
      ]
    },
    {
      "id": "outro-dot-colour-cycle-into-wordmark-type-on",
      "title": "Cycle a dot through brand colours, burst a sticker field and type the wordmark on, then backspace to the mark",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to pressure-test marketing campaign briefs",
        "id": "HHt8CPJRviA",
        "url": "https://www.youtube.com/watch?v=HHt8CPJRviA",
        "start": 142.1,
        "end": 144.83333333333334
      },
      "preview": "/videos/examples/rebuilds/outro-dot-colour-cycle-into-wordmark-type-on/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/outro-dot-colour-cycle-into-wordmark-type-on/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/outro-dot-colour-cycle-into-wordmark-type-on/adaptation.mp4",
      "download": "/videos/examples/rebuilds/outro-dot-colour-cycle-into-wordmark-type-on/package.zip",
      "svg": "/videos/examples/rebuilds/outro-dot-colour-cycle-into-wordmark-type-on/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": 148498,
      "packageSha256": "6dce4c18d61fbfb24b6acf41a33800950fc87c214221fc4a4dab0f04f2548453",
      "poster": "/videos/examples/posters/outro-dot-colour-cycle-into-wordmark-type-on.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 164,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/outro-dot-colour-cycle-into-wordmark-type-on/item.json",
      "observation": "After the app recording fades to black and then white, a single 48 px dot appears at canvas centre at ~f4 (master 8530) and hard-steps through colours roughly every 8 frames: black, orange (~f12), lilac (~f20), green (~f28), yellow (~f36), blue (~f40) and pink (~f48). At ~f63 (8589) the dot is gone and, in the same frame, a scattered field of playful stickers pops in around a single large bold capital letter left-anchored near x=720. The remaining letters of the wordmark type on one every ~4 frames until the six-letter word is complete at ~f84 (8610). Everything holds to ~f140 (8666), then the letters delete one per 4 frames while the stickers thin out; by ~f156 only the first letter remains and at ~f160 (8686) it is replaced by a centred brand mark on the bare field.",
      "mechanism": "Brand outro built from step-keyed colour cycling on a dot, a same-frame sticker burst, a per-character type-on of the wordmark and a reversed type-off that hands over to the mark.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty off-white field"
        },
        {
          "frame": 4,
          "label": "Dot appears, colour steps every ~8 frames"
        },
        {
          "frame": 63,
          "label": "Sticker field bursts in, first letter lands"
        },
        {
          "frame": 84,
          "label": "Wordmark complete, hold"
        },
        {
          "frame": 140,
          "label": "Letters backspace, stickers thin out"
        },
        {
          "frame": 160,
          "label": "Mark alone on the field"
        }
      ]
    },
    {
      "id": "phone-textarea-focus-ring-then-type-on",
      "title": "Settle a phone page, light the textarea focus ring, then type a note inside it",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Build a Personalized Meal Planner with ChatGPT Work",
        "id": "t64oZKCdG8Q",
        "url": "https://www.youtube.com/watch?v=t64oZKCdG8Q",
        "start": 87.5875,
        "end": 90.92416666666666
      },
      "preview": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/adaptation.mp4",
      "download": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/package.zip",
      "svg": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/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": 147767,
      "packageSha256": "67d5f54022330a0242e6dd64622a46ce0b275db6bcb89a79ed67f63dec40736d",
      "poster": "/videos/examples/posters/phone-textarea-focus-ring-then-type-on.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 80,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/item.json",
      "observation": "A phone mock on the left of a bright, defocused room shows a recipe card (photo, BREAKFAST label, dish title, yellow note, reaction pills). During local frames 0-5 the page scrolls a little further so the 'Hide note' link, an empty textarea and a yellow save button sit fully in view. At f12 the textarea border turns blue and thicker (focus), and from f14 a note is typed at roughly 1.1 frames per character, wrapping to a second line at about f38 and finishing around f60; the caret then holds.",
      "mechanism": "Scroll-settle followed by a focus-state change on a form field and a caret-driven type-on that wraps inside the field.",
      "phases": [
        {
          "frame": 0,
          "label": "Page still scrolling"
        },
        {
          "frame": 5,
          "label": "Layout settles with field and button in view"
        },
        {
          "frame": 12,
          "label": "Field gains blue focus ring"
        },
        {
          "frame": 14,
          "label": "Typing begins"
        },
        {
          "frame": 60,
          "label": "Note complete, caret holds"
        },
        {
          "frame": 80,
          "label": "End"
        }
      ]
    },
    {
      "id": "product-image-handle-drag-shrinks-then-regrows",
      "title": "Drag a corner handle to shrink the selected product render to 70%, pause, then regrow it to 85%",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to build custom creative tools",
        "id": "D-QteDHdHes",
        "url": "https://www.youtube.com/watch?v=D-QteDHdHes",
        "start": 83.5,
        "end": 85.16666666666667
      },
      "preview": "/videos/examples/rebuilds/product-image-handle-drag-shrinks-then-regrows/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/product-image-handle-drag-shrinks-then-regrows/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/product-image-handle-drag-shrinks-then-regrows/adaptation.mp4",
      "download": "/videos/examples/rebuilds/product-image-handle-drag-shrinks-then-regrows/package.zip",
      "svg": "/videos/examples/rebuilds/product-image-handle-drag-shrinks-then-regrows/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": 149859,
      "packageSha256": "d0ba2a9da2764158933d186688e2931f0b533d5c215058e45838ff07181d27cb",
      "poster": "/videos/examples/posters/product-image-handle-drag-shrinks-then-regrows.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 100,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/product-image-handle-drag-shrinks-then-regrows/item.json",
      "observation": "In the composition studio the three-line headline sits settled at the left of the artboard while the headphone render on the right is selected. From local 8 the pointer drags a corner of the render inward: by local 30 (master 5040) the render is roughly 70% of its size, anchored low-right so its bottom-right stays put and it recedes toward the earcup. It holds at the small size (local 30\u201350), then a second drag enlarges it to about 85% by local 62 (master 5072), where it holds to the end. The headline and panels never change.",
      "mechanism": "Pointer-driven proportional scaling of a selected image about a fixed anchor, executed as two eased adjustments (shrink, hold, partial regrow) rather than one move.",
      "phases": [
        {
          "frame": 0,
          "label": "Render at full size, selected"
        },
        {
          "frame": 8,
          "label": "Corner drag begins"
        },
        {
          "frame": 30,
          "label": "Shrunk to 70%"
        },
        {
          "frame": 50,
          "label": "Second drag begins"
        },
        {
          "frame": 62,
          "label": "Regrown to 85%, holds"
        }
      ]
    },
    {
      "id": "prompt-card-jump-cut-to-results-table",
      "title": "Jump the scroll position from the prompt card straight to the results table",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to pressure-test marketing campaign briefs",
        "id": "HHt8CPJRviA",
        "url": "https://www.youtube.com/watch?v=HHt8CPJRviA",
        "start": 86.41666666666667,
        "end": 89.91666666666667
      },
      "preview": "/videos/examples/rebuilds/prompt-card-jump-cut-to-results-table/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/prompt-card-jump-cut-to-results-table/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/prompt-card-jump-cut-to-results-table/adaptation.mp4",
      "download": "/videos/examples/rebuilds/prompt-card-jump-cut-to-results-table/package.zip",
      "svg": "/videos/examples/rebuilds/prompt-card-jump-cut-to-results-table/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": 152153,
      "packageSha256": "5facffa131827efb699225c8d358e25540a06be914ac87aaa76828cf6682c965",
      "poster": "/videos/examples/posters/prompt-card-jump-cut-to-results-table.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 210,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/prompt-card-jump-cut-to-results-table/item.json",
      "observation": "The chat view holds for a full second: title row top-left, a 'copy of a shared chat' note, a timestamp, an 'Uploaded a file' chip and a large pale-blue user prompt card with a bold skill name, three paragraphs and a 'Show less' link, then a 'Worked for 3m 27s' row and the first lines of the reply. Between local frames 59 and 61 (master ~5244-5246) the page jumps with no intermediate positions to a point far down the reply: a decision paragraph, a 'Reviewed source' file link, a bold section heading, a three-column buyer table with four rows and the start of a scorecard section. It then holds with a small pointer resting over the table.",
      "mechanism": "Jump cut of scroll position inside one screen recording: two static page states joined instantly instead of scrolling between them.",
      "phases": [
        {
          "frame": 0,
          "label": "Prompt card view, hold"
        },
        {
          "frame": 60,
          "label": "Instant jump to results table"
        },
        {
          "frame": 209,
          "label": "Table view holds with pointer"
        }
      ]
    },
    {
      "id": "push-in-inside-inset-viewport-on-prompt-card",
      "title": "Push in 2x on a prompt composer inside a fixed inset viewport while subtitles swap underneath",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Model ML Uses GPT-5.6 Sol to Get Finance Work Done More Efficiently",
        "id": "OEkxKdhtQng",
        "url": "https://www.youtube.com/watch?v=OEkxKdhtQng",
        "start": 26.818458333333332,
        "end": 32.57420833333333
      },
      "preview": "/videos/examples/rebuilds/push-in-inside-inset-viewport-on-prompt-card/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/push-in-inside-inset-viewport-on-prompt-card/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/push-in-inside-inset-viewport-on-prompt-card/adaptation.mp4",
      "download": "/videos/examples/rebuilds/push-in-inside-inset-viewport-on-prompt-card/package.zip",
      "svg": "/videos/examples/rebuilds/push-in-inside-inset-viewport-on-prompt-card/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": 149239,
      "packageSha256": "31fa0c820eb95606d5c874bf0f15a40458014a81d0a822b4bdddc3791add27c9",
      "poster": "/videos/examples/posters/push-in-inside-inset-viewport-on-prompt-card.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 138,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/push-in-inside-inset-viewport-on-prompt-card/item.json",
      "observation": "A screen recording sits inset in a rounded, shadowed 1520\u00d7840 viewport on an off-white field, with black subtitle pills below it. The recording shows a centred greeting and a 570\u00d7330 composer holding an attachment chip, an eight-line brief, a toolbar and three suggestion chips. From local 4 the recording is pushed in continuously to about 2x by local 107, anchored near the composer's left edge so the greeting drifts to the upper right and the composer's right side and bottom exit through the viewport edge; the viewport itself never moves. Subtitles hard-swap at local 22, 46, 88, 112 and 136.",
      "mechanism": "A slow scale-up of screen content inside a fixed clipping viewport (a push-in that reveals the frame edges) with independent hard-swapping subtitle pills.",
      "phases": [
        {
          "frame": 0,
          "label": "Recording at 1:1 in the viewport"
        },
        {
          "frame": 4,
          "label": "Push-in begins"
        },
        {
          "frame": 22,
          "label": "Subtitle swap"
        },
        {
          "frame": 46,
          "label": "Subtitle swap"
        },
        {
          "frame": 88,
          "label": "Subtitle swap"
        },
        {
          "frame": 107,
          "label": "Push-in reaches 2x"
        },
        {
          "frame": 112,
          "label": "Subtitle swap"
        },
        {
          "frame": 136,
          "label": "Final subtitle"
        }
      ]
    },
    {
      "id": "report-heading-types-then-ghost-body-snaps-solid",
      "title": "Type a report heading by word, preview the body as a ghost, then snap it solid and bring the pointer in",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "You can just keep the work moving | ChatGPT Work",
        "id": "wIf9yMGalPU",
        "url": "https://www.youtube.com/watch?v=wIf9yMGalPU",
        "start": 25.966666666666665,
        "end": 27.633333333333333
      },
      "preview": "/videos/examples/rebuilds/report-heading-types-then-ghost-body-snaps-solid/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/report-heading-types-then-ghost-body-snaps-solid/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/report-heading-types-then-ghost-body-snaps-solid/adaptation.mp4",
      "download": "/videos/examples/rebuilds/report-heading-types-then-ghost-body-snaps-solid/package.zip",
      "svg": "/videos/examples/rebuilds/report-heading-types-then-ghost-body-snaps-solid/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": 149097,
      "packageSha256": "5c91d169bda8b5fc081be547e0ebeecedff58797656bde8a41fbb28b2e0d694b",
      "poster": "/videos/examples/posters/report-heading-types-then-ghost-body-snaps-solid.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 50,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/report-heading-types-then-ghost-body-snaps-solid/item.json",
      "observation": "The agent window shows a small 'Worked for 8hrs' line and a one-sentence intro at reduced size (master 779-781). At master 783 (local 4) the report heading starts: 'Launch' 783, 'Launch Performance' 785, the dash 787, 'Overnight' 789, 'result' fading in 791 and solid by 793 (local 14). At master 795-797 (local 16-18) the whole body, a sources table and a ranked findings table, appears as a faint ghost at roughly 20% and then snaps to full black by 799 (local 20). A large arrow pointer enters from the right edge at master 809 (local 30) and travels to the heading by about 823 (local 44), where it rests.",
      "mechanism": "Report reveal in two speeds: the heading types word by word, then the entire body arrives as a low-opacity preview that hardens in one step, after which the pointer arrives to direct attention.",
      "phases": [
        {
          "frame": 0,
          "label": "Status line and intro sentence only"
        },
        {
          "frame": 4,
          "label": "Heading types by word"
        },
        {
          "frame": 16,
          "label": "Body ghosts in at 20%"
        },
        {
          "frame": 20,
          "label": "Body snaps solid"
        },
        {
          "frame": 30,
          "label": "Pointer enters from the right"
        },
        {
          "frame": 44,
          "label": "Pointer rests on the heading"
        }
      ]
    },
    {
      "id": "segmented-tab-tooltip-click-morphs-composer",
      "title": "Hover a segmented tab to show its tooltip, click, and morph the home composer into work mode",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to deliver board-ready reporting",
        "id": "_HCks5jkPLw",
        "url": "https://www.youtube.com/watch?v=_HCks5jkPLw",
        "start": 6.25,
        "end": 10.25
      },
      "preview": "/videos/examples/rebuilds/segmented-tab-tooltip-click-morphs-composer/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/segmented-tab-tooltip-click-morphs-composer/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/segmented-tab-tooltip-click-morphs-composer/adaptation.mp4",
      "download": "/videos/examples/rebuilds/segmented-tab-tooltip-click-morphs-composer/package.zip",
      "svg": "/videos/examples/rebuilds/segmented-tab-tooltip-click-morphs-composer/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": 148622,
      "packageSha256": "878d1393332ab5cd940833a1a7e71a575d78b64b1e9d3aa9f8210346134cfafa",
      "poster": "/videos/examples/posters/segmented-tab-tooltip-click-morphs-composer.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24/1",
        "frames": 96,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/segmented-tab-tooltip-click-morphs-composer/item.json",
      "observation": "A browser window centred on black shows an assistant home page: a two-option segmented control at the top, a heading, a slim composer and three suggestion rows. The pointer reaches the second tab by local frame ~5 and rests; a black tooltip appears under the tab at ~f25. The click lands at ~f41 and on f42 the selection pill jumps, the heading changes, the composer becomes taller with a chip row beneath it, and the suggestion rows re-enter staggered one frame apart (f42-46) about 85px lower. The pointer then drifts down to the heading (~f65) and left (~f80).",
      "mechanism": "Hover tooltip then click on a segmented control that swaps the page state in a single frame: heading text, composer height and a staggered re-entry of the suggestion list.",
      "phases": [
        {
          "frame": 0,
          "label": "Pointer approaching the second tab"
        },
        {
          "frame": 5,
          "label": "Pointer rests on tab"
        },
        {
          "frame": 25,
          "label": "Tooltip fades in under tab"
        },
        {
          "frame": 41,
          "label": "Click"
        },
        {
          "frame": 42,
          "label": "State swap: pill, heading, taller composer, chip row"
        },
        {
          "frame": 46,
          "label": "Suggestions finished staggering in"
        },
        {
          "frame": 65,
          "label": "Pointer drifts to heading"
        },
        {
          "frame": 96,
          "label": "End"
        }
      ]
    },
    {
      "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"
        }
      ]
    },
    {
      "id": "slides-title-types-on-holds-then-wipes-off-left-to-right",
      "title": "Type a lower title on character by character, hold, then wipe it off from the left",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create Slides, Docs, and Templates",
        "id": "syML5KT-HzI",
        "url": "https://www.youtube.com/watch?v=syML5KT-HzI",
        "start": 0.16683333333333333,
        "end": 3.4200833333333334
      },
      "preview": "/videos/examples/rebuilds/slides-title-types-on-holds-then-wipes-off-left-to-right/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/slides-title-types-on-holds-then-wipes-off-left-to-right/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/slides-title-types-on-holds-then-wipes-off-left-to-right/adaptation.mp4",
      "download": "/videos/examples/rebuilds/slides-title-types-on-holds-then-wipes-off-left-to-right/package.zip",
      "svg": "/videos/examples/rebuilds/slides-title-types-on-holds-then-wipes-off-left-to-right/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": 146522,
      "packageSha256": "c698aed5dc9892eeef168599fd2654f64481db19eaeeee2402ce93aee0942e2e",
      "poster": "/videos/examples/posters/slides-title-types-on-holds-then-wipes-off-left-to-right.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 78,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/slides-title-types-on-holds-then-wipes-off-left-to-right/item.json",
      "observation": "Over soft, defocused b-roll a white title appears near the bottom centre: characters type on from about local f6 to f22 (master 10-26), roughly one glyph per frame with no caret. The complete line holds from ~f22 to ~f69. From ~f69 the text is erased from the left edge rightward (\"Slides & Docs\" remains at master 76) and it is gone by ~f75 (master 79); the shot then holds empty until the cut at master 83.",
      "mechanism": "A typed-on title that exits with a left-to-right wipe instead of a fade, so it appears to be un-typed from the front.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty field"
        },
        {
          "frame": 6,
          "label": "Title types on, one character per frame"
        },
        {
          "frame": 22,
          "label": "Title holds"
        },
        {
          "frame": 69,
          "label": "Left-to-right wipe erases the title"
        },
        {
          "frame": 75,
          "label": "Empty hold"
        }
      ]
    },
    {
      "id": "split-pane-generated-site-long-scroll",
      "title": "Scroll a freshly generated site in the right pane while the chat pane holds still",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Build a Personalized Meal Planner with ChatGPT Work",
        "id": "t64oZKCdG8Q",
        "url": "https://www.youtube.com/watch?v=t64oZKCdG8Q",
        "start": 61.64491666666667,
        "end": 67.067
      },
      "preview": "/videos/examples/rebuilds/split-pane-generated-site-long-scroll/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/split-pane-generated-site-long-scroll/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/split-pane-generated-site-long-scroll/adaptation.mp4",
      "download": "/videos/examples/rebuilds/split-pane-generated-site-long-scroll/package.zip",
      "svg": "/videos/examples/rebuilds/split-pane-generated-site-long-scroll/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": 149630,
      "packageSha256": "a72abf9d5c315767a66b6188361d24862f2dd9024fe78a1e65a7718b5fe6cb33",
      "poster": "/videos/examples/posters/split-pane-generated-site-long-scroll.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 130,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/split-pane-generated-site-long-scroll/item.json",
      "observation": "Two browser windows sit side by side on a dark starfield: chat on the left, the generated meal site on the right. The chat pane is static (a user message, 'Your site is ready', a link card, an empty composer). From about local frame 4 the right pane's page scrolls steadily downward through a red display title, a weekly menu grid, a profile heading, allergy notes, a two-by-two favourite-foods grid and a 'won't eat' card, coming to rest near the footer around f122 and holding to the cut at f130.",
      "mechanism": "Continuous single-pane scroll of a long generated page inside a clipped browser window while the neighbouring pane stays static.",
      "phases": [
        {
          "frame": 0,
          "label": "Both panes settled, site at top"
        },
        {
          "frame": 4,
          "label": "Right pane begins scrolling"
        },
        {
          "frame": 60,
          "label": "Profile and allergy cards pass"
        },
        {
          "frame": 122,
          "label": "Scroll settles near footer"
        },
        {
          "frame": 130,
          "label": "End"
        }
      ]
    },
    {
      "id": "spotlight-stacked-title-eyebrow-then-two-lines-then-name",
      "title": "Type a three-tier title: eyebrow first, two big lines next, the name after a beat",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How Base44 Uses GPT-5.6 to Build Apps With 20% Fewer Tokens",
        "id": "Cxp2aZQqkYM",
        "url": "https://www.youtube.com/watch?v=Cxp2aZQqkYM",
        "start": 11.678333333333333,
        "end": 15.432083333333333
      },
      "preview": "/videos/examples/rebuilds/spotlight-stacked-title-eyebrow-then-two-lines-then-name/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/spotlight-stacked-title-eyebrow-then-two-lines-then-name/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/spotlight-stacked-title-eyebrow-then-two-lines-then-name/adaptation.mp4",
      "download": "/videos/examples/rebuilds/spotlight-stacked-title-eyebrow-then-two-lines-then-name/package.zip",
      "svg": "/videos/examples/rebuilds/spotlight-stacked-title-eyebrow-then-two-lines-then-name/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": 146615,
      "packageSha256": "4d5250700a27239ff1fa481ee87f90bc29bc25a753c6501a5b4a28e7b4605a7a",
      "poster": "/videos/examples/posters/spotlight-stacked-title-eyebrow-then-two-lines-then-name.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 90,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/spotlight-stacked-title-eyebrow-then-two-lines-then-name/item.json",
      "observation": "Over the presenter shot a right-side column of white type builds one character at a time: a small eyebrow line types from ~local f2 to f18 (master 282-298); the first large line starts at f20 and finishes by f26; the second large line (ending in a colon) types f26-38. Everything holds until ~f50, when the third, lower line types in fast (master 330-336) and the stack holds to the end of the window. No caret is visible at any point.",
      "mechanism": "A staged type-on title stack: hierarchy is established by typing the eyebrow first, then the headline lines, then pausing before the payoff line.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty column"
        },
        {
          "frame": 2,
          "label": "Eyebrow types"
        },
        {
          "frame": 20,
          "label": "Headline line one types"
        },
        {
          "frame": 26,
          "label": "Headline line two types"
        },
        {
          "frame": 38,
          "label": "Hold"
        },
        {
          "frame": 50,
          "label": "Payoff line types"
        },
        {
          "frame": 56,
          "label": "Full stack holds"
        }
      ]
    },
    {
      "id": "staircase-chapter-title-type-on-and-wipe-off",
      "title": "Type a numbered chapter title down a staircase, then wipe each word off from the left",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Prepare for Customer Meetings With ChatGPT Work | Tutorial",
        "id": "yQZgOSHHxjk",
        "url": "https://www.youtube.com/watch?v=yQZgOSHHxjk",
        "start": 68.35995833333334,
        "end": 70.73733333333334
      },
      "preview": "/videos/examples/rebuilds/staircase-chapter-title-type-on-and-wipe-off/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/staircase-chapter-title-type-on-and-wipe-off/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/staircase-chapter-title-type-on-and-wipe-off/adaptation.mp4",
      "download": "/videos/examples/rebuilds/staircase-chapter-title-type-on-and-wipe-off/package.zip",
      "svg": "/videos/examples/rebuilds/staircase-chapter-title-type-on-and-wipe-off/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": 146915,
      "packageSha256": "6971d8a845663ae7c5b48c2bb3483b84be7538f19161a1354d0fb76e6bb3dd77",
      "poster": "/videos/examples/posters/staircase-chapter-title-type-on-and-wipe-off.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 57,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/staircase-chapter-title-type-on-and-wipe-off/item.json",
      "observation": "Over defocused yellow-green footage a bold white chapter title builds as a staircase: '4.' is present at local frame 0, the long verb types from ~f4 to ~f13 on the second step, 'the' pops in whole at ~f9 on the third, and the hyphenated noun types on the fourth step from ~f9 to ~f19. The title holds until ~f47, then the words erase from their left edges in place (the verb reads 'ate' and the noun '-Up' by ~f50, the verb and 'the' are gone by ~f53) while '4.' and the trailing '-Up' fragment remain to the cut.",
      "mechanism": "Staircase chapter title that types on per word and is removed with per-word left-edge wipes that leave the remaining glyphs in place.",
      "phases": [
        {
          "frame": 0,
          "label": "Number visible"
        },
        {
          "frame": 4,
          "label": "Verb types on"
        },
        {
          "frame": 9,
          "label": "'the' pops, noun types on"
        },
        {
          "frame": 19,
          "label": "Title complete, hold"
        },
        {
          "frame": 47,
          "label": "Left-edge wipes begin"
        },
        {
          "frame": 53,
          "label": "Only number and noun fragment remain"
        },
        {
          "frame": 57,
          "label": "End"
        }
      ]
    },
    {
      "id": "streamed-paragraph-finish-then-action-bar",
      "title": "Stream the final paragraph word by word, then fade in the response action bar",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to analyze ad performance and refine creative",
        "id": "5iu0nY9lIy8",
        "url": "https://www.youtube.com/watch?v=5iu0nY9lIy8",
        "start": 99.25,
        "end": 102.25
      },
      "preview": "/videos/examples/rebuilds/streamed-paragraph-finish-then-action-bar/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/streamed-paragraph-finish-then-action-bar/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/streamed-paragraph-finish-then-action-bar/adaptation.mp4",
      "download": "/videos/examples/rebuilds/streamed-paragraph-finish-then-action-bar/package.zip",
      "svg": "/videos/examples/rebuilds/streamed-paragraph-finish-then-action-bar/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": 148380,
      "packageSha256": "a770f8633403ee79ceaaf991112717f531fc126ffcd86fa26461a686eef23ed1",
      "poster": "/videos/examples/posters/streamed-paragraph-finish-then-action-bar.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 180,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/streamed-paragraph-finish-then-action-bar/item.json",
      "observation": "A dark response page shows three finished paragraphs and a fourth still arriving: at local frame 0 it ends at 'variable at', by ~f35 'what act', ~f65 'closes t', ~f95 'closes the ga', ~f125 'closes the gap' and the full stop lands ~f150. About eight frames after the last token a row of four small grey action glyphs (copy, thumbs, share, retry) plus an ellipsis fades in under the paragraph and everything holds.",
      "mechanism": "Word-level streaming of a closing paragraph followed by a delayed fade-in of the message action bar once generation completes.",
      "phases": [
        {
          "frame": 0,
          "label": "Fourth paragraph mid-stream"
        },
        {
          "frame": 95,
          "label": "'closes the ga' visible"
        },
        {
          "frame": 150,
          "label": "Paragraph complete"
        },
        {
          "frame": 158,
          "label": "Action bar fades in over 12 frames"
        },
        {
          "frame": 180,
          "label": "End"
        }
      ]
    },
    {
      "id": "submenu-item-selected-then-blur-push-in",
      "title": "Highlight the chosen submenu item, then push the camera in through a short blur pulse to frame it",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Computer History in ChatGPT",
        "id": "W-HhMUe9hOg",
        "url": "https://www.youtube.com/watch?v=W-HhMUe9hOg",
        "start": 123.6235,
        "end": 124.499375
      },
      "preview": "/videos/examples/rebuilds/submenu-item-selected-then-blur-push-in/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/submenu-item-selected-then-blur-push-in/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/submenu-item-selected-then-blur-push-in/adaptation.mp4",
      "download": "/videos/examples/rebuilds/submenu-item-selected-then-blur-push-in/package.zip",
      "svg": "/videos/examples/rebuilds/submenu-item-selected-then-blur-push-in/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": 147785,
      "packageSha256": "9d8b2a251793cb958264dba357147fab4a76842c062d0433f8490ba163a58dee",
      "poster": "/videos/examples/posters/submenu-item-selected-then-blur-push-in.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 21,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/submenu-item-selected-then-blur-push-in/item.json",
      "observation": "The dropdown and its left-hand submenu are open with the pointer on the submenu (master 2964). The parent row shows a muted grey-brown highlight while the submenu's second item 'Exclude ...' carries the active blue highlight (local 0-3). At master 2968-2970 (local 4-6) the whole frame softens into a blur and grows; by 2972-2974 (local 8-10) it is sharp again at roughly 1.35x with the submenu near frame centre. The pushed-in frame holds with the pointer resting on the blue item until the window ends at 2985.",
      "mechanism": "Selection push-in: once the target item is highlighted, the edit scales the screen recording up about a third through a two-frame blur so the eye lands on the chosen row.",
      "phases": [
        {
          "frame": 0,
          "label": "Submenu item highlighted, parent row muted"
        },
        {
          "frame": 4,
          "label": "Blur pulse and push-in begin"
        },
        {
          "frame": 10,
          "label": "Sharp at 1.35x, submenu centred"
        },
        {
          "frame": 20,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "title-three-line-word-build-over-footage",
      "title": "Build a three-line lower-left title word by word over live footage",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Build a Personalized Meal Planner with ChatGPT Work",
        "id": "t64oZKCdG8Q",
        "url": "https://www.youtube.com/watch?v=t64oZKCdG8Q",
        "start": 0.0,
        "end": 2.75275
      },
      "preview": "/videos/examples/rebuilds/title-three-line-word-build-over-footage/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/title-three-line-word-build-over-footage/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/title-three-line-word-build-over-footage/adaptation.mp4",
      "download": "/videos/examples/rebuilds/title-three-line-word-build-over-footage/package.zip",
      "svg": "/videos/examples/rebuilds/title-three-line-word-build-over-footage/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": 146236,
      "packageSha256": "1229fd80579aee88026972dec17a6cef0677983aabe5daf9be5b8b2bcc2a9e5c",
      "poster": "/videos/examples/posters/title-three-line-word-build-over-footage.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 66,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/title-three-line-word-build-over-footage/item.json",
      "observation": "Over warm footage of hands on a closed laptop (here a flat brown field with a table band and a dark slab), a white bold title builds in the lower-left: 'Build' at ~f4, 'a' and the second line's first word by ~f8, the long word of line one and 'with' by ~f16, then the third line finishes character by character ('W' ~f24, 'Wor' ~f28, complete ~f32) and holds to f66 while the laptop lid lifts behind it.",
      "mechanism": "Left-aligned three-line title that builds by words on the first two lines and by characters on the third, then holds over the moving plate.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty plate"
        },
        {
          "frame": 2,
          "label": "Line one words begin"
        },
        {
          "frame": 7,
          "label": "Line two words begin"
        },
        {
          "frame": 14,
          "label": "Line three types"
        },
        {
          "frame": 33,
          "label": "Title complete, hold"
        },
        {
          "frame": 66,
          "label": "End"
        }
      ]
    },
    {
      "id": "transcript-hard-cut-to-live-app-then-text-layer-drag",
      "title": "Hard cut from the agent transcript to the running app, then drag the selected headline around the artboard",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Use ChatGPT Work to build custom creative tools",
        "id": "D-QteDHdHes",
        "url": "https://www.youtube.com/watch?v=D-QteDHdHes",
        "start": 73.5,
        "end": 75.0
      },
      "preview": "/videos/examples/rebuilds/transcript-hard-cut-to-live-app-then-text-layer-drag/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/transcript-hard-cut-to-live-app-then-text-layer-drag/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/transcript-hard-cut-to-live-app-then-text-layer-drag/adaptation.mp4",
      "download": "/videos/examples/rebuilds/transcript-hard-cut-to-live-app-then-text-layer-drag/package.zip",
      "svg": "/videos/examples/rebuilds/transcript-hard-cut-to-live-app-then-text-layer-drag/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": 151732,
      "packageSha256": "c4b89c57d7be25298d512f89bf58833921c25caa7e9da6ed517d951a1f6829f7",
      "poster": "/videos/examples/posters/transcript-hard-cut-to-live-app-then-text-layer-drag.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 90,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/transcript-hard-cut-to-live-app-then-text-layer-drag/item.json",
      "observation": "Local frames 0\u20132 show the agent's white transcript ('Worked for 7m 13s', an 'Open the working app' link, a summary and the 'Do anything' composer). At local 3 the picture hard-cuts to the built composition studio in a browser: left format list, a 1920\u00d71080 artboard with a three-line headline in a light-blue dashed selection box over a headphone render, and a right 'Shape the frame' panel. From ~f8 the pointer drags the selected headline: it slides down the left edge (f10\u2013f34), swings right and up across the earcups (f36\u2013f46), then is pulled back to the left where it settles at f60 and holds.",
      "mechanism": "A hard cut from a text transcript to the live product it describes, followed by a continuous pointer-driven drag of a selected text layer whose dashed selection box and handles travel with it.",
      "phases": [
        {
          "frame": 0,
          "label": "Agent transcript"
        },
        {
          "frame": 3,
          "label": "Hard cut to the running app"
        },
        {
          "frame": 10,
          "label": "Drag begins: headline slides down the left edge"
        },
        {
          "frame": 36,
          "label": "Swings right and up across the earcups"
        },
        {
          "frame": 48,
          "label": "Pulled back left"
        },
        {
          "frame": 60,
          "label": "Settles and holds"
        }
      ]
    },
    {
      "id": "two-line-headline-types-with-sticker-flashes",
      "title": "Type a two-line headline, lift line one to make room, and flash sticker props under each new word",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "You can just keep the work moving | ChatGPT Work",
        "id": "wIf9yMGalPU",
        "url": "https://www.youtube.com/watch?v=wIf9yMGalPU",
        "start": 39.0,
        "end": 41.0
      },
      "preview": "/videos/examples/rebuilds/two-line-headline-types-with-sticker-flashes/remake.mp4",
      "sourcePreview": "/videos/examples/rebuilds/two-line-headline-types-with-sticker-flashes/source.mp4",
      "adaptationPreview": "/videos/examples/rebuilds/two-line-headline-types-with-sticker-flashes/adaptation.mp4",
      "download": "/videos/examples/rebuilds/two-line-headline-types-with-sticker-flashes/package.zip",
      "svg": "/videos/examples/rebuilds/two-line-headline-types-with-sticker-flashes/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": 147688,
      "packageSha256": "b47dce0deb9b39225b46d4ba429607db1e4647c78b17fe36f1e5eebba2a07a35",
      "poster": "/videos/examples/posters/two-line-headline-types-with-sticker-flashes.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 60,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/rebuilds/two-line-headline-types-with-sticker-flashes/item.json",
      "observation": "On white, a bold centred headline types on: 'Y' at master 1173, 'You can' at 1179, 'You can just' complete by 1188 (local 3-18). As the first line completes, small illustrated props flash under it: a laptop and a card at 1188, a clock and envelope join at 1191. At master 1194 (local 24) the line lifts up to make room and a new row of four props appears; a different set (bell, product photo, blob) replaces them at 1197. The second line types from master 1203 (local 33), left-anchored: 'keep' with a green cursor and stats card, 'keep the' with a product card and clock at 1206, 'keep the work' with just the clock at 1209, full line by 1215 (local 45) with all props gone. The two-line headline holds to the end of the window.",
      "mechanism": "Headline type-on with a mid-build lift and disposable sticker props: every few frames a new set of small illustrations pops in and out under the text, then vanishes the moment the sentence completes.",
      "phases": [
        {
          "frame": 0,
          "label": "White"
        },
        {
          "frame": 3,
          "label": "Line one types, centred"
        },
        {
          "frame": 18,
          "label": "First props flash under the line"
        },
        {
          "frame": 24,
          "label": "Line one lifts; new prop row"
        },
        {
          "frame": 33,
          "label": "Line two types left-anchored with props"
        },
        {
          "frame": 45,
          "label": "Headline complete, props gone"
        }
      ]
    },
    {
      "id": "agent-empty-task-window-to-loaded-page",
      "title": "Load a page beneath an existing action bubble",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "A Look at ChatGPT agent",
        "id": "2wzGS_WUZYQ",
        "url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ",
        "start": 5.0,
        "end": 7.0
      },
      "preview": "/videos/examples/additions/agent-empty-task-window-to-loaded-page/remake.mp4",
      "sourcePreview": "/videos/examples/additions/agent-empty-task-window-to-loaded-page/source.mp4",
      "adaptationPreview": "/videos/examples/additions/agent-empty-task-window-to-loaded-page/adaptation.mp4",
      "download": "/videos/examples/additions/agent-empty-task-window-to-loaded-page/package.zip",
      "svg": "/videos/examples/additions/agent-empty-task-window-to-loaded-page/editable.svg",
      "resolve": "/videos/examples/additions/agent-empty-task-window-to-loaded-page/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 712325,
      "packageSha256": "5f5d8907fbd6684ad532a76c7dd992a24a2b543fc2b5909ab0c12a9f77e9c26e",
      "poster": "/videos/examples/posters/agent-empty-task-window-to-loaded-page.jpg",
      "render": {
        "sha256": "1b884ff1b3cec2729f8cb4463e854f38e95dee6c0644d9ec9d6ddd74b57fead5",
        "bytes": 163185,
        "width": 1920,
        "height": 1080,
        "fps": "60",
        "frames": 120,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/agent-empty-task-window-to-loaded-page/item.json",
      "observation": "The task window begins as a gray body with a cursor and search bubble. Page content appears under it, followed by a wider explanatory bubble extending beyond the window. Observed in sampled source frames; event onsets between samples are approximate.",
      "mechanism": "The browser content loads independently from the floating action annotation. Geometry, copy, vector artwork and easing are authored approximations.",
      "phases": [
        {
          "frame": 0,
          "label": "Status bubble remains over an empty task window"
        },
        {
          "frame": 68,
          "label": "Travel page content loads beneath the cursor"
        },
        {
          "frame": 94,
          "label": "Annotation shifts outward as the page becomes readable"
        }
      ]
    },
    {
      "id": "agent-live-search-venue-and-booking-modal",
      "title": "Search, open a venue and reveal its booking panel in one live card",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT agent",
        "id": "Wgn4JeYI9lY",
        "url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY",
        "start": 59.017291666666665,
        "end": 64.439375
      },
      "preview": "/videos/examples/additions/agent-live-search-venue-and-booking-modal/remake.mp4",
      "sourcePreview": "/videos/examples/additions/agent-live-search-venue-and-booking-modal/source.mp4",
      "adaptationPreview": "/videos/examples/additions/agent-live-search-venue-and-booking-modal/adaptation.mp4",
      "download": "/videos/examples/additions/agent-live-search-venue-and-booking-modal/package.zip",
      "svg": "/videos/examples/additions/agent-live-search-venue-and-booking-modal/editable.svg",
      "resolve": "/videos/examples/additions/agent-live-search-venue-and-booking-modal/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 712420,
      "packageSha256": "10fe71d7afa7f5948f7647ed25b36ce8ab121d03d94b4fcbd7af2a7e2a678563",
      "poster": "/videos/examples/posters/agent-live-search-venue-and-booking-modal.jpg",
      "render": {
        "sha256": "9c1b513e8e783db34d449cdc3ff48c8fcbb33912747e94ea7e499e7fbab3f0a5",
        "bytes": 81183,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 130,
        "duration": 5.422078,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/agent-live-search-venue-and-booking-modal/item.json",
      "observation": "The compact live-browser view moves from search results to a restaurant page and then an overlaid reservation panel. Observed in sampled source frames; event onsets between samples are approximate.",
      "mechanism": "Three web states reuse the live-card border and playback strip. Geometry, copy, vector artwork and easing are authored approximations.",
      "phases": [
        {
          "frame": 0,
          "label": "Initial source composition"
        },
        {
          "frame": 21,
          "label": "Search results populate the live browser card"
        },
        {
          "frame": 54,
          "label": "A venue page replaces the result list"
        },
        {
          "frame": 93,
          "label": "A booking panel opens over the page"
        }
      ]
    },
    {
      "id": "agent-presentation-attachment-opens-slide-viewer",
      "title": "Expand a presentation attachment into its slide navigator",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT agent",
        "id": "Wgn4JeYI9lY",
        "url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY",
        "start": 77.03529166666667,
        "end": 81.5815
      },
      "preview": "/videos/examples/additions/agent-presentation-attachment-opens-slide-viewer/remake.mp4",
      "sourcePreview": "/videos/examples/additions/agent-presentation-attachment-opens-slide-viewer/source.mp4",
      "adaptationPreview": "/videos/examples/additions/agent-presentation-attachment-opens-slide-viewer/adaptation.mp4",
      "download": "/videos/examples/additions/agent-presentation-attachment-opens-slide-viewer/package.zip",
      "svg": "/videos/examples/additions/agent-presentation-attachment-opens-slide-viewer/editable.svg",
      "resolve": "/videos/examples/additions/agent-presentation-attachment-opens-slide-viewer/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 712295,
      "packageSha256": "87fca651549b530d397cf8d52d3f64c9cda667b811ac4a88184c1f4f5dda5585",
      "poster": "/videos/examples/posters/agent-presentation-attachment-opens-slide-viewer.jpg",
      "render": {
        "sha256": "4fe2f3318713138f4fa0c593b485d8c49dc0f3bdaac29cf00902fbc1b5fa460f",
        "bytes": 210034,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 109,
        "duration": 4.5462,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/agent-presentation-attachment-opens-slide-viewer/item.json",
      "observation": "The answer displays a presentation attachment with preview controls. Opening it briefly clears to an empty viewer, then loads the slide artwork and several thumbnails at left. Observed in sampled source frames; event onsets between samples are approximate.",
      "mechanism": "The same preview artwork carries continuity from attachment card to viewer. Geometry, copy, vector artwork and easing are authored approximations.",
      "phases": [
        {
          "frame": 0,
          "label": "Initial source composition"
        },
        {
          "frame": 19,
          "label": "Attachment preview and play controls are visible"
        },
        {
          "frame": 55,
          "label": "Camera pulls back to the full attachment preview"
        },
        {
          "frame": 61,
          "label": "Attachment opens into a briefly empty viewer"
        },
        {
          "frame": 72,
          "label": "Slide artwork and its thumbnail rail finish loading"
        }
      ]
    },
    {
      "id": "agent-search-clears-to-pdf-viewer-with-annotation",
      "title": "Load a PDF viewer beneath a persistent size annotation",
      "kind": "Artifacts & handoffs",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT agent",
        "id": "Wgn4JeYI9lY",
        "url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY",
        "start": 67.02529166666666,
        "end": 72.61420833333334
      },
      "preview": "/videos/examples/additions/agent-search-clears-to-pdf-viewer-with-annotation/remake.mp4",
      "sourcePreview": "/videos/examples/additions/agent-search-clears-to-pdf-viewer-with-annotation/source.mp4",
      "adaptationPreview": "/videos/examples/additions/agent-search-clears-to-pdf-viewer-with-annotation/adaptation.mp4",
      "download": "/videos/examples/additions/agent-search-clears-to-pdf-viewer-with-annotation/package.zip",
      "svg": "/videos/examples/additions/agent-search-clears-to-pdf-viewer-with-annotation/editable.svg",
      "resolve": "/videos/examples/additions/agent-search-clears-to-pdf-viewer-with-annotation/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 712736,
      "packageSha256": "7d731ce7c8c4f9b3df8868de31f25c3f50e51abc21d480f714b7a48cfa5baa12",
      "poster": "/videos/examples/posters/agent-search-clears-to-pdf-viewer-with-annotation.jpg",
      "render": {
        "sha256": "53ac287f24a6453d88a4c2435998dc226fdc4a0eab5332f2486cb12fdb31b42c",
        "bytes": 63124,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 134,
        "duration": 5.588911,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/agent-search-clears-to-pdf-viewer-with-annotation/item.json",
      "observation": "A financial-report search window clears, leaving the blue task area and a note. A dark PDF viewer appears with cover and thumbnail rail. Observed in sampled source frames; event onsets between samples are approximate.",
      "mechanism": "The annotation survives the transition from search to a document viewer. Geometry, copy, vector artwork and easing are authored approximations.",
      "phases": [
        {
          "frame": 0,
          "label": "Initial source composition"
        },
        {
          "frame": 8,
          "label": "Search result window clears while an annotation remains"
        },
        {
          "frame": 22,
          "label": "Dark PDF viewer and cover page load"
        },
        {
          "frame": 106,
          "label": "Viewer holds on the cover with its thumbnail rail"
        }
      ]
    },
    {
      "id": "agent-spreadsheet-rows-populate-task-card",
      "title": "Populate table rows inside a compact output card",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "A Look at ChatGPT agent",
        "id": "2wzGS_WUZYQ",
        "url": "https://www.youtube.com/watch?v=2wzGS_WUZYQ",
        "start": 39.0,
        "end": 41.0
      },
      "preview": "/videos/examples/additions/agent-spreadsheet-rows-populate-task-card/remake.mp4",
      "sourcePreview": "/videos/examples/additions/agent-spreadsheet-rows-populate-task-card/source.mp4",
      "adaptationPreview": "/videos/examples/additions/agent-spreadsheet-rows-populate-task-card/adaptation.mp4",
      "download": "/videos/examples/additions/agent-spreadsheet-rows-populate-task-card/package.zip",
      "svg": "/videos/examples/additions/agent-spreadsheet-rows-populate-task-card/editable.svg",
      "resolve": "/videos/examples/additions/agent-spreadsheet-rows-populate-task-card/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 712399,
      "packageSha256": "aff932b54923c92d480cec00fb82536459112a77909c3420ba8e2428da67a32b",
      "poster": "/videos/examples/posters/agent-spreadsheet-rows-populate-task-card.jpg",
      "render": {
        "sha256": "1b4f7eb4962ab8c5ced604dd0f861e060a6574f0d5492cfb3d71c5a2f08783de",
        "bytes": 159631,
        "width": 1920,
        "height": 1080,
        "fps": "60",
        "frames": 120,
        "duration": 2.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/agent-spreadsheet-rows-populate-task-card/item.json",
      "observation": "A small spreadsheet appears within the task window, with rows becoming legible downward while the generating status stays at the top. Observed in sampled source frames; event onsets between samples are approximate.",
      "mechanism": "Staggered cells form a table within a fixed output frame. Geometry, copy, vector artwork and easing are authored approximations.",
      "phases": [
        {
          "frame": 0,
          "label": "Initial source composition"
        },
        {
          "frame": 24,
          "label": "Header and early data rows are visible"
        },
        {
          "frame": 77,
          "label": "Later rows finish populating the generated table"
        }
      ]
    },
    {
      "id": "agent-tools-menu-to-mode-and-source-chips",
      "title": "Choose agent mode and replace Tools with active composer chips",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT agent",
        "id": "Wgn4JeYI9lY",
        "url": "https://www.youtube.com/watch?v=Wgn4JeYI9lY",
        "start": 11.219541666666666,
        "end": 14.76475
      },
      "preview": "/videos/examples/additions/agent-tools-menu-to-mode-and-source-chips/remake.mp4",
      "sourcePreview": "/videos/examples/additions/agent-tools-menu-to-mode-and-source-chips/source.mp4",
      "adaptationPreview": "/videos/examples/additions/agent-tools-menu-to-mode-and-source-chips/adaptation.mp4",
      "download": "/videos/examples/additions/agent-tools-menu-to-mode-and-source-chips/package.zip",
      "svg": "/videos/examples/additions/agent-tools-menu-to-mode-and-source-chips/editable.svg",
      "resolve": "/videos/examples/additions/agent-tools-menu-to-mode-and-source-chips/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 711550,
      "packageSha256": "d8bd216248613faea82fdae820e04272ee33dfcbadefeec0f5ce906483fb2305",
      "poster": "/videos/examples/posters/agent-tools-menu-to-mode-and-source-chips.jpg",
      "render": {
        "sha256": "eadd6cff90bd1ec9f81af78d869178469240336874604c680caf8d46c6f98deb",
        "bytes": 48703,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 85,
        "duration": 3.5452,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/agent-tools-menu-to-mode-and-source-chips/item.json",
      "observation": "The Tools menu opens with several actions. The cursor moves to Agent mode; the dropdown closes and mode/source chips occupy the composer footer. Observed in sampled source frames; event onsets between samples are approximate.",
      "mechanism": "A vertical menu selection transforms into inline persistent controls. Geometry, copy, vector artwork and easing are authored approximations.",
      "phases": [
        {
          "frame": 0,
          "label": "Initial source composition"
        },
        {
          "frame": 10,
          "label": "Tools menu opens below the composer"
        },
        {
          "frame": 39,
          "label": "Pointer reaches the final Agent mode row"
        },
        {
          "frame": 50,
          "label": "Menu collapses into active mode and source chips"
        }
      ]
    },
    {
      "id": "atlas-browser-page-content-load",
      "title": "Populate a framed browser with hero, search and destination cards",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing ChatGPT Atlas",
        "id": "Ej6hnsQgV_c",
        "url": "https://www.youtube.com/watch?v=Ej6hnsQgV_c",
        "start": 14.0,
        "end": 16.866666666666667
      },
      "preview": "/videos/examples/additions/atlas-browser-page-content-load/remake.mp4",
      "sourcePreview": "/videos/examples/additions/atlas-browser-page-content-load/source.mp4",
      "adaptationPreview": "/videos/examples/additions/atlas-browser-page-content-load/adaptation.mp4",
      "download": "/videos/examples/additions/atlas-browser-page-content-load/package.zip",
      "svg": "/videos/examples/additions/atlas-browser-page-content-load/editable.svg",
      "resolve": "/videos/examples/additions/atlas-browser-page-content-load/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 711397,
      "packageSha256": "4e0a104c5a6c80b19e2fbcf919cf4564a0afe529ed5fef7f14c01e5a92471123",
      "poster": "/videos/examples/posters/atlas-browser-page-content-load.jpg",
      "render": {
        "sha256": "5b41806d6f4876cc8dc4ff555c5a8ca246ae3d6ecbaff85e4fcbc2981b1261b6",
        "bytes": 99790,
        "width": 1920,
        "height": 1080,
        "fps": "30",
        "frames": 86,
        "duration": 2.866667,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/atlas-browser-page-content-load/item.json",
      "observation": "A browser shell initially has a blank body, then the accommodation hero, search strip and card rows appear together. Observed in sampled source frames; event onsets between samples are approximate.",
      "mechanism": "A held browser frame receives a discrete content reveal. Geometry, copy, vector artwork and easing are authored approximations.",
      "phases": [
        {
          "frame": 0,
          "label": "Initial source composition"
        },
        {
          "frame": 12,
          "label": "Blank content fills with a hero and destination cards"
        }
      ]
    },
    {
      "id": "bar-chart-menu-push-in-targets-source-and-opens-provenance",
      "title": "Push into a bar-chart menu and open its provenance overlay",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Codex for data science",
        "id": "Lvk_VZOppIY",
        "url": "https://www.youtube.com/watch?v=Lvk_VZOppIY",
        "start": 48.0,
        "end": 53.0
      },
      "preview": "/videos/examples/additions/bar-chart-menu-push-in-targets-source-and-opens-provenance/remake.mp4",
      "sourcePreview": "/videos/examples/additions/bar-chart-menu-push-in-targets-source-and-opens-provenance/source.mp4",
      "adaptationPreview": "/videos/examples/additions/bar-chart-menu-push-in-targets-source-and-opens-provenance/adaptation.mp4",
      "download": "/videos/examples/additions/bar-chart-menu-push-in-targets-source-and-opens-provenance/package.zip",
      "svg": "/videos/examples/additions/bar-chart-menu-push-in-targets-source-and-opens-provenance/editable.svg",
      "resolve": "/videos/examples/additions/bar-chart-menu-push-in-targets-source-and-opens-provenance/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 720157,
      "packageSha256": "cfe1ba9803bc222b54c693f22f63a6a31e50cc5aa008d32e5d502e6b85ea8baf",
      "poster": "/videos/examples/posters/bar-chart-menu-push-in-targets-source-and-opens-provenance.jpg",
      "render": {
        "sha256": "0422c88c25d54c15e8f1a48633d2f425d690f440e4a4fa72daa68bfba03993ac",
        "bytes": 448378,
        "width": 1920,
        "height": 1080,
        "fps": "60",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/bar-chart-menu-push-in-targets-source-and-opens-provenance/item.json",
      "observation": "At0 the full report is visible with a bar chart. By43 the framing is close and the four-item menu is open. The pointer moves from the menu trigger through Explore at128 to View data source at171\u2013256. At299 a pale source panel begins replacing the chart area. Draft reconstruction from eight viewed native-frame source samples. Event order is observed; transition boundaries between samples and easing are authored approximations, not recovered source timing. No source-fidelity or native Resolve approval.",
      "mechanism": "A camera push settles on a chart menu, a deliberate two-row hover selects provenance, and a source panel overlays the graph.",
      "phases": [
        {
          "frame": 0,
          "label": "Wide bar chart"
        },
        {
          "frame": 43,
          "label": "Menu close-up"
        },
        {
          "frame": 128,
          "label": "Explore hover"
        },
        {
          "frame": 171,
          "label": "Source hover"
        },
        {
          "frame": 299,
          "label": "Source overlay begins"
        }
      ]
    },
    {
      "id": "browser-control-banner-tab-switch-to-expense-form",
      "title": "Show browser control, target the task tab, and enter the transaction form",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT can now complete tasks on your computer",
        "id": "dB6pOolO7io",
        "url": "https://www.youtube.com/watch?v=dB6pOolO7io",
        "start": 43.00129166666667,
        "end": 46.96358333333333
      },
      "preview": "/videos/examples/additions/browser-control-banner-tab-switch-to-expense-form/remake.mp4",
      "sourcePreview": "/videos/examples/additions/browser-control-banner-tab-switch-to-expense-form/source.mp4",
      "adaptationPreview": "/videos/examples/additions/browser-control-banner-tab-switch-to-expense-form/adaptation.mp4",
      "download": "/videos/examples/additions/browser-control-banner-tab-switch-to-expense-form/package.zip",
      "svg": "/videos/examples/additions/browser-control-banner-tab-switch-to-expense-form/editable.svg",
      "resolve": "/videos/examples/additions/browser-control-banner-tab-switch-to-expense-form/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 713499,
      "packageSha256": "5deca388ed11cfd9b45ded873f766d26029b3074b3951f39c597827661b89446",
      "poster": "/videos/examples/posters/browser-control-banner-tab-switch-to-expense-form.jpg",
      "render": {
        "sha256": "c82ab7425d4c35fa3a135b55d638ccca0f5e4b274abe679dd3b3e3aa2721051a",
        "bytes": 50966,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 95,
        "duration": 3.962289,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/browser-control-banner-tab-switch-to-expense-form/item.json",
      "observation": "A portal page settles by f13. A browser-control banner and highlighted task tab are visible by f27/f40. The framing moves toward the tab strip at f54/f67, then a transaction form with merchant suggestions appears at f94. Source states were inspected at the recorded sample frames; intervening timing and easing are authored approximations. Peripheral host insets and source photography are not remake assets.",
      "mechanism": "The control banner precedes the external form; emphasize the selected browser tab before switching content to a field-and-suggestion interface.",
      "phases": [
        {
          "frame": 0,
          "label": "Portal page"
        },
        {
          "frame": 27,
          "label": "Browser control banner"
        },
        {
          "frame": 54,
          "label": "Task tab emphasized"
        },
        {
          "frame": 94,
          "label": "Transaction form"
        }
      ]
    },
    {
      "id": "browser-mode-click-expands-composer-and-adds-project-row",
      "title": "Click the browser mode switch, expand the composer, and add its footer",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Getting Started with ChatGPT Work",
        "id": "Rk4VyQxDq5s",
        "url": "https://www.youtube.com/watch?v=Rk4VyQxDq5s",
        "start": 48.00629166666667,
        "end": 51.968583333333335
      },
      "preview": "/videos/examples/additions/browser-mode-click-expands-composer-and-adds-project-row/remake.mp4",
      "sourcePreview": "/videos/examples/additions/browser-mode-click-expands-composer-and-adds-project-row/source.mp4",
      "adaptationPreview": "/videos/examples/additions/browser-mode-click-expands-composer-and-adds-project-row/adaptation.mp4",
      "download": "/videos/examples/additions/browser-mode-click-expands-composer-and-adds-project-row/package.zip",
      "svg": "/videos/examples/additions/browser-mode-click-expands-composer-and-adds-project-row/editable.svg",
      "resolve": "/videos/examples/additions/browser-mode-click-expands-composer-and-adds-project-row/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 714625,
      "packageSha256": "c1432871f658fa8f871ee4fdda4f975486e96b2e266ce5313812d70621606317",
      "poster": "/videos/examples/posters/browser-mode-click-expands-composer-and-adds-project-row.jpg",
      "render": {
        "sha256": "b1986a0aecf836ec56c99ffc0857863650a842491600b641c682a9aff6d4bdc8",
        "bytes": 62665,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 95,
        "duration": 3.962289,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/browser-mode-click-expands-composer-and-adds-project-row/item.json",
      "observation": "A close browser view with a pinned presenter inset starts in Chat mode. The pointer reaches Work at13. By27 the right mode is selected, the central heading has changed, and the input has become a taller composer with project/plugin footer controls. The new state holds through81 before a presenter-angle cut at94. Draft reconstruction from eight viewed native-frame source samples. Event order is observed; transition boundaries between samples and easing are authored approximations, not recovered source timing. No source-fidelity or native Resolve approval.",
      "mechanism": "A mode click coordinates a selected-pill change, heading replacement, and a taller work composer with a separate footer; the inset remains pinned until the final cut.",
      "phases": [
        {
          "frame": 0,
          "label": "Compact input"
        },
        {
          "frame": 13,
          "label": "Mode target"
        },
        {
          "frame": 27,
          "label": "Work layout"
        },
        {
          "frame": 81,
          "label": "Work hold"
        },
        {
          "frame": 94,
          "label": "Presenter cut"
        }
      ]
    },
    {
      "id": "browser-output-row-expands-to-search-and-topic",
      "title": "Open a browser output, establish search results, then select a topic",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT can now complete tasks on your computer",
        "id": "dB6pOolO7io",
        "url": "https://www.youtube.com/watch?v=dB6pOolO7io",
        "start": 18.018,
        "end": 20.979291666666665
      },
      "preview": "/videos/examples/additions/browser-output-row-expands-to-search-and-topic/remake.mp4",
      "sourcePreview": "/videos/examples/additions/browser-output-row-expands-to-search-and-topic/source.mp4",
      "adaptationPreview": "/videos/examples/additions/browser-output-row-expands-to-search-and-topic/adaptation.mp4",
      "download": "/videos/examples/additions/browser-output-row-expands-to-search-and-topic/package.zip",
      "svg": "/videos/examples/additions/browser-output-row-expands-to-search-and-topic/editable.svg",
      "resolve": "/videos/examples/additions/browser-output-row-expands-to-search-and-topic/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 715844,
      "packageSha256": "398a420fbd8178171c7e91ea734068540fb6c2c0b05f4a5c967e2d1b2399cee9",
      "poster": "/videos/examples/posters/browser-output-row-expands-to-search-and-topic.jpg",
      "render": {
        "sha256": "af5a55e0f5e24b3add4f7455582edc09130b30d3d5d6009a21dbf83c24945f88",
        "bytes": 80297,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 71,
        "duration": 2.961289,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/browser-output-row-expands-to-search-and-topic/item.json",
      "observation": "An output rail occupies f0. The browser surface crosses the frame at f10, search results settle by f20 and remain through f60, then a specific topic is visible at f70. Source states were inspected at the recorded sample frames; intervening timing and easing are authored approximations. Peripheral host insets and source photography are not remake assets.",
      "mechanism": "Expand a named output into its real browser context, preserve a readable results hold, and end on a distinct discussion page.",
      "phases": [
        {
          "frame": 0,
          "label": "Named browser output"
        },
        {
          "frame": 20,
          "label": "Search results"
        },
        {
          "frame": 60,
          "label": "Results hold"
        },
        {
          "frame": 70,
          "label": "Discussion opened"
        }
      ]
    },
    {
      "id": "browser-summary-pullback-solo-answer-and-new-source",
      "title": "Pull back to answer and source, isolate the answer, then pair another source",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT can now complete tasks on your computer",
        "id": "dB6pOolO7io",
        "url": "https://www.youtube.com/watch?v=dB6pOolO7io",
        "start": 24.024,
        "end": 28.987291666666668
      },
      "preview": "/videos/examples/additions/browser-summary-pullback-solo-answer-and-new-source/remake.mp4",
      "sourcePreview": "/videos/examples/additions/browser-summary-pullback-solo-answer-and-new-source/source.mp4",
      "adaptationPreview": "/videos/examples/additions/browser-summary-pullback-solo-answer-and-new-source/adaptation.mp4",
      "download": "/videos/examples/additions/browser-summary-pullback-solo-answer-and-new-source/package.zip",
      "svg": "/videos/examples/additions/browser-summary-pullback-solo-answer-and-new-source/editable.svg",
      "resolve": "/videos/examples/additions/browser-summary-pullback-solo-answer-and-new-source/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 717020,
      "packageSha256": "de141e2e368a7c6dc3720300aabd2cc663e4ceafea0e8b73aa1c432df6de84cd",
      "poster": "/videos/examples/posters/browser-summary-pullback-solo-answer-and-new-source.jpg",
      "render": {
        "sha256": "9e5454350f990b452d438db63446072f652339754281b647dbee17420afcf4dc",
        "bytes": 403983,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 119,
        "duration": 4.963289,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/browser-summary-pullback-solo-answer-and-new-source/item.json",
      "observation": "f0/f17 favor task status. By f34 the layout pulls back to a full answer/source pair. The browser pane is hidden at f84/f101 to leave the answer alone, then another source appears beside it at f118. Source states were inspected at the recorded sample frames; intervening timing and easing are authored approximations. Peripheral host insets and source photography are not remake assets.",
      "mechanism": "Treat the answer as the persistent object while the source pane is widened, removed, and replaced with a second source; avoid a new answer reset.",
      "phases": [
        {
          "frame": 0,
          "label": "Task status detail"
        },
        {
          "frame": 34,
          "label": "Answer and source"
        },
        {
          "frame": 84,
          "label": "Answer alone"
        },
        {
          "frame": 118,
          "label": "Second source paired"
        }
      ]
    },
    {
      "id": "build-summary-finishes-before-prototype-expands-to-event-detail",
      "title": "Finish the build summary before expanding the prototype to an event detail",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build and share interactive prototypes in Codex",
        "id": "_9ImjmzAyus",
        "url": "https://www.youtube.com/watch?v=_9ImjmzAyus",
        "start": 62.0,
        "end": 69.0
      },
      "preview": "/videos/examples/additions/build-summary-finishes-before-prototype-expands-to-event-detail/remake.mp4",
      "sourcePreview": "/videos/examples/additions/build-summary-finishes-before-prototype-expands-to-event-detail/source.mp4",
      "adaptationPreview": "/videos/examples/additions/build-summary-finishes-before-prototype-expands-to-event-detail/adaptation.mp4",
      "download": "/videos/examples/additions/build-summary-finishes-before-prototype-expands-to-event-detail/package.zip",
      "svg": "/videos/examples/additions/build-summary-finishes-before-prototype-expands-to-event-detail/editable.svg",
      "resolve": "/videos/examples/additions/build-summary-finishes-before-prototype-expands-to-event-detail/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 718981,
      "packageSha256": "fea4680a1652d75d53ff6787d44c795af4d674ba3c61d227d4a1bc5ff7e8e7c7",
      "poster": "/videos/examples/posters/build-summary-finishes-before-prototype-expands-to-event-detail.jpg",
      "render": {
        "sha256": "97cabd420bd8ac724de9025633c992ba32b5481df6e53eb218dca37d36f07cf6",
        "bytes": 119788,
        "width": 1920,
        "height": 1080,
        "fps": "30",
        "frames": 210,
        "duration": 7.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/build-summary-finishes-before-prototype-expands-to-event-detail/item.json",
      "observation": "The live agenda is in the right pane while the left rail displays continuing work at0. By60 it shows the final build summary and three portraits. That state holds through179. At209 the conversation rail is gone and the agenda spans the window with an event detail panel at the right. Draft reconstruction from eight viewed native-frame source samples. Event order is observed; transition boundaries between samples and easing are authored approximations, not recovered source timing. No source-fidelity or native Resolve approval.",
      "mechanism": "A final response replaces the work log before a late two-pane-to-one-pane layout cut that reveals a selected event.",
      "phases": [
        {
          "frame": 0,
          "label": "Continuing work"
        },
        {
          "frame": 60,
          "label": "Final summary"
        },
        {
          "frame": 179,
          "label": "Split hold"
        },
        {
          "frame": 209,
          "label": "Expanded event detail"
        }
      ]
    },
    {
      "id": "calendar-source-toggle-reflows-agenda-and-detail-then-restores",
      "title": "Toggle a calendar source, reflow agenda and detail, then restore",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build and share interactive prototypes in Codex",
        "id": "_9ImjmzAyus",
        "url": "https://www.youtube.com/watch?v=_9ImjmzAyus",
        "start": 73.0,
        "end": 79.0
      },
      "preview": "/videos/examples/additions/calendar-source-toggle-reflows-agenda-and-detail-then-restores/remake.mp4",
      "sourcePreview": "/videos/examples/additions/calendar-source-toggle-reflows-agenda-and-detail-then-restores/source.mp4",
      "adaptationPreview": "/videos/examples/additions/calendar-source-toggle-reflows-agenda-and-detail-then-restores/adaptation.mp4",
      "download": "/videos/examples/additions/calendar-source-toggle-reflows-agenda-and-detail-then-restores/package.zip",
      "svg": "/videos/examples/additions/calendar-source-toggle-reflows-agenda-and-detail-then-restores/editable.svg",
      "resolve": "/videos/examples/additions/calendar-source-toggle-reflows-agenda-and-detail-then-restores/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 721422,
      "packageSha256": "fb6058348f2e130954125b4985cc82a068145deeb257fbf8d070f74e68a8f2d6",
      "poster": "/videos/examples/posters/calendar-source-toggle-reflows-agenda-and-detail-then-restores.jpg",
      "render": {
        "sha256": "756e91f2dd78c108463d6cc00222dcfba6266e016ba8177001f65b9921f1c89b",
        "bytes": 119528,
        "width": 1920,
        "height": 1080,
        "fps": "30",
        "frames": 180,
        "duration": 6.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/calendar-source-toggle-reflows-agenda-and-detail-then-restores/item.json",
      "observation": "The right pane begins scrolled down to its files and action. By77 its title is back at the top. At102 the pointer is over a calendar-source chip and the central agenda has fewer visible events with the lower planning section moved upward; its detail title also changes. By153 the original longer agenda and first event title return. Draft reconstruction from eight viewed native-frame source samples. Event order is observed; transition boundaries between samples and easing are authored approximations, not recovered source timing. No source-fidelity or native Resolve approval.",
      "mechanism": "A detail-pane scroll reset is followed by a calendar-source toggle that changes agenda density and selection together, then reverses.",
      "phases": [
        {
          "frame": 0,
          "label": "Detail scrolled"
        },
        {
          "frame": 77,
          "label": "Detail top"
        },
        {
          "frame": 102,
          "label": "Filtered agenda"
        },
        {
          "frame": 153,
          "label": "Full agenda restored"
        }
      ]
    },
    {
      "id": "campaign-design-link-to-native-editor-selection",
      "title": "Open an editable design link and select its date in the editor",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 82.0,
        "end": 86.0
      },
      "preview": "/videos/examples/additions/campaign-design-link-to-native-editor-selection/remake.mp4",
      "sourcePreview": "/videos/examples/additions/campaign-design-link-to-native-editor-selection/source.mp4",
      "adaptationPreview": "/videos/examples/additions/campaign-design-link-to-native-editor-selection/adaptation.mp4",
      "download": "/videos/examples/additions/campaign-design-link-to-native-editor-selection/package.zip",
      "svg": "/videos/examples/additions/campaign-design-link-to-native-editor-selection/editable.svg",
      "resolve": "/videos/examples/additions/campaign-design-link-to-native-editor-selection/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 717946,
      "packageSha256": "9fd1db3b069bf5487d84f4fa368f723183f9d4f084864e54d1749ab61d58fa7b",
      "poster": "/videos/examples/posters/campaign-design-link-to-native-editor-selection.jpg",
      "render": {
        "sha256": "bf14cc9c99c39d9438a4d9e2f97ecdee322b8d08b6c1db608f2f4a1cb7f65905",
        "bytes": 97495,
        "width": 1920,
        "height": 1080,
        "fps": "60",
        "frames": 240,
        "duration": 4.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/campaign-design-link-to-native-editor-selection/item.json",
      "observation": "The design preview and two links are visible at f0/f34. The camera has pulled back by f102. The external design editor appears at f171, followed by date selection at f205/f239. Source states were inspected at the recorded sample frames; intervening timing and easing are authored approximations. Peripheral host insets and source photography are not remake assets.",
      "mechanism": "Retain the same design across the handoff from a read-only preview to an editable canvas, then show an actual editable text selection.",
      "phases": [
        {
          "frame": 0,
          "label": "Preview and design link"
        },
        {
          "frame": 102,
          "label": "Wider context"
        },
        {
          "frame": 137,
          "label": "Open design"
        },
        {
          "frame": 171,
          "label": "External editor"
        },
        {
          "frame": 205,
          "label": "Date selected"
        }
      ]
    },
    {
      "id": "campaign-image-proof-returns-to-source-board",
      "title": "Hold a revised image, close it, and recover its board context",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 27.0,
        "end": 32.0
      },
      "preview": "/videos/examples/additions/campaign-image-proof-returns-to-source-board/remake.mp4",
      "sourcePreview": "/videos/examples/additions/campaign-image-proof-returns-to-source-board/source.mp4",
      "adaptationPreview": "/videos/examples/additions/campaign-image-proof-returns-to-source-board/adaptation.mp4",
      "download": "/videos/examples/additions/campaign-image-proof-returns-to-source-board/package.zip",
      "svg": "/videos/examples/additions/campaign-image-proof-returns-to-source-board/editable.svg",
      "resolve": "/videos/examples/additions/campaign-image-proof-returns-to-source-board/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 720479,
      "packageSha256": "ff3f947c0c837d8fee25a4137ca862fb6f81ffb2887d04a5b313c24b14fe91f8",
      "poster": "/videos/examples/posters/campaign-image-proof-returns-to-source-board.jpg",
      "render": {
        "sha256": "f3dd8adcb960c404c19f4ab9a5fb0e76e28e08b189105ee54af469acc55fb167",
        "bytes": 126185,
        "width": 1920,
        "height": 1080,
        "fps": "60",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/campaign-image-proof-returns-to-source-board/item.json",
      "observation": "The revised image occupies the viewer through f214. The pointer reaches the upper close control at f214, and the masonry board is visible at f256/f299 with the explanatory sidebar retained. Source states were inspected at the recorded sample frames; intervening timing and easing are authored approximations. Peripheral host insets and source photography are not remake assets.",
      "mechanism": "A long result hold establishes the object before the close action; the surrounding board returns without losing the persistent task explanation.",
      "phases": [
        {
          "frame": 0,
          "label": "Revised image proof"
        },
        {
          "frame": 171,
          "label": "Pointer approaches close"
        },
        {
          "frame": 214,
          "label": "Close control"
        },
        {
          "frame": 256,
          "label": "Board restored"
        }
      ]
    },
    {
      "id": "campaign-multiselect-cues-to-moodboard",
      "title": "Accumulate four visual cues before opening the mood board",
      "kind": "Layout & layers",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 9.0,
        "end": 14.0
      },
      "preview": "/videos/examples/additions/campaign-multiselect-cues-to-moodboard/remake.mp4",
      "sourcePreview": "/videos/examples/additions/campaign-multiselect-cues-to-moodboard/source.mp4",
      "adaptationPreview": "/videos/examples/additions/campaign-multiselect-cues-to-moodboard/adaptation.mp4",
      "download": "/videos/examples/additions/campaign-multiselect-cues-to-moodboard/package.zip",
      "svg": "/videos/examples/additions/campaign-multiselect-cues-to-moodboard/editable.svg",
      "resolve": "/videos/examples/additions/campaign-multiselect-cues-to-moodboard/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 721206,
      "packageSha256": "b08f5155d1e8f69399cf74873f1c4b94418f3a54ce0fa37b445711a8697a0f67",
      "poster": "/videos/examples/posters/campaign-multiselect-cues-to-moodboard.jpg",
      "render": {
        "sha256": "d2a4742de4a1c0f098ae8e95cb34ec8698f9d447743c14e0362cfc8e0492b4d8",
        "bytes": 126877,
        "width": 1920,
        "height": 1080,
        "fps": "60",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/campaign-multiselect-cues-to-moodboard/item.json",
      "observation": "The source begins with one selected pill. New choices appear at f43/f85/f128/f171, and the count reaches four before the attachment click at f214. The full masonry image board replaces the brief at f256. Source states were inspected at the recorded sample frames; intervening timing and easing are authored approximations. Peripheral host insets and source photography are not remake assets.",
      "mechanism": "Selections persist across three question rows; their accumulated count is committed once, then the scene cuts to a populated image board.",
      "phases": [
        {
          "frame": 0,
          "label": "First cue"
        },
        {
          "frame": 85,
          "label": "Multiple rows selected"
        },
        {
          "frame": 171,
          "label": "Four cues accumulated"
        },
        {
          "frame": 214,
          "label": "Attach cues"
        },
        {
          "frame": 256,
          "label": "Image board"
        }
      ]
    },
    {
      "id": "campaign-scroll-mixed-variants-into-poster-detail",
      "title": "Scroll through mixed campaign formats and open one poster",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Create campaign concepts and assets with Codex",
        "id": "2ey7znf8SI0",
        "url": "https://www.youtube.com/watch?v=2ey7znf8SI0",
        "start": 63.0,
        "end": 68.0
      },
      "preview": "/videos/examples/additions/campaign-scroll-mixed-variants-into-poster-detail/remake.mp4",
      "sourcePreview": "/videos/examples/additions/campaign-scroll-mixed-variants-into-poster-detail/source.mp4",
      "adaptationPreview": "/videos/examples/additions/campaign-scroll-mixed-variants-into-poster-detail/adaptation.mp4",
      "download": "/videos/examples/additions/campaign-scroll-mixed-variants-into-poster-detail/package.zip",
      "svg": "/videos/examples/additions/campaign-scroll-mixed-variants-into-poster-detail/editable.svg",
      "resolve": "/videos/examples/additions/campaign-scroll-mixed-variants-into-poster-detail/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 722181,
      "packageSha256": "7ee11e700ce09604941b3b8588d707d4841ea8b157e2173872691e8ba293c45b",
      "poster": "/videos/examples/posters/campaign-scroll-mixed-variants-into-poster-detail.jpg",
      "render": {
        "sha256": "c3f8d9f75d2ad2ecdad3aa42b2ece620ddb0e38a9185f2a30f1ca1f66f430312",
        "bytes": 336738,
        "width": 1920,
        "height": 1080,
        "fps": "60",
        "frames": 300,
        "duration": 5.0,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/campaign-scroll-mixed-variants-into-poster-detail/item.json",
      "observation": "At f0 four selected image thumbnails remain. The widened board scrolls through new formats at f43/f85/f128 and holds at f171/f214. A single square poster fills the viewer by f256. Source states were inspected at the recorded sample frames; intervening timing and easing are authored approximations. Peripheral host insets and source photography are not remake assets.",
      "mechanism": "Preserve the source selection context, move a mixed-height grid vertically to expose new campaign outputs, and open one concrete design from that grid.",
      "phases": [
        {
          "frame": 0,
          "label": "Selected source images"
        },
        {
          "frame": 85,
          "label": "New formats entering"
        },
        {
          "frame": 171,
          "label": "Mixed-format grid hold"
        },
        {
          "frame": 214,
          "label": "Poster chosen"
        },
        {
          "frame": 256,
          "label": "Single design opened"
        }
      ]
    },
    {
      "id": "codex-project-change-between-two-camera-moves",
      "title": "Change a project between a push-in and a composer reframe",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "A first look at the Codex app",
        "id": "0e-Brv-gS9Q",
        "url": "https://www.youtube.com/watch?v=0e-Brv-gS9Q",
        "start": 34.200833333333335,
        "end": 38.99729166666667
      },
      "preview": "/videos/examples/additions/codex-project-change-between-two-camera-moves/remake.mp4",
      "sourcePreview": "/videos/examples/additions/codex-project-change-between-two-camera-moves/source.mp4",
      "adaptationPreview": "/videos/examples/additions/codex-project-change-between-two-camera-moves/adaptation.mp4",
      "download": "/videos/examples/additions/codex-project-change-between-two-camera-moves/package.zip",
      "svg": "/videos/examples/additions/codex-project-change-between-two-camera-moves/editable.svg",
      "resolve": "/videos/examples/additions/codex-project-change-between-two-camera-moves/resolve.txt",
      "limitations": [
        "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 713059,
      "packageSha256": "d380f52a460d04106ce82fed294d795a9c6bfedc0ee24fc70167f20ac35ee51d",
      "poster": "/videos/examples/posters/codex-project-change-between-two-camera-moves.jpg",
      "render": {
        "sha256": "543cda59b4f5e14f4c296eff64000da0f41d9e51e03370e60fc30bbd5acad322",
        "bytes": 293010,
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 115,
        "duration": 4.796456,
        "codec": "h264",
        "pixelFormat": "yuv420p",
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/additions/codex-project-change-between-two-camera-moves/item.json",
      "observation": "The app starts wide, pushes to the project heading, opens the picker, changes project and then moves toward the composer. Observed in sampled source frames; event onsets between samples are approximate.",
      "mechanism": "The menu interaction is bounded by two different camera destinations. Geometry, copy, vector artwork and easing are authored approximations.",
      "phases": [
        {
          "frame": 0,
          "label": "Initial source composition"
        },
        {
          "frame": 23,
          "label": "Camera settles on the project selector"
        },
        {
          "frame": 67,
          "label": "Third project row is highlighted"
        },
        {
          "frame": 91,
          "label": "Selected name changes before the downward reframe"
        }
      ]
    },
    {
      "id": "at-mention-menu-filters-into-app-chip-then-prompt-types",
      "title": "Type an @-mention, watch the app menu filter, commit it as a chip, then type the prompt",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Introducing Sites in Codex",
        "id": "VRvC5smyzso",
        "url": "https://www.youtube.com/watch?v=VRvC5smyzso",
        "start": 3.066666666666667,
        "end": 5.6
      },
      "preview": "/videos/examples/caret-fix/at-mention-menu-filters-into-app-chip-then-prompt-types/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/at-mention-menu-filters-into-app-chip-then-prompt-types/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/at-mention-menu-filters-into-app-chip-then-prompt-types/adaptation.mp4",
      "download": "/videos/examples/caret-fix/at-mention-menu-filters-into-app-chip-then-prompt-types/package.zip",
      "svg": "/videos/examples/caret-fix/at-mention-menu-filters-into-app-chip-then-prompt-types/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148093,
      "packageSha256": "4da55bf5df459781f6a56075e239f8640fa78803a58382a54fb18adc35a503c6",
      "poster": "/videos/examples/posters/at-mention-menu-filters-into-app-chip-then-prompt-types.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 76,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/at-mention-menu-filters-into-app-chip-then-prompt-types/item.json",
      "observation": "A wide white composer sits under a right-aligned headline. At f8 an '@' is typed and a menu of app rows appears above the field; by f14 '@s' has filtered it to three matching rows, and at f18-20 the field reads '@site'. On f22 the typed text is replaced by a blue 'Sites' chip and the menu disappears. From f28 the prompt types on after the chip with a caret, reaching 'Build me a forecasting dashboar' by about f70, then continues past the end of the interval.",
      "mechanism": "Typed mention to committed token: a live-filtering menu narrows as characters arrive, the match snaps into a chip, and free-text typing resumes after it.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty composer with placeholder"
        },
        {
          "frame": 8,
          "label": "'@' typed, app menu appears above"
        },
        {
          "frame": 14,
          "label": "Menu filters to matches"
        },
        {
          "frame": 22,
          "label": "Text snaps into a chip, menu closes"
        },
        {
          "frame": 28,
          "label": "Prompt types on after the chip"
        }
      ]
    },
    {
      "id": "floating-composer-bubble-grows-as-lines-and-chips-type-on",
      "title": "Type a prompt into a floating composer that grows symmetrically as lines wrap and inline source chips land",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "How to Schedule a Weekly Metrics Report With ChatGPT Work",
        "id": "p_slDAvPjv0",
        "url": "https://www.youtube.com/watch?v=p_slDAvPjv0",
        "start": 42.00029166666667,
        "end": 47.75604166666667
      },
      "preview": "/videos/examples/caret-fix/floating-composer-bubble-grows-as-lines-and-chips-type-on/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/floating-composer-bubble-grows-as-lines-and-chips-type-on/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/floating-composer-bubble-grows-as-lines-and-chips-type-on/adaptation.mp4",
      "download": "/videos/examples/caret-fix/floating-composer-bubble-grows-as-lines-and-chips-type-on/package.zip",
      "svg": "/videos/examples/caret-fix/floating-composer-bubble-grows-as-lines-and-chips-type-on/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148452,
      "packageSha256": "e6b9db655c10c206ee3bd8db7c702505d8f3fe368f38db5cfde8ad3890947e23",
      "poster": "/videos/examples/posters/floating-composer-bubble-grows-as-lines-and-chips-type-on.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 138,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/floating-composer-bubble-grows-as-lines-and-chips-type-on/item.json",
      "observation": "A white rounded composer floats over a dark shot of hands typing, with a plus circle to its left and a black send circle inside its right edge. Text types on at 34 px; the bubble starts two lines tall and each time the text wraps (local ~28, ~60, ~84) the bubble grows about 50 px, expanding equally up and down so the plus and send controls stay on its vertical centre. Coloured inline chips (small icon square plus tinted word) land at ~28, ~40 and ~52 between typed words. Typing completes at ~109 and the five-line bubble holds.",
      "mechanism": "Auto-growing composer: a centred bubble that re-sizes in steps as typed text wraps, with inline chip insertions interrupting the character type-on.",
      "phases": [
        {
          "frame": 0,
          "label": "Two-line bubble, first line typing"
        },
        {
          "frame": 28,
          "label": "First chip lands; bubble grows to three lines"
        },
        {
          "frame": 40,
          "label": "Second chip"
        },
        {
          "frame": 52,
          "label": "Third chip"
        },
        {
          "frame": 60,
          "label": "Fourth line types; bubble grows"
        },
        {
          "frame": 84,
          "label": "Fifth line types; bubble grows"
        },
        {
          "frame": 109,
          "label": "Prompt complete, hold"
        }
      ]
    },
    {
      "id": "fly-tilted-composer-type-on-completes-then-cut",
      "title": "Cut into a tilted on-screen composer mid-word, finish the type-on, hold, and cut away",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "It's time to fly | Codex",
        "id": "bJcA23ckzcY",
        "url": "https://www.youtube.com/watch?v=bJcA23ckzcY",
        "start": 21.77175,
        "end": 23.690333333333335
      },
      "preview": "/videos/examples/caret-fix/fly-tilted-composer-type-on-completes-then-cut/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/fly-tilted-composer-type-on-completes-then-cut/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/fly-tilted-composer-type-on-completes-then-cut/adaptation.mp4",
      "download": "/videos/examples/caret-fix/fly-tilted-composer-type-on-completes-then-cut/package.zip",
      "svg": "/videos/examples/caret-fix/fly-tilted-composer-type-on-completes-then-cut/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148144,
      "packageSha256": "6c0414aeb10fbfcbe270c4e3c6264536628e51ad0203ff124487d4ca2924cda9",
      "poster": "/videos/examples/posters/fly-tilted-composer-type-on-completes-then-cut.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 46,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/fly-tilted-composer-type-on-completes-then-cut/item.json",
      "observation": "Local 0 is a hard cut from a face to a monitor filmed at a steep angle: a dark app with three changed-file rows and a composer whose text already reads a few characters ('Add o\u2026'). Characters keep arriving about one per frame until the sentence completes at ~f26; a caret sits at the end and a model chip with a spinner sits at right. The frame holds on the finished prompt until ~f46, when the picture hard-cuts to a hallway shot. The camera drifts very slightly throughout.",
      "mechanism": "Diegetic type-on: a caret-driven character reveal inside a perspective-tilted screen, bracketed by hard cuts on both sides.",
      "phases": [
        {
          "frame": 0,
          "label": "Cut in; a few characters already typed"
        },
        {
          "frame": 24,
          "label": "Sentence complete, caret holds"
        },
        {
          "frame": 46,
          "label": "Cut away (window end)"
        }
      ]
    },
    {
      "id": "macro-composer-types-request-then-link-line-pastes-in",
      "title": "Type a request into a macro-framed composer, then paste a blue link line in one frame",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Work with docs, sheets, and slides in ChatGPT",
        "id": "E3dDr_QtBuo",
        "url": "https://www.youtube.com/watch?v=E3dDr_QtBuo",
        "start": 10.5105,
        "end": 15.015
      },
      "preview": "/videos/examples/caret-fix/macro-composer-types-request-then-link-line-pastes-in/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/macro-composer-types-request-then-link-line-pastes-in/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/macro-composer-types-request-then-link-line-pastes-in/adaptation.mp4",
      "download": "/videos/examples/caret-fix/macro-composer-types-request-then-link-line-pastes-in/package.zip",
      "svg": "/videos/examples/caret-fix/macro-composer-types-request-then-link-line-pastes-in/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148269,
      "packageSha256": "ae115cbdbbc7c5ea5ba880d32767838d3a7a82f53acee68c4c653cc27355079c",
      "poster": "/videos/examples/posters/macro-composer-types-request-then-link-line-pastes-in.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 108,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/macro-composer-types-request-then-link-line-pastes-in/item.json",
      "observation": "The camera has already pushed in: the composer fills the lower-left of frame, with the document's headings (Story, Audience and outcome, Messaging) and a presenter picture-in-picture to the right. The composer shows its placeholder while the pointer arrives (local 0 to 18). Typing starts at ~19 (master 271) and wraps onto a second line by ~60; the sentence ending in a colon completes at ~84 (master 336). At ~92 (master 344) a full blue URL appears on the next lines in a single frame, pasted rather than typed. Everything holds until the window ends at 108.",
      "mechanism": "Caret-driven type-on that wraps, followed by a one-frame paste of a styled link line: two different text-arrival speeds inside one field, the second signalled by colour.",
      "phases": [
        {
          "frame": 0,
          "label": "Macro composer with placeholder"
        },
        {
          "frame": 19,
          "label": "Type-on begins"
        },
        {
          "frame": 84,
          "label": "Sentence complete"
        },
        {
          "frame": 92,
          "label": "Link line pastes in blue"
        },
        {
          "frame": 108,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "mode-pill-activates-then-prompt-types-and-send-arms",
      "title": "Click a mode pill to turn it active blue, then type so the send button arms",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "OpenAI deep research in practice.",
        "id": "zm6F0vo2E64",
        "url": "https://www.youtube.com/watch?v=zm6F0vo2E64",
        "start": 38.872166666666665,
        "end": 41.79175
      },
      "preview": "/videos/examples/caret-fix/mode-pill-activates-then-prompt-types-and-send-arms/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/mode-pill-activates-then-prompt-types-and-send-arms/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/mode-pill-activates-then-prompt-types-and-send-arms/adaptation.mp4",
      "download": "/videos/examples/caret-fix/mode-pill-activates-then-prompt-types-and-send-arms/package.zip",
      "svg": "/videos/examples/caret-fix/mode-pill-activates-then-prompt-types-and-send-arms/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148088,
      "packageSha256": "c63834178d4363da4b5384dbd10dedc1d1c37f288fd3ad4ddf9b622689e6febd",
      "poster": "/videos/examples/posters/mode-pill-activates-then-prompt-types-and-send-arms.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 70,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/mode-pill-activates-then-prompt-types-and-send-arms/item.json",
      "observation": "A white screen shows a centred 'What can I help with?' heading, a light grey composer with a placeholder, a row of mode pills (Attach, Search, Deep research) and a round black voice button, plus a row of suggestion chips below. The pointer moves to the 'Deep research' pill (f0-10) and clicks (~f12): the pill fills light blue with blue text and icon. A caret appears in the field around f22 and 'Can you' types on from about f44 to f60; on the first character the round button swaps its voice glyph for an upward send arrow. Hard cut out at f70.",
      "mechanism": "State chaining in a composer: a pill toggles to an active colour, focus enters the field, and the first typed character re-arms the primary button.",
      "phases": [
        {
          "frame": 0,
          "label": "Composer idle, pointer approaching"
        },
        {
          "frame": 12,
          "label": "Click: pill turns active blue"
        },
        {
          "frame": 22,
          "label": "Caret appears in the field"
        },
        {
          "frame": 44,
          "label": "Typing begins; button swaps to send arrow"
        },
        {
          "frame": 60,
          "label": "Hold typed text until the cut"
        }
      ]
    },
    {
      "id": "numbered-list-types-on-as-camera-pushes-into-composer",
      "title": "Type a numbered list into a composer while the camera pushes in and older lines scroll out of the box",
      "kind": "Camera & framing",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Detailed Directions with 4o Image Generation",
        "id": "ELwb_emN1p0",
        "url": "https://www.youtube.com/watch?v=ELwb_emN1p0",
        "start": 30.655625,
        "end": 35.660625
      },
      "preview": "/videos/examples/caret-fix/numbered-list-types-on-as-camera-pushes-into-composer/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/numbered-list-types-on-as-camera-pushes-into-composer/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/numbered-list-types-on-as-camera-pushes-into-composer/adaptation.mp4",
      "download": "/videos/examples/caret-fix/numbered-list-types-on-as-camera-pushes-into-composer/package.zip",
      "svg": "/videos/examples/caret-fix/numbered-list-types-on-as-camera-pushes-into-composer/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 147731,
      "packageSha256": "4ed391d0dc0ace289bb95ca4070c0e1670a945f9e93ba5f5e04fdedba72bb3c2",
      "poster": "/videos/examples/posters/numbered-list-types-on-as-camera-pushes-into-composer.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 120,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/numbered-list-types-on-as-camera-pushes-into-composer/item.json",
      "observation": "A grey composer with a row of tool glyphs sits mid-frame; 'An Im' is typing with a caret (f0). The first line completes by ~f15, '1.' starts ~f30 and by ~f45 the camera has pushed in so the composer fills the frame. Lines 2, 3 and 4 type on at ~f45\u201362, ~f70\u201390 and ~f96\u2013115; as each new line starts, the earlier lines scroll upward out of the visible text area so roughly three lines stay in view above the glyph row.",
      "mechanism": "A caret type-on of a multi-line list inside a fixed-height composer, with a slow camera push-in and stepped upward scrolling of completed lines.",
      "phases": [
        {
          "frame": 0,
          "label": "Header line typing, wide framing"
        },
        {
          "frame": 16,
          "label": "Camera push-in begins"
        },
        {
          "frame": 30,
          "label": "Item 1 types"
        },
        {
          "frame": 50,
          "label": "Push-in lands; item 2 types"
        },
        {
          "frame": 70,
          "label": "Lines scroll up one step; item 3"
        },
        {
          "frame": 96,
          "label": "Second scroll step; item 4"
        },
        {
          "frame": 119,
          "label": "Hold"
        }
      ]
    },
    {
      "id": "people-picker-typeahead-loading-row-then-chip-commits",
      "title": "Type a name into a people picker, show a loading row, surface one match and commit it as a chip",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT Work for Sales: Pipeline and Forecast Intelligence",
        "id": "q9TPE7pKkIo",
        "url": "https://www.youtube.com/watch?v=q9TPE7pKkIo",
        "start": 84.0,
        "end": 88.0
      },
      "preview": "/videos/examples/caret-fix/people-picker-typeahead-loading-row-then-chip-commits/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/people-picker-typeahead-loading-row-then-chip-commits/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/people-picker-typeahead-loading-row-then-chip-commits/adaptation.mp4",
      "download": "/videos/examples/caret-fix/people-picker-typeahead-loading-row-then-chip-commits/package.zip",
      "svg": "/videos/examples/caret-fix/people-picker-typeahead-loading-row-then-chip-commits/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149783,
      "packageSha256": "fcdf2798c2e82c3f821122cc79f1ca64e5495a4e3da3e065be654eb8ac09692f",
      "poster": "/videos/examples/posters/people-picker-typeahead-loading-row-then-chip-commits.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 120,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/people-picker-typeahead-loading-row-then-chip-commits/item.json",
      "observation": "A dark team-chat app sits on a starfield with an 'Add people to # channel' dialog open at centre-left. The pointer clicks the empty email field (~f6) and a first name is typed (~f8-15). A 'Loading results\u2026' row appears under the field (~f15-24) and is replaced by a single highlighted suggestion row with an avatar (~f24). The pointer clicks it (~f40) and the row collapses into a chip inside the field while a green Add button appears (~f43). At ~f76 the source jump-cuts to a state with three chips and a fresh loading row; a second suggestion appears (~f88) and is committed as a fourth chip (~f103) as more text is typed.",
      "mechanism": "Type-ahead picker: typed text produces a loading state, then one suggestion row, and accepting it converts the row into an in-field chip that accumulates across a jump cut.",
      "phases": [
        {
          "frame": 0,
          "label": "Dialog idle, empty field"
        },
        {
          "frame": 6,
          "label": "Field clicked, focus ring"
        },
        {
          "frame": 8,
          "label": "First name typed"
        },
        {
          "frame": 15,
          "label": "Loading row"
        },
        {
          "frame": 24,
          "label": "Single suggestion row"
        },
        {
          "frame": 40,
          "label": "Suggestion clicked"
        },
        {
          "frame": 43,
          "label": "Chip committed, Add button appears"
        },
        {
          "frame": 76,
          "label": "Jump cut: three chips, new loading row"
        },
        {
          "frame": 88,
          "label": "Second suggestion"
        },
        {
          "frame": 103,
          "label": "Fourth chip committed, typing continues"
        }
      ]
    },
    {
      "id": "permission-sheet-button-press-shrinks-out-to-typed-prompt",
      "title": "Press a permission button, shrink the sheet away, and land on a typing composer",
      "kind": "Selection & controls",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Health in ChatGPT is coming to U.S. users",
        "id": "lR58Dge8jE8",
        "url": "https://www.youtube.com/watch?v=lR58Dge8jE8",
        "start": 27.666666666666668,
        "end": 31.0
      },
      "preview": "/videos/examples/caret-fix/permission-sheet-button-press-shrinks-out-to-typed-prompt/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/permission-sheet-button-press-shrinks-out-to-typed-prompt/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/permission-sheet-button-press-shrinks-out-to-typed-prompt/adaptation.mp4",
      "download": "/videos/examples/caret-fix/permission-sheet-button-press-shrinks-out-to-typed-prompt/package.zip",
      "svg": "/videos/examples/caret-fix/permission-sheet-button-press-shrinks-out-to-typed-prompt/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148272,
      "packageSha256": "67491876facc5c23f945fa3d7b7c3f4bdcc0f4c048c3cf19b3e938c9afc32c1c",
      "poster": "/videos/examples/posters/permission-sheet-button-press-shrinks-out-to-typed-prompt.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "30/1",
        "frames": 100,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/permission-sheet-button-press-shrinks-out-to-typed-prompt/item.json",
      "observation": "A centred permission card holds: small red icon and 'Health' label, a bold question, two grey sentences with a 'See Details' link, an outlined 'Deny' pill and two filled black pills (f0\u201334). At ~f35 the bottom 'Always allow' pill turns mid-grey as it is pressed. From ~f48 the whole card scales down and fades out; by f56 it is gone and a grey composer bubble appears upper-right with a purple send circle, then a question types on across two lines to f99.",
      "mechanism": "A modal is dismissed by a button press state plus a scale-and-fade out, and the freed space is immediately reused by a caret-driven type-on in a chat composer.",
      "phases": [
        {
          "frame": 0,
          "label": "Permission sheet holds"
        },
        {
          "frame": 35,
          "label": "Bottom button turns grey (pressed)"
        },
        {
          "frame": 48,
          "label": "Sheet scales down and fades"
        },
        {
          "frame": 56,
          "label": "Composer bubble appears, typing begins"
        },
        {
          "frame": 99,
          "label": "Question complete"
        }
      ]
    },
    {
      "id": "plugin-chip-prompt-types-then-send-hard-cuts-to-working-log",
      "title": "Type after a plugin chip, click send, and hard-cut into the agent's working log",
      "kind": "Timing & transitions",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Build and test iOS apps without leaving Codex",
        "id": "u9zLlcsCDiQ",
        "url": "https://www.youtube.com/watch?v=u9zLlcsCDiQ",
        "start": 2.002,
        "end": 5.839166666666666
      },
      "preview": "/videos/examples/caret-fix/plugin-chip-prompt-types-then-send-hard-cuts-to-working-log/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/plugin-chip-prompt-types-then-send-hard-cuts-to-working-log/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/plugin-chip-prompt-types-then-send-hard-cuts-to-working-log/adaptation.mp4",
      "download": "/videos/examples/caret-fix/plugin-chip-prompt-types-then-send-hard-cuts-to-working-log/package.zip",
      "svg": "/videos/examples/caret-fix/plugin-chip-prompt-types-then-send-hard-cuts-to-working-log/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148959,
      "packageSha256": "cfa917ccbd1128277230d0cb6e36cfe2afc13ded3f07f3ccef2d418a8e7b109f",
      "poster": "/videos/examples/posters/plugin-chip-prompt-types-then-send-hard-cuts-to-working-log.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 92,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/plugin-chip-prompt-types-then-send-hard-cuts-to-working-log/item.json",
      "observation": "A centred heading asks what to build; below it a white composer holds a blue plugin chip and a request typing on with a caret (f0\u201342). The pointer drifts to the black send circle and clicks at ~f62; the button flashes. At ~f68 the frame hard-cuts to the workspace: the prompt (chip plus text) sits as a grey pill at upper right, a right-hand environment column lists context, and under a 'Working' label a paragraph streams in, ending with a faint 'Thinking' status.",
      "mechanism": "Composer type-on behind an inline chip, a click on send, then a hard cut that re-homes the prompt as a message pill while the agent's log streams in.",
      "phases": [
        {
          "frame": 0,
          "label": "Typing after the chip, caret visible"
        },
        {
          "frame": 42,
          "label": "Prompt complete"
        },
        {
          "frame": 62,
          "label": "Send clicked"
        },
        {
          "frame": 68,
          "label": "Hard cut to workspace with prompt pill"
        },
        {
          "frame": 72,
          "label": "Working paragraph streams"
        },
        {
          "frame": 91,
          "label": "Thinking status holds"
        }
      ]
    },
    {
      "id": "sites-dialog-typed-suggestion-to-chips",
      "title": "Type a domain, accept its suggestion, and let the dialog grow a chip row",
      "kind": "Interface sequences",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "Updates to deep research in ChatGPT",
        "id": "2gCqVb2lBwk",
        "url": "https://www.youtube.com/watch?v=2gCqVb2lBwk",
        "start": 20.0,
        "end": 27.0
      },
      "preview": "/videos/examples/caret-fix/sites-dialog-typed-suggestion-to-chips/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/sites-dialog-typed-suggestion-to-chips/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/sites-dialog-typed-suggestion-to-chips/adaptation.mp4",
      "download": "/videos/examples/caret-fix/sites-dialog-typed-suggestion-to-chips/package.zip",
      "svg": "/videos/examples/caret-fix/sites-dialog-typed-suggestion-to-chips/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 149380,
      "packageSha256": "25a27baab0903d5b5336ac2a2fd67254e83034fa798928b2af9e6df2d91e4737",
      "poster": "/videos/examples/posters/sites-dialog-typed-suggestion-to-chips.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "60/1",
        "frames": 420,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/sites-dialog-typed-suggestion-to-chips/item.json",
      "observation": "A 'Search specific sites' dialog fades in over the dimmed composer around local frame 30. The pointer clicks the empty website field (~f100) and 'bea' is typed (~f120\u2013165); a single suggestion row appears beneath the field (~f150). Clicking the suggestion (~f206) inserts a 'bea.gov' chip above the toggle row and pushes the field, Add link and Done button down. A second domain is typed in full (~f262\u2013330) and committed (~f380), producing a second chip and a second downward shift.",
      "mechanism": "Progressive disclosure inside a modal: typed input produces a suggestion, acceptance converts it into a persistent chip, and the dialog re-flows downward per committed item.",
      "phases": [
        {
          "frame": 0,
          "label": "Dimmed app, no dialog"
        },
        {
          "frame": 20,
          "label": "Dialog fades and scales in"
        },
        {
          "frame": 100,
          "label": "Field clicked"
        },
        {
          "frame": 120,
          "label": "First domain typed, suggestion appears"
        },
        {
          "frame": 210,
          "label": "Suggestion accepted: chip inserted, lower content shifts 52px"
        },
        {
          "frame": 262,
          "label": "Second domain typed in full"
        },
        {
          "frame": 380,
          "label": "Second chip committed, second shift"
        }
      ]
    },
    {
      "id": "typed-trigger-opens-app-menu-then-selection-inserts-chip",
      "title": "Type into the composer, open an app menu from a trigger word, and let the selection collapse into an inline chip",
      "kind": "Typography",
      "status": "Rendered draft",
      "verification": "rendered-draft",
      "source": {
        "title": "ChatGPT can now complete tasks on your computer",
        "id": "dB6pOolO7io",
        "url": "https://www.youtube.com/watch?v=dB6pOolO7io",
        "start": 52.385666666666665,
        "end": 56.13941666666667
      },
      "preview": "/videos/examples/caret-fix/typed-trigger-opens-app-menu-then-selection-inserts-chip/remake.mp4",
      "sourcePreview": "/videos/examples/caret-fix/typed-trigger-opens-app-menu-then-selection-inserts-chip/source.mp4",
      "adaptationPreview": "/videos/examples/caret-fix/typed-trigger-opens-app-menu-then-selection-inserts-chip/adaptation.mp4",
      "download": "/videos/examples/caret-fix/typed-trigger-opens-app-menu-then-selection-inserts-chip/package.zip",
      "svg": "/videos/examples/caret-fix/typed-trigger-opens-app-menu-then-selection-inserts-chip/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 after correcting unrevealed whitespace and the caret\u2019s active line."
      ],
      "bindingLevel": "full-render-manifest",
      "bytes": 148468,
      "packageSha256": "3ea50d2b2a2d35ca605d350c4d428b3122bdbbb01a6a0dd6cee31d325b05938f",
      "poster": "/videos/examples/posters/typed-trigger-opens-app-menu-then-selection-inserts-chip.jpg",
      "render": {
        "width": 1920,
        "height": 1080,
        "fps": "24000/1001",
        "frames": 90,
        "audioStreams": 0
      },
      "originalRecord": "/videos/examples/caret-fix/typed-trigger-opens-app-menu-then-selection-inserts-chip/item.json",
      "observation": "A white app window with a centred heading and an empty composer at the bottom, presenter picture-in-picture at right. The first word types on (~f4\u2013f12). At ~f15 a menu of app rows pops up above the composer (icon, name, small grey caption) and stays while the typed trigger filters it (~f15\u2013f26). At ~f27 the menu vanishes and an inline chip with an icon and app name replaces the trigger inside the composer. Typing then continues after the chip to the end of the sentence (~f33\u2013f84).",
      "mechanism": "Composer mention flow: caret type-on, trigger opens a filtered app menu, selection converts the trigger into an inline chip, and typing resumes after the chip.",
      "phases": [
        {
          "frame": 0,
          "label": "Empty composer"
        },
        {
          "frame": 4,
          "label": "First word types"
        },
        {
          "frame": 15,
          "label": "App menu pops up above composer"
        },
        {
          "frame": 27,
          "label": "Menu closes; chip inserted"
        },
        {
          "frame": 33,
          "label": "Typing resumes after chip"
        },
        {
          "frame": 84,
          "label": "Sentence complete"
        }
      ]
    }
  ]
}
