{
  "entry": {
    "id": "phone-textarea-focus-ring-then-type-on",
    "title": "Settle a phone page, light the textarea focus ring, then type a note inside it",
    "kind": "Typography",
    "status": "Rendered draft",
    "verification": "rendered-draft",
    "source": {
      "title": "How to Build a Personalized Meal Planner with ChatGPT Work",
      "id": "t64oZKCdG8Q",
      "url": "https://www.youtube.com/watch?v=t64oZKCdG8Q",
      "start": 87.5875,
      "end": 90.92416666666666
    },
    "preview": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/remake.mp4",
    "sourcePreview": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/source.mp4",
    "adaptationPreview": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/adaptation.mp4",
    "download": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/package.zip",
    "svg": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-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 from the packaged text renderer to repair a prior code/preview mismatch."
    ],
    "bindingLevel": "full-render-manifest",
    "bytes": 147767,
    "packageSha256": "67d5f54022330a0242e6dd64622a46ce0b275db6bcb89a79ed67f63dec40736d",
    "poster": "/videos/examples/posters/phone-textarea-focus-ring-then-type-on.jpg",
    "render": {
      "width": 1920,
      "height": 1080,
      "fps": "24000/1001",
      "frames": 80,
      "audioStreams": 0
    },
    "originalRecord": "/videos/examples/rebuilds/phone-textarea-focus-ring-then-type-on/item.json",
    "observation": "A phone mock on the left of a bright, defocused room shows a recipe card (photo, BREAKFAST label, dish title, yellow note, reaction pills). During local frames 0-5 the page scrolls a little further so the 'Hide note' link, an empty textarea and a yellow save button sit fully in view. At f12 the textarea border turns blue and thicker (focus), and from f14 a note is typed at roughly 1.1 frames per character, wrapping to a second line at about f38 and finishing around f60; the caret then holds.",
    "mechanism": "Scroll-settle followed by a focus-state change on a form field and a caret-driven type-on that wraps inside the field.",
    "phases": [
      {
        "frame": 0,
        "label": "Page still scrolling"
      },
      {
        "frame": 5,
        "label": "Layout settles with field and button in view"
      },
      {
        "frame": 12,
        "label": "Field gains blue focus ring"
      },
      {
        "frame": 14,
        "label": "Typing begins"
      },
      {
        "frame": 60,
        "label": "Note complete, caret holds"
      },
      {
        "frame": 80,
        "label": "End"
      }
    ]
  },
  "repair": {
    "id": "phone-textarea-focus-ring-then-type-on",
    "reason": "Packaged Scene.tsx filters unrevealed characters before laying out the caret; prior preview used the earlier runtime.",
    "originalPackageSha256": "af069eac40131c6dbdb5dd456d43b9788d0305a31a67ee6917b62f7e1a725cd5"
  },
  "original": {
    "id": "phone-textarea-focus-ring-then-type-on",
    "title": "Settle a phone page, light the textarea focus ring, then type a note inside it",
    "family": "device",
    "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": [
      "t64oZKCdG8Q",
      "7007/80",
      "109109/1200"
    ],
    "source": {
      "filmId": "t64oZKCdG8Q",
      "film": "How to Build a Personalized Meal Planner with ChatGPT Work",
      "url": "https://www.youtube.com/watch?v=t64oZKCdG8Q",
      "frames": [
        2100,
        2180
      ],
      "fps": {
        "numerator": 24000,
        "denominator": 1001
      },
      "startSeconds": 87.5875,
      "endSeconds": 90.92416666666666,
      "publicationDate": "2026-08-27",
      "masterSha256": "591a7e28e9ae1ab93ce1c3d20a6679a2fb2b28ef3eccad171266ddd32312669a",
      "clockBasis": "Downloaded 1920x1080 rendition at 24000/1001 fps; excerpt frame i = master frame 2100+i, re-encoded to 960x540 without omitted positions."
    },
    "sourceHash": "6f4456a0cb64232087f54021e312f3aad6eb60b8f9909b7334ef25f1c5ddcd68",
    "classification": "vector-code-approximation",
    "bindingLevel": "full-render-manifest",
    "observation": "A phone mock on the left of a bright, defocused room shows a recipe card (photo, BREAKFAST label, dish title, yellow note, reaction pills). During local frames 0-5 the page scrolls a little further so the 'Hide note' link, an empty textarea and a yellow save button sit fully in view. At f12 the textarea border turns blue and thicker (focus), and from f14 a note is typed at roughly 1.1 frames per character, wrapping to a second line at about f38 and finishing around f60; the caret then holds.",
    "mechanism": "Scroll-settle followed by a focus-state change on a form field and a caret-driven type-on that wraps inside the field.",
    "phases": [
      {
        "frame": 0,
        "label": "Page still scrolling"
      },
      {
        "frame": 5,
        "label": "Layout settles with field and button in view"
      },
      {
        "frame": 12,
        "label": "Field gains blue focus ring"
      },
      {
        "frame": 14,
        "label": "Typing begins"
      },
      {
        "frame": 60,
        "label": "Note complete, caret holds"
      },
      {
        "frame": 80,
        "label": "End"
      }
    ],
    "checks": {
      "recipeSha256": "271e555d2679a77ead32d587d85890ce5d4b0c88fffb5f1dbcc54de228b71fcd",
      "renderManifestSha256": "de97395a3f60048207d978fa4b634872aa5576387b1686fa01c67b79a6623150",
      "adaptationManifestSha256": "f19d1715e022b2dbe396b6da951f3f94125dfe4ee5758e53e22687ce16608d44",
      "implementationFiles": 15,
      "movies": {
        "source": {
          "sha256": "6f4456a0cb64232087f54021e312f3aad6eb60b8f9909b7334ef25f1c5ddcd68",
          "bytes": 178008,
          "width": 960,
          "height": 540,
          "fps": "24000/1001",
          "frames": 80,
          "duration": 3.336667,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "original": {
          "sha256": "6ed948c2b9b02df11e5c175d6dd5167da63a46518e2e741dd16ecf5bace35749",
          "bytes": 62208,
          "width": 1920,
          "height": 1080,
          "fps": "24000/1001",
          "frames": 80,
          "duration": 3.336656,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        },
        "adaptation": {
          "sha256": "37f6e58b0a543cab45a26df8d8d514f8360b75e24cbfdfa8a2863e22487c6462",
          "bytes": 60499,
          "width": 1920,
          "height": 1080,
          "fps": "24000/1001",
          "frames": 80,
          "duration": 3.336656,
          "codec": "h264",
          "pixelFormat": "yuv420p",
          "audioStreams": 0
        }
      },
      "preparedArchive": {
        "sha256": "af069eac40131c6dbdb5dd456d43b9788d0305a31a67ee6917b62f7e1a725cd5",
        "bytes": 148142,
        "members": 20,
        "crc": "pass"
      },
      "selectedSvg": {
        "sha256": "0ae45c31a5de8031e5c96b397ea60108d6a366ea3e6bd24a9acffa660876c169",
        "bytes": 4283,
        "drawableElements": 29,
        "rasterEmbedded": false,
        "frame": 60,
        "meaningful": true
      },
      "contentDiffers": true,
      "renderSeconds": 41.1
    },
    "assets": {
      "source.mp4": {
        "path": "items/phone-textarea-focus-ring-then-type-on/source.mp4",
        "sha256": "6f4456a0cb64232087f54021e312f3aad6eb60b8f9909b7334ef25f1c5ddcd68",
        "bytes": 178008
      },
      "remake.mp4": {
        "path": "items/phone-textarea-focus-ring-then-type-on/remake.mp4",
        "sha256": "6ed948c2b9b02df11e5c175d6dd5167da63a46518e2e741dd16ecf5bace35749",
        "bytes": 62208
      },
      "adaptation.mp4": {
        "path": "items/phone-textarea-focus-ring-then-type-on/adaptation.mp4",
        "sha256": "37f6e58b0a543cab45a26df8d8d514f8360b75e24cbfdfa8a2863e22487c6462",
        "bytes": 60499
      },
      "editable.svg": {
        "path": "items/phone-textarea-focus-ring-then-type-on/editable.svg",
        "sha256": "0ae45c31a5de8031e5c96b397ea60108d6a366ea3e6bd24a9acffa660876c169",
        "bytes": 4283
      },
      "resolve.txt": {
        "path": "items/phone-textarea-focus-ring-then-type-on/resolve.txt",
        "sha256": "3598fe2f56dad6cb75212247b93a2f1c00087fdf688b6644f4d7a7124769bd70",
        "bytes": 6024
      },
      "package.zip": {
        "path": "items/phone-textarea-focus-ring-then-type-on/package.zip",
        "sha256": "af069eac40131c6dbdb5dd456d43b9788d0305a31a67ee6917b62f7e1a725cd5",
        "bytes": 148142
      },
      "recipe.json": {
        "path": "items/phone-textarea-focus-ring-then-type-on/recipe.json",
        "sha256": "271e555d2679a77ead32d587d85890ce5d4b0c88fffb5f1dbcc54de228b71fcd",
        "bytes": 9540
      }
    },
    "builtAt": "2026-09-18T05:09:26Z"
  }
}
