{
  "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-46",
  "entry": {
    "seq": 46,
    "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\":\"the turn (the gaze axis) and the lift into the smile were separate motions: a spring on the axis, then the lift played at a constant speed.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit 65c5d32 (\\\"Before, there were two springs, a dead stop at frame 229, and a constant-speed lift\\\").\",\"fix\":\"the axis and the lift are one track, end to end, and one spring with a top acceleration moves her along all of it. A look, a smile and the way back down all start and end gently and pass from the turn into the lift without stopping.\",\"happened\":\"she stopped dead at the frame where the two clips meet (229) before every smile, and the lift itself looked mechanical.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-Y6KM\",\"packages\":\"\",\"product\":\"restaurant-hero-section-react\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T08:14:31.193Z\",\"site\":\"https://upfork.dev\",\"title\":\"Two motions joined end to end need one spring over both, or the character stops dead at the join\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-Y6KM\",\"version\":1,\"why\":\"\"}",
    "recordHash": "2b736315405480716bcf832fcfd4a3da4bb5c8bb90395acf4c18fa8056eb93d6",
    "prevHash": "c7ad98f9c90ce9fb965d3d91ff511cf26785d7d930f0a71f830448bb7b0b9897",
    "entryHash": "949815638c4b6d49b8a71c388b74079bfc59947270c6a28872647dc62011484d",
    "keyId": "k1",
    "signature": "zdeeD/gq0NoqPdjWQCVixl5wSXx4f60rhraoK0wSkG8m6rCn7A30fP0M1C9fk8gf6v+WmkRf3rAolPuyS23MAg==",
    "recordedAt": "2026-10-26T08:15:08.859799+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}