# Stato dei lavori Ultimo aggiornamento: 24 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 - **Revisione di Codex del 24 ottobre, parte tecnica fatta**: - **salvataggi a punti fermi**: si salva solo quando ogni sequenza è finita (`Game.commit`, `Game.savable`). Uscire a metà di una risposta o della casetta riporta a prima, e la squama presa resta salvata anche senza cambiare scena. Un test interrompe ogni passo della soluzione e della catena del ghiacciolo; - **Salva su file** (pausa) e **Carica** (titolo), per portare la partita su un altro dispositivo; - **cursore delle voci** («bla», 50% di partenza) accanto a quello della musica. Il muto zittisce subito la voce in corso, e la pausa la ferma e poi la riprende; - **col dito** un oggetto mancato di poco (circa 22 pixel di schermo) si prende lo stesso; i verbi in orizzontale vanno su due colonne; - **sfondi caricati per vicinanza** alla scena di partenza (o a quella salvata), tre alla volta; a gioco fermo non si ridisegna; - **`?debug`**: area calpestabile coi vertici numerati, hotspot con id, punti `at`/`talkAt`/`speakers`, coordinate del puntatore; Maiusc+clic segna e copia un punto, K copia il poligono, X azzera, G nasconde; - corretto: i crediti dal titolo restavano dietro il titolo. - seconda passata di Codex: **Carica** controlla versione e contenuto (`checkSave`) prima di sostituire il salvataggio del browser; col dito gli **oggetti piccoli** (sotto i 24×24) vincono sui grandi che li contengono (la squama sulla panchina); uno **sfondo fallito** si riprova dopo 2, 4 e 8 secondi, poi basta. - **Primo capitolo chiuso** (24 ottobre): squama e impronte portano a una fessura nel bastione; la torcia illumina un angolo del palio (l'omino con la maglia rossa e le braccia alzate, dal quadro vero: foto in `assets/raw/palio-2007-foto.jpg`, già descritto sul manifesto in piazza) e due occhi gialli che spariscono. La soluzione (40 passi, tragitti calcolati da `route`) passa per indovinello, oratorio e catena del ghiacciolo; il Trebbio ha un indizio per ogni tappa della torcia. Da fare: il disegno della fessura è provvisorio (forme in `art`); un taccuino con l'obiettivo corrente. - **Mappa a gradini** (24 ottobre): una scheda per posto, con la miniatura dello sfondo (`make miniature`, `assets/scenes/mini/`) e il nome, in quattro fasce dalla Fortezza ai campi; le strade fra le schede. Sta in una schermata sul desktop; sul telefono si scorre in verticale. - **Campomigliaio**: tre foto dell'Arcu (Marco Arcuri, ora nei crediti) trasformate da Codex: il ponte a due arcate sul torrente, il Circolo SMS, la strada principale. Pronte in `assets/scenes/campomigliaio-{ponte,circolo,strada}.png`, **ancora da collegare** (camminata, hotspot, uscite, posto sulla mappa). Andrea, 24 ottobre: ci si arriva dal bivio della Via Provinciale (verso stazione e forno), andando a sinistra; ma prima viene **La Luna**, che Andrea deve ancora fotografare: si collega bivio → La Luna → Campomigliaio. - **Scelta del rione** (24 ottobre): dopo «Nuova partita», «Per chi corri quest'anno?» fra i quattro rioni (`story.rioni`: Piazza rossi, Pieve bianchi, Cardetole verdi, Campomigliaio blu); resta nella partita come flag `rione:`. Cambiano la riga dell'introduzione e le battute su Pieve, Cardetole, Campomigliaio e la colonna. Le parti future col rione (l'Arcu, il capitano) vanno scritte per ogni scelta. - **Audio sul telefono**: passando a un'altra app (pagina nascosta) musica, voce e musichetta si fermano subito e la partita va in pausa; la musica riparte con Riprendi. - **Pronuncia** (`tools/pronuncia.json`): le parole che XTTS legge male, scritte come vanno lette; vale solo per la voce. Per ora «celo» → «ce l'ho». Le 32 voci nuove del 24 ottobre non sono state controllate con Whisper (qui non installato). - **Sessione del 23-24 ottobre**: il paese è quasi tutto in gioco (circa 40 scene, sfondi di Codex dalle foto di Andrea), collegato come quello vero; un test controlla che ogni strada vada e torni. Nuovi: carattere a pixel Press Start 2P, pulsante «?» per vedere cosa si tocca, mappa scorrevole sul telefono, titolo e introduzione a tutto schermo, inventario che si scorre, doppio clic per correre, pausa automatica. - **La catena del ghiacciolo** (tennis della chiesa): la Tosca offre bibite e ghiacciolo; ghiacciolo nella cedrata → stecco; gomma all'oratorio; stecco e gomma ripescano la chiavetta dalla griglia del ponticino; la chiavetta apre la casetta dell'area feste, dove c'è la torcia (per il buio della Fortezza). Le bibite si bevono con un clic; un oggetto cliccato due volte si usa da solo. - **Da fare**: sprite della Tosca al chiosco (serve una foto o una descrizione); ascoltare le voci nuove (nomi come Tosca e Tozzino); La Luna e Campomigliaio (foto in arrivo); la Pizzeria da Baffo (quadro da ridisegnare senza personaggi Disney); le idee su chiavi e indovinelli in `docs/IDEE.md`, a partire dalla chiave della Fortezza. - **Prima di GitHub Pages**: consensi delle persone nominate (Tosca, ing. Tozzi, Mariano Mirannalti per la sua foto), sfondi da foto prese da internet (`docs/IMMAGINI.md`), Cardetole (dice dove abita Andrea). - 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?~~ Risposto: foto in `assets/raw/palio-2007-foto.jpg` (la strada che sale alla Fortezza con le bandiere, i ragazzi in fila, uno con la maglia rossa e le braccia alzate). 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.