Sit the weapon rack on the bottom edge

The 8px of breathing room under it read as padding, not as breathing room.
SAFE.bottom still lifts the rack clear of the home indicator — that gap is
the one that has to be there. The desktop key hint lived in the band that
just disappeared, so it moves to the empty top-right corner.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5 committed 2026-07-31 08:29:56 +02:00
1 parent e904dfefa6
commit 777f4b0a23
2 files changed
+4 -2

No files matched your search

+2 -1
View File
@@ -46,7 +46,8 @@
width: calc(100vw - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)); width: calc(100vw - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
height: calc(100vh - env(safe-area-inset-top, 0px)); height: calc(100vh - env(safe-area-inset-top, 0px));
height: calc(100dvh - env(safe-area-inset-top, 0px)); } height: calc(100dvh - env(safe-area-inset-top, 0px)); }
#hint { position: fixed; bottom: 8px; width: 100%; text-align: center; /* desktop key hint — up in the empty top-right corner now that the rack owns the bottom edge */
#hint { position: fixed; top: 6px; right: 10px; text-align: right;
font: 400 10px Silkscreen, monospace; color: #6b7688; } font: 400 10px Silkscreen, monospace; color: #6b7688; }
@media (pointer: coarse) { #hint, #intro .kb { display: none; } } @media (pointer: coarse) { #hint, #intro .kb { display: none; } }
#intro { position: fixed; inset: 0; z-index: 10; touch-action: none; display: grid; place-items: center; #intro { position: fixed; inset: 0; z-index: 10; touch-action: none; display: grid; place-items: center;
+2 -1
View File
@@ -463,7 +463,8 @@ function drawMgRacket() { // horde: the player braces the racket forward and up-
// the courtside weapon rack along the bottom: PLAIN + the four tins. Tap a tile (or 1–5) to // the courtside weapon rack along the bottom: PLAIN + the four tins. Tap a tile (or 1–5) to
// pick which one your next serve throws; empty tins dim out. Geometry is shared with input // pick which one your next serve throws; empty tins dim out. Geometry is shared with input
// via rackHit so a tap lands on the tile you see. // via rackHit so a tap lands on the tile you see.
const RACK_BOT = 8; // px of breathing room below the rack (floats it up off the screen edge) const RACK_BOT = 0; // px below the rack: none — it sits ON the bottom edge. SAFE.bottom still lifts
// it clear of the home indicator, which is the only gap that has to be there.
const RACK_GRAB = 7; // px the TOUCH band extends above the drawn rack (below, it runs to the screen edge) const RACK_GRAB = 7; // px the TOUCH band extends above the drawn rack (below, it runs to the screen edge)
export const METER_Y = () => H - TUNE.rackH - RACK_BOT - 17 - SAFE.bottom; // the draw meter's fixed bottom slot export const METER_Y = () => H - TUNE.rackH - RACK_BOT - 17 - SAFE.bottom; // the draw meter's fixed bottom slot
function rackGeom() { function rackGeom() {