# Relève — menu debug : quêtes, objets et téléportation

09/10/2026, Codex. Point de reprise avant changement : `bdcea5d`.
Relève antérieure : `git show bdcea5d:docs/current-task.md`.

## Demande et décisions confirmées

- F3 : activer une quête, avancer, choisir une étape, terminer, réinitialiser.
- Onglet distinct : possession des objets de quête, sans simuler les récompenses.
- Téléportation : changer réellement la dimension de progression puis choisir
  une salle (verrouillée ou spéciale comprise) ou le restaurant correspondant.
- Conserver ressources, améliorations, quêtes et objets, sans terminer les
  dimensions sautées. L'auteur a confirmé cette conservation avant exécution.

## Réalisation

- `scripts/core/debug_progression_menu.gd`, chargé par `debug_panel.gd` : trois
  onglets, états actualisés, commandes via les setters canoniques, textes `Loc`.
- `GameState.debug_prepare_travel()` : validation de destination, règlement du
  sac, nettoyage de plongée avec conservation explicite des quêtes/objets de
  portée run, changement de `meta.dimension_index`, invalidation des statistiques,
  sauvegarde. Pas de remise à zéro économique ni de récompense de victoire.
- Le restaurant courant est persisté, celui hors champ est libéré. La destination
  est rechargée pour reconstruire correctement salle, acteurs et pont 3D.
- `DiveMap.begin_dive()` consomme une destination debug ponctuelle ; les plongées
  normales suivantes recommencent à la première salle de la nouvelle dimension.
- Les départs/retours ordinaires gardent leur nettoyage habituel des portées run.
- Aucun changement du maître JSON, du brouillon ou de `big-egg/`.

## Validation réelle

- `debug_progression`, `flow`, `return`, `quests`, `key_items`, `persistence` :
  **6 PASS**, rapport `tools/dev/runs/20261009-215050-checks-o82gkmtp/report.json`.
- Le nouveau contrôle clique les vrais boutons : étapes, toggles, salle verrouillée,
  spéciale, progression, inventaire, améliorations, règlement du sac, retour,
  restaurant hors champ, voyage arrière et fin de plongée normale.
- Rouge/vert : omission temporaire de l'écriture de la dimension détectée,
  puis code restauré. Rouge : `20261009-215032-checks-o9jweki0`.
- Après amélioration du contraste uniquement : `debug_progression` **PASS**,
  `tools/dev/runs/20261009-215552-checks-3ndlj3e6/report.json`.
- MCP `script_check` : GameState et nouveau menu valides, aucun diagnostic.
- Captures des trois onglets examinées : `tools/dev/runs/debug-preview-{0,1,2}.png`.
  Le harnais graphique signale des textures/RID encore alloués à sa fermeture ;
  aucune erreur d'exécution dans les six contrôles headless.
- **Smoke général FAIL**, pas présenté comme vert. Comparaison avec les quatre
  fichiers de production d'avant modification, sauvegardés/restaurés exactement :
  baseline `20261009-215315-checks-umiulbkv` (10 assertions), version modifiée
  `20261009-215405-checks-goq1k56r` (9 assertions). Sept communes : payout,
  deux parents d'upgrades, trois compteurs/niveaux de coquille et état mort.
  Les assertions de physique fluctuent : stamina/cône/charge côté baseline,
  attaque frontale/recul côté modifié, ces dernières déjà notées dans la relève
  du 01/10. Le premier smoke modifié avait le même résultat mais son rapport
  a été invalidé par la création des UID ; la comparaison finale est stable.

## Utilisation et limites

Relancer la partie puis F3. La téléportation recrée la plongée et récupère son sac ;
les bonus temporaires de plongée/effets de combat sont nettoyés. Les événements
normaux de la salle d'arrivée s'exécutent. Modifier une étape ne rejoue pas les
scènes précédentes et ne réinitialise pas leurs déclencheurs narratifs.

Les modifications préexistantes de `project.godot`, `main_menu.tscn`, les suppressions
de sauvegardes du gestionnaire et les fichiers non suivis de l'auteur sont préservés.
