Extraire de World la gestion des jetons de la rencontre #94

Open
opened 2026-07-02 06:07:53 +00:00 by Reliodas · 0 comments
Owner

Constat d'audit (2026-07-02). scenes/exploration/world.gd approche 900 lignes et cumule cinq responsabilités : construction de la zone, formation leader/suiveurs, cycle de rencontre, synchronisation des jetons pendant et après le combat, et entrées. Le bloc le plus autonome est la gestion des jetons de rencontre : _party_combat_tokens, _participant_tokens, _register_party_token, _sync_surviving_allies, _persist_fleeing_enemy et la boucle de suivi de _process. C'est aussi la zone que le correctif #88 va retravailler (assemblage des positions depuis Party et vérification des placements). Périmètre : APRÈS la livraison de #88, extraire cette gestion dans un objet dédié (ex. scripts/world/encounter_tokens.gd, RefCounted, même pattern que EncounterFlow/EncounterSetup) que World instancie et interroge ; World garde les entrées, la caméra et la politique des issues. Aucun changement de comportement. Critères d'acceptation : world.gd redescend nettement (ordre de 600-700 lignes) sans nouvelle dépendance circulaire ; les tables de jetons ont un propriétaire unique ; la suite GUT complète reste verte, y compris test_world_combat_active_actor et les tests ajoutés par #88. Tests : la couverture existante fait foi ; déplacer les assertions qui inspectent les tables privées vers l'API du nouvel objet. Dépend de #88.

Constat d'audit (2026-07-02). scenes/exploration/world.gd approche 900 lignes et cumule cinq responsabilités : construction de la zone, formation leader/suiveurs, cycle de rencontre, synchronisation des jetons pendant et après le combat, et entrées. Le bloc le plus autonome est la gestion des jetons de rencontre : _party_combat_tokens, _participant_tokens, _register_party_token, _sync_surviving_allies, _persist_fleeing_enemy et la boucle de suivi de _process. C'est aussi la zone que le correctif #88 va retravailler (assemblage des positions depuis Party et vérification des placements). Périmètre : APRÈS la livraison de #88, extraire cette gestion dans un objet dédié (ex. scripts/world/encounter_tokens.gd, RefCounted, même pattern que EncounterFlow/EncounterSetup) que World instancie et interroge ; World garde les entrées, la caméra et la politique des issues. Aucun changement de comportement. Critères d'acceptation : world.gd redescend nettement (ordre de 600-700 lignes) sans nouvelle dépendance circulaire ; les tables de jetons ont un propriétaire unique ; la suite GUT complète reste verte, y compris test_world_combat_active_actor et les tests ajoutés par #88. Tests : la couverture existante fait foi ; déplacer les assertions qui inspectent les tables privées vers l'API du nouvel objet. Dépend de #88.
Reliodas added this to the 0.17.0 milestone 2026-07-02 06:07:53 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: jeux/beaulieu-sur-brume#94
No description provided.