fix(docs): README states data/pcs/*.json are the canonical PC sheets and foundry.py is a one-shot incomplete migration tool - re-running it and regenerating the JSON would regress the manual/SRD conformance fixes (natural/secondary/firearm flags, Jeanne hooves reach 10, Ierlieth fly 40, Misty bite 1d6, feats beyond its 8-entry map, spell_slots/resources/casting_ability); refresh dev test count 1634 -> 1647
This commit is contained in:
@@ -315,6 +315,17 @@ Les armes placeholder des fiches sans dégâts encodés sont omises (notées
|
|||||||
dans `notes` le cas échéant) ; le champ `source` de chaque fichier pointe
|
dans `notes` le cas échéant) ; le champ `source` de chaque fichier pointe
|
||||||
vers la fiche Foundry d'origine.
|
vers la fiche Foundry d'origine.
|
||||||
|
|
||||||
|
> **`data/pcs/*.json` est la référence canonique des PJ.** Le chargeur
|
||||||
|
> `loaders/foundry.py` est un outil de migration **one-shot et incomplet** :
|
||||||
|
> il ne reproduit pas les corrections manuelles/SRD appliquées aux JSON
|
||||||
|
> (drapeaux `natural`/`secondary`/`firearm`, allonge des sabots de Jeanne
|
||||||
|
> (10 ft), vol d'Ierlieth (40 ft), morsure de Misty (1d6), dons au-delà de sa
|
||||||
|
> table de 8 entrées, `spell_slots`/`resources`/`casting_ability`). Le
|
||||||
|
> relancer et régénérer les JSON de PJ ferait régresser ces corrections : ne
|
||||||
|
> pas régénérer depuis `foundry.py` sans réappliquer au préalable les
|
||||||
|
> corrections de conformance consignées dans
|
||||||
|
> [`docs/conformance-srd.md`](docs/conformance-srd.md).
|
||||||
|
|
||||||
## Règles implémentées et limites de la Phase 0
|
## Règles implémentées et limites de la Phase 0
|
||||||
|
|
||||||
> Le suivi détaillé des écarts avec le SRD — corrigés, hors périmètre et
|
> Le suivi détaillé des écarts avec le SRD — corrigés, hors périmètre et
|
||||||
@@ -1899,14 +1910,16 @@ Limites de sorts (conformance D6-D9, documentées plutôt que bricolées) :
|
|||||||
en cas d'erreur.
|
en cas d'erreur.
|
||||||
- `loaders/` — `combatant.py` (chargeur unifié PJ + monstres avec résolution
|
- `loaders/` — `combatant.py` (chargeur unifié PJ + monstres avec résolution
|
||||||
des dons → `AbilitySpec` et des sorts → `Combatant.spells`) et
|
des dons → `AbilitySpec` et des sorts → `Combatant.spells`) et
|
||||||
`foundry.py` (outil de migration one-shot depuis les fiches Foundry).
|
`foundry.py` (outil de migration one-shot depuis les fiches Foundry —
|
||||||
|
incomplet, voir l'encadré « Fiches de personnages (PJ) » : ne pas régénérer
|
||||||
|
`data/pcs/*.json`, qui est canonique, sans réappliquer les corrections SRD).
|
||||||
|
|
||||||
## Développement
|
## Développement
|
||||||
|
|
||||||
La gate de validation complète (tests + lint + types) :
|
La gate de validation complète (tests + lint + types) :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv run pytest -q # 1634 tests
|
uv run pytest -q # 1647 tests
|
||||||
uv run ruff check src tests
|
uv run ruff check src tests
|
||||||
uv run basedpyright src # mode strict
|
uv run basedpyright src # mode strict
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user