Skip to content

Stage 3 one level at a time (the other pays by formula), fans no longer sprint, a more useful 🛠 panel - #119

Merged
ChefControl merged 5 commits into
mainfrom
claude/demo-panel-toggle
Oct 21, 2026
Merged

ChefControl merged 5 commits into
mainfrom
claude/demo-panel-toggle

Conversation

@ChefControl

@ChefControl ChefControl commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

From the owner's phone playtest.

  • Stage 3, one level at a time (ring.ts, fight.ts, levelCull.ts, game.ts, front.ts). Only the level the player's on is drawn and runs; the other holds still as it was left and pays by a formula:
    • Up top, the cellar isn't drawn (userData.below and anything wholly below CELLAR_Y + 15, incl. the fans' never-culled meshes) and, with no boss in or called, doesn't run. Its pay: idleRate() runs a copy of the cellar 5 minutes ahead with nobody in it (as the gong's forecast does) and counts what bowls and Mama Moray's take; worked out once as the player climbs up (~11 ms), paid a chip at a time, Harry taking his share; a "+🐡" over the hatch every 3 s when near. Matches the running cellar within 1% with everything bought, 6% elsewhere; 0 before any hands. With a boss in or called it runs as before, undrawn.
    • Down below, the world up top already wasn't drawn; now its fishing, boats, customers, crew, counters, farm, sea and roof don't run either. Its tills pay the player's share (tillShare) of what customers were paying a second over the last 3 minutes it ran (tillRate): none while it's Mr. Fugu's rent, all once he's bought out.
    • Frame rate at 393×852, 4× CPU: up top with a busy cellar, High 32 → 60 fps, Low 42 → 60 (draw calls 940 → 726, triangles 638k → 421k, JS p95 34 → 18 ms); in Fukure's rush, High 40 → 59, Low 36 → 60 (JS p95 37 → 19 ms).
    • Tests: test/stage3Away.test.ts (6); the takeout drivers test now checks they hold still.
  • Fans sprinting to the soup bar (src/swarm.ts). Each local fan is due at the bar REACH (6 s) after they arrive. One who'd be late got a speed of the whole remaining way ÷ time left, so when their queue spot moved and the time left ran short, they covered the rest in a frame or two. Measured in a headless run: up to 58–72 m/s in every local bout's prep. Now they run at most 6 m/s (RUN); one still late is served on the way and turns your colour when they reach the bar, as a fan served early already does. The soup logic (fight.ts, served at queue time + REACH) is unchanged, so balance is too. A boss's crowd was already under 8 m/s and is unchanged.
    • Test: a local fan late for the bar runs there, no faster than a person can (stage3.test.ts) fails at 57 m/s without the cap.
  • The 🛠 demo panel never closed (src/demo.ts, demo build only). Its .box rule sets display:grid, which beats the hidden attribute. Added #demo .box[hidden]{display:none}; it now starts closed and 🛠 toggles it (checked at 375×812).
  • The 🛠 panel, reworked (src/demo.ts, src/fuguDemo.ts, demo only). Seasons and effects are gone. Now: the stats line; Low/High; Game: Stage 1, Stage 2, Stage 3; a Stage 3 section with Beaten 0–5 (each boss's face) and Cellar: As won / All bought; Money: +$100k / +$1M (+100 / +1,000 chips in the cellar). The playtest build writes its game from the address on every load, so the buttons reload with ?stage=1, nothing (stage 2) or ?stage3=on&cellar&beaten=N[&full]; the old Stage 1/2 buttons wrote a save there that the reload threw away. Other demo builds still write the market save directly (marketSave, moved to fuguDemo.ts). "To buy" is gone. Checked every button at 375×812.
  • &gong (src/fuguDemo.ts, demo only) starts a cellar link on the gong's pad: ?stage3=on&cellar&beaten=4&full&gong puts you before Fukure (1,250 fans) with everything bought.

Merge with "Squash and merge".

🤖 Generated with Claude Code

ChefControl and others added 2 commits October 22, 2026 02:03
…ibute, so it never hid), and &gong starts on the gong's pad

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sprinted up to 58, covering the rest of the way in a frame or two when their queue spot moved); served on the way if late

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ChefControl ChefControl changed the title Demo: the 🛠 panel closes again, and &gong starts on the gong Playtest fixes: fans no longer sprint to the bar; the 🛠 panel closes; &gong Oct 21, 2026
… game (stage 3 with N bosses beaten, as won or all bought), and money to add; no seasons or effects

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ChefControl ChefControl changed the title Playtest fixes: fans no longer sprint to the bar; the 🛠 panel closes; &gong Playtest fixes: fans no longer sprint to the bar; a more useful 🛠 panel Oct 21, 2026
… drawn, paying what it makes on its own (a copy of it run 5 minutes ahead); down below the world up top holds still, its tills paying the player's share of what they were taking

At 4x CPU on an iPhone-sized screen: up top with a busy cellar, High 32 -> 60 fps, Low 42 -> 60; in Fukure's rush, High 40 -> 59, Low 36 -> 60.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ChefControl ChefControl changed the title Playtest fixes: fans no longer sprint to the bar; a more useful 🛠 panel Stage 3 one level at a time (the other pays by formula), fans no longer sprint, a more useful 🛠 panel Oct 21, 2026
@ChefControl
ChefControl enabled auto-merge (squash) October 21, 2026 23:50
@ChefControl
ChefControl merged commit ae4b209 into main Oct 21, 2026
5 of 7 checks passed
@ChefControl
ChefControl deleted the claude/demo-panel-toggle branch October 21, 2026 23:58
ChefControl added a commit that referenced this pull request Oct 22, 2026
…ellar, over 60 s under coverage on CI; it merged with #119 as main only requires the build, skipped when tests fail) (#120)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant