From aa15cf119cf07e26b5e006e6c5d20df3b711d107 Mon Sep 17 00:00:00 2001 From: jay Date: Thu, 25 Jun 2026 19:50:24 -0400 Subject: [PATCH] /play arcade tweaks: Back in header (right), real word-search grid, packed bubbles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Back moves into the header row, right-justified and level with "Play" (the in-game step-back row stays for select/play views). - Word Search motif is now a real 6×5 letter grid with BYTES "found" down the diagonal — reads as a search, not a single highlighted word. - Bubble Blaster motif is a packed bubble cluster + dashed aim line + loaded shooter (like the actual game), not an evenly-spaced grid of balls. Co-Authored-By: Claude Opus 4.8 --- frontend/src/routes/play/+page.svelte | 70 +++++++++++++++++++-------- 1 file changed, 49 insertions(+), 21 deletions(-) diff --git a/frontend/src/routes/play/+page.svelte b/frontend/src/routes/play/+page.svelte index 15ad61d..24e6084 100644 --- a/frontend/src/routes/play/+page.svelte +++ b/frontend/src/routes/play/+page.svelte @@ -41,6 +41,11 @@ let wordStatus = $state({ 5: null, 6: null }); let wsStatus = $state(null); + // Decorative Word-Search tile motif: a 6×5 letter grid with BYTES "found" down the diagonal. + const WS_GRID = ['B', 'R', 'O', 'A', 'E', 'S', 'K', 'Y', 'I', 'M', 'U', 'H', 'G', 'E', 'T', + 'B', 'O', 'R', 'F', 'I', 'N', 'E', 'L', 'A', 'Z', 'O', 'S', 'T', 'S', 'Y']; + const WS_HL = new Set([0, 7, 14, 21, 28]); // the diagonal B-Y-T-E-S cells + function readWord(v) { try { const s = JSON.parse(localStorage.getItem(`goodnews:word:${v}:${date}`) || 'null'); @@ -274,18 +279,26 @@
- - + + {#if view !== 'hub'} + + {/if} {#if view === 'hub'}
- -

Play

- -

A few little games, fresh every morning. Pick one and dive in.

+
+ +

Play

+ +

A few little games, fresh every morning. Pick one and dive in.

+
+
@@ -303,10 +316,7 @@