{
  "entry": {
    "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"
      }
    ]
  },
  "repair": {
    "id": "builder-transcript-scrolls-up-as-agent-rows-stack-in",
    "reason": "Packaged Scene.tsx filters unrevealed characters before laying out the caret; prior preview used the earlier runtime.",
    "originalPackageSha256": "7b7432503ce60e88edc74636c4d9a32c74af66ab59363684ccc3849cec068156"
  },
  "original": {
    "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",
    "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": [
      "Cxp2aZQqkYM",
      "121121/2000",
      "379379/6000"
    ],
    "source": {
      "filmId": "Cxp2aZQqkYM",
      "film": "How Base44 Uses GPT-5.6 to Build Apps With 20% Fewer Tokens",
      "url": "https://www.youtube.com/watch?v=Cxp2aZQqkYM",
      "frames": [
        1452,
        1516
      ],
      "fps": {
        "numerator": 24000,
        "denominator": 1001
      },
      "startSeconds": 60.5605,
      "endSeconds": 63.22983333333333,
      "publicationDate": "2026-08-17",
      "masterSha256": "0aa0d66575a55d67b18776979cc76e58ba692ed039bc3758a38ee15d43909839",
      "clockBasis": "Downloaded 1920x1080 rendition at 24000/1001 fps; excerpt frame i = master frame 1452+i, re-encoded to 960x540 without omitted positions."
    },
    "sourceHash": "80163452e6daaaa974fbe07fc9f33dd6907a5a6c45a66d5166e72afff9c63d23",
    "classification": "vector-code-approximation",
    "bindingLevel": "full-render-manifest",
    "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"
      }
    ],
    "checks": {
      "recipeSha256": "78d722e94962600fe19d7e79ef47cf5ef28bc3e04687150a717e43169aa70210",
      "renderManifestSha256": "2b8481cf44e79b00a9c7b2dd3fe77bbf77ef584b52b0333f29f4decf54d5a5ca",
      "adaptationManifestSha256": "ea2d55d69eb6b2bd16119a81d5c4dbb5f5805743cd70077ae52554bf8429ec51",
      "implementationFiles": 15,
      "movies": {
        "source": {
          "sha256": "80163452e6daaaa974fbe07fc9f33dd6907a5a6c45a66d5166e72afff9c63d23",
          "bytes": 336459,
          "width": 960,
          "height": 540,
          "fps": "24000/1001",
          "frames": 64,
          "duration": 2.669333,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "original": {
          "sha256": "462138feeeaa15c96e71d02545290d386903979b693ca174272b60622ed0cb90",
          "bytes": 527237,
          "width": 1920,
          "height": 1080,
          "fps": "24000/1001",
          "frames": 64,
          "duration": 2.669322,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "adaptation": {
          "sha256": "16e4655e428d0d14368e4a0fac62dc73df2550b16119fde964b805c31bbf76be",
          "bytes": 512203,
          "width": 1920,
          "height": 1080,
          "fps": "24000/1001",
          "frames": 64,
          "duration": 2.669322,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        }
      },
      "preparedArchive": {
        "sha256": "7b7432503ce60e88edc74636c4d9a32c74af66ab59363684ccc3849cec068156",
        "bytes": 153111,
        "members": 20,
        "crc": "pass"
      },
      "selectedSvg": {
        "sha256": "84b43acd262ef0f7c31515097c028a3eaf40c7cdaec7a0da2142487822e5cf6b",
        "bytes": 13668,
        "drawableElements": 75,
        "rasterEmbedded": false,
        "frame": 48,
        "meaningful": true
      },
      "contentDiffers": true,
      "renderSeconds": 38.1
    },
    "assets": {
      "source.mp4": {
        "path": "items/builder-transcript-scrolls-up-as-agent-rows-stack-in/source.mp4",
        "sha256": "80163452e6daaaa974fbe07fc9f33dd6907a5a6c45a66d5166e72afff9c63d23",
        "bytes": 336459
      },
      "remake.mp4": {
        "path": "items/builder-transcript-scrolls-up-as-agent-rows-stack-in/remake.mp4",
        "sha256": "462138feeeaa15c96e71d02545290d386903979b693ca174272b60622ed0cb90",
        "bytes": 527237
      },
      "adaptation.mp4": {
        "path": "items/builder-transcript-scrolls-up-as-agent-rows-stack-in/adaptation.mp4",
        "sha256": "16e4655e428d0d14368e4a0fac62dc73df2550b16119fde964b805c31bbf76be",
        "bytes": 512203
      },
      "editable.svg": {
        "path": "items/builder-transcript-scrolls-up-as-agent-rows-stack-in/editable.svg",
        "sha256": "84b43acd262ef0f7c31515097c028a3eaf40c7cdaec7a0da2142487822e5cf6b",
        "bytes": 13668
      },
      "resolve.txt": {
        "path": "items/builder-transcript-scrolls-up-as-agent-rows-stack-in/resolve.txt",
        "sha256": "cdef82c023df61aa1c0f9b0f4d3ad46208ee7ec13364b36d4df699686b7d5480",
        "bytes": 11583
      },
      "package.zip": {
        "path": "items/builder-transcript-scrolls-up-as-agent-rows-stack-in/package.zip",
        "sha256": "7b7432503ce60e88edc74636c4d9a32c74af66ab59363684ccc3849cec068156",
        "bytes": 153111
      },
      "recipe.json": {
        "path": "items/builder-transcript-scrolls-up-as-agent-rows-stack-in/recipe.json",
        "sha256": "78d722e94962600fe19d7e79ef47cf5ef28bc3e04687150a717e43169aa70210",
        "bytes": 20115
      }
    },
    "builtAt": "2026-09-18T05:08:52Z"
  }
}
