Skip to content

Stage 3: the kitchen holds the rush, and Mama Moray's front restaurant - #114

Merged
ChefControl merged 10 commits into
mainfrom
claude/stage3-front-restaurant
Oct 19, 2026
Merged

ChefControl merged 10 commits into
mainfrom
claude/stage3-front-restaurant

Conversation

@ChefControl

@ChefControl ChefControl commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

What changes

  • The kitchen holds the rush. The pot, the counter, the ledges and the bowl slide are full when the gong goes. The bowl slide is now its own node in the shop. The gong's forecast rehearses the fight twice, once with the player working and once with the player at the pot, and promises the worse of the two.

  • Mama Moray's Honest Chanko replaces the tunnel. Bowls the pot can't hold ride a belt under the floor, from a hatch by the hearth up through a slot in her counter. She pays 12% of each bowl.

  • It starts as a wreck and is fixed up by Word on the street:

    Level Look
    0–1 Wreck, closed
    2–4 Being cleared, closed: rubble stacked, then the floor patched and the tables up, then the stools
    5 Patched and open, about when boss 2 falls: Mama says "Open for business, dear." and her cut starts
    6 Back-street joint
    7 Mama's touch
    8 The Family's front

    Each purchase gets two close-ups, the arena first and then the restaurant. While it's closed you hear a drip and creaking boards; once it opens, the diners' murmur. The hall can always be walked through to the restroom.

  • The restroom's out-of-order stall is the only way into the Undertow, after boss 2. It stays broken at every level.

  • The bowl slide also runs under the floor, with flush grates you can walk on.

  • A doorway from the dining wing into the cookware shop.

  • Retuned (the stage 3 bot, four styles):

    Run Time to the buyout
    Median 46:42
    Skips the cooking show 48:03

    No style gets stuck. Bells are 30/30/45/45/60 s and crowds are 160/440/880/920/1250. A bowl sells for 0.9 chips and the slide costs 150.

  • The bowl slide is a bowl line. Once it's bought, the bowl counter is replaced by the line's motor, and a hopper by the pot catches the bowls. They ride under the floor, come up on the ring side of the soup counter and climb a cleated ramp onto it. The sake barrels moved further up that wall to make room. Mama's bowls branch off under the floor to her counter. If she opens before the line is in, she says "Waiting on your belt, dear." The numbers are the counter's, so the tune is unchanged.

  • The shop's back door from the dining wing has a long noren curtain, torn while Mama's is shut and whole once she opens. The wide opening from her hall into the wing has no frame.

  • Cheap ambient occlusion. The cellar's still furniture is shaded darker where it meets the floor, baked into its vertex colours. The wreck's loose pieces get soft contact shadows. Its fallen tables and stools now lie properly on the floor.

  • Close-ups wait 2 s after a purchase before the camera moves and the menu steps aside. They measure what's popping in at full size, and skip any shot that would look far from the player.

  • Faster sims. Stage 3 bots run headless; test/headless.test.ts checks the results match a full run. The bot stops after the buyout, and the forecast skips its second rehearsal when the first already falls short. A four-style round takes about 11 s, down from 3–5 min. The bot also bins ready ingredients it can't put down when bowls are waiting on the counter; before, it could jam with full arms and an empty stall.

Tests

  • tsc is clean.
  • stage3, undertow, sound, chanko and headless pass locally. The Eddie and finisher tests were updated for the new crowd sizes.
  • The full suite runs on CI.

🤖 Generated with Claude Code

ChefControl and others added 10 commits October 19, 2026 00:05
- The kitchen holds the rush: the pot, counter, ledges and the bowl slide (now its own
  shop node) are full when the gong goes; the forecast rehearses with the player working
  and with the player at the pot, and promises the worse.
- Mama Moray's Honest Chanko replaces the tunnel: overflow bowls ride a belt under the
  floor to her counter and she pays 12% of each. It starts a wreck and is put right by
  Word on the street: cleared at 1, open at 2 ("Open for business, dear."), then the
  arena's three looks. Drip and creak while shut, the diners' murmur once open.
- Its restroom's out-of-order stall is the only way into the Undertow, after boss 2.
- The bowl slide also runs under the floor, with flush grates.
- A doorway from the dining wing into the cookware shop.
- Retuned: about 46 minutes to the buyout (bot median 45:55), 49:39 without the cooking
  show, no one stuck; bells 30/30/45/45/60 s.
- Faster sims: a headless mode for stage 3 bots (same results), the bot stops after the
  buyout, the forecast skips its second rehearsal when the first already falls short.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The restaurant stays a wreck for levels 0–1, is cleared up over 2–4 (rubble stacked,
  then the floor patched and the tables up, then the stools), and opens at 5, about when
  boss 2 falls and the stall's way into the Undertow opens. Its looks move to 6, 7 and 8.
- The bot bins ready ingredients it can't put down when bowls are waiting on the
  counter (before, with Mama shut, it jammed with full arms and an empty stall).
- Retuned: bowl price 0.9, median 46:42 to the buyout, 48:03 without the cooking show.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… way into the wing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…pens

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…time limit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…id only as she opens

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Once bought, the counter by the east wall goes: in its place the line's motor (a
  steel drive box, a red flywheel turning), and by the hearth a hopper the pot's bowls
  are ladled into, onto a belt into the floor.
- Under the floor to the soup square, up out of a hood on the counter's ring side by
  the east wall and up a cleated ramp onto the counter's top; the sake barrels move
  further up that wall to make room. The ramp blocks walking once it's laid.
- Mama Moray's bowls ride the same line and turn off under the floor to her counter;
  with no line in yet, she's open but "Waiting on your belt, dear." (and takes none).
- underBelt.ts: stretches on the floor (up/down hoods, climbing ramps), riders that
  leave where they're bound. Same numbers as the counter (tune unchanged, 46:42).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… steadier close-ups

- Baked AO: the cellar's still furniture is shaded darker where it meets the floor (and
  under things) in its vertex colours as it's baked, so it costs nothing to draw.
- Contact shadows (contact.ts): a soft smudge under the wreck's fallen tables, stools,
  rubble and crates, merged into one mesh per stage of the ruin.
- The wreck's fallen tables lie on an edge, propped on their pedestals; its stools lie
  on their sides, seat rim and foot on the floor (no legs in the air).
- Close-ups wait 2 s after a purchase (was 0.7) before the camera goes and the shop's
  menu steps aside; they measure what's popping in at its full size, and a close-up
  that would look far from the player (somewhere nowhere) is skipped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rks its motor, and the counter's spot goes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ChefControl added a commit that referenced this pull request Oct 19, 2026
… their limits on CI under coverage: 29.5 s of 30, 13.4 s of 15 on #114)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ChefControl
ChefControl added this pull request to stack #116 October 19, 2026 13:44
@ChefControl
ChefControl merged commit b951d77 into main Oct 19, 2026
7 checks passed
@ChefControl
ChefControl deleted the claude/stage3-front-restaurant branch October 19, 2026 13:49
ChefControl added a commit that referenced this pull request Oct 19, 2026
… their limits on CI under coverage: 29.5 s of 30, 13.4 s of 15 on #114)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ChefControl added a commit that referenced this pull request Oct 19, 2026
* Demo: &full buys all of the cellar (the Grand Hall's stands, every hand and line), for timing Fukure's rush

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Stage 3: shadows only from what could be on screen, plainer shadows for the fans and the Undertow's figures, a cheaper merge check; on Low four lamps, no small shadows, no fans' shadows, half the hatch's smoke

- levelCull.ts: down in the cellar the sun's shadow box is fitted to the floor on screen, turned square to the
  screen; the Undertow's figures cast only while they or their shadow could be seen (a third of a boss night's
  shadow pass came from the club, off screen)
- swarm.ts: the fans cast from a copy snapped to a 4 cm grid, the trim (eyes, buttons) not at all; none on Low
- family.ts: a figure's merged parts cast a plainer copy of what was made to cast; on Low only the bigger pieces
- batch.ts: what isn't merged is looked at one frame in eight (1.4 -> 0.5 ms a frame in Fukure's rush); a shadow
  put out or back moves a mesh to the right batch without a strike against it
- cellar.ts: on Low, four stand-in lamps take the four nearest where the camera looks, fading as they swap; small
  or rod-thin things cast no shadow
- hatchFx.ts: half the puffs on Low

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Stage 3: the Undertow's figures in two versions, Low a notch plainer and High finer (coat buttons, hem and pockets, shirt cuffs, thumbs, round trousers and soled shoes), each ball given the sides its size wants; Low's lamps set each time the cellar's drawn

- family.ts flatten: Low's merged mesh is made just as the one mesh was (on the game's luck), its balls a notch
  plainer; High's, on dice of its own, with the pieces only it has (fine/finePiece) and without Low's blocks (lowOnly)
- angler.ts: Al's freckles, nostrils, buttons and welts baked from a six-sided dot (a centimetre across)
- levelCull.ts eachDrawing: what's done each time the cellar's drawn, scene, menu or not (Low's four lamps)
- cellar.ts: the stand-ins go to the lamps that light the spot most, not just the nearest

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Stage 3: High's finer wrestlers (ears, a nose, eye glints, a navel, thumbs, toes, a cord round the belt) and referee (his sash's bow, a thumb); tests for stage 3's Low and High

test/stage3Graphics.test.ts: the luck the same on either, all fourteen lamps on High and four standing in on Low, no
small things' or fans' shadows on Low, the figures finer on High and plainer on Low, the wrestlers' finer things on
High only, the shadows fitted to the screen down here and the figures casting only when they could be seen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Docs: stage 3's High and Low, and what keeps the cellar fast

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Test: more time for the cellar's music and the stage 2 till tests (at their limits on CI under coverage: 29.5 s of 30, 13.4 s of 15 on #114)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Test: more time for stage 3's graphics tests (the luck test loads four games, 17 s under coverage on CI; the one after crashed into its still-running load)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Test: more time for six tests near their limits on CI under coverage (the offer's first test timed out at 15.7 s of 15)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

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