diff --git a/assets/scenes/area-camper.png b/assets/scenes/area-camper.png new file mode 100644 index 0000000..5f6b00d Binary files /dev/null and b/assets/scenes/area-camper.png differ diff --git a/assets/scenes/area-feste.png b/assets/scenes/area-feste.png new file mode 100644 index 0000000..e103b39 Binary files /dev/null and b/assets/scenes/area-feste.png differ diff --git a/assets/scenes/campo-giannini.png b/assets/scenes/campo-giannini.png new file mode 100644 index 0000000..8b9998a Binary files /dev/null and b/assets/scenes/campo-giannini.png differ diff --git a/assets/scenes/cardetole.png b/assets/scenes/cardetole.png new file mode 100644 index 0000000..06f4ab7 Binary files /dev/null and b/assets/scenes/cardetole.png differ diff --git a/assets/scenes/carza.png b/assets/scenes/carza.png new file mode 100644 index 0000000..5355104 Binary files /dev/null and b/assets/scenes/carza.png differ diff --git a/assets/scenes/comune-asilo.png b/assets/scenes/comune-asilo.png new file mode 100644 index 0000000..ab2a613 Binary files /dev/null and b/assets/scenes/comune-asilo.png differ diff --git a/assets/scenes/giardini-poste.png b/assets/scenes/giardini-poste.png new file mode 100644 index 0000000..20d59d2 Binary files /dev/null and b/assets/scenes/giardini-poste.png differ diff --git a/assets/scenes/polisportiva-principale.png b/assets/scenes/polisportiva-principale.png new file mode 100644 index 0000000..0c95304 Binary files /dev/null and b/assets/scenes/polisportiva-principale.png differ diff --git a/assets/scenes/polisportiva-secondario.png b/assets/scenes/polisportiva-secondario.png new file mode 100644 index 0000000..4f406a1 Binary files /dev/null and b/assets/scenes/polisportiva-secondario.png differ diff --git a/assets/scenes/ponte-sieve.png b/assets/scenes/ponte-sieve.png new file mode 100644 index 0000000..0f43a82 Binary files /dev/null and b/assets/scenes/ponte-sieve.png differ diff --git a/assets/scenes/ponticino-carza.png b/assets/scenes/ponticino-carza.png new file mode 100644 index 0000000..8b0c2c5 Binary files /dev/null and b/assets/scenes/ponticino-carza.png differ diff --git a/assets/scenes/stazione.png b/assets/scenes/stazione.png new file mode 100644 index 0000000..ead2dde Binary files /dev/null and b/assets/scenes/stazione.png differ diff --git a/assets/scenes/via-calimara.png b/assets/scenes/via-calimara.png new file mode 100644 index 0000000..f5ee60e Binary files /dev/null and b/assets/scenes/via-calimara.png differ diff --git a/assets/scenes/via-provinciale.png b/assets/scenes/via-provinciale.png new file mode 100644 index 0000000..e29ce00 Binary files /dev/null and b/assets/scenes/via-provinciale.png differ diff --git a/assets/voices/andrea-0662772c27.mp3 b/assets/voices/andrea-0662772c27.mp3 new file mode 100644 index 0000000..cfef86e Binary files /dev/null and b/assets/voices/andrea-0662772c27.mp3 differ diff --git a/assets/voices/andrea-094cd942f5.mp3 b/assets/voices/andrea-094cd942f5.mp3 new file mode 100644 index 0000000..1f41dfc Binary files /dev/null and b/assets/voices/andrea-094cd942f5.mp3 differ diff --git a/assets/voices/andrea-1447e3515d.mp3 b/assets/voices/andrea-1447e3515d.mp3 new file mode 100644 index 0000000..7d12ee7 Binary files /dev/null and b/assets/voices/andrea-1447e3515d.mp3 differ diff --git a/assets/voices/andrea-152567ebc0.mp3 b/assets/voices/andrea-152567ebc0.mp3 new file mode 100644 index 0000000..435d189 Binary files /dev/null and b/assets/voices/andrea-152567ebc0.mp3 differ diff --git a/assets/voices/andrea-2669d0fea1.mp3 b/assets/voices/andrea-2669d0fea1.mp3 new file mode 100644 index 0000000..ea4ea06 Binary files /dev/null and b/assets/voices/andrea-2669d0fea1.mp3 differ diff --git a/assets/voices/andrea-3381d6ce08.mp3 b/assets/voices/andrea-3381d6ce08.mp3 new file mode 100644 index 0000000..b908276 Binary files /dev/null and b/assets/voices/andrea-3381d6ce08.mp3 differ diff --git a/assets/voices/andrea-33e0dd705a.mp3 b/assets/voices/andrea-33e0dd705a.mp3 new file mode 100644 index 0000000..ef8ad06 Binary files /dev/null and b/assets/voices/andrea-33e0dd705a.mp3 differ diff --git a/assets/voices/andrea-40b7bf59ae.mp3 b/assets/voices/andrea-40b7bf59ae.mp3 new file mode 100644 index 0000000..f7c0027 Binary files /dev/null and b/assets/voices/andrea-40b7bf59ae.mp3 differ diff --git a/assets/voices/andrea-40c93c1f52.mp3 b/assets/voices/andrea-40c93c1f52.mp3 new file mode 100644 index 0000000..ffc687d Binary files /dev/null and b/assets/voices/andrea-40c93c1f52.mp3 differ diff --git a/assets/voices/andrea-4708fda5ef.mp3 b/assets/voices/andrea-4708fda5ef.mp3 new file mode 100644 index 0000000..a738add Binary files /dev/null and b/assets/voices/andrea-4708fda5ef.mp3 differ diff --git a/assets/voices/andrea-4a7bfec8b2.mp3 b/assets/voices/andrea-4a7bfec8b2.mp3 new file mode 100644 index 0000000..43f614c Binary files /dev/null and b/assets/voices/andrea-4a7bfec8b2.mp3 differ diff --git a/assets/voices/andrea-4fd811d0c7.mp3 b/assets/voices/andrea-4fd811d0c7.mp3 new file mode 100644 index 0000000..90565ee Binary files /dev/null and b/assets/voices/andrea-4fd811d0c7.mp3 differ diff --git a/assets/voices/andrea-54884b5fa9.mp3 b/assets/voices/andrea-54884b5fa9.mp3 new file mode 100644 index 0000000..6693171 Binary files /dev/null and b/assets/voices/andrea-54884b5fa9.mp3 differ diff --git a/assets/voices/andrea-5594f1f70c.mp3 b/assets/voices/andrea-5594f1f70c.mp3 new file mode 100644 index 0000000..804ecb8 Binary files /dev/null and b/assets/voices/andrea-5594f1f70c.mp3 differ diff --git a/assets/voices/andrea-59775ccaab.mp3 b/assets/voices/andrea-59775ccaab.mp3 new file mode 100644 index 0000000..0fb5b69 Binary files /dev/null and b/assets/voices/andrea-59775ccaab.mp3 differ diff --git a/assets/voices/andrea-59afc50d80.mp3 b/assets/voices/andrea-59afc50d80.mp3 new file mode 100644 index 0000000..a62699f Binary files /dev/null and b/assets/voices/andrea-59afc50d80.mp3 differ diff --git a/assets/voices/andrea-5f83df00cd.mp3 b/assets/voices/andrea-5f83df00cd.mp3 new file mode 100644 index 0000000..d2200bd Binary files /dev/null and b/assets/voices/andrea-5f83df00cd.mp3 differ diff --git a/assets/voices/andrea-69dce8d64f.mp3 b/assets/voices/andrea-69dce8d64f.mp3 new file mode 100644 index 0000000..e028c58 Binary files /dev/null and b/assets/voices/andrea-69dce8d64f.mp3 differ diff --git a/assets/voices/andrea-7301f8df3d.mp3 b/assets/voices/andrea-7301f8df3d.mp3 new file mode 100644 index 0000000..b798a8e Binary files /dev/null and b/assets/voices/andrea-7301f8df3d.mp3 differ diff --git a/assets/voices/andrea-77f8aee592.mp3 b/assets/voices/andrea-77f8aee592.mp3 deleted file mode 100644 index b523cd2..0000000 Binary files a/assets/voices/andrea-77f8aee592.mp3 and /dev/null differ diff --git a/assets/voices/andrea-78a5ef65f0.mp3 b/assets/voices/andrea-78a5ef65f0.mp3 new file mode 100644 index 0000000..53da948 Binary files /dev/null and b/assets/voices/andrea-78a5ef65f0.mp3 differ diff --git a/assets/voices/andrea-86efb05e99.mp3 b/assets/voices/andrea-86efb05e99.mp3 new file mode 100644 index 0000000..5273bd9 Binary files /dev/null and b/assets/voices/andrea-86efb05e99.mp3 differ diff --git a/assets/voices/andrea-8945f1786d.mp3 b/assets/voices/andrea-8945f1786d.mp3 new file mode 100644 index 0000000..f3c5792 Binary files /dev/null and b/assets/voices/andrea-8945f1786d.mp3 differ diff --git a/assets/voices/andrea-8a37275adb.mp3 b/assets/voices/andrea-8a37275adb.mp3 new file mode 100644 index 0000000..9357b3f Binary files /dev/null and b/assets/voices/andrea-8a37275adb.mp3 differ diff --git a/assets/voices/andrea-91be1de49b.mp3 b/assets/voices/andrea-91be1de49b.mp3 new file mode 100644 index 0000000..9b04339 Binary files /dev/null and b/assets/voices/andrea-91be1de49b.mp3 differ diff --git a/assets/voices/andrea-a0db0b44dd.mp3 b/assets/voices/andrea-a0db0b44dd.mp3 new file mode 100644 index 0000000..66dad1e Binary files /dev/null and b/assets/voices/andrea-a0db0b44dd.mp3 differ diff --git a/assets/voices/andrea-a3e36c12a1.mp3 b/assets/voices/andrea-a3e36c12a1.mp3 new file mode 100644 index 0000000..0f9be78 Binary files /dev/null and b/assets/voices/andrea-a3e36c12a1.mp3 differ diff --git a/assets/voices/andrea-a50071085e.mp3 b/assets/voices/andrea-a50071085e.mp3 new file mode 100644 index 0000000..a9e1266 Binary files /dev/null and b/assets/voices/andrea-a50071085e.mp3 differ diff --git a/assets/voices/andrea-a942b2723e.mp3 b/assets/voices/andrea-a942b2723e.mp3 new file mode 100644 index 0000000..ee64ac1 Binary files /dev/null and b/assets/voices/andrea-a942b2723e.mp3 differ diff --git a/assets/voices/andrea-acc7949f4c.mp3 b/assets/voices/andrea-acc7949f4c.mp3 new file mode 100644 index 0000000..b77676a Binary files /dev/null and b/assets/voices/andrea-acc7949f4c.mp3 differ diff --git a/assets/voices/andrea-b25b3d6b24.mp3 b/assets/voices/andrea-b25b3d6b24.mp3 deleted file mode 100644 index 72a1cc1..0000000 Binary files a/assets/voices/andrea-b25b3d6b24.mp3 and /dev/null differ diff --git a/assets/voices/andrea-b830f3f8ca.mp3 b/assets/voices/andrea-b830f3f8ca.mp3 new file mode 100644 index 0000000..e054825 Binary files /dev/null and b/assets/voices/andrea-b830f3f8ca.mp3 differ diff --git a/assets/voices/andrea-c30bff01c2.mp3 b/assets/voices/andrea-c30bff01c2.mp3 new file mode 100644 index 0000000..7e8826e Binary files /dev/null and b/assets/voices/andrea-c30bff01c2.mp3 differ diff --git a/assets/voices/andrea-c716ab2381.mp3 b/assets/voices/andrea-c716ab2381.mp3 new file mode 100644 index 0000000..d62772e Binary files /dev/null and b/assets/voices/andrea-c716ab2381.mp3 differ diff --git a/assets/voices/andrea-c73c366e50.mp3 b/assets/voices/andrea-c73c366e50.mp3 new file mode 100644 index 0000000..7527471 Binary files /dev/null and b/assets/voices/andrea-c73c366e50.mp3 differ diff --git a/assets/voices/andrea-cb30a7b862.mp3 b/assets/voices/andrea-cb30a7b862.mp3 new file mode 100644 index 0000000..96c9573 Binary files /dev/null and b/assets/voices/andrea-cb30a7b862.mp3 differ diff --git a/assets/voices/andrea-daced50ca3.mp3 b/assets/voices/andrea-daced50ca3.mp3 new file mode 100644 index 0000000..f43140c Binary files /dev/null and b/assets/voices/andrea-daced50ca3.mp3 differ diff --git a/assets/voices/andrea-e24cb31cbf.mp3 b/assets/voices/andrea-e24cb31cbf.mp3 new file mode 100644 index 0000000..2f9e037 Binary files /dev/null and b/assets/voices/andrea-e24cb31cbf.mp3 differ diff --git a/assets/voices/andrea-e7f720b94d.mp3 b/assets/voices/andrea-e7f720b94d.mp3 new file mode 100644 index 0000000..6a96659 Binary files /dev/null and b/assets/voices/andrea-e7f720b94d.mp3 differ diff --git a/assets/voices/andrea-e9913ba3dd.mp3 b/assets/voices/andrea-e9913ba3dd.mp3 new file mode 100644 index 0000000..c89082c Binary files /dev/null and b/assets/voices/andrea-e9913ba3dd.mp3 differ diff --git a/assets/voices/andrea-ea4d85e1ca.mp3 b/assets/voices/andrea-ea4d85e1ca.mp3 new file mode 100644 index 0000000..1347731 Binary files /dev/null and b/assets/voices/andrea-ea4d85e1ca.mp3 differ diff --git a/assets/voices/andrea-ea832da7b0.mp3 b/assets/voices/andrea-ea832da7b0.mp3 new file mode 100644 index 0000000..985e09b Binary files /dev/null and b/assets/voices/andrea-ea832da7b0.mp3 differ diff --git a/assets/voices/andrea-ecc1aee547.mp3 b/assets/voices/andrea-ecc1aee547.mp3 new file mode 100644 index 0000000..6a472f8 Binary files /dev/null and b/assets/voices/andrea-ecc1aee547.mp3 differ diff --git a/assets/voices/andrea-ee455fdc33.mp3 b/assets/voices/andrea-ee455fdc33.mp3 new file mode 100644 index 0000000..2b6edf7 Binary files /dev/null and b/assets/voices/andrea-ee455fdc33.mp3 differ diff --git a/assets/voices/andrea-f7e3a64e74.mp3 b/assets/voices/andrea-f7e3a64e74.mp3 new file mode 100644 index 0000000..d4918d6 Binary files /dev/null and b/assets/voices/andrea-f7e3a64e74.mp3 differ diff --git a/assets/voices/andrea-f80e108630.mp3 b/assets/voices/andrea-f80e108630.mp3 new file mode 100644 index 0000000..b0971f2 Binary files /dev/null and b/assets/voices/andrea-f80e108630.mp3 differ diff --git a/assets/voices/andrea-fb8629ddcf.mp3 b/assets/voices/andrea-fb8629ddcf.mp3 new file mode 100644 index 0000000..1873ecb Binary files /dev/null and b/assets/voices/andrea-fb8629ddcf.mp3 differ diff --git a/assets/voices/index.json b/assets/voices/index.json index 1e694a9..dbb59da 100644 --- a/assets/voices/index.json +++ b/assets/voices/index.json @@ -215,14 +215,6 @@ "file": "andrea-f07f295fa4.mp3", "sec": 4.53 }, - "andrea|Di là si scende a Cardetole, a casa mia.": { - "file": "andrea-77f8aee592.mp3", - "sec": 3.26 - }, - "andrea|Ma se torno a casa ora, mi mettono ad apparecchiare. Prima il palio.": { - "file": "andrea-b25b3d6b24.mp3", - "sec": 5.05 - }, "andrea|La strada che scende a Cardetole, il rione dei verdi.": { "file": "andrea-d7882fce87.mp3", "sec": 3.35 @@ -315,6 +307,122 @@ "file": "andrea-8d18461141.mp3", "sec": 3.5 }, + "andrea|La torre dell'orologio del Comune. Va sempre giusto, tranne quando serve.": { + "file": "andrea-f80e108630.mp3", + "sec": 5.61 + }, + "andrea|Il Comune di San Piero. Qui si fanno i timbri, i permessi e, a quanto pare, anche il Palio.": { + "file": "andrea-fb8629ddcf.mp3", + "sec": 7.76 + }, + "andrea|Senza un modulo in carta bollata non mi fanno entrare neanche a chiedere l'ora.": { + "file": "andrea-8a37275adb.mp3", + "sec": 4.13 + }, + "andrea|L'asilo infantile Antonio Frilli. Ci sono passato anch'io, coi grembiulini a quadretti.": { + "file": "andrea-5f83df00cd.mp3", + "sec": 6.79 + }, + "andrea|All'asilo? Ho già dato, grazie.": { + "file": "andrea-69dce8d64f.mp3", + "sec": 3.6 + }, + "andrea|Lo scivolo e le altalene. Sono troppo grande, ufficialmente. Ufficiosamente, un giro ci starebbe.": { + "file": "andrea-4a7bfec8b2.mp3", + "sec": 7.99 + }, + "andrea|Un giro sull'altalena! ... No, c'è troppa gente che mi conosce.": { + "file": "andrea-40c93c1f52.mp3", + "sec": 4.69 + }, + "andrea|La panchina rossa. Qui si scambiavano le figurine: celo, celo, manca.": { + "file": "andrea-3381d6ce08.mp3", + "sec": 5.68 + }, + "andrea|Laggiù le poste. Mia nonna ci andava a ritirare la pensione e tornava con tutte le notizie del paese.": { + "file": "andrea-c716ab2381.mp3", + "sec": 7.95 + }, + "andrea|Il giardino coi cedri e le panchine. All'ombra, d'estate, ci si fa la siesta a turno.": { + "file": "andrea-4fd811d0c7.mp3", + "sec": 6.43 + }, + "andrea|Una vetrina vuota. Ci vedo solo il mio riflesso, e ha l'aria di uno che cerca un palio.": { + "file": "andrea-f7e3a64e74.mp3", + "sec": 6.66 + }, + "andrea|Il River, il bar della rotonda. Fuori gli ombrelloni, dentro i flipper e le figurine.": { + "file": "andrea-b830f3f8ca.mp3", + "sec": 6.87 + }, + "andrea|Un ghiacciolo ci starebbe. Ma prima il palio, poi i ghiaccioli.": { + "file": "andrea-2669d0fea1.mp3", + "sec": 5.23 + }, + "andrea|La farmacia, con la croce verde. Mia nonna ci veniva per le pasticche e per le chiacchiere. Più per le chiacchiere.": { + "file": "andrea-1447e3515d.mp3", + "sec": 8.18 + }, + "andrea|Non mi fa male niente. Per ora.": { + "file": "andrea-e24cb31cbf.mp3", + "sec": 2.62 + }, + "andrea|L'area feste. D'estate ci montano la pista da ballo, le tavolate e lo stand della pasta.": { + "file": "andrea-a942b2723e.mp3", + "sec": 6.77 + }, + "andrea|Adesso c'è solo l'erba. E la fame che mi viene a pensarci.": { + "file": "andrea-33e0dd705a.mp3", + "sec": 4.75 + }, + "andrea|Una casetta chiusa. Ci tengono le prolunghe della festa e, dicono, un mistero.": { + "file": "andrea-e9913ba3dd.mp3", + "sec": 5.85 + }, + "andrea|Chiusa. Il mistero resta.": { + "file": "andrea-59775ccaab.mp3", + "sec": 2.56 + }, + "andrea|Il tabernacolo prima del ponte. Chi passa per andare via dal paese, un saluto glielo fa sempre.": { + "file": "andrea-78a5ef65f0.mp3", + "sec": 7.84 + }, + "andrea|Sotto il ponte la Sieve. Nel 1758 la piena arrivò fino a Cardetole: in casa mia, di sicuro, c'erano i pesci.": { + "file": "andrea-7301f8df3d.mp3", + "sec": 11.86 + }, + "andrea|Il campo secondario della polisportiva. Qui si allenano i piccoli, e i grandi fanno finta di non guardare.": { + "file": "andrea-86efb05e99.mp3", + "sec": 7.18 + }, + "andrea|Il pallone bianco della palestra. Da fuori sembra un gigantesco marshmallow.": { + "file": "andrea-ea4d85e1ca.mp3", + "sec": 5.15 + }, + "andrea|Più avanti ci sono i campi da tennis e da padel.": { + "file": "andrea-54884b5fa9.mp3", + "sec": 3.54 + }, + "andrea|Il padel, nel 2007, non sapevo nemmeno cosa fosse. Lo scopriranno i miei genitori, tra qualche anno.": { + "file": "andrea-c30bff01c2.mp3", + "sec": 7.54 + }, + "andrea|Laggiù i campi da tennis e da padel. Racchette, palline e gente che si lamenta del sole.": { + "file": "andrea-daced50ca3.mp3", + "sec": 7.5 + }, + "andrea|La tribuna bianca e rossa. La domenica qui c'è più tifo che al Palio. Quasi.": { + "file": "andrea-a50071085e.mp3", + "sec": 6.84 + }, + "andrea|Il campo principale. Erba vera, righe vere, porte vere. Altro che le maglie per terra.": { + "file": "andrea-a0db0b44dd.mp3", + "sec": 7.76 + }, + "andrea|Entrare in campo senza permesso? Il custode mi fa fare dieci giri di corsa.": { + "file": "andrea-40b7bf59ae.mp3", + "sec": 4.99 + }, "andrea|Villa Adami. Gialla come un tuorlo, con le persiane verdi.": { "file": "andrea-225e29ed43.mp3", "sec": 5.12 @@ -351,6 +459,70 @@ "file": "andrea-b3acca1e65.mp3", "sec": 5.34 }, + "andrea|Il muro vecchio di sassi, mezzo coperto dai rampicanti. Qui ci si nascondeva a nascondino.": { + "file": "andrea-ecc1aee547.mp3", + "sec": 6.44 + }, + "andrea|Un cancello verde, sempre aperto. Non ho mai capito cosa chiude.": { + "file": "andrea-152567ebc0.mp3", + "sec": 4.83 + }, + "andrea|È già aperto. Più aperto di così non si può.": { + "file": "andrea-0662772c27.mp3", + "sec": 3.74 + }, + "andrea|La Carza. A maggio c'è poca acqua: d'estate si scendeva a fare le dighe coi sassi.": { + "file": "andrea-91be1de49b.mp3", + "sec": 6.99 + }, + "andrea|Fare i ponti di sassi? Prima il palio. Poi le dighe.": { + "file": "andrea-5594f1f70c.mp3", + "sec": 5.02 + }, + "andrea|La piccola edicola in fondo al ponticino. C'è sempre un fiore fresco, ma nessuno l'ha mai visto metterlo.": { + "file": "andrea-59afc50d80.mp3", + "sec": 7.04 + }, + "andrea|La panchina del parco. Ci si sedevano i camperisti a guardare le montagne, con la cartina al contrario.": { + "file": "andrea-e7f720b94d.mp3", + "sec": 6.34 + }, + "andrea|Le villette rosa coi balconi bianchi. Da qui a casa mia è un attimo.": { + "file": "andrea-094cd942f5.mp3", + "sec": 6.03 + }, + "andrea|Il campo del Giannini. Qui si giocava a calcio fino a buio, con le porte grandi: roba da campionato.": { + "file": "andrea-cb30a7b862.mp3", + "sec": 7 + }, + "andrea|Senza pallone, e senza la squadra, non vale.": { + "file": "andrea-ee455fdc33.mp3", + "sec": 3.67 + }, + "andrea|Gli scivoli dei bambini. Una volta il pallone finiva lì una volta su tre.": { + "file": "andrea-a3e36c12a1.mp3", + "sec": 5.4 + }, + "andrea|Casa mia. Terzo piano, quello con la tapparella a metà: è la mia camera.": { + "file": "andrea-acc7949f4c.mp3", + "sec": 5.91 + }, + "andrea|Se salgo, mi mettono ad apparecchiare. Prima il palio.": { + "file": "andrea-8945f1786d.mp3", + "sec": 4.18 + }, + "andrea|Il prato sotto casa. Qui le porte le facevamo con le maglie per terra: due maglie, un palo ciascuna.": { + "file": "andrea-4708fda5ef.mp3", + "sec": 6.92 + }, + "andrea|E ogni gol era «Era fuori!», «No, era dentro!».": { + "file": "andrea-ea832da7b0.mp3", + "sec": 4.01 + }, + "andrea|Arrampicarmi? Mia mamma mi vede dalla finestra.": { + "file": "andrea-c73c366e50.mp3", + "sec": 3.99 + }, "andrea|Un pino a ombrello enorme. Alla ricreazione, tutti all'ombra lì sotto.": { "file": "andrea-0eea4f27c6.mp3", "sec": 5.3 diff --git a/docs/IMMAGINI.md b/docs/IMMAGINI.md index b54f764..ef815df 100644 --- a/docs/IMMAGINI.md +++ b/docs/IMMAGINI.md @@ -22,6 +22,8 @@ ne è un'opera derivata. Le foto scattate da Andrea non hanno problemi; quelle p | `viale-cipressi.png` | Codex | `viale-cipressi-trebbio.png` | [DA ANDREA] | ? | | `bosco-ai-frati.png` | Codex | `bosco-ai-frati.png` | [DA ANDREA] sembra una foto da Wikipedia/Wikimedia: verificare licenza | ? | | `campeggio.png` | Codex | `campeggio-ingresso.png` | [DA ANDREA] probabilmente dal sito del campeggio | ? | +| `polisportiva-*.png`, `ponte-sieve.png`, `area-feste.png`, `via-provinciale.png`, `comune-asilo.png`, `giardini-poste.png`, `stazione.png` | Codex | foto omonime in `assets/raw/foto/` | Andrea (EXIF, 23 ottobre 2026) | sì | +| `cardetole.png` | Codex | `cardetole.jpg` | Andrea (EXIF) | **da decidere**: è la casa vera di Andrea, pubblicarla dice dove abita | | `panorama-intro.png` | Codex | `altre/panorama-intro.png` | da internet (screenshot con l'icona di Google Lens) | **no**, finché non si sostituisce | Per uno sfondo «da internet» le strade sono tre: diff --git a/docs/PROGETTO.md b/docs/PROGETTO.md index 86ed263..a5a98b8 100644 --- a/docs/PROGETTO.md +++ b/docs/PROGETTO.md @@ -101,6 +101,13 @@ Livello 0 Piazza Colonna ───────────────── ``` - Da Villa Adami, scendendo, la Piazza è a sinistra e la Pieve a destra; Piazza e Pieve sono collegate in basso. +- Dalla Piazza Via Calimara scende alla farmacia e al River in Via Provinciale; proseguendo si torna alla Pieve. + Dalla rotonda di Via Provinciale si va al ponte sulla Sieve; di là dal ponte la polisportiva (prima il campo + principale, poi il secondario coi campi da padel e tennis). Dalla rotonda, a sinistra, l'area feste. +- Il Comune (con l'asilo Antonio Frilli): dalla Piazza a sinistra, prima di Via de' Medici, oppure dalla strada di + fronte alla farmacia; dal Comune si scende ai giardini delle poste. +- Dalla Pieve, verso Cardetole: il posticino della Carza, il ponticino, l'area camper (col campo del Giannini) e + Cardetole, dove abita Andrea. - Dalla Piazza Villa Adami è a sinistra; a diritto si va verso il campeggio e, dopo il campeggio, a destra si sale verso il **Bosco ai Frati** (scene da fare: Andrea manda le foto). Per ora la strada del campeggio è chiusa con una battuta. - Dalla salita di Villa Adami una strada scende verso la scuola: per ora è chiusa con una battuta. diff --git a/src/story/story.js b/src/story/story.js index 5983a7a..285ab0d 100644 --- a/src/story/story.js +++ b/src/story/story.js @@ -146,6 +146,12 @@ export const story = { { id: 'verso_villa_adami', name: 'Via de\' Medici, verso Villa Adami', box: [0, 196, 90, 50], at: [92, 250], exit: { scene: 'via_de_medici', at: [300, 348], face: 'up' }, }, + { + id: 'verso_comune', name: 'a sinistra, verso il Comune', box: [96, 196, 50, 54], at: [120, 252], exit: { scene: 'comune', at: [20, 300], face: 'right' }, + }, + { + id: 'verso_calimara', name: 'Via Calimara, verso la farmacia', box: [180, 334, 380, 26], at: [360, 354], exit: { scene: 'via_calimara', at: [300, 350], face: 'up' }, + }, { id: 'verso_pieve', name: 'verso la Pieve', box: [612, 292, 28, 68], at: [628, 330], exit: { scene: 'pieve', at: [30, 320], face: 'right' }, }, @@ -265,13 +271,14 @@ export const story = { id: 'oratorio', name: 'porta dell\'oratorio', box: [452, 180, 42, 56], at: [473, 240], face: 'up', when: 'oratorio_aperto', exit: { scene: 'oratorio', at: [320, 345], face: 'right' }, }, { - // Per ora solo una battuta: la scena di Cardetole arriverà con le foto di Andrea. - id: 'verso_cardetole', name: 'strada per Cardetole', box: [0, 204, 82, 54], at: [95, 250], face: 'left', default: 'walk', + id: 'verso_cardetole', name: 'strada per Cardetole', box: [0, 204, 82, 54], at: [95, 250], face: 'left', exit: { scene: 'carza', at: [300, 350], face: 'up' }, actions: { - walk: [{ say: 'Di là si scende a Cardetole, a casa mia.' }, { say: 'Ma se torno a casa ora, mi mettono ad apparecchiare. Prima il palio.' }], look: [{ say: 'La strada che scende a Cardetole, il rione dei verdi.' }], }, }, + { + id: 'verso_provinciale', name: 'Via Provinciale, verso il River', box: [30, 330, 200, 30], at: [130, 350], exit: { scene: 'via_provinciale', at: [100, 350], face: 'up' }, + }, { id: 'verso_piazza', name: 'verso la Piazza', box: [0, 262, 26, 98], at: [8, 320], exit: { scene: 'piazza', at: [610, 320], face: 'left' }, }, @@ -420,6 +427,267 @@ export const story = { }, ], }, + // Il Comune e l'asilo infantile Antonio Frilli: dalla Piazza (a sinistra, prima di Via de' Medici) o dalla + // strada di fronte alla farmacia; da qui si scende ai giardini delle poste. + comune: { + name: 'Il Comune', + map: [6, 62], + background: 'assets/scenes/comune-asilo.png', + walk: [[0, 360], [0, 262], [200, 256], [330, 250], [420, 268], [440, 305], [640, 330], [640, 360]], + depth: [[250, 0.5], [360, 1.15]], + entry: [320, 350], + hotspots: [ + { + id: 'torre', name: 'torre dell\'orologio', box: [200, 26, 40, 70], at: [250, 262], face: 'up', + actions: { + look: [{ say: 'La torre dell\'orologio del Comune. Va sempre giusto, tranne quando serve.' }], + }, + }, + { + id: 'palazzo', name: 'Comune', box: [170, 96, 120, 150], at: [250, 262], face: 'up', + actions: { + look: [{ say: 'Il Comune di San Piero. Qui si fanno i timbri, i permessi e, a quanto pare, anche il Palio.' }], + open: [{ say: 'Senza un modulo in carta bollata non mi fanno entrare neanche a chiedere l\'ora.' }], + }, + }, + { + id: 'asilo', name: 'asilo Antonio Frilli', box: [300, 140, 150, 90], at: [380, 268], face: 'up', + actions: { + look: [{ say: 'L\'asilo infantile Antonio Frilli. Ci sono passato anch\'io, coi grembiulini a quadretti.' }], + open: [{ say: 'All\'asilo? Ho già dato, grazie.' }], + }, + }, + { + id: 'alla_piazza', name: 'su, verso la Piazza', box: [0, 250, 40, 110], at: [14, 300], exit: { scene: 'piazza', at: [120, 252], face: 'right' }, + }, + { + id: 'ai_giardini', name: 'giù, verso i giardini', box: [596, 300, 44, 60], at: [620, 345], exit: { scene: 'giardini_poste', at: [580, 340], face: 'left' }, + }, + { + id: 'alla_farmacia', name: 'giù, verso la farmacia', box: [60, 334, 520, 26], at: [320, 354], exit: { scene: 'via_provinciale', at: [320, 345], face: 'up' }, + }, + ], + }, + // I giardini delle poste: giù dal Comune; in fondo, le poste. + giardini_poste: { + name: 'Giardini delle poste', + map: [6, 78], + background: 'assets/scenes/giardini-poste.png', + walk: [[0, 360], [0, 232], [640, 232], [640, 360]], + depth: [[232, 0.55], [360, 1.15]], + entry: [580, 340], + hotspots: [ + { + id: 'giochi', name: 'giochi', box: [196, 120, 330, 100], at: [360, 250], face: 'up', + actions: { + look: [{ say: 'Lo scivolo e le altalene. Sono troppo grande, ufficialmente. Ufficiosamente, un giro ci starebbe.' }], + use: [{ say: 'Un giro sull\'altalena! ... No, c\'è troppa gente che mi conosce.' }], + }, + }, + { + id: 'panchina', name: 'panchina rossa', box: [56, 164, 56, 22], at: [90, 240], face: 'up', + actions: { + look: [{ say: 'La panchina rossa. Qui si scambiavano le figurine: celo, celo, manca.' }], + }, + }, + { + id: 'poste', name: 'le poste', box: [0, 100, 110, 50], at: [60, 240], face: 'up', + actions: { + look: [{ say: 'Laggiù le poste. Mia nonna ci andava a ritirare la pensione e tornava con tutte le notizie del paese.' }], + }, + }, + { + id: 'al_comune', name: 'su, verso il Comune', box: [500, 300, 140, 60], at: [600, 340], exit: { scene: 'comune', at: [600, 345], face: 'left' }, + }, + ], + }, + // Via Calimara: dalla Piazza scende alla farmacia, in Via Provinciale. + via_calimara: { + name: 'Via Calimara', + map: [26, 80], + background: 'assets/scenes/via-calimara.png', + walk: [[0, 360], [0, 318], [330, 206], [400, 206], [560, 300], [600, 360]], + depth: [[206, 0.3], [360, 1.15]], + entry: [300, 350], + hotspots: [ + { + id: 'giardino', name: 'giardino', box: [0, 110, 330, 120], at: [160, 290], face: 'left', + actions: { + look: [{ say: 'Il giardino coi cedri e le panchine. All\'ombra, d\'estate, ci si fa la siesta a turno.' }], + }, + }, + { + id: 'vetrina', name: 'vetrina', box: [570, 110, 70, 150], at: [540, 300], face: 'right', + actions: { + look: [{ say: 'Una vetrina vuota. Ci vedo solo il mio riflesso, e ha l\'aria di uno che cerca un palio.' }], + }, + }, + { + id: 'alla_provinciale', name: 'giù, verso la farmacia', box: [330, 176, 90, 40], at: [365, 210], exit: { scene: 'via_provinciale', at: [540, 345], face: 'up' }, + }, + { + id: 'alla_piazza', name: 'su, verso la Piazza', box: [0, 330, 640, 30], at: [300, 354], exit: { scene: 'piazza', at: [360, 350], face: 'up' }, + }, + ], + }, + // Via Provinciale alla rotonda: il River e la farmacia. Andando avanti, la Pieve. + via_provinciale: { + name: 'Via Provinciale', + map: [36, 84], + background: 'assets/scenes/via-provinciale.png', + walk: [[0, 360], [0, 312], [300, 302], [440, 262], [470, 238], [640, 238], [640, 360]], + depth: [[238, 0.45], [360, 1.15]], + entry: [140, 340], + hotspots: [ + { + id: 'river', name: 'il River', box: [60, 128, 190, 110], at: [160, 320], face: 'up', + actions: { + look: [{ say: 'Il River, il bar della rotonda. Fuori gli ombrelloni, dentro i flipper e le figurine.' }], + open: [{ say: 'Un ghiacciolo ci starebbe. Ma prima il palio, poi i ghiaccioli.' }], + }, + }, + { + id: 'farmacia', name: 'farmacia', box: [356, 176, 50, 60], at: [380, 290], face: 'up', + actions: { + look: [{ say: 'La farmacia, con la croce verde. Mia nonna ci veniva per le pasticche e per le chiacchiere. Più per le chiacchiere.' }], + open: [{ say: 'Non mi fa male niente. Per ora.' }], + }, + }, + { + id: 'area_feste', name: 'a sinistra, l\'area feste', box: [0, 250, 60, 110], at: [12, 330], exit: { scene: 'area_feste', at: [300, 350], face: 'up' }, + }, + { + id: 'al_ponte', name: 'a diritto, verso il campo sportivo', box: [560, 222, 80, 46], at: [600, 248], exit: { scene: 'ponte_sieve', at: [300, 350], face: 'up' }, + }, + { + id: 'alla_pieve', name: 'verso la Pieve', box: [0, 330, 213, 30], at: [100, 352], exit: { scene: 'pieve', at: [130, 345], face: 'right' }, + }, + { + id: 'al_comune', name: 'di fronte alla farmacia, verso il Comune', box: [213, 330, 214, 30], at: [320, 352], exit: { scene: 'comune', at: [320, 350], face: 'up' }, + }, + { + id: 'alla_calimara', name: 'Via Calimara, verso la Piazza', box: [427, 330, 213, 30], at: [540, 352], exit: { scene: 'via_calimara', at: [365, 210], face: 'down' }, + }, + ], + }, + // L'area feste (il parco Antonio Berti): dalla rotonda del River, a sinistra. + area_feste: { + name: 'Area feste', + map: [40, 99], + background: 'assets/scenes/area-feste.png', + walk: [[0, 360], [0, 250], [260, 190], [420, 190], [640, 240], [640, 360]], + depth: [[190, 0.35], [360, 1.15]], + entry: [300, 350], + hotspots: [ + { + id: 'prato', name: 'prato della festa', box: [120, 190, 520, 80], at: [320, 270], face: 'up', + actions: { + look: [{ say: 'L\'area feste. D\'estate ci montano la pista da ballo, le tavolate e lo stand della pasta.' }, { say: 'Adesso c\'è solo l\'erba. E la fame che mi viene a pensarci.' }], + }, + }, + { + id: 'casetta', name: 'casetta', box: [170, 146, 26, 22], at: [250, 200], face: 'up', + actions: { + look: [{ say: 'Una casetta chiusa. Ci tengono le prolunghe della festa e, dicono, un mistero.' }], + open: [{ say: 'Chiusa. Il mistero resta.' }], + }, + }, + { + id: 'alla_rotonda', name: 'indietro, verso la rotonda', box: [0, 330, 640, 30], at: [300, 354], exit: { scene: 'via_provinciale', at: [12, 330], face: 'right' }, + }, + ], + }, + // Il ponte sulla Sieve, proseguendo la Provinciale dalla farmacia; di là dal ponte, la polisportiva. + ponte_sieve: { + name: 'Ponte sulla Sieve', + map: [30, 94], + background: 'assets/scenes/ponte-sieve.png', + walk: [[0, 360], [0, 252], [180, 226], [300, 202], [342, 202], [380, 214], [330, 238], [330, 300], [460, 330], [640, 318], [640, 360]], + depth: [[202, 0.4], [360, 1.15]], + entry: [300, 350], + hotspots: [ + { + id: 'edicola', name: 'edicola', box: [138, 148, 36, 60], at: [180, 236], face: 'up', + actions: { + look: [{ say: 'Il tabernacolo prima del ponte. Chi passa per andare via dal paese, un saluto glielo fa sempre.' }], + }, + }, + { + id: 'sieve', name: 'la Sieve', box: [380, 170, 260, 40], at: [340, 210], face: 'right', + actions: { + look: [{ say: 'Sotto il ponte la Sieve. Nel 1758 la piena arrivò fino a Cardetole: in casa mia, di sicuro, c\'erano i pesci.' }], + }, + }, + { + id: 'alla_polisportiva', name: 'di là dal ponte, il campo sportivo', box: [250, 180, 110, 36], at: [320, 206], exit: { scene: 'polisportiva_principale', at: [40, 330], face: 'right' }, + }, + { + id: 'alla_provinciale', name: 'indietro, verso la farmacia', box: [0, 330, 640, 30], at: [300, 354], exit: { scene: 'via_provinciale', at: [600, 248], face: 'left' }, + }, + ], + }, + // La polisportiva: passato il ponte, prima il campo principale con la tribuna; proseguendo il secondario, coi campi da padel e tennis. + polisportiva: { + name: 'Polisportiva', + map: [12, 99], + background: 'assets/scenes/polisportiva-secondario.png', + walk: [[0, 360], [0, 330], [300, 262], [430, 222], [600, 210], [640, 212], [640, 360]], + depth: [[210, 0.4], [360, 1.15]], + entry: [100, 340], + hotspots: [ + { + id: 'campo', name: 'campo secondario', box: [140, 160, 240, 60], at: [330, 254], face: 'up', + actions: { + look: [{ say: 'Il campo secondario della polisportiva. Qui si allenano i piccoli, e i grandi fanno finta di non guardare.' }], + }, + }, + { + id: 'cupola', name: 'pallone bianco', box: [320, 140, 70, 40], at: [430, 226], face: 'up', + actions: { + look: [{ say: 'Il pallone bianco della palestra. Da fuori sembra un gigantesco marshmallow.' }], + }, + }, + { + id: 'padel', name: 'campi da padel e da tennis', box: [520, 190, 120, 40], at: [600, 214], face: 'right', default: 'walk', + actions: { + walk: [{ say: 'Più avanti ci sono i campi da tennis e da padel.' }, { say: 'Il padel, nel 2007, non sapevo nemmeno cosa fosse. Lo scopriranno i miei genitori, tra qualche anno.' }], + look: [{ say: 'Laggiù i campi da tennis e da padel. Racchette, palline e gente che si lamenta del sole.' }], + }, + }, + { + id: 'al_principale', name: 'indietro, verso il campo principale', box: [0, 330, 640, 30], at: [100, 354], exit: { scene: 'polisportiva_principale', at: [620, 330], face: 'left' }, + }, + ], + }, + polisportiva_principale: { + name: 'Campo principale', + map: [22, 99], + background: 'assets/scenes/polisportiva-principale.png', + walk: [[0, 298], [640, 298], [640, 360], [0, 360]], + depth: [[298, 1.0], [360, 1.2]], + entry: [40, 330], + hotspots: [ + { + id: 'tribuna', name: 'tribuna', box: [254, 172, 116, 40], at: [310, 320], face: 'up', + actions: { + look: [{ say: 'La tribuna bianca e rossa. La domenica qui c\'è più tifo che al Palio. Quasi.' }], + }, + }, + { + id: 'campo', name: 'campo', box: [0, 212, 640, 76], at: [320, 320], face: 'up', + actions: { + look: [{ say: 'Il campo principale. Erba vera, righe vere, porte vere. Altro che le maglie per terra.' }], + walk: [{ say: 'Entrare in campo senza permesso? Il custode mi fa fare dieci giri di corsa.' }], + }, + }, + { + id: 'al_ponte', name: 'indietro, verso il ponte', box: [0, 280, 50, 80], at: [14, 330], exit: { scene: 'ponte_sieve', at: [320, 206], face: 'down' }, + }, + { + id: 'al_secondario', name: 'avanti, verso il campo secondario', box: [590, 280, 50, 80], at: [626, 330], exit: { scene: 'polisportiva', at: [100, 340], face: 'up' }, + }, + ], + }, // Livello 1: Villa Adami, vista dalla salita della Fortezza guardando in discesa. villa_adami: { name: 'Villa Adami', @@ -479,6 +747,152 @@ export const story = { }, ], }, + // La strada da Pieve a Cardetole: il posticino della Carza, il ponticino, l'area camper. + carza: { + name: 'Il posticino della Carza', + map: [54, 80], + background: 'assets/scenes/carza.png', + walk: [[60, 360], [250, 262], [300, 218], [350, 218], [420, 262], [600, 360]], + depth: [[218, 0.4], [360, 1.15]], + entry: [300, 350], + hotspots: [ + { + id: 'muro', name: 'muro di sassi', box: [0, 120, 200, 140], at: [190, 300], face: 'left', + actions: { + look: [{ say: 'Il muro vecchio di sassi, mezzo coperto dai rampicanti. Qui ci si nascondeva a nascondino.' }], + }, + }, + { + id: 'cancello', name: 'cancello verde', box: [460, 150, 46, 132], at: [440, 290], face: 'right', + actions: { + look: [{ say: 'Un cancello verde, sempre aperto. Non ho mai capito cosa chiude.' }], + open: [{ say: 'È già aperto. Più aperto di così non si può.' }], + }, + }, + { + id: 'al_ponticino', name: 'il ponticino sulla Carza', box: [270, 180, 110, 50], at: [325, 222], exit: { scene: 'ponticino', at: [400, 350], face: 'up' }, + }, + { + id: 'alla_pieve', name: 'su verso la Pieve', box: [0, 330, 640, 30], at: [300, 354], exit: { scene: 'pieve', at: [95, 250], face: 'right' }, + }, + ], + }, + ponticino: { + name: 'Il ponticino sulla Carza', + map: [62, 86], + background: 'assets/scenes/ponticino-carza.png', + walk: [[250, 360], [438, 198], [478, 198], [560, 360]], + depth: [[198, 0.3], [360, 1.15]], + entry: [320, 350], + hotspots: [ + { + id: 'torrente', name: 'la Carza', box: [0, 230, 230, 130], at: [300, 330], face: 'left', + actions: { + look: [{ say: 'La Carza. A maggio c\'è poca acqua: d\'estate si scendeva a fare le dighe coi sassi.' }], + use: [{ say: 'Fare i ponti di sassi? Prima il palio. Poi le dighe.' }], + }, + }, + { + id: 'edicola', name: 'edicola della Madonna', box: [442, 148, 36, 44], at: [458, 204], face: 'up', + actions: { + look: [{ say: 'La piccola edicola in fondo al ponticino. C\'è sempre un fiore fresco, ma nessuno l\'ha mai visto metterlo.' }], + }, + }, + { + id: 'all_area_camper', name: 'di là, verso l\'area camper', box: [420, 186, 76, 30], at: [458, 202], exit: { scene: 'area_camper', at: [600, 330], face: 'left' }, + }, + { + id: 'alla_carza', name: 'indietro, verso la Pieve', box: [0, 330, 640, 30], at: [400, 354], exit: { scene: 'carza', at: [325, 222], face: 'down' }, + }, + ], + }, + area_camper: { + name: 'Area camper', + map: [70, 92], + background: 'assets/scenes/area-camper.png', + walk: [[0, 360], [0, 260], [200, 232], [380, 240], [450, 248], [640, 300], [640, 360]], + depth: [[232, 0.5], [360, 1.15]], + entry: [600, 330], + hotspots: [ + { + id: 'panchina', name: 'panchina', box: [156, 190, 36, 20], at: [190, 242], face: 'up', + actions: { + look: [{ say: 'La panchina del parco. Ci si sedevano i camperisti a guardare le montagne, con la cartina al contrario.' }], + }, + }, + { + id: 'villette', name: 'villette', box: [500, 80, 140, 120], at: [560, 280], face: 'right', + actions: { + look: [{ say: 'Le villette rosa coi balconi bianchi. Da qui a casa mia è un attimo.' }], + }, + }, + { + id: 'al_giannini', name: 'il campo del Giannini', box: [140, 160, 260, 70], at: [250, 238], exit: { scene: 'campo_giannini', at: [320, 350], face: 'up' }, + }, + { + id: 'a_cardetole', name: 'verso casa, a Cardetole', box: [0, 230, 80, 130], at: [20, 300], exit: { scene: 'cardetole', at: [300, 350], face: 'up' }, + }, + { + id: 'al_ponticino', name: 'indietro, il ponticino', box: [560, 300, 80, 60], at: [620, 330], exit: { scene: 'ponticino', at: [458, 202], face: 'down' }, + }, + ], + }, + // Il prato del parco dei camper visto dall'altra parte: per i ragazzi, «il campo del Giannini». + campo_giannini: { + name: 'Il campo del Giannini', + map: [66, 98], + background: 'assets/scenes/campo-giannini.png', + walk: [[0, 360], [0, 214], [300, 208], [460, 210], [640, 220], [640, 360]], + depth: [[208, 0.4], [360, 1.15]], + entry: [320, 350], + hotspots: [ + { + id: 'porte', name: 'porte', box: [300, 180, 120, 30], at: [360, 216], face: 'up', + actions: { + look: [{ say: 'Il campo del Giannini. Qui si giocava a calcio fino a buio, con le porte grandi: roba da campionato.' }], + use: [{ say: 'Senza pallone, e senza la squadra, non vale.' }], + }, + }, + { + id: 'giochi', name: 'giochi dei bambini', box: [220, 170, 80, 40], at: [260, 216], face: 'up', + actions: { + look: [{ say: 'Gli scivoli dei bambini. Una volta il pallone finiva lì una volta su tre.' }], + }, + }, + { + id: 'al_parco', name: 'indietro, verso l\'area camper', box: [0, 330, 640, 30], at: [320, 354], exit: { scene: 'area_camper', at: [250, 238], face: 'down' }, + }, + ], + }, + // Cardetole, il rione dei verdi, dove abita Andrea: giù dalla Pieve. + cardetole: { + name: 'Cardetole', + map: [78, 96], + background: 'assets/scenes/cardetole.png', + walk: [[0, 360], [0, 344], [120, 332], [200, 304], [262, 292], [330, 292], [372, 296], [640, 266], [640, 360]], + depth: [[266, 0.55], [360, 1.15]], + entry: [300, 350], + hotspots: [ + { + id: 'casa', name: 'casa di Andrea', box: [330, 20, 220, 212], at: [470, 290], face: 'up', + actions: { + look: [{ say: 'Casa mia. Terzo piano, quello con la tapparella a metà: è la mia camera.' }], + open: [{ say: 'Se salgo, mi mettono ad apparecchiare. Prima il palio.' }], + walk: [{ say: 'Se salgo, mi mettono ad apparecchiare. Prima il palio.' }], + }, + }, + { + id: 'platano', name: 'platano', box: [90, 0, 170, 216], at: [200, 306], face: 'up', + actions: { + look: [{ say: 'Il prato sotto casa. Qui le porte le facevamo con le maglie per terra: due maglie, un palo ciascuna.' }, { say: 'E ogni gol era «Era fuori!», «No, era dentro!».' }], + use: [{ say: 'Arrampicarmi? Mia mamma mi vede dalla finestra.' }], + }, + }, + { + id: 'alla_pieve', name: 'su verso la Pieve', box: [0, 330, 640, 30], at: [300, 354], exit: { scene: 'area_camper', at: [600, 330], face: 'left' }, + }, + ], + }, // L'ingresso della scuola, giù per la strada dalla salita di Villa Adami: dal cancello alle porte a vetri. scuola: { name: 'La scuola',