The wall drops its corner chips
LAST remembered what you played last time, which a gallery of six posters does not need to do for you, and 18 RUNGS was a number about a mode on the screen for choosing between modes. Both gone. The difficulty screen keeps its LAST — there it is the only thing saying what you last set. The dead sub-poster branch in buildSub went with them: nothing has fanned out into sub-posters since the cup left the ZOMBIE TENNIS pocket. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
cb3074f99d
commit
e09ce992e2
3 files changed
+17
-25
No files matched your search
+9
-3
@@ -681,9 +681,15 @@ What that cost each screen:
|
||||
**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.
|
||||
Deliberately NOT taken from the handoff: **the wall's corner chips**. Both went the same evening
|
||||
(Oliver: "sinnlos") — LAST remembered what you played last time, which a gallery of six posters does
|
||||
not need to do for you, and 18 RUNGS was a number about a mode on the screen where you choose
|
||||
BETWEEN modes. The LAST chip survives on the DIFFICULTY chips, where it is the only thing that says
|
||||
what you last set. One other deviation: the meters' legend reads `PACE · BOUNCE`, the order the bars
|
||||
are actually drawn in.
|
||||
|
||||
With the chips went the last caller of the second step's poster branch (`buildSub`'s `t.kids` loop):
|
||||
no MENU row has fanned out into sub-posters since the cup left that pocket, so it is gone too.
|
||||
|
||||
## THE SEASON — the tournament is the story (2026-08-31, AGREED in discussion; PHASES 1-4 BUILT ON STAGING — see the log above)
|
||||
|
||||
|
||||
@@ -549,10 +549,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat
|
||||
#modeList .mgroup.hero .cb b { font: 400 32px/0.95 Bangers, cursive; letter-spacing: 1px; }
|
||||
/* ...and the hero's second line is the fixture, the only strap left on the wall */
|
||||
#modeList .mgroup.hero .cb i { color: #f0cfc4; font-size: 10px; margin-top: 3px; }
|
||||
/* a fact that changes what a mode IS, not a description of it. Top right like LAST, and UNDER
|
||||
it on the one poster that could wear both (the chip is appended after LAST in main.banner) */
|
||||
#modeList .last.chip { top: 7px; }
|
||||
#modeList .last + .last.chip { top: 30px; }
|
||||
/* text-align rides down from the card, which centres everything on these screens — the section
|
||||
header is a header, and headers on this screen are left-aligned (the .hdr title, the posters'
|
||||
own captions) */
|
||||
|
||||
+8
-18
@@ -124,9 +124,11 @@ const modeSub = document.getElementById('modeSub');
|
||||
// checkbox and a button combined"). Every poster is full-bright and equal — all of them are live
|
||||
// answers — and the only memory shown is the LAST tag, an indicator rather than a selection. The
|
||||
// select-and-confirm border lives solely on the final screen, where SERVE UP actually confirms.
|
||||
// `opts.line` is the ONE second line the wall still carries (the fixture, under the hero's name);
|
||||
// `opts.chip` is a fact that changes what a mode IS rather than describing it (18 RUNGS).
|
||||
const banner = (card, cls, last, opts = {}) => {
|
||||
// `opts.line` is the ONE second line the wall still carries: the fixture, under the hero's name.
|
||||
// The corner chips are gone (2026-08-31, Oliver: "sinnlos") — LAST told you what you played last
|
||||
// time, which the wall does not need to remember for you, and 18 RUNGS was a number about a mode
|
||||
// on a screen for choosing between modes.
|
||||
const banner = (card, cls, opts = {}) => {
|
||||
const b = document.createElement('button');
|
||||
b.className = cls;
|
||||
// JUST THE ART. The scrim used to ride in this background stack as a hard linear-gradient; the
|
||||
@@ -137,8 +139,6 @@ const banner = (card, cls, last, opts = {}) => {
|
||||
// under every name on the wall — sixty words to make one choice. The rules live in the modal
|
||||
// that opens with the mode; MODES.sub is still their source, it just no longer prints here.
|
||||
b.innerHTML = `<span class="cb"><b>${card.name}</b>${opts.line ? `<i>${opts.line}</i>` : ''}</span>`
|
||||
+ (last ? '<u class="last">LAST</u>' : '')
|
||||
+ (opts.chip ? `<u class="last chip">${opts.chip}</u>` : '')
|
||||
// the standing answer to "how do I advance", worn by the poster it is true of (config MODES)
|
||||
+ (card.tag ? `<u class="way">${card.tag}</u>` : '');
|
||||
return b;
|
||||
@@ -167,14 +167,6 @@ function buildSub(top) {
|
||||
});
|
||||
modeSub.appendChild(b);
|
||||
});
|
||||
else if (t.kids) for (const id of t.kids) {
|
||||
const b = banner(modeOf(id), 'mode', id === pickedMode);
|
||||
b.addEventListener('click', () => {
|
||||
pickMode(id);
|
||||
go('setup');
|
||||
});
|
||||
modeSub.appendChild(b);
|
||||
}
|
||||
}
|
||||
// the top posters are rebuilt on every visit so the LAST tag follows what was actually played
|
||||
function buildTops() {
|
||||
@@ -193,11 +185,9 @@ function buildTops() {
|
||||
continue;
|
||||
}
|
||||
const fx = cupFixture(profile.prof.lg, profile.prof.ch);
|
||||
const b = banner(t.mode ? modeOf(t.mode) : t, 'mode', topOf(pickedMode) === t,
|
||||
// the fixture is the hero and carries the only second line on the wall; the training court
|
||||
// carries the one fact that is not a description — how much of the club it holds
|
||||
{ line: t.mode === 'cup' ? 'LEAGUE ' + fx.lg + ' · ' + fx.line : null,
|
||||
chip: t.mode === 'train' ? LADDER + ' RUNGS' : null });
|
||||
// the fixture is the hero and carries the only second line on the wall
|
||||
const b = banner(t.mode ? modeOf(t.mode) : t, 'mode',
|
||||
{ line: t.mode === 'cup' ? 'LEAGUE ' + fx.lg + ' · ' + fx.line : null });
|
||||
b.addEventListener('click', () => {
|
||||
// the netplay poster opens THE LOBBY and never touches pickedMode — it is not a run mode
|
||||
// the stats screen or the summary could name, and the lobby starts the game itself
|
||||
|
||||
Reference in new issue
Block a user