docs: convencions de commit i debug.yaml

Documenta dues peces que no estaven enlloc:

- Missatges de commit: valencià, frases curtes, sense firma automàtica
  (cap Co-Authored-By ni signatura de Claude Code).
- debug.yaml: ruta dins la carpeta de sistema, format, valors vàlids,
  i la diferència de comportament entre build release (sempre LOGO,
  ignora el fitxer) i build debug (llig el fitxer i el crea amb GAME
  si no existeix).

Entrada nova a l'índex de docs/README.md.
This commit is contained in:
JailDesigner committed 2026-04-22 10:35:19 +02:00
1 parent 2cb21211ef
commit 9c9b6028e7
2 files changed
+62

No files matched your search

+1
View File
@@ -5,5 +5,6 @@
| [audit-core-audio.md](audit-core-audio.md) | Auditoria de `source/core/audio/` | Arxivada (tancada amb `refactor/audio-engine-class`) | | [audit-core-audio.md](audit-core-audio.md) | Auditoria de `source/core/audio/` | Arxivada (tancada amb `refactor/audio-engine-class`) |
| [audit-core-rendering.md](audit-core-rendering.md) | Auditoria de `source/core/rendering/` | Arxivada (tots els ítems DONE/WONTFIX/DEFERRED documentats) | | [audit-core-rendering.md](audit-core-rendering.md) | Auditoria de `source/core/rendering/` | Arxivada (tots els ítems DONE/WONTFIX/DEFERRED documentats) |
| [audit-game.md](audit-game.md) | Auditoria de `source/game/` | Arxivada (tancada amb `refactor/options-class`) | | [audit-game.md](audit-game.md) | Auditoria de `source/game/` | Arxivada (tancada amb `refactor/options-class`) |
| [convencions.md](convencions.md) | Convencions del repo (commits, `debug.yaml`) | Viu |
| [entities-system.md](entities-system.md) | Disseny del sistema d'entitats (factory, bus, EntityManager, hazards) | Viu | | [entities-system.md](entities-system.md) | Disseny del sistema d'entitats (factory, bus, EntityManager, hazards) | Viu |
| [player-animations.md](player-animations.md) | Notes d'animacions direccionals i `stand` automàtic del Player | Viu | | [player-animations.md](player-animations.md) | Notes d'animacions direccionals i `stand` automàtic del Player | Viu |
+61
View File
@@ -0,0 +1,61 @@
# Convencions del repo
## Missatges de commit
- En **valencià**, frases curtes i compactes.
- **Sense firma**: res de `Co-Authored-By:`, `Generated with Claude Code`, ni cap altra firma automàtica.
- Un commit per unitat lògica. Si el canvi afecta àrees separades (feature + docs + test), separar en commits diferents.
- Prefix opcional estil convencional (`feat:`, `fix:`, `refactor:`, `docs:`, `test:`) quan ajude a la llegibilitat.
Exemple correcte:
```
feat(scenes): afegir placeholders LogoScene/TitleScene/IntroScene
Tres escenes de 5 s cadascuna que precedeixen GameScene. Cada classe
té el seu fitxer perquè divergiran quan es desenvolupe el contingut
real (logo animat, menú de títol, cutscene).
```
## `debug.yaml` (ajust de dev, no versionat)
Fitxer personal de desenvolupament, **fora del repo**. Viu a la mateixa carpeta
de sistema que `config.yaml`:
- Linux (XDG): `$XDG_CONFIG_HOME/jailgames/aee_2026/debug.yaml`
- Per defecte: `~/.config/jailgames/aee_2026/debug.yaml`
### Comportament segons build
- **Release** (`make release`): `debug.yaml` s'ignora completament. El joc
arranca sempre a `LOGO` i recorre el flux sencer `LOGO → TITLE → INTRO → GAME`,
tal com ho veurà el jugador final.
- **Debug** (`make build`): es llig `debug.yaml`. Si no existeix, es crea
automàticament amb `start_scene: GAME` perquè el dia a dia de gameplay no
arrossegui els 15 s de placeholders. Editant-lo a mà, es pot triar el punt
d'entrada.
### Format
```yaml
start_scene: GAME # valors vàlids: LOGO, TITLE, INTRO, GAME
```
- `start_scene: LOGO` → arranca a `LogoScene` i recorre `LOGO → TITLE → INTRO → GAME`.
- `start_scene: TITLE` → arranca a `TitleScene` i recorre `TITLE → INTRO → GAME`.
- `start_scene: INTRO` → arranca a `IntroScene` i recorre `INTRO → GAME`.
- `start_scene: GAME` → arranca directament a `GameScene` (valor que s'escriu
per defecte en la creació automàtica).
### Comportament davant d'errors (build debug)
- Fitxer buit, valor desconegut o YAML invàlid → `GAME` amb warning a stderr.
El fitxer no es reescriu automàticament: es respecta l'edició manual per si
l'usuari ha teclejat alguna cosa intencionadament.
### Durada dels placeholders
Cada escena placeholder (LOGO, TITLE, INTRO) mostra el seu nom i un compte
regressiu de 5 segons al centre de la pantalla. Es pot saltar amb qualsevol
tecla excepte les registrades a `data/input/keys.yaml` (F1–F12 i Escape),
que mantenen el seu comportament de hotkey global.