{
  "entry": {
    "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"
      }
    ]
  },
  "repair": {
    "id": "floating-composer-bubble-grows-as-lines-and-chips-type-on",
    "reason": "Hide unrevealed spaces and keep the caret on the currently revealed line."
  },
  "original": {
    "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",
    "family": "composer",
    "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": [
      "p_slDAvPjv0",
      "1008007/24000",
      "229229/4800"
    ],
    "source": {
      "filmId": "p_slDAvPjv0",
      "film": "How to Schedule a Weekly Metrics Report With ChatGPT Work",
      "url": "https://www.youtube.com/watch?v=p_slDAvPjv0",
      "frames": [
        1007,
        1145
      ],
      "fps": {
        "numerator": 24000,
        "denominator": 1001
      },
      "startSeconds": 42.00029166666667,
      "endSeconds": 47.75604166666667,
      "publicationDate": "2026-08-06",
      "masterSha256": "8cc88b2a0d83960b64ac39fe0d9061895aec68f158883b5fdaad24c54f062e1d",
      "clockBasis": "Downloaded 1920x1080 rendition at 24000/1001 fps; excerpt frame i = master frame 1007+i, re-encoded to 960x540 without omitted positions."
    },
    "sourceHash": "f97aaee7d3be621a85c37fa4e3df732a3abf6bea63e5ae67a2e3b18830d90076",
    "classification": "vector-code-approximation",
    "bindingLevel": "full-render-manifest",
    "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"
      }
    ],
    "checks": {
      "recipeSha256": "6b4b2d6e724a6b40ebfe9b626944b4dc7f691f613d12779ea1346896422505e6",
      "renderManifestSha256": "38aaf756de830798ba790546fa4a5160bc6032f78b7400dcf33614f01033cb38",
      "adaptationManifestSha256": "1099e279f43268184b4959a828f3c268edb2f5ee458e193c3c3c823f8a1db09e",
      "implementationFiles": 15,
      "movies": {
        "source": {
          "sha256": "f97aaee7d3be621a85c37fa4e3df732a3abf6bea63e5ae67a2e3b18830d90076",
          "bytes": 409193,
          "width": 960,
          "height": 540,
          "fps": "24000/1001",
          "frames": 138,
          "duration": 5.75575,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "original": {
          "sha256": "8f545bc74e3b9e0b84aca9bece79a73944589627db72e7e9617bb7ba96f8f6f2",
          "bytes": 113281,
          "width": 1920,
          "height": 1080,
          "fps": "24000/1001",
          "frames": 138,
          "duration": 5.755744,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "adaptation": {
          "sha256": "abd48bd9d5be261f790a7858f728e13b94bce03fd6ac2f9b953603b502c375fb",
          "bytes": 117409,
          "width": 1920,
          "height": 1080,
          "fps": "24000/1001",
          "frames": 138,
          "duration": 5.755744,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        }
      },
      "preparedArchive": {
        "sha256": "5e230eb1cff3d294b7ab77bfc6e0beb968456c4a24684e431f583cd7e7ed12cd",
        "bytes": 148364,
        "members": 20,
        "crc": "pass"
      },
      "selectedSvg": {
        "sha256": "673b40042563cac30b54094c851c8c1963de49e78323d1f33d08960d0a71e846",
        "bytes": 3268,
        "drawableElements": 19,
        "rasterEmbedded": false,
        "frame": 103,
        "meaningful": true
      },
      "contentDiffers": true,
      "renderSeconds": 32.0
    },
    "assets": {
      "source.mp4": {
        "path": "items/floating-composer-bubble-grows-as-lines-and-chips-type-on/source.mp4",
        "sha256": "f97aaee7d3be621a85c37fa4e3df732a3abf6bea63e5ae67a2e3b18830d90076",
        "bytes": 409193
      },
      "remake.mp4": {
        "path": "items/floating-composer-bubble-grows-as-lines-and-chips-type-on/remake.mp4",
        "sha256": "8f545bc74e3b9e0b84aca9bece79a73944589627db72e7e9617bb7ba96f8f6f2",
        "bytes": 113281
      },
      "adaptation.mp4": {
        "path": "items/floating-composer-bubble-grows-as-lines-and-chips-type-on/adaptation.mp4",
        "sha256": "abd48bd9d5be261f790a7858f728e13b94bce03fd6ac2f9b953603b502c375fb",
        "bytes": 117409
      },
      "editable.svg": {
        "path": "items/floating-composer-bubble-grows-as-lines-and-chips-type-on/editable.svg",
        "sha256": "673b40042563cac30b54094c851c8c1963de49e78323d1f33d08960d0a71e846",
        "bytes": 3268
      },
      "resolve.txt": {
        "path": "items/floating-composer-bubble-grows-as-lines-and-chips-type-on/resolve.txt",
        "sha256": "d1f6735b3ce98774c50ff27446ef2eec4a45366df86c1e70a076c3104e4fdfc4",
        "bytes": 6046
      },
      "package.zip": {
        "path": "items/floating-composer-bubble-grows-as-lines-and-chips-type-on/package.zip",
        "sha256": "5e230eb1cff3d294b7ab77bfc6e0beb968456c4a24684e431f583cd7e7ed12cd",
        "bytes": 148364
      },
      "recipe.json": {
        "path": "items/floating-composer-bubble-grows-as-lines-and-chips-type-on/recipe.json",
        "sha256": "6b4b2d6e724a6b40ebfe9b626944b4dc7f691f613d12779ea1346896422505e6",
        "bytes": 8820
      }
    },
    "builtAt": "2026-09-18T04:49:58Z"
  }
}
