Add wiki page: Architecture/Character-Persistence
@@ -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.
|
||||||
Reference in New Issue
Block a user