uno-vanilla
@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-vanilla plus 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.