Files
leggenda-del-regolo/docs/STATO.md
T
manzoloandClaude Opus 5.5 80907f2fa0 Per ora si corre solo per Campomigliaio: gli altri rioni si vedono chiusi
Piazza, Pieve e Cardetole restano nella scelta, col lucchetto e «prossimamente» (locked in story.rioni), per non
moltiplicare battute e voci; in docs/STATO.md cosa fare quando si sbloccano.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ApqNBvNbNCwXqR2RLo8QJh
2026-10-24 15:32:53 +02:00

164 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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:<id>`. 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.
**Per ora si sceglie solo Campomigliaio** (Andrea, 24 ottobre, per non moltiplicare battute e voci): Piazza, Pieve e
Cardetole si vedono chiusi (`locked: true` in `story.rioni`). **Quando si decide di sbloccarli**: togliere `locked`,
rileggere le battute per rione già scritte (introduzione, colonna, Pieve, strada per Cardetole e per Campomigliaio:
cercare `rione:` in `story.js`), scrivere per ogni rione le parti nuove nate nel frattempo (l'Arcu, il capitano),
`make voci`, e aggiornare il test «per ora si corre solo per Campomigliaio».
- **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.