diff --git a/PROJECT.md b/PROJECT.md index cdf3f14..a028221 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -491,6 +491,33 @@ zombie (now an occasional opponent, `TUNE.racketEvery`, not the every-game fixtu `RETURNED`, `DOUBLE KILL`) is a footnote to something you already watched happen. Sharing the loud FACE with the milestone cards is right; sharing their SIZE made every footnote read as a milestone. +## Session log: THE LEAGUES — the plaque round: the meta speaks (2026-08-29, same day, STAGING ONLY) + +Oliver's first screenshot review, four items, all built. The theme: the meta layer existed but +did not TALK to the player. + +- **No second bar** (his question, settled in discussion): a career bar moves ~2% a session late + and demotivates more than it informs. Total progress reads as the LEVEL NUMBER + LEAGUE + instead; the card carries the long form — "LEVEL 12 OF 50" and a thin CAREER bar (whole-curve + xp, honest about how far the cap is). +- **THE PLAYER PLAQUE** replaces the bare level strip on the splash: ONE button-styled panel — + league wappen, name, "LEVEL X · LEAGUE Y" over the bar, a chevron that says it opens (the bare + strip's tap was undiscoverable), and **the standing GOAL LINE**: "WIN THE GRAVEYARD SHIFT CUP + TO ADVANCE" / "…BECOME CHAMPION" / "CHAMPION OF THE DEAD CLUB — DEFEND THE NAME". The badge + COLLECTION deliberately stays on the card (splash real estate: the boxed-bar lesson) — now one + DISCOVERABLE tap away. +- **"How do I advance?" is answered in three standing places** (the promotion ceremony taught it + exactly once, and only AFTER the first promotion — too late): (1) the plaque's goal line; + (2) the arcade's own "what now?" moment — when the band's top body walks BACK on (`d.again`, + set by the clamp), its walk-on modal carries "NOBODY STRONGER IS LEFT / THE CUP IS THE WAY UP" + (pinned by the band-clamp test); (3) the tournament poster wears a corner tag **THE WAY UP** + (`tag` on the MODES row, rendered by banner()) and its blurb says "YOUR LEAGUE'S ROUNDS · WIN + IT TO RISE". +- **The promotion ceremony's court tile is centred** (`margin auto` + `align-self` — the .mid + column stretches block children, so the 74%-wide img sat left), and the death screen's XP line + moved to +24/+36/+50 — the pulsing ★NEW BEST★ is B(20) drawn top-baseline at +2 and overlapped + the +18 line whenever both showed. + ## Session log: THE LEAGUES, PHASE 4 — the duel learns, tin tiers, the level is you (2026-08-29, STAGING ONLY) Phase 4, the last of the built plan. STAGING ONLY — the whole feature waits on Oliver's own diff --git a/index.html b/index.html index 66b05b3..3f094d3 100644 --- a/index.html +++ b/index.html @@ -271,7 +271,8 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat animation: drop 0.5s ease-out 0.15s backwards; } #prLeague { margin: 0; font: 700 12px Silkscreen, monospace; color: var(--cream); letter-spacing: 2px; animation: drop 0.5s ease-out 0.3s backwards; } - #prCourt { width: 74%; max-width: 300px; margin-top: 10px; border: 2px solid var(--line); + #prCourt { width: 74%; max-width: 300px; margin: 10px auto 0; align-self: center; + border: 2px solid var(--line); image-rendering: pixelated; animation: drop 0.5s ease-out 0.5s backwards; } #prCourtName { margin: 0; font: 400 10px Silkscreen, monospace; color: var(--acid); letter-spacing: 1.5px; animation: drop 0.5s ease-out 0.62s backwards; } @@ -296,11 +297,34 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat #xpRow { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; } #xpRow u { font: 700 9px Silkscreen, monospace; color: var(--cream); text-decoration: none; letter-spacing: 1px; white-space: nowrap; } - #xpRow { cursor: pointer; } /* the strip IS the door to the character card */ - #xpRow s, #cdBar s { flex: 1; height: 6px; background: rgba(255,255,255,0.10); border: 1px solid var(--line); - text-decoration: none; display: block; } + /* THE PLAYER PLAQUE (replaces the bare level strip): ONE button-styled panel — wappen, name, + level+league over the bar, and the standing GOAL LINE ("win the X cup to advance"), with a + chevron that says it opens. The splash stays two buttons + one plaque; the badge COLLECTION + stays on the card, one (now discoverable) tap away. */ + #plaque { display: flex; align-items: center; gap: 10px; width: 100%; margin: 0 0 10px; + padding: 8px 10px; background: var(--solid); border: 2px solid var(--line); + cursor: pointer; text-align: left; -webkit-tap-highlight-color: transparent; } + #plBadge { height: 34px; flex: none; image-rendering: pixelated; } + #plBody { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; } + #plName { font: 700 10px Silkscreen, monospace; color: var(--cream); letter-spacing: 1.5px; + white-space: nowrap; overflow: hidden; } + #plRow { display: flex; align-items: center; gap: 8px; } + #plRow u { font: 700 8px Silkscreen, monospace; color: var(--dim); text-decoration: none; + letter-spacing: 1px; white-space: nowrap; } + #plGoal { font: 400 8px Silkscreen, monospace; font-style: normal; color: var(--acid); + letter-spacing: 1px; } + #plaque em { flex: none; font: 400 22px Bangers, cursive; font-style: normal; color: var(--acid); } + #plRow s, #cdBar s, #cdCareer s { flex: 1; height: 6px; background: rgba(255,255,255,0.10); + border: 1px solid var(--line); text-decoration: none; display: block; } #cdBar s { height: 8px; } - #xpRow s i, #cdBar s i { display: block; height: 100%; width: 0%; + #cdCareer { display: flex; align-items: center; gap: 8px; } + #cdCareer u { font: 700 8px Silkscreen, monospace; color: var(--dim); text-decoration: none; + letter-spacing: 1px; } + /* the mode picker's WAY-UP tag: the standing answer to "how do I advance", worn by the cup */ + .way { position: absolute; top: 8px; left: 8px; padding: 3px 6px; font: 700 8px Silkscreen, monospace; + font-style: normal; color: var(--ink); background: var(--acid); letter-spacing: 1px; + text-decoration: none; } + #plRow s i, #cdBar s i, #cdCareer s i { display: block; height: 100%; width: 0%; background: linear-gradient(90deg, #3f9560, var(--acid) 55%, #e8b23a); transition: width 0.4s ease; } /* KIT and SKIN: a row of colour squares, under a label that names whatever is selected. That is @@ -554,9 +578,17 @@ if (location.hostname !== 'splatter-tennis.wuwi.one' && !window.Capacitor?.isNat you can press before the sheets have landed is how you reach the stats screen with half the zombies missing. Swapped by #splash.busy, see main.js. -->