diff --git a/PROJECT.md b/PROJECT.md index 9fea60b..c18a8ad 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -643,6 +643,48 @@ through. Open for the phone: whether the fixture button should ever go to the setup screen (it does not now), and whether the promotion's WALK ON should enter the cup instead of the clubhouse. +## Session log: THE MENU TEXT REDUCTION — the design handoff, built (2026-08-31, STAGING ONLY) + +A handoff from a design session (its folder is on Oliver's disk, git-ignored: the prototype ships a +copy of thirty repo assets). Its rule, and now the game's: + +- **JERSEY 15 NAMES** — screen titles (33px), rooms (17px), cards and courts. Bundled subset, 9 KB. + It replaced BUNGEE the same day Bungee arrived: Jersey sits on the same pixel grid as Silkscreen, + so it reads as one family with the sprite art, and it runs proportionally lighter. Sizes run + ~+40% against the Bungee values because Jersey sits lower in its box. +- **BANGERS CALLS, once per screen** — the fixture button, the hero poster, a modal headline, + LEAVE THE MATCH?, PROMOTED. +- **SILKSCREEN INFORMS** — numbers, labels, chips. Unchanged. +- **A sentence survives only where it carries a decision.** Everything else became a bar, a pip, + or moved into the modal that opens with the mode. + +What that cost each screen: +- **SPLASH**: the plaque is ONE row (crest · name · level, bar under it wearing the level it fills + toward). `#plGoal` is gone — the fixture button below said the same thing. The two secondary + doors carry a number each (`STATS / 4812`, `BOARD / BEST 612`, `stats.bestScore`, read locally — + the splash does not fetch the world board). `cupFixture.line` lost its round count to `.sub`. +- **PICK A GAME**: rooms are ONE WORD (SEASON / TRAINING / CASUAL) with no straps, posters are + their names, and `MENU.layout` deals each room its own way — the fixture is a 142px HERO with the + only second line on the wall, the training pair stands side by side at 106, the casual three + stack at 96. The whole wall fits one screen (654px); it was two. +- **MATCH SETUP**: blocks, not numbered steps. The meters' legend stands ONCE in the rubric row and + the per-row labels went with it; an open court says nothing, a locked one says `LEAGUE 4`. The + `#sSum` footer retired entirely — with it, `main.summary()`. +- **DIFFICULTY**: name plus three pips, as many lit as the chip is steep. No explanation. +- **TRAINING**: the revanche is a full-width row (`PUT YOU OUT`), rungs are two-digit numbers, and + the list ends on a dashed tile naming the league that opens the rest of the ladder. +- **VS**: three paragraphs became `YOU` / `HOST` / `JOIN`; the join button says `GO`. +- **MODALS**: ONE rule per row — the `sub` was nearly always the `lead` again in other words, so + the line that names the RESULT survives (`m.rules` takes plain strings now, objects only for + `hot`/`pips`). The blood pool sits as pips on that same line, hard right. The masthead carries one + strap: the walk-on's slogan, or `m.strap` (`LEAGUE 3 · 4 ROUNDS` — where the round count went). + **The walk-on's two levels are ONE face at ONE size** (Oliver): a comparison drawn at two sizes is + a headline with a footnote. Only the colour differs, and only where it means something. + +Deliberately NOT taken from the handoff: nothing. Two small deviations — the meters' legend reads +`PACE · BOUNCE` (the order the bars are actually drawn in), and the `18 RUNGS` chip sits under LAST +rather than beside it on the one poster that can wear both. + ## THE SEASON — the tournament is the story (2026-08-31, AGREED in discussion; PHASES 1-4 BUILT ON STAGING — see the log above) Oliver's diagnosis, and it is right: "alles ist irgendwie beliebig... die Menüführung und die Start-