{
  "entry": {
    "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"
      }
    ]
  },
  "repair": {
    "id": "mobile-composer-continued-type-on-keyboard",
    "reason": "Packaged Scene.tsx filters unrevealed characters before laying out the caret; prior preview used the earlier runtime.",
    "originalPackageSha256": "3af1c476636835ca069098bb14a87fe25c40468f3bab9fc1ac00ed236410b9a8"
  },
  "original": {
    "id": "mobile-composer-continued-type-on-keyboard",
    "title": "Continue a type-on inside a mobile composer that grows a line above the keyboard",
    "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": [
      "5iu0nY9lIy8",
      "191/30",
      "35/3"
    ],
    "source": {
      "filmId": "5iu0nY9lIy8",
      "film": "Use ChatGPT Work to analyze ad performance and refine creative",
      "url": "https://www.youtube.com/watch?v=5iu0nY9lIy8",
      "frames": [
        382,
        700
      ],
      "fps": {
        "numerator": 60,
        "denominator": 1
      },
      "startSeconds": 6.366666666666666,
      "endSeconds": 11.666666666666666,
      "publicationDate": "2026-09-04",
      "masterSha256": "c3b9fb9ecaf9250a7d7fd59a4dc2f1ed7f4df956a8bae77b63e97651e0a84ec7",
      "clockBasis": "Downloaded 1920x1080 rendition at 60/1 fps; excerpt frame i = master frame 382+i, re-encoded to 960x540 without omitted positions."
    },
    "sourceHash": "8e2f859f6d728b32072fcc652d097a7c6c36af4a41853fe8649c45eced4d5b09",
    "classification": "vector-code-approximation",
    "bindingLevel": "full-render-manifest",
    "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"
      }
    ],
    "checks": {
      "recipeSha256": "3da7a97f53c09b4a844dc2664f74e4eef6da91a227db0764d28a333077d46312",
      "renderManifestSha256": "fcd23dcd43d7ce2aea99ef5f67a56cb75be05ec2ae3c71753084ea51bc49cfd3",
      "adaptationManifestSha256": "ffdcffab536a815cb806a0adad38b44a46f9b4ab6bf696af29e6b8b7b87c626f",
      "implementationFiles": 15,
      "movies": {
        "source": {
          "sha256": "8e2f859f6d728b32072fcc652d097a7c6c36af4a41853fe8649c45eced4d5b09",
          "bytes": 110801,
          "width": 960,
          "height": 540,
          "fps": "60/1",
          "frames": 318,
          "duration": 5.3,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "original": {
          "sha256": "a2917cffd0f44c4484ff179bb1617848f526ebb90db1f3b93db3c1e2379f859f",
          "bytes": 105558,
          "width": 1920,
          "height": 1080,
          "fps": "60/1",
          "frames": 318,
          "duration": 5.3,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "adaptation": {
          "sha256": "a34f8836bd35e29a43f18ddc2ebaca7babc5610f85a6f87281580ee42ba94426",
          "bytes": 106229,
          "width": 1920,
          "height": 1080,
          "fps": "60/1",
          "frames": 318,
          "duration": 5.3,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        }
      },
      "preparedArchive": {
        "sha256": "3af1c476636835ca069098bb14a87fe25c40468f3bab9fc1ac00ed236410b9a8",
        "bytes": 147539,
        "members": 20,
        "crc": "pass"
      },
      "selectedSvg": {
        "sha256": "207eeab3ce912d617121f06f8f748a964cb809a15b2f92ddad21197438aeb413",
        "bytes": 4650,
        "drawableElements": 32,
        "rasterEmbedded": false,
        "frame": 238,
        "meaningful": true
      },
      "contentDiffers": true,
      "renderSeconds": 99.5
    },
    "assets": {
      "source.mp4": {
        "path": "items/mobile-composer-continued-type-on-keyboard/source.mp4",
        "sha256": "8e2f859f6d728b32072fcc652d097a7c6c36af4a41853fe8649c45eced4d5b09",
        "bytes": 110801
      },
      "remake.mp4": {
        "path": "items/mobile-composer-continued-type-on-keyboard/remake.mp4",
        "sha256": "a2917cffd0f44c4484ff179bb1617848f526ebb90db1f3b93db3c1e2379f859f",
        "bytes": 105558
      },
      "adaptation.mp4": {
        "path": "items/mobile-composer-continued-type-on-keyboard/adaptation.mp4",
        "sha256": "a34f8836bd35e29a43f18ddc2ebaca7babc5610f85a6f87281580ee42ba94426",
        "bytes": 106229
      },
      "editable.svg": {
        "path": "items/mobile-composer-continued-type-on-keyboard/editable.svg",
        "sha256": "207eeab3ce912d617121f06f8f748a964cb809a15b2f92ddad21197438aeb413",
        "bytes": 4650
      },
      "resolve.txt": {
        "path": "items/mobile-composer-continued-type-on-keyboard/resolve.txt",
        "sha256": "ee9c6272aed73c01f90159505ff857027507a68a22d119773aa87dc790538dd9",
        "bytes": 6465
      },
      "package.zip": {
        "path": "items/mobile-composer-continued-type-on-keyboard/package.zip",
        "sha256": "3af1c476636835ca069098bb14a87fe25c40468f3bab9fc1ac00ed236410b9a8",
        "bytes": 147539
      },
      "recipe.json": {
        "path": "items/mobile-composer-continued-type-on-keyboard/recipe.json",
        "sha256": "3da7a97f53c09b4a844dc2664f74e4eef6da91a227db0764d28a333077d46312",
        "bytes": 8894
      }
    },
    "builtAt": "2026-09-18T05:09:24Z"
  }
}
