All'Ingorgo anche l'inizio di Via Cipriani: sfondo di notte di Codex, la console sul campo da basket con le casse in cima alle scale, laser rossi e strobo, la folla che poga a 180 battiti; la folla davanti ad Andrea senza fessure fra le due fasce (Andrea)

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 15:33:17 +01:00
co-authored by Claude Opus 5.5
parent 7268585ed9
commit 4d1611c6eb
4 changed files with 17 additions and 5 deletions
+3 -3
View File
@@ -95,9 +95,9 @@ test('dal manifesto in piazza all\'Ingorgo: la battuta, l\'effetto, la festa; us
const track = trackFor(story, { screen: 'game', scene, at: [g.state.x, g.state.y], ok: c => check(c, g.state) });
assert.ok(Array.isArray(track) && track.length >= 2, `${scene}: più console insieme`);
}
g.go('via_cipriani'); settle(g);
g.go('via_massorondinaio'); settle(g);
assert.ok(!g.state.flags.ingorgo, 'fuori dalla zona la festa sparisce');
assert.equal(g.backdrop(), story.scenes.via_cipriani.background);
assert.equal(g.backdrop(), story.scenes.via_massorondinaio.background);
});
test('chiudendo l\'effetto prima del lampo, la festa arriva lo stesso', () => {
@@ -150,7 +150,7 @@ test('alla festa le luci da palco si muovono, e solo alla festa', () => {
const frame = time => { ops.length = 0; render(ctx, g, { time }); return JSON.stringify(ops.filter(([op]) => op === 'lineTo' || op === 'fillRect')); };
assert.notEqual(frame(1000), frame(1700), `${scene}: le luci si muovono`);
}
g.go('via_cipriani'); settle(g); g.go('piazza'); settle(g);
g.go('via_massorondinaio'); settle(g); g.go('piazza'); settle(g);
ops.length = 0; render(ctx, g, { time: 1000 });
assert.ok(!ops.some(([op, x, y]) => op === 'moveTo' && x === 116 && y === 146), 'di giorno niente teste mobili');
} finally { delete globalThis.Image; }