99bd77e18b
dashboard/app.py:
load_sim_config() retourne None (pas {}) quand le fichier est absent
— {} est falsy en Python, masquait le formulaire même quand la config
était chargeable mais vide. None est explicitement distinguable.
load_all_modes() charge toujours depuis sim_001.json (référence 5 modes)
— sim_002 n'a qu'un seul mode dans son bloc 'modes', le tableau comparatif
était vide pour S2.
{% if cfg is not none %} dans le template au lieu de {% if cfg %}
Message d'avertissement sous le bouton save : prise en compte au prochain jour
Message d'erreur précis si fichier introuvable (path + hint mount Docker)
/params/save: vérification if cfg is None
run.py:
Hot-reload config à chaque tick==0 (frontière de jour) :
cfg.load(config_path, session_id=SESSION_ID)
effective_mode mis à jour depuis la config rechargée
tick_sleep recalculé (TICK_SLEEP_SEC env var prime toujours)
→ Changer mode/drain/encounter via dashboard prend effet le jour suivant
sans redémarrer le process