1
0
Fork 0
mirror of https://github.com/imjasonh/nescript synced 2026-07-08 08:55:38 +00:00

docs: add docs/pong.gif demo to README

Record a 6-second gif of examples/pong.nes running in jsnes and
embed it alongside docs/platformer.gif and docs/war.gif as the
third project demo. The gif opens on Pong's title menu (CPU VS
CPU / 1 PLAYER / 2 PLAYERS) — warmup = 4 frames keeps the menu
as the thumbnail the way war's recording does, and then the
headless autopilot advances to gameplay partway through the
clip.

- docs/pong.gif committed (128 KB)
- README.md links it under the war demo
- scripts/pre-commit rebuilds it when examples/pong* or the
  recorder/harness change
- .github/workflows/ci.yml fails if the committed copy is stale
- CLAUDE.md and tests/emulator/record_gif.mjs reference the new
  gif in the "how to regenerate" sections

https://claude.ai/code/session_0134F5uwDEVTes2Ee9S7JeXy
This commit is contained in:
Claude 2026-04-16 10:44:57 +00:00
parent 21b91f6398
commit 6d9ebc7d7b
No known key found for this signature in database
6 changed files with 48 additions and 21 deletions

View file

@ -6,6 +6,7 @@
// Examples:
// node record_gif.mjs platformer 360 2 docs/platformer.gif
// node record_gif.mjs war 360 2 docs/war.gif 4
// node record_gif.mjs pong 360 2 docs/pong.gif 4
//
// The recorder drives `harness.html` via puppeteer, collects one
// canvas frame every `stride` NES frames for `frames` total, and
@ -20,14 +21,15 @@
// recording uses 4 instead because that demo opens on its menu and
// we want the title screen to be the gif's thumbnail.
//
// IMPORTANT: `docs/platformer.gif` and `docs/war.gif` are committed
// and embedded in the README. Any change to the compiler, the
// runtime, the harness, or the underlying `.ne` source that alters
// the gameplay you see in the first ~6 seconds of either demo must
// be followed by
// IMPORTANT: `docs/platformer.gif`, `docs/war.gif`, and
// `docs/pong.gif` are committed and embedded in the README. Any
// change to the compiler, the runtime, the harness, or the
// underlying `.ne` source that alters the gameplay you see in the
// first ~6 seconds of any of the three demos must be followed by
//
// node tests/emulator/record_gif.mjs platformer 360 2 docs/platformer.gif
// node tests/emulator/record_gif.mjs war 360 2 docs/war.gif 4
// node tests/emulator/record_gif.mjs pong 360 2 docs/pong.gif 4
//
// committed alongside the source change. The CI `emulator` job
// regenerates both gifs and fails if the committed copies are stale —