{
  "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-133",
  "entry": {
    "seq": 133,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"a-webgl-hero-in-a-web-worker-lightfall-s-lane-space-shader-offscreencanvas-a\",\"articleRevision\":1,\"assumed\":\"with our own costs gone, the shader would be cheap for the page, since its frames run on the GPU.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"gl/proxy.ts and gl/lightfall.worker.ts; the README's measurements.\",\"fix\":\"the page hands its canvas to a Web Worker (`transferControlToOffscreen`), and context creation, shader compiles and every frame happen there; the page talks to the engine through messages. Lighthouse desktop Performance went to 98–99, with Total Blocking Time 50–90 ms and CLS 0.\",\"happened\":\"creating the context is CPU work on the thread that asks for it: one long task of about 150 ms at load, which no amount of tidying in our code could remove. Lighthouse desktop Performance had been 69–71.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-8VEA\",\"packages\":\"\",\"product\":\"crypto-web3-hero-section-react\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T10:21:58.532Z\",\"site\":\"https://upfork.dev\",\"title\":\"Creating a WebGL context costs about 150 ms of main thread on its own: create it in a worker with OffscreenCanvas\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-8VEA\",\"version\":1,\"why\":\"\"}",
    "recordHash": "cf21fbd9468f237929793d5d19912c15f7e120c0eb46dfc3a86e4c0feef372bf",
    "prevHash": "0ddc85e63ccac2ab21437466e6e70b9e2032e5e64ef7b7b5128473ac97b7013c",
    "entryHash": "0e5f368f49d659b58d475b1ef592f9fd570f6ffe1fd7b10df4740b07a233d42c",
    "keyId": "k1",
    "signature": "Hx4dbm0xXDq3JvXB/TTaJvkm6M9uysntkJ4xp09GvkX55Y1KOLU1rUEOwF3gXCJRU6vbUd/4QiFwfIW/xJ/ICA==",
    "recordedAt": "2026-10-26T10:22:08.814928+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}