Il risveglio non rallenta più il gioco: la nebbia è lo sfondo sfocato disegnato sopra, senza filtri (ctx.filter e il filter CSS sulla tela facevano andare a passo d'uomo tutto, anche dopo), e l'iframe del muro c'è solo a muro aperto; le prove nel browser aspettano la fine del risveglio e l'avvio del gioco

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GiECd9RWGMKV7n3K1mdy8T
This commit is contained in:
2026-10-31 10:59:03 +01:00
co-authored by Claude Opus 5.5
parent c5953f04c0
commit b9bd50c8c3
8 changed files with 60 additions and 41 deletions
+10 -6
View File
@@ -1098,12 +1098,16 @@ function updateUi() {
setProp($('spots-button'), 'hidden', !running || !!game.closeup);
setProp($('notebook-button'), 'hidden', !running || !story.notebook || !!game.closeup);
setProp($('closeup-close'), 'hidden', !running || !game.closeup);
// Il Muro del Sanpierino: a muro aperto sul telefonino del Barone, la pagina vera sopra la scena. Ogni volta che si
// riapre si ricarica (i messaggi nuovi della storia).
const muro = $('muro'), wall = running && c && story.closeups[c.id]?.type === 'telefono' && c.step === 'wall';
if (wall && muro.hidden) muro.src = versioned('assets/muro/index.html');
if (!wall && !muro.hidden) muro.src = 'about:blank';
setProp(muro, 'hidden', !wall);
// Il Muro del Sanpierino: a muro aperto sul telefonino del Barone, la pagina vera sopra la scena. L'iframe c'è solo
// allora (sempre presente, anche nascosto, rallentava la pagina): ogni volta che si riapre si ricarica, coi
// messaggi nuovi della storia.
const wall = running && c && story.closeups[c.id]?.type === 'telefono' && c.step === 'wall';
let muro = $('muro');
if (wall && !muro) {
muro = Object.assign(document.createElement('iframe'), { id: 'muro', title: 'Il Muro del Sanpierino', src: versioned('assets/muro/index.html') });
canvas.after(muro);
}
if (!wall && muro) muro.remove();
if (wall) muro.style.setProperty('--muro-scale', String(canvas.clientWidth / 1067));
setText($('closeup-close'), torch ? c.step === 'done' ? 'Continua' : 'Torna fuori' : mg ? c.step === 'result' ? mg.back : 'Lascia stare' : c && story.closeups[c.id]?.type === 'risveglio' ? 'Salta' : 'Chiudi');
setProp($('panel'), 'inert', !!c);