Skip to content

Work / Chess / Wiki / Synthesis

current-app-vs-new-design

Synthesiscanonicalverified 2026-10-04

SYNTHESIS.CURRENT-APP-VS-NEW-DESIGN

Summary

What the app does today, read from src/, against what the new design set asks for. Each row that differs is work for the rebuild, and names the feature page that owns it.

Built from

Body

Platform

Today New design asks Feature
Expo SDK 54 the latest SDK, from a fresh create-expo-app FEAT-0001
Styling NativeWind 4 + gluestack-ui UniWind, tokens mirroring the design tailwind.config.js FEAT-0002
Storage AsyncStorage, mode and level only the whole game and the settings FEAT-0005, FEAT-0009
Package manager yarn, legacy-peer-deps=true not decided FEAT-0001
Tests none not a design question; the house rule is tests first FEAT-0001

Screens

Today New design asks Feature
Home four mode cards, How to Play, Privacy Policy Resume card, New game, How to play, Settings FEAT-0005, FEAT-0006
Setup none — a card starts the game opponent, level, colour, clock; friend seating FEAT-0006, FEAT-0003, FEAT-0011
Colour the human is always White White, Black or Random FEAT-0003
Board bordered container, no last-move mark, no coordinates 368pt board, last move tinted, coordinates in the squares FEAT-0006
Legal moves every target square green dot for a move, ring for a capture; can be switched off FEAT-0009
Player strips a header with mode and level a strip per player: side, captures, clock FEAT-0006, FEAT-0011
Check orange "Check!" text with an emoji the king's square in red, and a line of words FEAT-0006
Promotion always a queen a picker, every time FEAT-0004
Move list none shown a sheet in algebraic notation, with captures FEAT-0007
Leaving a game Back resets it a pause sheet that saves FEAT-0007, FEAT-0005
Resign none pause sheet, then a confirmation FEAT-0007
Results one modal over the board; draws say "Game Over!" five screens, each naming how the game ended FEAT-0008
Settings none theme, board colours, legal moves, sound, haptics FEAT-0009
Theme one dark gradient light and dark, following the system FEAT-0009
Pieces lucide icons, filled twelve files from designs/brand/pieces/ FEAT-0002
Friend game the same board, both sides face to face, or pass the phone FEAT-0006
Clock none optional FEAT-0011
Ad consent none Ad choices screen opening Google's form FEAT-0010
Interstitial 1.2 s after the game ends, over the result after Rematch only FEAT-0010
Privacy policy linked from Home under Settings FEAT-0009

Kept as it is

  • The rules engine in src/lib/game.ts: castling, en passant, check, checkmate, stalemate, the fifty-move rule, insufficient material.
  • The three levels in src/lib/ai.ts. Only the words describing them change.
  • Undo, and what it takes back.
  • Non-personalised ads only, and the banner format.
  • No account, no analytics, no purchase.

Not decided

  • Threefold repetition: not in the engine, not in the design.
  • What a game lost on time looks like. The clock is drawn; that result is not.
  • How often the full-screen ad shows.
  • The clock choices and the three board colours are proposals.

Last refresh

2026-10-04 — refresh when any "Built from" page changes, or when a feature ships.

Sources

  • (synthesis pages cite wiki pages, not raw files)