Commit Graph
5 Commits
Author SHA1 Message Date
valknarandClaude Sonnet 5 d7ea38d8ee Replace app icon set with a themed pinball-flipper glyph
Recolor a supplied ball-and-flippers glyph in the app's cabinet palette
(amber ball, chrome flippers) and place it on the ink rounded-square
background used elsewhere in the icon set. Regenerate every derived
asset (192/512/maskable PNGs, favicon.ico, app/icon.png) from it.
icon.svg/icon-source.svg now embed the composited PNG directly, since no
vector-trace tool was available to rebuild it as real vector paths.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 09:07:48 +02:00
valknarandClaude Sonnet 5 958f091c56 Polish home CTAs, panel rounding, and 404 label; fix dev-mode SW crash
- Shorten CTA labels to "Play Demo" / "Load Table"
- Fix mismatched corner radii on the hero and table-staging panels
- Add horizontal padding to the in-game "insert coin" hint on mobile
- Match the 404 page's "TILT" eyebrow label size to the rest of the site
- Only register the service worker in production — it precaches
  /404.html, which doesn't exist as a static file under `next dev` and
  was failing cache.addAll() on every load

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 08:35:18 +02:00
valknarandClaude Sonnet 5 35fb68c916 Add ROM upload, local table library, engine bump, and UX/responsiveness fixes
- Bump @valknar/vpinball-wasm to 0.3.2 (PinMAME ROM support, MsgBox fix)
- Add optional PinMAME ROM .zip upload alongside .vpx tables
- Persist uploaded tables/ROMs in IndexedDB so users don't have to
  re-upload on later visits, with a library list on the landing page
- Fix Insert Coin key mismatch with the engine's real coin-door gating
  (now bound to 4, matching the shared table scripts) and surface it
  in the controls legend and "Tap to Start" hint
- Make the landing page, staging panel, and in-game HUD responsive for
  portrait phone widths; drop the landscape hint since portrait plays fine
- Replace the separate STATS HUD toggle with an FPS row in the info panel

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N9JmzRBZenapVkFWjw9jmG
2026-08-23 20:15:41 +02:00
valknarandClaude Sonnet 5 5b30442c4a Opt Big Shoulders out of automatic fallback-metrics adjustment
Next's fallback-metrics table has no entry for this (newer, merged
variable-font) family name, so the CLS-reducing fallback override it
tries to generate always fails with a build warning. Correctly
suppresses it under webpack; Turbopack (this project's default
builder) doesn't yet honor the flag the same way, so the warning
still prints there today, but the setting is still the semantically
correct declaration of intent and forward-compatible.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012hQoM3jJT1Lx7CMTciMzvD
2026-08-23 05:39:09 +02:00
valknarandClaude Sonnet 5 e493a12e68 Add vpinball: a browser Visual Pinball player
Next.js app that plays real .vpx tables via @valknar/vpinball-wasm
(WebAssembly Visual Pinball). Demo mode with the bundled default
table, drag-and-drop custom table upload, a cabinet-styled UI with a
coin-door HUD (fullscreen/stats/info/eject), a custom 404 page, PWA
support (hand-rolled service worker), and a static Docker Compose
deployment behind nginx.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012hQoM3jJT1Lx7CMTciMzvD
2026-08-23 05:25:15 +02:00