1
Architecture/Character-Persistence
george-claude edited this page 2026-07-12 09:42:40 +01:00

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.