{
  "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-52",
  "entry": {
    "seq": 52,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"build-a-cursor-following-mascot-hero-from-an-ai-video-maple-s-frame-engine-a\",\"articleRevision\":1,\"assumed\":\"a hover layer waiting at `opacity: 0` was already painted and would only need compositing when it faded in.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit f41f0b8.\",\"fix\":\"hidden layers rest at opacity 0.001, invisible but painted ahead of time (`HIDDEN` in Plate.tsx).\",\"happened\":\"Chrome painted it at its first show, and two hidden layers painted together on the first hover, one more long frame.\",\"kind\":\"tools\",\"learnedBy\":\"ai\",\"lesson\":\"L-3J9K\",\"packages\":\"\",\"product\":\"restaurant-hero-section-react\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T08:14:31.193Z\",\"site\":\"https://upfork.dev\",\"title\":\"Chrome paints a layer at opacity 0 only when it first shows: rest hidden layers at 0.001\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-3J9K\",\"version\":1,\"why\":\"\"}",
    "recordHash": "4d6ca79e8d0c5f6c7ec70c848f84197209762027e920f84a1d4ad277108b9249",
    "prevHash": "48c2518f57bfd031790a3e4a1201b70a3dde9d519646c1f2171778feecc10c19",
    "entryHash": "aa9e1336fe641080c5d5a7f32855527282abc26567defc58b1c575b7381ad87f",
    "keyId": "k1",
    "signature": "qWpa+d7/VIIA4tJ83bri1N7jyrwIc4HEoICLcxf3RhoFutbR4QqX5i3uMv3LDAbcXSGej64K2CDNQeZ0vG73Cg==",
    "recordedAt": "2026-10-26T08:15:08.903764+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}