From 318a2f8befefd4aab36e9e0cdae678e5494e7be7 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 16 Apr 2026 00:37:23 +0000 Subject: [PATCH] docs: add docs/war.gif demo to README Captures the first ~6 s of examples/war.ne via the same puppeteer + jsnes + gifenc pipeline that powers docs/platformer.gif: title menu thumbnail, 52-card deal animation, and a few rounds of CPU vs CPU play. Embedded in the top-level README right under the platformer demo. record_gif.mjs gains a 6th positional arg for the warmup override (defaulting to the existing WARMUP env / 30) so the war command can keep its title menu as the first frame while platformer keeps skipping past its own title. The CI emulator job and the pre-commit hook both rebuild the gif into a tmp path and fail-with-fix-command if the committed copy is stale; the war trigger covers war.ne, war.nes, any examples/war/*.ne include, plus the recorder and harness. --- .github/workflows/ci.yml | 15 +++++++++ CLAUDE.md | 28 ++++++++++------ README.md | 4 +++ docs/war.gif | Bin 0 -> 376668 bytes scripts/pre-commit | 61 ++++++++++++++++++++++++---------- tests/emulator/record_gif.mjs | 40 +++++++++++++++------- 6 files changed, 107 insertions(+), 41 deletions(-) create mode 100644 docs/war.gif diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9c0ab23..59355c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -161,6 +161,21 @@ jobs: echo "::error file=docs/platformer.gif::committed docs/platformer.gif is stale; rerun \`node tests/emulator/record_gif.mjs platformer 360 2 docs/platformer.gif\` and commit the new gif" exit 1 fi + - name: Verify docs/war.gif is up to date + # Same contract as docs/platformer.gif: the README embeds + # docs/war.gif as the second project demo, gifenc + jsnes are + # deterministic, so any change to the compiler / runtime / + # harness / war source that affects the first ~6 seconds of + # the war.ne gameplay must be followed by regenerating the + # gif. The 5th positional arg (`4`) is the warmup; war's + # title menu is the gif thumbnail so we don't skip past it. + working-directory: tests/emulator + run: | + node record_gif.mjs war 360 2 /tmp/war.gif 4 + if ! cmp -s ../../docs/war.gif /tmp/war.gif; then + echo "::error file=docs/war.gif::committed docs/war.gif is stale; rerun \`node tests/emulator/record_gif.mjs war 360 2 docs/war.gif 4\` and commit the new gif" + exit 1 + fi - name: Upload actual + diff PNGs on failure if: failure() uses: actions/upload-artifact@v4 diff --git a/CLAUDE.md b/CLAUDE.md index 8319a54..40ef459 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,22 +22,28 @@ re-derive the project conventions from scratch. tmp path and fails if the committed version differs, pointing at the exact `cargo run -- build examples/.ne` to run. The pre-commit hook under `scripts/pre-commit` catches this locally. -- **`docs/platformer.gif` is committed** and embedded in the - top-level README as the project demo. `gifenc` + `jsnes` are - deterministic, so the gif's bytes are a function of the compiler, - the runtime, the harness, and `examples/platformer.ne`. Any change - to those that affects the first ~6 seconds of observable platformer - gameplay must be followed by regenerating the gif: +- **`docs/platformer.gif` and `docs/war.gif` are committed** and + embedded in the top-level README as the project demos. `gifenc` + + `jsnes` are deterministic, so each gif's bytes are a function of + the compiler, the runtime, the harness, and the underlying `.ne` + source(s). Any change to those that affects the first ~6 seconds + of observable gameplay must be followed by regenerating the + affected gif: ```bash 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 ``` - and committing it in the same change. CI's `emulator` job renders - a fresh gif and fails if the committed one doesn't byte-match. The - pre-commit hook rebuilds the gif when `platformer.ne`, `platformer.nes`, - `record_gif.mjs`, or `harness.html` is staged (and `tests/emulator/node_modules` - is installed). + (The trailing `4` on the war command is the warmup-frames + override — war's title menu is the gif thumbnail, so we don't + skip past it the way the platformer recording does.) Commit the + regenerated gif in the same change. CI's `emulator` job renders + fresh gifs and fails if either committed copy doesn't byte-match. + The pre-commit hook rebuilds whichever gif is affected when + `platformer.ne`, `platformer.nes`, any file under `examples/war/`, + `war.ne`, `war.nes`, `record_gif.mjs`, or `harness.html` is + staged (and `tests/emulator/node_modules` is installed). - `docs/future-work.md` lists the remaining gaps. If you implement something from that file, update the doc in the same PR. diff --git a/README.md b/README.md index 6d5905b..4ce0c97 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,10 @@ NEScript compiles `.ne` source files directly into playable iNES ROM files, with _Source: [`examples/platformer.ne`](examples/platformer.ne)_ +![War demo](docs/war.gif) + +_Source: [`examples/war.ne`](examples/war.ne)_ + ## Quick Start ```bash diff --git a/docs/war.gif b/docs/war.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c71288d0f201692b1351b103577d7cff85cee08 GIT binary patch literal 376668 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 z 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/dev/null) - if ! cmp -s docs/platformer.gif /tmp/platformer-precheck.gif; then - echo " STALE: docs/platformer.gif" - echo " rerun: node tests/emulator/record_gif.mjs platformer 360 2 docs/platformer.gif" - rm -f /tmp/platformer-precheck.gif - exit 1 - fi - rm -f /tmp/platformer-precheck.gif - else - echo " (skipping gif freshness check — tests/emulator/node_modules not installed)" +recorder_or_harness_changed=0 +if echo "$changed_files" | grep -qE '^tests/emulator/(record_gif\.mjs|harness\.html)$'; then + recorder_or_harness_changed=1 +fi + +check_gif() { + name=$1 + args=$2 # extra args to record_gif.mjs (e.g. "4" for warmup) + if [ ! -d tests/emulator/node_modules ]; then + echo " (skipping $name gif freshness check — tests/emulator/node_modules not installed)" + return 0 fi + echo " Rebuilding docs/$name.gif..." + # shellcheck disable=SC2086 + (cd tests/emulator && node record_gif.mjs "$name" 360 2 /tmp/${name}-precheck.gif $args >/dev/null) + if ! cmp -s "docs/$name.gif" "/tmp/${name}-precheck.gif"; then + echo " STALE: docs/$name.gif" + echo " rerun: node tests/emulator/record_gif.mjs $name 360 2 docs/$name.gif $args" + rm -f "/tmp/${name}-precheck.gif" + return 1 + fi + rm -f "/tmp/${name}-precheck.gif" + return 0 +} + +if [ $recorder_or_harness_changed -eq 1 ] || \ + echo "$changed_files" | grep -qE '^examples/platformer\.(ne|nes)$'; then + check_gif platformer "" || exit 1 +fi + +if [ $recorder_or_harness_changed -eq 1 ] || \ + echo "$changed_files" | grep -qE '^examples/war(\.(ne|nes)|/[^/]+\.ne)$'; then + check_gif war 4 || exit 1 fi echo "All pre-commit checks passed." diff --git a/tests/emulator/record_gif.mjs b/tests/emulator/record_gif.mjs index dea9ca9..bc38a72 100644 --- a/tests/emulator/record_gif.mjs +++ b/tests/emulator/record_gif.mjs @@ -1,10 +1,11 @@ // Record a GIF of a .nes ROM running in jsnes. // // Usage: -// node record_gif.mjs [frames] [stride] [output.gif] +// node record_gif.mjs [frames] [stride] [output.gif] [warmup] // -// Example: +// Examples: // node record_gif.mjs platformer 360 2 docs/platformer.gif +// node record_gif.mjs war 360 2 docs/war.gif 4 // // The recorder drives `harness.html` via puppeteer, collects one // canvas frame every `stride` NES frames for `frames` total, and @@ -13,15 +14,23 @@ // other NES frame (NES runs at ~60 fps), which is the right // tradeoff between smoothness and file size for a README demo. // -// IMPORTANT: `docs/platformer.gif` is committed and embedded in the -// README. Any change to the compiler, the runtime, the harness, or -// `examples/platformer.ne` that alters the gameplay you see in the -// first ~6 seconds of the demo must be followed by +// `warmup` is the number of NES frames to advance before the first +// captured frame. The default of 30 skips past the reset stall and +// the platformer's auto-Title→Play handoff at frame 20; the war +// 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 // // 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 // // committed alongside the source change. The CI `emulator` job -// regenerates the gif and fails if the committed copy is stale — +// regenerates both gifs and fails if the committed copies are stale — // gifenc + jsnes are deterministic, so the freshly-rendered bytes // byte-match a valid commit. See `.github/workflows/ci.yml`. @@ -66,11 +75,18 @@ await page.waitForFunction( await page.evaluate((b) => window.nesHarness.loadRomBase64(b), romB64); -// Warm-up: skip past the reset stall and any title screen so the -// first captured frame shows real gameplay. 30 frames at 60 fps -// covers ~0.5 s which is enough for the platformer example's -// Title → Playing auto-transition at frame 20. -const warmupFrames = parseInt(process.env.WARMUP ?? "30", 10); +// Warm-up: skip past the reset stall and (optionally) any title +// screen so the first captured frame shows what we want as the +// gif's thumbnail. 30 frames at 60 fps covers ~0.5 s which is +// enough for the platformer example's Title → Playing auto- +// transition at frame 20. The war recording overrides this with +// `4` (positional arg below) so the title menu is the first frame. +// Positional arg wins; `WARMUP=…` env var is honoured for ad-hoc +// experimentation. +const warmupFrames = parseInt( + process.argv[6] ?? process.env.WARMUP ?? "30", + 10, +); await page.evaluate((n) => window.nesHarness.runFrames(n), warmupFrames); console.log(