Rules engine in shared TypeScript
Setup validation, hidden information, challenge resolution, and flag-breakthrough logic are all centralized so the frontend never becomes the source of truth.
This build keeps the board in the foreground, the chrome minimal, and the match flow ready for Google auth plus Supabase when you plug in credentials.
Setup validation, hidden information, challenge resolution, and flag-breakthrough logic are all centralized so the frontend never becomes the source of truth.
Casual and ranked rooms both work through a local in-memory service with SSE updates, rating deltas, provisional games, and season-aware leaderboards.
Matches capture replay snapshots, support reduced motion, and keep the full board compact and touch-friendly on mobile without adding extra chrome.