Repository navigation
Description
Score: 5.5/10 (target 8)
Part of the owner's 2026-11-04 round of hill climbs on every game's UI: once the eqosys skin hook (#3549) lands, each game's menus get real, stylised artwork in the game's own look. This climb is Delayed Reaction, the dub rhythm game: the direction is in apps/delayed-reaction/VISION.md (the reference radio is pinned there) and IDEAS.md.
Where it stands (from #3581)
Round 1 (#3566): 1.5 to 6. Round 2 (#3580): 4.5 to 5.5. Round 3 (#3588): 5 to 5.5. Each round's BEFORE is the previous round's NOW, scored by a fresh judge, and the judges score lower each time, so 5.5 is the score carried. The menu is a dub radio fascia in src/fascia.ts. The shots are in apps/delayed-reaction/docs/shots-2026-11-04/ (before/, now/ = round 1, round2/, round3/), retaken with bun apps/delayed-reaction/scripts/menu-shots.ts <dir> --url <dev server>; delayedReaction.result({...}) shows the results screen for given numbers. The round comments with every shot are on #3556, #3567 and #3581.
Next: (1) Settings at every size, now the biggest gap: hooks in packages/game-controls (tokens or classes for a fader track and thumb, and a toggle switch) so this game draws radio faders and switches without a fork. Fix "Toggle instead of hold" wrapping onto three lines, and let a game hide rows that mean nothing to it (Look X/Y sensitivity in a rhythm game). (2) Results: make the run an event. A grade stamped on the display (a tape-label rating), a "Level 3 clear" that reads bigger, Replay and Next buttons on the readout, and the stats filling the display's width on the side and desktop. (3) Levels, phone: keep a clear strip under the cog so it never sits over preset 6. Give the tapes cassette art: a shell or reels, the best score on the label, and a lane-colour spine. (4) Once #3540 (eqosys skin hook) is on main, skin the sign-in chip, report form and toast through it.
Goalpost: 8/10 from the owner on the menus
- In the game's own look. Title, level select, settings and the results screen read as the same world as the run: the VISION's material, type and colour, phone first.
- Artwork, not only CSS. Backplates, dials, tape labels, frames as small SVG, procedural canvas or headless-Blender tiles; say what each weighs.
- Still readable, every screen size. Contrast at or above today, the four pads untouched, checked with
bun run probe delayed-reaction --shotfrom phone to desktop. - eqosys menus wear it. The sign-in chip, report form and achievement toast come through the skin hook from eqosys menus: a game injects its skin once and every shared surface wears it, hill climb to 8/10, rounds 3+ (from #3541) #3549, never a second stylesheet.
- House kit underneath. Components from
packages/uiandpackages/game-controlsre-themed by tokens; a forked copy of one is a gap.
The loop
Each round is one PR against main that says "Part of #N" and commits before/after shots to apps/delayed-reaction/docs/shots-<date>/. A fresh judge scores BEFORE vs NOW (judges run about two points above the owner). End with a comment starting Score: x/10 (target 8) and ending Next: ..., open the "rounds N+" issue and close this one with "Moved up to #new". At the target, a MANUAL RUN: for the owner's own score.
Activity
QuinnsCode commentedon Nov 5, 2026
Moved here from #3598 (the eqosys skin roll-out, which #3603 closes). The next round also brings the eqosys skin along:
SKINinapps/delayed-reaction/src/eqosys.tsis plain black and white. Match it to the radio fascia, reading the game's own CSS variables rather than copying hex values.QuinnsCode commentedon Nov 5, 2026
Score: 2.75/10 (target 8)
Reset by the owner (2026-11-05): every hill climb's agent-judged "where am I at" score is halved to match what they expect; this one was 5.5. Judges keep scoring before against now the same way, and each round reports half the judge's number from here on.