Add wiki page: Architecture/Character-Persistence

2026-07-12 09:42:40 +01:00
parent f13647f886
commit ff251d467b
+8
@@ -0,0 +1,8 @@
# Character Persistence
`character_builder.py` définit `CharacterBuilder`, un simple dispatcher : ses attributs de classe `save_character_impl` / `load_character_impl` sont câblés à l'import selon la variable d'environnement `ELIRON_BUILDER` :
- Absente ou différente de `"pydantic"` → implémentation JSON manuelle du module (`save_character`/`load_character` locaux).
- `ELIRON_BUILDER=pydantic` **et** `pydantic` réellement importable (détection douce via `importlib.util.find_spec`, pas de dépendance dure) → `pydantic_character_builder.py`, qui sérialise via un modèle `CharacterModel`.
Ajouter un troisième backend = implémenter `save_character(character) -> str` / `load_character(name) -> BaseMob | None` avec la même signature, puis ajouter une branche dans ce câblage.