{
 "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",
 "family": "list",
 "status": "rendered-draft",
 "edition": "studies-300",
 "gaps": [
  "Visual fidelity is an authored draft judgement from sampled source frames; no independent blind review or native Resolve execution."
 ],
 "intervalKey": [
  "CToxp125mhc",
  "33033/2000",
  "79079/4000"
 ],
 "source": {
  "filmId": "CToxp125mhc",
  "film": "Schedule tasks with ChatGPT",
  "url": "https://www.youtube.com/watch?v=CToxp125mhc",
  "frames": [
   396,
   474
  ],
  "fps": {
   "numerator": 24000,
   "denominator": 1001
  },
  "startSeconds": 16.5165,
  "endSeconds": 19.76975,
  "publicationDate": "2026-07-15",
  "masterSha256": "0f579f5c042366a1ef207d0eeee2f8c3b6bd0a230f48397e1d4e475f54c653ed",
  "clockBasis": "Downloaded 1920x1080 rendition at 24000/1001 fps; excerpt frame i = master frame 396+i, re-encoded to 960x540 without omitted positions."
 },
 "sourceHash": "bae33b35c288c023e16247c9b23c40e7a366d0928e3007bc6fe2355d0ac0d207",
 "classification": "vector-code-approximation",
 "bindingLevel": "full-render-manifest",
 "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"
  }
 ],
 "checks": {
  "recipeSha256": "9dc5112bd922c10f3fb6ab654cbff60e275d7575a172d3fd4d3402b7a179d2e6",
  "renderManifestSha256": "99a07f1a9ee2d284719d183895557f37de643ae7ee9bdf1e5db3a72093762af6",
  "adaptationManifestSha256": "ebfe6914bbc7def4097337435d258e05ec43d4496cd48fb11b2ec1b566dafd2a",
  "implementationFiles": 15,
  "movies": {
   "source": {
    "sha256": "bae33b35c288c023e16247c9b23c40e7a366d0928e3007bc6fe2355d0ac0d207",
    "bytes": 341113,
    "width": 960,
    "height": 540,
    "fps": "24000/1001",
    "frames": 78,
    "duration": 3.25325,
    "codec": "h264",
    "pixelFormat": "yuv420p",
    "audioStreams": 0
   },
   "original": {
    "sha256": "0bce2f6fe2a8a86240211f30cd4c9e9ef3ae781c12ff950c858679aaebdfe9ca",
    "bytes": 394954,
    "width": 1920,
    "height": 1080,
    "fps": "24000/1001",
    "frames": 78,
    "duration": 3.253244,
    "codec": "h264",
    "pixelFormat": "yuv420p",
    "audioStreams": 0
   },
   "adaptation": {
    "sha256": "03384f5b09bfe51b5c5faafcb59ca215f82c2be3ac83258ffb3099c5413c6e69",
    "bytes": 330009,
    "width": 1920,
    "height": 1080,
    "fps": "24000/1001",
    "frames": 78,
    "duration": 3.253244,
    "codec": "h264",
    "pixelFormat": "yuv420p",
    "audioStreams": 0
   }
  },
  "preparedArchive": {
   "sha256": "d926becb026f85715af57af959840150887114d5058d2a13c2e0c561760e95ff",
   "bytes": 153166,
   "members": 20,
   "crc": "pass"
  },
  "selectedSvg": {
   "sha256": "54ad90293573949b30c651fd4007ee3f1f93cd4049fe343d04cb9bbfad2e00ea",
   "bytes": 8970,
   "drawableElements": 46,
   "rasterEmbedded": false,
   "frame": 58,
   "meaningful": true
  },
  "contentDiffers": true,
  "renderSeconds": 25.7
 },
 "assets": {
  "source.mp4": {
   "path": "items/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/source.mp4",
   "sha256": "bae33b35c288c023e16247c9b23c40e7a366d0928e3007bc6fe2355d0ac0d207",
   "bytes": 341113
  },
  "remake.mp4": {
   "path": "items/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/remake.mp4",
   "sha256": "0bce2f6fe2a8a86240211f30cd4c9e9ef3ae781c12ff950c858679aaebdfe9ca",
   "bytes": 394954
  },
  "adaptation.mp4": {
   "path": "items/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/adaptation.mp4",
   "sha256": "03384f5b09bfe51b5c5faafcb59ca215f82c2be3ac83258ffb3099c5413c6e69",
   "bytes": 330009
  },
  "editable.svg": {
   "path": "items/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/editable.svg",
   "sha256": "54ad90293573949b30c651fd4007ee3f1f93cd4049fe343d04cb9bbfad2e00ea",
   "bytes": 8970
  },
  "resolve.txt": {
   "path": "items/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/resolve.txt",
   "sha256": "48bdab3886b7e8597f799f0d659b727b0c180495977eddcae4363c2e0847bd43",
   "bytes": 12579
  },
  "package.zip": {
   "path": "items/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/package.zip",
   "sha256": "d926becb026f85715af57af959840150887114d5058d2a13c2e0c561760e95ff",
   "bytes": 153166
  },
  "recipe.json": {
   "path": "items/log-rows-stack-then-swap-to-streaming-brief-with-autoscroll/recipe.json",
   "sha256": "9dc5112bd922c10f3fb6ab654cbff60e275d7575a172d3fd4d3402b7a179d2e6",
   "bytes": 21152
  }
 },
 "builtAt": "2026-09-18T05:50:21Z"
}