@jeffy24
uno-vanilla
CSS-first physical UNO table with stable Vanilla JS card travel and resumable bot rounds.
About this tile
UNO Vanilla is a mobile-first Last Card table built without React or Framer Motion. It uses a shared Vanilla JS/CSS card table library for physical card identity, CSS-first card movement, hidden opponent backs, and reduced-motion-safe animation state.
Features
- Solo quick round against three deterministic bot seats.
- Offline-safe, resumable synced-store state: active match, hands, deck, discard, turn, pending draw, score, terminal state, and settings restore after reopen.
- One physical table stage with one stable DOM node per card; cards move deck → hand → discard/opponent zones instead of being re-rendered as separate panel copies.
- CSS-first movement: JS updates zone/data/style state, while card transitions/keyframes live in CSS from
@mobile-game-clones/card-table-vanillaplus game-specific table styles. - Assisted Last Card! calls, strict wild draw four legality, draw/pass flow, skips, reverses, draw twos, wilds, and deterministic bot turns.
- Mobile-first safe-area layout with readable human hand, countable opponent backs, top-right help, haptics, and reduced-motion support.
Built in ~/mobile-game-clones/games/uno-vanilla using the shared package packages/card-table-vanilla.