Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
Add Steeple Climb: the playable page and its place in the catalogue, on the rules in `steeple-climb/spire.js` #362
Sign in to join this conversation.
Make the Steeple Climb rules playable and listed, in the same shape as
tide-crossing/andbumper-cars/. Starts once #355 has landedsteeple-climb/spire.js.Done looks like:
steeple-climb/index.htmldraws the seeded church steeple face with its holds and the weathercock at the top; tap a reachable hold (or pick it with the arrow keys and Enter) to test or trust it as the rules allow; U undoes where the rules allow and R restarts. The HUD shows height, moves and par. It drives the game only through the export ofspire.jsand adds no game rule of its own. The HUD reads from the rules state, and every move, refusal and end line is announced through an aria-live region.engine.js, fixed 30-degree camera, hard shadows screen-right, ambient motion held still underprefers-reduced-motion. A tested loose stone differs from a sound one by shape as well as colour (a crack drawn across it), and the reachable holds are outlined. The canvas aria-label says how to play, the rules popup is at most four lines, there is a#mutebutton and no.mp3is committed.GAMESinshell.jswith idsteeple-climb, titleSteeple Climb, kindClimbing, inputTap,music: falseandforged: true; the matching<li>in the rootindex.html; in the README Games table and the list of games without music;bun scripts/og.mjshas been run.rounds.mjshas a scripted round forsteeple-climbthat reaches an end line,serve.test.mjsasserts/steeple-climb/and/steeple-climb/spire.jsanswer 200, asteeple-climb/page.test.mjsstays inside the per-game test budget the suite already holds to,playtest.test.mjspasses for the folder, andbun testpasses.bun scripts/design-lint.tspasses.Files:
steeple-climb/index.html,steeple-climb/page.test.mjs,shell.js,index.html,README.md,rounds.mjs,serve.test.mjs,og/. Risk:shell.js,index.html,README.mdandserve.test.mjsare shared with every other page pull; rebase before pushing. Fits: a builder.