From 06f7cfbfad7df2ae3f8ccc020a899601f1ceb67e Mon Sep 17 00:00:00 2001 From: Andrea Manzi Date: Wed, 28 Oct 2026 21:26:53 +0100 Subject: [PATCH] =?UTF-8?q?GP=20di=20Fortezza:=20guida=20a=20un=20dito=20c?= =?UTF-8?q?ol=20telefono=20(premuto=20=C3=A8=20gas,=20lo=20swipe=20indica?= =?UTF-8?q?=20dove=20andare=20sullo=20schermo;=20Codex)=20e=20il=20casco?= =?UTF-8?q?=20di=20Tozzino=20alla=20Damon=20Hill=20(Andrea)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GiECdCPptNRwbVzjzHbohi --- assets/closeups/gp/casco-tozzino.png | Bin 0 -> 7916 bytes docs/STATO.md | 3 +- index.html | 9 ++- src/engine/gara-render.js | 24 +++++++- src/engine/gara.js | 31 ++++++---- src/main.js | 4 +- src/story/piloti.js | 7 ++- tests/gara.test.mjs | 81 ++++++++++++++++++++++++--- 8 files changed, 131 insertions(+), 28 deletions(-) create mode 100644 assets/closeups/gp/casco-tozzino.png diff --git a/assets/closeups/gp/casco-tozzino.png b/assets/closeups/gp/casco-tozzino.png new file mode 100644 index 0000000000000000000000000000000000000000..8aef00b741e22231c5c5e8941712f8d27bb94ccd GIT binary patch literal 7916 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