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
|
**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.
|
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
|
Deliberately NOT taken from the handoff: **the wall's corner chips**. Both went the same evening
|
||||||
`PACE · BOUNCE` (the order the bars are actually drawn in), and the `18 RUNGS` chip sits under LAST
|
(Oliver: "sinnlos") — LAST remembered what you played last time, which a gallery of six posters does
|
||||||
rather than beside it on the one poster that can wear both.
|
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)
|
## 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; }
|
#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 */
|
/* ...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; }
|
#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
|
/* 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'
|
header is a header, and headers on this screen are left-aligned (the .hdr title, the posters'
|
||||||
own captions) */
|
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
|
// 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
|
// 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.
|
// 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.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).
|
// The corner chips are gone (2026-08-31, Oliver: "sinnlos") — LAST told you what you played last
|
||||||
const banner = (card, cls, last, opts = {}) => {
|
// 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');
|
const b = document.createElement('button');
|
||||||
b.className = cls;
|
b.className = cls;
|
||||||
// JUST THE ART. The scrim used to ride in this background stack as a hard linear-gradient; the
|
// 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
|
// 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.
|
// 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>`
|
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)
|
// 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>` : '');
|
+ (card.tag ? `<u class="way">${card.tag}</u>` : '');
|
||||||
return b;
|
return b;
|
||||||
@@ -167,14 +167,6 @@ function buildSub(top) {
|
|||||||
});
|
});
|
||||||
modeSub.appendChild(b);
|
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
|
// the top posters are rebuilt on every visit so the LAST tag follows what was actually played
|
||||||
function buildTops() {
|
function buildTops() {
|
||||||
@@ -193,11 +185,9 @@ function buildTops() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const fx = cupFixture(profile.prof.lg, profile.prof.ch);
|
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 fixture is the hero and carries the only second line on the wall; the training court
|
const b = banner(t.mode ? modeOf(t.mode) : t, 'mode',
|
||||||
// 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 });
|
||||||
{ line: t.mode === 'cup' ? 'LEAGUE ' + fx.lg + ' · ' + fx.line : null,
|
|
||||||
chip: t.mode === 'train' ? LADDER + ' RUNGS' : null });
|
|
||||||
b.addEventListener('click', () => {
|
b.addEventListener('click', () => {
|
||||||
// the netplay poster opens THE LOBBY and never touches pickedMode — it is not a run mode
|
// 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
|
// the stats screen or the summary could name, and the lobby starts the game itself
|
||||||
|
|||||||
Reference in new issue
Block a user