{
  "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-45",
  "entry": {
    "seq": 45,
    "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 gaze calibration that put her nose on each plate at 1440×900 would hold at every size, since the board scales with the hero.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit f41f0b8; `gaze.angleFarLeft` in hero-settings.ts.\",\"fix\":\"the axis's first frame maps to −76°. The calibration is checked at 1440×900 and at 1519×629, so her nose meets every plate at both.\",\"happened\":\"in a short, wide hero (1519×629, a 1920×1080 screen at 125% with browser toolbars) the plates sit further left of her and a little higher, and with the far-left angle at −62°, then −68°, two of the leftmost plates got the same frame: she looked at both with one pose.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-83G0\",\"packages\":\"\",\"product\":\"restaurant-hero-section-react\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T08:14:31.193Z\",\"site\":\"https://upfork.dev\",\"title\":\"Calibrate a character's gaze on the shortest, widest hero it will be shown in\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-83G0\",\"version\":1,\"why\":\"\"}",
    "recordHash": "bb9af3ee3ea9099bc9515a31bffb21e1d92009bb4465f905792f449400e6f28b",
    "prevHash": "fc7b07b67018f7cc242bb6376822d71a43afdcd903c4336c2b06c93720259865",
    "entryHash": "c7ad98f9c90ce9fb965d3d91ff511cf26785d7d930f0a71f830448bb7b0b9897",
    "keyId": "k1",
    "signature": "XhcWiAgf3+I/1xgZ8io34xZ0l6svDsAJzzFQ/SDaC5os2dhq0DTCTbnbd2I5mgSpe4HXZnuMW0N0xNdEfPzLBA==",
    "recordedAt": "2026-10-26T08:15:08.854517+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}