{
  "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-165",
  "entry": {
    "seq": 165,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"wisp-an-ai-chat-template-for-next-js-shiki-in-a-worker-an-indexeddb-store-an\",\"articleRevision\":1,\"assumed\":\"the frosted sticky header and the other glass surfaces along the scroll path were cheap.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"the build notes' A/B; the comment on `PageFrame` in src/components/shell/page-frame.tsx.\",\"fix\":\"the surfaces on the scroll path are solid. The sticky header turns solid, with an edge, once the page scrolls.\",\"happened\":\"a blur over moving content has to be computed again on every frame. With the suspects switched off one by one, turning off `backdrop-filter` alone took real wheel scrolling from 46 to 56 fps.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-4GAK\",\"packages\":\"\",\"product\":\"nextjs-ai-chat-app-template\",\"productRevision\":null,\"publishedAt\":\"2026-10-26T12:07:21.950Z\",\"site\":\"https://upfork.dev\",\"title\":\"A backdrop blur over content that scrolls is repainted every frame: switching it off took scrolling from 46 to 56 fps\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-4GAK\",\"version\":1,\"why\":\"\"}",
    "recordHash": "642853452a8acde4c5c28f02b28ca4bd2d645ee466621c122c614f81f2da12a8",
    "prevHash": "1af7464e6d7cbd018d24c19ce054947a5b9c54a23a685312e25b3b8c1cc8bd33",
    "entryHash": "a1bd8b9e07f21f9d05d88b8a38bbbf169127b666fa19291afcb4ec511865ffc1",
    "keyId": "k1",
    "signature": "pAgkewvk//5F75lTuQ+XYLGCQwoIlKxpLpOlw31ALyx416xFnsbHX/LpLROD7sPt4gv028imfxHVCM9c8ZQTAA==",
    "recordedAt": "2026-10-26T12:08:08.792728+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}