The screen titles go upright, and Bungee ships subset

10 KB instead of 119 — the face carries only the characters this game sets, and
the command to redo it is in PROJECT.md. The header strip's titles take it at
23px: a strip at the top of a screen is signage, not an announcement, so it
stops leaning. Bangers keeps what it was always for — the primary button, the
ceremonies, and everything the canvas shouts. The poster wall's rooms go back
to acid beside it, with the scale carrying the hierarchy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-08-31 13:48:48 +02:00
1 parent 313f6d82bf
commit 4c0ede33db
4 files changed
+37 -7

No files matched your search

+24
View File
@@ -595,6 +595,30 @@ can add the class, and Oliver kept seeing `LEVEL 1 · LEAGUE 1` snap to the real
is in the HTML now and main.js only ever takes it off. The keyboard-hint strip hides with it
(`body:has(#splash.busy) #hint`), so the loading screen really is court, title and bar.
**A THIRD FACE, AND THE TITLES GO UPRIGHT** (2026-08-31). Bangers has no upright cut — the slant
is drawn into the glyphs, which is why the chevrons have always been Silkscreen — so a heading
that wanted to shout without leaning had nowhere to go. **Bungee** (SIL OFL, licence beside it in
`assets/fonts/`) is bundled as the third voice: arcade signage, upper case by design, in-world
where a system sans read as borrowed chrome. The registers are now:
- **Bangers** ANNOUNCES — the primary button, PROMOTED., NEW PERSONAL BEST, and everything the
canvas shouts (SET, CHAPTER, EPIC!).
- **Silkscreen** is the HUD — numbers, labels, captions, anything read at leisure.
- **Bungee** NAMES THE ROOM — the header strip's screen titles (23px) and the poster wall's
section headings (15px). You are not being shouted at there, you are being told where you are.
It ships SUBSET to the characters the game actually sets — 10 KB instead of 119. To redo it after
a copy change that needs a new glyph:
uv run --with fonttools pyftsubset assets/fonts/Bungee-Regular.ttf \
--unicodes="U+0020-007E,U+00A0,U+00B7,U+2013,U+2014,U+2018,U+2019,U+201C,U+201D,U+2026,U+2605,U+00D7" \
--layout-features="" --no-hinting --desubroutinize \
--output-file=assets/fonts/Bungee-Subset.ttf
(the full TTF is not in the repo — fetch it from google/fonts ofl/bungee first). Two CSS traps
this cost us: `#intro h2` carries an id, so the header rule needs one too or the announcement face
wins; and the poster wall's captions live INSIDE `.mgroup` now, so a bare `.mgroup b` restyles
every poster on the screen — scope to `> header`.
**THE MENU DEALS ITSELF IN.** The canvas modals have always arrived on an easeOutBack overshoot;
every menu screen does the same now — on EVERY arrival, not just the boot (Oliver, twice: "immer
reinfliegen" and "auch für die untermenüs"). `@keyframes dealIn` flies an element in from the left