26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
# 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.
|