7 Commits
Author SHA1 Message Date
slaguru666andClaude Opus 4.8 d430ee9574 polish: bolder placeholder art so thumbnails read at small size
Brighter backgrounds, thicker strokes, and large tonal regions (backlight
pool, lit doorway, face fill, water band) so the seed art is legible as
thumbnails instead of near-black cards.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 13:18:52 +01:00
slaguru666andClaude Opus 4.8 3bd85dd9c7 fix: generate the missing seed art images (broken thumbnails)
The art manifest referenced /art/*.png files that never existed; the SPA
fallback returned index.html for them, so the library thumbnails rendered
as broken images. Generate 5 atmospheric B&W placeholder scenes
(tools/gen-art-placeholders.mjs, npm run gen:art) into public/art/.
tests/tools/art-assets.test.js ties every manifest entry to a real PNG.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 13:14:33 +01:00
slaguru666andClaude Opus 4.8 529911dc12 fix: service worker network-first for the page so deploys reach devices
The cache-first SW never revalidated the HTML, so a device that loaded the
app once kept serving the old bundle forever (new deploys never landed).
Now: network-first for navigations/HTML (fresh on every online load, cached
shell as offline fallback), cache-first only for immutable hashed assets.
Bumped CACHE to director-v2 so the stale v1 cache is purged on activate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 11:42:55 +01:00
slaguru666andClaude Opus 4.8 8f807d50b5 feat: placeholder app icons (clock-with-target motif)
Generate the manifest/PWA + native-wrapper icons that were referenced but
missing (icon-192/512 were 404). A reproducible pure-Node generator
(tools/gen-icons.mjs, npm run gen:icons) draws a clock ring with amber
hands + a green target dot in the app palette — no image deps, hand-rolled
PNG encoder with analytic anti-aliasing.

- public/icons/icon-192, -512, -180 (apple-touch); linked in index.html.
- resources/icon.png (1024) + splash.png (2732) for @capacitor/assets.
- tests/tools/icons.test.js ties every manifest icon to a real PNG of the
  declared size. 213 tests pass; icons now serve 200.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 09:29:57 +01:00
tevans d0c9378c40 fix: precache only stable shell paths so SW install survives a production build 2026-07-20 14:31:26 +01:00
tevans b4fdb969a1 fix: guard service-worker runtime cache on res.ok/basic + waitUntil 2026-07-20 14:25:07 +01:00
tevans 539798f8d0 feat: installable offline PWA (manifest + service worker) 2026-07-20 14:21:56 +01:00