{
  "about": "An entry of UpFork's ledger. Check it by hand as https://upfork.dev/docs/ledger says, or at https://upfork.dev/verify/E-82",
  "entry": {
    "seq": 82,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"a-3d-react-carousel-that-never-re-renders-while-it-moves-physics-a-seamless\",\"articleRevision\":1,\"assumed\":\"every picture could start at opacity 0 and fade in from its `onLoad` handler, the first ones included.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit 98e4f3c; `Picture` in CarouselSlideCard.tsx.\",\"fix\":\"the nearest pictures render with `data-loaded` already in the server's HTML (shown at once by CSS), with `loading=\\\"eager\\\"`, `fetchpriority=\\\"high\\\"` and synchronous decoding; the rest still fade in. A ref callback marks pictures that finished before hydration. LCP is 1.1 s.\",\"happened\":\"the handler only exists once React has hydrated, so the first-screen pictures, which had usually arrived long before, stayed invisible until it had, and the largest contentful paint waited with them.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-BKW2\",\"packages\":\"\",\"product\":\"dynamic-3d-carousel-react\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T08:46:39.806Z\",\"site\":\"https://upfork.dev\",\"title\":\"A fade-in started from onLoad waits for hydration and delays LCP: render first-screen pictures already marked loaded\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-BKW2\",\"version\":1,\"why\":\"\"}",
    "recordHash": "fbe4ab7debce89c5ceb1ca5172c6691e7c7aa617ba6def005995912cc2189434",
    "prevHash": "b9d07a3d4deae6f3d4480d2b378aa6af86f86f76c878441c4f37940c2adfa2f7",
    "entryHash": "04ff90b5af4dabdd5c471688ac689d92c4bf10ae4a7e7c7d90db5b6e09963fd2",
    "keyId": "k1",
    "signature": "20xxDCxyjp8Hzgmlz+iOh+IKLUiws3GZ157+bO6uCCkp6K+lt3P9SkYxkVRD5fXe32aBc/h0wOzFWUBzLIwyAQ==",
    "recordedAt": "2026-10-26T08:47:08.802844+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}