Commit graph

7 commits

Author SHA1 Message Date
4b8c402e43 feat(frontend): add in-match split-view opponent progress pane 2026-09-10 12:03:42 -03:00
5162f090cb feat(frontend): add solo mode config flow (time/theme/opponent) 2026-09-10 11:54:48 -03:00
906fe59add feat(frontend): add WebSocket client service with identity and typed messages 2026-09-10 11:54:48 -03:00
0047da5aab feat(frontend): add bot AI engine for pacing and accuracy 2026-09-10 11:45:28 -03:00
18cf6a00ca feat(frontend): restructure main menu into Solo/Private/Matchmaking
Replace the single pick-a-theme-and-start intro modal with a three-section
menu (Solo/Private/Matchmaking). Solo keeps the existing gameplay reachable
via a direct Play button; Private (Enter Code/Create Room) and Matchmaking
(Find Match) are stubbed with console.log no-ops pending tickets #17/#15/#14.

main.ts gains a small showView(name) helper that toggles .hidden across the
menu/result overlay screens, keeping it a thin composition root.
2026-09-10 11:45:28 -03:00
d51113469f feat(frontend): expand code snippet catalog for random selection 2026-09-10 11:45:28 -03:00
6f9a298aef refactor(frontend): move to frontend/, port to Vite + TypeScript
Splits the single game.js god-class into layered modules (types, data,
engine, game, preview, ui, main) and converts every source file to
TypeScript, built and served by Vite instead of a plain static server.
No behavior change: verified against the previous JS version via a full
play-through (theme select, preview countdown, coloring, reveal) in a
real browser.
2026-09-10 10:37:44 -03:00