Streamline mobile menus and refresh splash logo
This commit is contained in:
1 parent
a399e4929c
commit
a09856f8c9
6 files changed
+569
-483
No files matched your search
+77
@@ -4986,6 +4986,83 @@ shot simulations from the recording (20 seeds each, not a deterministic full-mat
|
||||
return all six soft Champion winners; wide winners against earlier foes and surprise misses remain.
|
||||
Phone balance still needs Oliver's next recording; no further numeric difficulty increase here.
|
||||
|
||||
## Session log: THE MENU HAS ONE FRONT DOOR (2026-09-07, LOCAL PREVIEW ONLY)
|
||||
|
||||
Oliver approved the portrait menu audit with two corrections: **Vs a Friend stands on its own**,
|
||||
and **Other Games needs a prominent splash entrance**. Implemented locally for him to click through
|
||||
before any deployment; no commit or push made in this pass.
|
||||
|
||||
- Splash keeps the direct league fixture and direct Gore start. Other Games and Vs a Friend are
|
||||
substantial sibling buttons; World Board stays below. Gore's named court link opens its setup.
|
||||
- Other Games contains only **The Climb, Training, Classic Tennis**, in two poster rows. No duplicate
|
||||
cup/Gore, no Training/Casual categories, and Arcade is consistently named The Climb.
|
||||
- Classic's difficulty is selected inside its setup. Training chooses the opponent BEFORE setup;
|
||||
Serve Up always starts the selected match. The redundant cup setup is removed. First-time cup
|
||||
identity entry resumes the cup instead of losing the destination in the game picker.
|
||||
- Player appearance lives in the shared identity editor, accessible from profile or a compact setup
|
||||
row. Save/Back returns to the caller; existing players see SAVE PLAYER. Swatches and menu back
|
||||
buttons have 44px targets; the in-game exit retains its HUD art with a larger invisible hit area.
|
||||
- Available courts show first; locked courts are disabled compact rows inside a native disclosure.
|
||||
Picks persist immediately. Setup titles name the actual mode and training shows the chosen foe.
|
||||
- Stats belongs to the profile and returns there. The profile retains career figures and a fold-out
|
||||
league roster; duplicate lifetime totals live only in Stats. Playtest recording is a collapsed
|
||||
native details block below the records; ON/FULL is visible in its summary when applicable.
|
||||
- Play On is the primary action in the exit dialog. The world board correctly selects Cup after a
|
||||
league match; Classic falls back to Gore, since there is no Classic leaderboard tab.
|
||||
|
||||
Validation: `node test.js` — **142 pass**. `tools/check-menu.js` is a local browser-tool regression
|
||||
(no package, excluded from the served image with the existing tools directory): **34 checks pass**
|
||||
covering fresh cup onboarding, real mode starts, difficulty/opponent identity, editor returns,
|
||||
locked courts, profile/stats/recording, room cancellation, and 320×568 / 390×844 portrait geometry.
|
||||
Manual screenshots reviewed for splash, additional modes, setups, profile, stats and player editor.
|
||||
No gameplay tuning or court mode-transition code changed. **Await Oliver's local review; not deployed.**
|
||||
|
||||
## Session log: MENU PREVIEW POLISH (2026-09-07, LOCAL ONLY)
|
||||
|
||||
Oliver's next local review supersedes the collapsed defaults above: **all three disclosures open
|
||||
by default** (locked courts, profile league, playtest recording), while remaining user-toggleable.
|
||||
Other Games and Vs a Friend now have truly centred labels, without the offsetting chevrons.
|
||||
Cup and Gore share a 76px button height and the same title/subtitle layout. Each button fades from
|
||||
its existing solid colour on the left into its original mode poster on the right, using CSS only.
|
||||
The menu card's old 370px content-width cap is removed: width 100% with border-box padding fills
|
||||
both narrow phones and wider preview panes without horizontal overflow; viewport minimum height
|
||||
and sticky footers are retained.
|
||||
|
||||
Validation: **39 browser checks pass**, including equal CTA heights, centred labels, open defaults,
|
||||
and a full-width/full-height card at 768×1024, alongside the existing 320×568 and 390×844 flows.
|
||||
Screenshots reviewed at both phone sizes. Still local; no commit, push or deployment.
|
||||
|
||||
Local visual follow-up (same day): Oliver prefers roughly **one third colour / two thirds art**.
|
||||
The Cup/Gore gradient now reveals the poster sooner. Other Games uses the existing arcade poster,
|
||||
Vs a Friend uses its original multiplayer poster, both with the same soft colour-to-art treatment
|
||||
and centred, shadowed labels. Button dimensions and navigation are unchanged; still local only.
|
||||
|
||||
Local visual follow-up: a small blood drop grows at the Gore button's lower-right edge, falls
|
||||
across the court link onto Vs a Friend, slowly traces down its face and drops off its bottom edge.
|
||||
Two synchronized CSS pseudo-element animations repeat every 18 seconds after an initial 3-second
|
||||
delay; the trail fades between drops. Their geometry shares the responsive friend-button height.
|
||||
Decorative only (`pointer-events: none`), active only on a loaded splash, disabled for reduced
|
||||
motion. No new assets, timers or gameplay changes. Browser checks cover alignment, synchronized
|
||||
clocks, non-interception, reduced motion and stopping off-splash; still local, not deployed.
|
||||
|
||||
Local logo follow-up: Oliver approved integrating the generated logo proposal. The splash now
|
||||
uses `assets/logo-v2.png`, a transparent PNG with brighter red lettering, lime Tennis lettering
|
||||
and a larger ball in the blood underline. The original `assets/logo.png` is retained. Reviewed
|
||||
at 320×568 and 390×844: clean transparency, correct loading and no horizontal overflow. Local only.
|
||||
|
||||
Logo colour correction: Oliver found the integrated version a little too bright. The splash
|
||||
now tones it down with CSS `saturate(.78) brightness(.84)`, preserving the exact artwork and alpha.
|
||||
After trying the proposed ball glow, Oliver decided to remove it entirely: **no tennis-ball glow
|
||||
or pulse; blood is enough**. Only the small drop from the logo's blood underline remains, every
|
||||
14 seconds (first after 4 seconds). It is a CSS decoration anchored to the responsive logo,
|
||||
ignores pointer events, runs only on the loaded, visible splash and respects reduced motion.
|
||||
The blood version passed all 42 menu browser checks before the glow was removed. Still local only.
|
||||
|
||||
Release approval (2026-09-07): Oliver approved this menu/logo revision for staging and production.
|
||||
Release cache version: `main.js?v=353`. Pre-release validation: 142 game tests and all 42 mobile
|
||||
menu browser checks pass. Deploy staging first, verify the served release, then promote the same
|
||||
commit to production. Staging URL: `https://splatter-tennis-staging.wuwi.one`.
|
||||
|
||||
# OPEN — leftovers, in rough priority order
|
||||
|
||||
Nothing here is broken; these are known gaps and unverified risks.
|
||||
|
||||
Reference in new issue
Block a user