# Faraway Score

Segnapunti gratuito del gioco da tavolo Faraway (Catch Up Games): si
fotografano le carte di un giocatore a fine partita, il telefono le riconosce
e calcola il punteggio. È una PWA dentro due app native (Capacitor 8), su App
Store e Google Play. **Deve restare gratuita per sempre**: niente prezzo,
pubblicità né acquisti, è la condizione dell'autorizzazione di Catch Up
(`docs/catchup/`). Regole comuni alle app di Paolo: `../CLAUDE.md`.

## Com'è fatta

- `pwa/`: l'app, HTML/CSS/JS senza framework. Riconoscimento con OpenCV.js
  (ORB contro una galleria di descrittori) in un Web Worker, punteggio in
  `pwa/scorer.js`, testi in 5 lingue in `pwa/i18n.js`. Le partite stanno nel
  `localStorage`: niente server, niente account.
- `ios/`, `android/`: le app native, servono gli stessi file di `pwa/`.
- `data/`, `cards.js`, `build-db.js`: il database delle 145 carte.
- `recognition/`: script Python per immagini e galleria ORB.
- `docs/store/`: schede, slide, schermate e banner degli store, con gli
  script che li generano; `docs/app-native.md`: build e trappole native.
- `README.md` spiega script e comandi; `assets/LEGGIMI.md` le immagini sorgente.

## Lavorare e pubblicare

- Il repository vive sul NAS, ma **dal NAS non si compila né si pubblica**
  (Xcode, Gradle e Vercel falliscono su SMB). Si lavora qui, si committa, poi
  nel clone `~/dev/faraway-score`: `git pull --no-rebase` e `npx cap copy`.
- Prova in locale: `cd pwa && python3 -m http.server 8765`.
- Dopo ogni modifica alla PWA: `python3 pwa/stamp.py` e versione nuova in
  `VERSIONE` (`pwa/app.js`) e `CACHE` (`pwa/sw.js`).
- PWA: dal clone, `vercel --prod --yes --scope paoloalbys-projects`.
- iOS e Android: comandi in `docs/app-native.md`; stato degli store e
  prossimi passi in `docs/store/app-store.md` e `docs/store/google-play.md`.
- Toccare un'immagine di carta invalida la galleria: `orb_gallery.py --all` e
  poi il test di regressione (README).

## Da ricordare

- Testi dell'app e degli store: frasi semplici, niente trattini lunghi, mai
  «app compagna» (si dice «companion app» o «segnapunti»).
- I nomi Okiko, Uddu e Goldlog non si traducono; solo francese e inglese dei
  termini del gioco sono verificati sui regolamenti dell'editore.
- Il resto (interfaccia, riconoscimento, punteggio, trappole iOS) è nella
  memoria del progetto.
