From 4dc2654a66bc8e1298ec9db3fa23db6cbff0f61b Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Mon, 20 Apr 2026 18:24:01 +0200 Subject: [PATCH] docs/audit-game.md: PATCH-01 a DEFERRED i recompte global corregit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PATCH-01 (col·lisió per eix a Player::update) queda per a la branca `refactor/options-class` junt amb COUP-02/03, ja que tryMove a AnimatedSprite toca core/rendering/sprite/ i val la pena agrupar-ho amb el refactor de MapInfo/Options. Recomptes: 28 DONE + 2 DONE (parcial) + 5 WONTFIX + 4 DEFERRED. --- docs/audit-game.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/audit-game.md b/docs/audit-game.md index 2daac03..2da7ebc 100644 --- a/docs/audit-game.md +++ b/docs/audit-game.md @@ -3,7 +3,7 @@ Rama: `audit/game`. Cobertura: `source/game/{entities,map,scenes,ui}` + `source/game/options.{hpp,cpp}` (12 fitxers, ~1.486 línies). -Estado global: **25 DONE, 5 WONTFIX, 3 DEFERRED** sobre 33 ítems. Cada canvi té un commit aïllat i s'ha provat amb `SDL_VIDEODRIVER=dummy` + `SIGINT` (el log de `Game start` a `Bye!` és idèntic entre commits; la branca `config.yaml` de backup verificada manualment amb un fitxer corrupte). +Estado global: **28 DONE, 2 DONE (parcial), 5 WONTFIX, 4 DEFERRED** sobre 39 ítems (el top 5 compta dins dels seus IDs individuals). Cada canvi té un commit aïllat i s'ha provat amb `SDL_VIDEODRIVER=dummy` + `SIGINT` (el log de `Game start` a `Bye!` és idèntic entre commits; la branca `config.yaml` de backup verificada manualment amb un fitxer corrupte). Els 4 DEFERRED (COUP-02, COUP-03, CONV-02 resta, PATCH-01) van a la futura branca `refactor/options-class`. Estados posibles: - `PENDING` — identificat, sense tocar @@ -55,7 +55,7 @@ Els IDs es mantenen estables una vegada assignats. Cada entrada apunta al fitxer | ID | Fitxer:línia | Troballa | Severitat | Estat | Notes | |----|--------------|----------|-----------|-------|-------| -| PATCH-01 | `player.cpp:66-77` | Col·lisió per eix fent `AnimatedSprite::update` + revertir + reaplicar | Importante | PENDING | `tryMove(dx, dy, collisionFn)` a la classe base | +| PATCH-01 | `player.cpp:66-77` | Col·lisió per eix fent `AnimatedSprite::update` + revertir + reaplicar | Importante | DEFERRED | Afegir `tryMove(dx, dy, collisionFn)` a la classe base toca `core/rendering/sprite/` i canvia l'API de tots els descendents. Millor lligar-ho al refactor de COUP-02/03 (`refactor/options-class` / MapInfo injectat al Player) per no dispersar el canvi | | PATCH-02 | `player.cpp:13-15` | Comentari tipus TODO ("si més endavant volem sprint...") | Menor | DONE | Eliminat en HC-01 (la constant ja no viu al `.cpp`, sinó a `Defaults::Player`) | | PATCH-03 | `map.cpp:13-15` | `overlapStrict` custom perquè SDL3 considera el toc com intersecció | Menor | WONTFIX | Només s'usa dins de `Map::collides` i és una línia; moure a utils/ ara seria sobre-abstraure. Si apareix a un segon mòdul, promourea a `utils/geometry.hpp` | | PATCH-04 | `options.cpp:361-363,371-375,475-480,528-533` | Reescriure silenciosament `config.yaml` al fallar parseig o canviar versió | Crítico | DONE | Helper `backupFile()` que copia a `.bak` si existeix. Cridat abans de cada reescriptura forçada (versió mismatch + catch a `loadFromFile`, `presets:` absent/invàlid/buit + catch a `loadPresetsFromFile`). Primera execució no genera `.bak`. Missatge explícit per motiu de reescriptura |