Teaching Animation with HyperFrames — prompt template HOW TO USE THIS TEMPLATE (delete this block before sending) * Fill in every [bracket] in Part B and delete what you do not need. Keep Part A as it is. * Open an empty folder in Claude Code or OpenAI Codex and paste the whole text. * You may write the brackets in any language; the language of the video is set in B1. * Expect the agent to ask before installing packages or rendering; allow it after reading the command. PART A — HOW TO WORK (keep as is) A1. Environment (do this first and report what you found) * Check Node.js (HyperFrames needs version 22 or later), FFmpeg and FFprobe. * Install the framework locally, pinned: npm init -y, then npm install -D hyperframes@0.8.208 * Run `npx hyperframes doctor`. If it reports no Chrome, run `npx hyperframes browser` (see its --help). * Set DO_NOT_TRACK=1 for every hyperframes command. * Learn the framework from its own documentation before writing code: `npx hyperframes --help`, `npx hyperframes docs` and node_modules/hyperframes/README.md. * If a command needs network access or a permission you do not have, ask me. If a required tool is missing, stop and tell me. Do not switch to another video tool or skip the render. A2. Architecture * Every number that appears on screen is computed in one file (for example js/physics.js) from the source named in B4, or read from a data file generated from that source. Never type a physical number by hand into the HTML. * Everything that moves is drawn by one pure function render(t) of the root-timeline time t, called from the onUpdate of a single GSAP tween that spans the whole film, so that seeking to any frame paints that frame. * Determinism: seeded random generator only. No Math.random, Date, performance.now, timers, requestAnimationFrame or network calls in any script. * HyperFrames 0.8.208 traps: - Register the root timeline (window.__timelines[...] = tl) in an inline