{
  "entry": {
    "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"
      }
    ]
  },
  "repair": {
    "id": "builder-push-in-on-composer-then-send-lifts-prompt-to-bubble",
    "reason": "Packaged Scene.tsx filters unrevealed characters before laying out the caret; prior preview used the earlier runtime.",
    "originalPackageSha256": "3b84b6501783c90d1c47807dc917fed02e48f64f578c00816f6fc239d1350880"
  },
  "original": {
    "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",
    "family": "camera",
    "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",
      "19019/800",
      "2002/75"
    ],
    "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": [
        570,
        640
      ],
      "fps": {
        "numerator": 24000,
        "denominator": 1001
      },
      "startSeconds": 23.77375,
      "endSeconds": 26.69333333333333,
      "publicationDate": "2026-08-17",
      "masterSha256": "0aa0d66575a55d67b18776979cc76e58ba692ed039bc3758a38ee15d43909839",
      "clockBasis": "Downloaded 1920x1080 rendition at 24000/1001 fps; excerpt frame i = master frame 570+i, re-encoded to 960x540 without omitted positions."
    },
    "sourceHash": "263682fc583452f98d5c6a7b3aaa09057bfcdd973e5623300d2d71471d65aa03",
    "classification": "vector-code-approximation",
    "bindingLevel": "full-render-manifest",
    "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"
      }
    ],
    "checks": {
      "recipeSha256": "03b5c0f542827bc98493d223a04e2c1cfd74d30429f88b4a1a68e008bb027330",
      "renderManifestSha256": "b98a0abc1cfa2c0bff61662cc6a930553609f49613da848c8133b9ce97a2cd27",
      "adaptationManifestSha256": "eec6695a2c440c9f947290000aba13aba6f26fe9f2ac76348f48c654f7792fa7",
      "implementationFiles": 15,
      "movies": {
        "source": {
          "sha256": "263682fc583452f98d5c6a7b3aaa09057bfcdd973e5623300d2d71471d65aa03",
          "bytes": 487705,
          "width": 960,
          "height": 540,
          "fps": "24000/1001",
          "frames": 70,
          "duration": 2.919583,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "original": {
          "sha256": "8f3615280dd409e0b2e302af7e4fefcc6c1942945d89bba734a7e8e5cfc36d2c",
          "bytes": 649685,
          "width": 1920,
          "height": 1080,
          "fps": "24000/1001",
          "frames": 70,
          "duration": 2.919578,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "adaptation": {
          "sha256": "1a73f322bd418e0db7c223b2ec975673027635e46fc67fc2c6c66f3813599542",
          "bytes": 627904,
          "width": 1920,
          "height": 1080,
          "fps": "24000/1001",
          "frames": 70,
          "duration": 2.919578,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        }
      },
      "preparedArchive": {
        "sha256": "3b84b6501783c90d1c47807dc917fed02e48f64f578c00816f6fc239d1350880",
        "bytes": 150737,
        "members": 20,
        "crc": "pass"
      },
      "selectedSvg": {
        "sha256": "c3d7a28a4152b022e685aee0e9e71e764eec6f73c00f118585454f0a087f808b",
        "bytes": 7920,
        "drawableElements": 45,
        "rasterEmbedded": false,
        "frame": 52,
        "meaningful": true
      },
      "contentDiffers": true,
      "renderSeconds": 47.4
    },
    "assets": {
      "source.mp4": {
        "path": "items/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/source.mp4",
        "sha256": "263682fc583452f98d5c6a7b3aaa09057bfcdd973e5623300d2d71471d65aa03",
        "bytes": 487705
      },
      "remake.mp4": {
        "path": "items/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/remake.mp4",
        "sha256": "8f3615280dd409e0b2e302af7e4fefcc6c1942945d89bba734a7e8e5cfc36d2c",
        "bytes": 649685
      },
      "adaptation.mp4": {
        "path": "items/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/adaptation.mp4",
        "sha256": "1a73f322bd418e0db7c223b2ec975673027635e46fc67fc2c6c66f3813599542",
        "bytes": 627904
      },
      "editable.svg": {
        "path": "items/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/editable.svg",
        "sha256": "c3d7a28a4152b022e685aee0e9e71e764eec6f73c00f118585454f0a087f808b",
        "bytes": 7920
      },
      "resolve.txt": {
        "path": "items/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/resolve.txt",
        "sha256": "f1c09f617be8585370f84ca0c26404de93dc68dac1b5fb66f6972209d103a587",
        "bytes": 8383
      },
      "package.zip": {
        "path": "items/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/package.zip",
        "sha256": "3b84b6501783c90d1c47807dc917fed02e48f64f578c00816f6fc239d1350880",
        "bytes": 150737
      },
      "recipe.json": {
        "path": "items/builder-push-in-on-composer-then-send-lifts-prompt-to-bubble/recipe.json",
        "sha256": "03b5c0f542827bc98493d223a04e2c1cfd74d30429f88b4a1a68e008bb027330",
        "bytes": 13351
      }
    },
    "builtAt": "2026-09-18T05:08:53Z"
  }
}
