# Tschausepp - Jass Card Tracker

Mobile-first React app for tracking Schaffhauser (Jass) card game rounds via camera.

## Tech Stack
- React 18, TypeScript, Vite
- TensorFlow.js (lite mode, CDN-hosted)
- HTML5 Camera API (environment-facing preference)
- localStorage (JSON, max 100 games)

## Developer Commands
- `npm run typecheck`: Run TypeScript check
- `npm run build`: Build production version
- `npm run preview`: Preview production build
- **Dev Server**: Always running on `localhost:5173`. Do not start manually.

## Architecture & Logic
- **Screens**: Setup → Camera (with Detection/Assignment) → Results → History.
- **Detection**: Custom image processing + color analysis for suits (Schellen, Schilten, Eicheln, Rosen).
- **Assignment**: Uses radial sectors to assign detected cards to the nearest player.
- **Storage**: Max 100 games in localStorage; follows `games → rounds → cards` structure.

## Reference Docs
- `ML_SETUP_GUIDE.md`: ML pipeline architecture, training, and TF.js deployment.
- `DETECTION_IMPROVEMENT_PLAN.md`: Roadmap for improving detection stability and accuracy.
- `swiss_jass_suits.md`: Domain reference for Jass suit colors and iconography.
