Il deploy prende HEAD (git archive, mai la cartella di lavoro), fa girare i test su quella copia, costruisce l'immagine qui, la prova su una porta di passaggio (pagina, motore, voci, musichetta) e solo se risponde la spedisce con docker save | docker load al container leggenda-regolo di home-server, sulla rete nginx-net. Host in deploy.local.mk, fuori da git. In STATO: online e consenso dei vecchietti confermato da Andrea. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UdeKd62opy9PKgpQXtVctF
110 lines
7.8 KiB
Markdown
110 lines
7.8 KiB
Markdown
# Stato dei lavori
|
||
|
||
Ultimo aggiornamento: 23 ottobre 2026. Da leggere insieme a `PROGETTO.md` all'inizio di ogni sessione.
|
||
|
||
## Dove siamo arrivati
|
||
|
||
**Si gioca** in Docker su http://localhost:8080 (`make up`; Manzolo Rush è stato fermato per liberare la porta) e,
|
||
**online dal 2026-10-23**, su https://50037.manzolo.it (50037 è il CAP di San Piero), finché non va su GitHub Pages.
|
||
Si aggiorna con `make deploy`: pubblica l'ultimo commit, immagine costruita e provata sul PC e spedita al container
|
||
`leggenda-regolo` di home-server (NPM centrale → NPM interno di home-server → container).
|
||
|
||
- **Motore** (`src/engine/`): camminata con percorsi su aree concave, profondità, sette verbi + clic intelligente,
|
||
clic destro / pressione lunga = guarda, inventario con "usa… con" e "dai… a", dialoghi a scelte (anche una
|
||
tantum), salvataggio automatico con "Continua", fumetti sopra chi parla, impaginazione desktop e telefono.
|
||
- **Scene con sfondi veri** (`assets/scenes/`), collegate come il paese a gradini (`PROGETTO.md`, «La mappa»):
|
||
Piazza Colonna ↔ Pieve (livello 0) → Villa Adami (livello 1) → salita di
|
||
Villa Adami con la casa del leone → Fortezza (fuori dalle mura) → sentiero → Castello del Trebbio.
|
||
- **Altre scene** (ottobre 2026, dalle foto di Andrea con Codex): Via de' Medici, Oratorio, Ingresso del campeggio,
|
||
Bosco ai Frati, viale dei cipressi. Schermata del titolo (Fortezza al tramonto col Regolo) e introduzione a righe sul
|
||
panorama del Mugello.
|
||
- **Musica** di Andrea (Suno) in `assets/audio/`: titolo e introduzione, paese, ricordi (Trebbio e fine); volume e muto.
|
||
- **Andrea vero** dal foglio sprite (`assets/characters/`, `tools/slice_sprites.py` + `tools/prepare_character.py`):
|
||
cammina, parla, si china a prendere, di spalle davanti alle porte.
|
||
- **Storia di prova** (`src/story/story.js`): il palio è sparito, i vecchietti litigano sulle due leggende, la squama
|
||
sotto la panchina, le impronte sotto la Fortezza → fine del prototipo. Il Trebbio fa da "psicologo": parlando con
|
||
la torre si riceve un indizio in base ai progressi.
|
||
- **Cartello d'apertura** «Manzolo (Poca) Art Presents» (5 s, si salta) prima del titolo.
|
||
- **Voci** (`make voci`, XTTS-v2 sulla GeForce): 112 battute, cinque voci (Andrea, vecchietta, vecchietto, castello,
|
||
leone); il fumetto dura quanto la voce, la musica si abbassa mentre si parla, il muto spegne anche le voci.
|
||
Controllate tutte con Whisper il 2026-10-23. Il leone ora parla (battute provvisorie).
|
||
- **Mappa** (pulsante in alto a sinistra o tasto P): i posti già visti, con le strade fra loro; un clic ci porta.
|
||
Un posto nuovo entra con `map: [x, y]` nella sua scena (percentuali della pianta, disposta come «il paese a gradini»).
|
||
- **Crediti** dal titolo e dalla fine (`story.credits`), dedica al Lele in testa; musichetta a 8 bit del cartello
|
||
(`tools/jingle.py`).
|
||
- **Primo indovinello**: la statua di San Pietro alla Pieve chiede quanti bastioni ha la Fortezza (la risposta la dà il
|
||
bastione stesso); la chiave apre l'oratorio, che da lì resta aperto, e la chiave sparisce. Verbo **Butta**: solo gli
|
||
oggetti `droppable` (per ora il libro), quelli che servono alla storia no. Pulsante **Pausa** (o Esc).
|
||
- **Il libro della storia infinita** sulle tavolate dell'oratorio; le idee in attesa in `docs/IDEE.md`.
|
||
- **Test**: `make test` (29 test, compresa la soluzione completa da `src/story/solution.js`) e `make browser`
|
||
(partita completa con clic veri in Chromium, ripresa del salvataggio, telefono).
|
||
|
||
## Materiale ricevuto da Andrea (in `assets/raw/`, escluso da git)
|
||
|
||
| File | Cosa | Uso previsto |
|
||
| --- | --- | --- |
|
||
| `piazza-colonna.png`, `fortezza-esterno.png`, `trebbio.png` | sfondi puliti 16:9 | già nel gioco |
|
||
| `andrea-sheet.png` | foglio sprite di Andrea | già nel gioco |
|
||
| `pieve-prova-1.png` | Pieve (con interfaccia e personaggio) | da rifare pulito 16:9 |
|
||
| `andrea-arcu-prova-1.png`, `andrea-arcu-lele-prova-1.png` | Andrea (sinistra), l'Arcu (centro), il Lele (destra) | riferimento personaggi |
|
||
| `passamano-prova-1.png`, `carretta-prova-1.png`, `vaglio-rena-prova-1.png` | le sfide del Palio | tavole illustrate; per giocarle servono versioni larghe e vuote |
|
||
| `palio.png` | il premio con cornice dorata | **sbagliato**: il palio era un quadro dei ragazzi delle medie, senza cornice |
|
||
| `piazza-prova-1.png`, `trebbio-prova-1.png`, `fortezza-prova-1.png` | prime prove | superate |
|
||
|
||
I prompt fissi (stile, scene, foglio sprite) sono in `prompts/STILE.md`, escluso da git.
|
||
|
||
### Nuove fotografie e generatore
|
||
|
||
- Le tre foto aggiunte in `assets/raw/temp/` sono archiviate senza modifiche in
|
||
`assets/raw/foto/`: `pieve-dalla-salita.jpg`, `salita-villa-adami.jpg` e
|
||
`da-fare/oratorio-pieve.jpg` (oratorio rimandato).
|
||
- Geografia precisata da Andrea: dalla Pieve si sale lasciandola alle spalle,
|
||
si sbuca a Villa Adami e si prende la salita verso la Fortezza. La seconda
|
||
foto mostra il bivio presso Villa Adami, non le mura della Fortezza.
|
||
- `tools/genera.py` prepara batch via Images Edit (`gpt-image-2`), master 1536×864,
|
||
prompt in `prompts/backgrounds/`, registro e confronto in `assets/generated/`.
|
||
Guida: `docs/GENERAZIONE_SFONDI.md`. Preparazione verificata senza chiamate API,
|
||
con test offline e `--dry-run`; la generazione reale richiede conferma.
|
||
- Generate le due vedute con lo strumento immagini integrato, dopo la preparazione:
|
||
master in `assets/generated/`, copie a 640×360 e 64 colori in
|
||
`assets/scenes/pieve-dalla-salita.png` e `assets/scenes/salita-villa-adami.png`.
|
||
Prompt effettivi `prompts/backgrounds/*.integrated.txt`; provenienza nel registro.
|
||
Da valutare prima di collegarle alla storia e definire camminata e hotspot.
|
||
Il percorso API dello script è verificato con un client simulato, non con chiamate reali.
|
||
|
||
## Cosa manca
|
||
|
||
### Prossimi passi
|
||
- Vecchietta e vecchietto sono in gioco sulla panchina della Piazza (`assets/characters/`, da
|
||
`assets/raw/vecchiett?-sheet.png`): consenso delle persone ritratte confermato da Andrea il 2026-10-23; mancano i loro nomi.
|
||
- Andrea rifatto dalla sua foto del 2007 (`assets/raw/andrea-sheet-prova-2.png`; il vecchio foglio resta in `andrea-sheet.png`).
|
||
- Strada del campeggio (poi Bosco ai Frati) e strada della scuola: per ora battute, scene da fare con le foto di Andrea.
|
||
|
||
### Domande per Andrea
|
||
1. Cosa c'era dipinto sul palio del 2007? (Un'immagine nuova: quadro ingenuo dei ragazzi delle medie, senza
|
||
cornice, su sfondo verde.)
|
||
2. Il passamano dei mattoni: sul sentiero nel bosco o sulle mura della Fortezza?
|
||
3. Aggiungere i verbi **Spingi** e **Tira** (carretta, tiro alla fune)?
|
||
4. «La Colonna» era davvero il bar della piazza nel 2007? Chi c'era?
|
||
5. Consenso di Marco (l'Arcu), Mitrugno e Paleo; chi era Paleo; se e come ricordare Cipollone.
|
||
6. Il nonno: confermare il nome (Settimo Villani) e decidere come usare la sua leggenda nel finale.
|
||
7. Il Lele: come e quanto farlo comparire (con calma).
|
||
8. Battute e modi di dire del paese.
|
||
|
||
### Grafica
|
||
- Sfondi puliti 16:9 di Pieve, Cardetole, Campomigliaio, interno della Fortezza (sotterranei).
|
||
- Fogli sprite: l'Arcu, i vecchietti (seduti: fermi e mentre parlano), poi gli altri personaggi.
|
||
- Interfaccia nello stile delle immagini di Andrea: cornice, inventario a icone (icone degli oggetti su sfondo verde).
|
||
|
||
### Motore
|
||
- Personaggi non giocanti con sprite (al posto dei blocchi colorati dei vecchietti).
|
||
- Tavole illustrate (immagine a tutto schermo con testo) per l'inizio e la fine delle sfide.
|
||
- Scorrimento della visuale per le scene panoramiche (se serviranno).
|
||
- Musica e suoni; titoli di coda con la dedica.
|
||
- Pubblicazione su GitHub Pages riusando `build-site.sh`, `bump.sh`, `check-public.sh` di Manzolo Rush
|
||
(solo quando Andrea lo chiede).
|
||
|
||
### Storia
|
||
- La prima zona vera (Piazza + Pieve) con un enigma del Palietto: passamano dei mattoni, carretta o vaglio della rena.
|
||
- La catena completa degli enigmi del documento, con gli indizi del Trebbio per ognuno.
|