Repository navigation
Stage 3: Low and High for the cellar, and cheaper on both - #115
Merged
Merged
Conversation
ChefControl
added this pull request to stack #116
October 19, 2026 13:44
…nd and line), for timing Fukure's rush Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…or 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>
…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>
…humbs, 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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… 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>
…r 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>
ChefControl
force-pushed
the
claude/stage3-graphics-267070
branch
from
October 19, 2026 13:49
d80294b to
7282a73
Compare
…(the offer's first test timed out at 15.7 s of 15) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stage 3 (the cellar) gets a Low and a High version under the Graphics setting, plus fixes that make both cheaper. Stacked on #114.
Owner's decisions (2026-10-19): today's stage 3 look is High, and Low is a cut-down copy of it for phones. The exception is the Undertow's figures: today's look counts as Low, and High is finer. Every Low cut below was approved.
Both settings (no visible change)
Low
High
Speed
Measured on a Mac (M4) at 393×852, back to back. The scenes are Fukure's rush (1,250 fans, everything bought: the new demo option
&full) and the Undertow club. The frame rate is shown at full speed and with the CPU slowed 4×; frame-time p90/p95/p99 are all 16.7 ms at full speed in both versions.The frame's own JS time at p50 went 6.0 → 4.8 ms (ring rush, High) and 5.1 → 3.8 ms (ring rush, Low). With the CPU slowed 4×: 24 → 21 ms and 22 → 18 ms.
The profile also showed the iPhone's limit is the graphics chip's geometry work (the shadow pass and the moving people), not pixels. A quarter of the pixels saved only 11% of GPU time. That's why the cuts go after triangles, lamps and shadows.
Luck
Everything new is made on dice of its own. With the same seed, loading the cellar on Low and on High draws the same 69,789 numbers from the same places. The test checks this.
Tests
test/stage3Graphics.test.ts(new, 6 tests): the luck, the lamps, the shadows, the figures, the wrestlers, and the shadow fit and culling. These files pass locally: eyecandy, graphics, stage3, undertow, offer, crowd, finishers, cellarLooks, monte. The full suite runs on CI.Docs: a stage 3 section in docs/graphics.md.
🤖 Generated with Claude Code