# Tâches de réalisation de l'histoire

Liste à cocher, tirée de `docs/plan-realisation-histoire.md` (06/10/2026).
Le plan donne le pourquoi, les dépendances et les pièges de chaque phase ;
cette liste donne le quoi, dans l'ordre. Une tâche cochée fait aussi passer
ses cartes du carnet Déroulé « Dans le jeu ».

## Phase 0 — Préparer

- [x] 0.1 Sauvegarde hebdomadaire (`dev.py backup`) et rapport des travaux depuis le 30/09. Fait le 06/10 : `docs/rapports/2026-10-06.md`, archive testée `E:\BIG EGG SAUVEGARDES\big-egg-20261006-1953.7z` (717 Mo), bundle Git vérifié.
- [x] 0.2 Commit de point de reprise. Fait le 06/10 : commit `8b9ee38`, étiquette `sauvegarde-20261006-1953`.
- [x] 0.3 Batterie de référence. Fait le 06/10 avec la batterie complète (`--full`) plutôt que la seule zone `gameplay`, parce que les phases 2 et 4 s'y compareront. Détail ci-dessous.
- [x] 0.4 Vérifier que `draft.json` est publié ou intact depuis au moins 10 minutes avant toute migration. Le 06/10 : identique au maître (seule `metadata.modified_at` diffère), intact depuis 21 h. À revérifier juste avant chaque migration.

### Référence des tests (06/10)

Run `tools/dev/runs/20261006-195532-checks-7mt2vtz1` (sur `8b9ee38`) : **178 contrôles sur
195 passent**, aucune entrée changée pendant le run. Comparer les listes nommées,
jamais les comptes (`--baseline` avec ce `report.json`).

Les 17 contrôles qui échouent déjà :

- `gameplay` (smoke test), 7 échecs nommés : la formule de la statistique de paye ; les parents
  des branches Mouvement et Restaurant qu'on ne peut pas acheter ; les niveaux de la coquille
  dans le désordre, son compteur et sa pastille (0/9 au lieu de 0/6) ; une créature morte qui
  n'est pas en état mort.
- `abilities` : l'échec connu, la console du bac à sable recharge le brouillon dès qu'il diffère
  du maître et efface les créatures sondes.
- `recipes` : « paused stamina displays bars and slowly pulses », « refresh does not restart
  pulse ». **Nouveau depuis la batterie du 03/10**, reproductible (deux runs) ; à diagnostiquer.
- L'arbre d'améliorations du maître, où des nœuds copiés gardent « - copie » (`pv1_copy`,
  `sta1_copy`…) : `upgrade_families_test`, `upgrade_shells_test`,
  `upgrade_secondary_parents_test`, `upgrade_secondary_parents_validation_test`.
- L'environnement PHP : `bulk_workbook_test` (extension zip absente), `map_shape_test` et
  `publish_deletion_guard_cgi_test` (le CGI ne charge pas l'extension xdebug bêta).
- Le gestionnaire : `balance_browser_test`, `page_section_config_browser_test`,
  `reference_navigation_browser_test`, `recipe_condition_test`, `recipe_levels_test`,
  `restaurant_element_test`, `restaurant_element_validation_test`.

Par rapport à la batterie complète du 03/10 (`20261003-232207`, 16 échecs) : `abilities` et
`recipes` sont nouveaux, `bob_quest` est réparé.

## Phase 1 — Le remplissage sans risque

- [x] 1.1 Shaman Musicalo devient le Saule : monstre, employé, soupe de résonance, visuels (The Willow en anglais).
- [x] 1.2 Jérémie devient Jay : boss de la piste, fiche d'employé, bol de vitesse, visuels.
- [x] 1.3 Le Sanctuaire du sommet devient le Sommet (The Summit en anglais).
- [x] 1.4 La description de Pyro Pete. Reportée : les fiches d'ennemis n'ont pas de champ de description ; son identité passe par ses scènes, au Mont (fait en phase 7 : il brûle la montagne et accuse le chef, puis Gars-Rond le chasse).
- [x] 1.5 Steve la Girouette sort des vagues de D1 (il reste de D2 à D4, et dans la salle de MLD).
- [x] 1.6 Coach Chrome sort des vagues de D2.
- [x] 1.7 Jay passe en portée « meta ».
- [x] 1.8 L'embauche de Jay se débloque à sa défaite, au lieu du seuil fictif : fait « meta » `jay_joined`, posé par son crochet de mort.
- [x] 1.9 L'embauche de l'Abominable se débloque à sa défaite : fait « meta » `abominable_joined`.
- [x] 1.10 La fiche de MLD dit « maître d'hôtel ».
- [x] 1.11 Validation, cartes, commit. Migration `migrate_story_phase1_20261006.php` (108 changements par fichier, maître et brouillon). Batterie complète `20261006-202145` identique à la référence : aucun échec nouveau. Aucun contrôle dédié ne joue encore la défaite de Jay ; elle reprend le mécanisme de Bob, vérifié dans les données.

## Phase 2 — La colonne des cases

- [x] 2.1 Dessiner la colonne cible de chaque dimension, case par case, et la faire valider par l'auteur : `docs/colonne-des-cases.md`, validée le 06/10 avec ses quatre réponses.
- [x] 2.2 D1 à D3 : Propaganda Plaza devient une salle ordinaire (les vagues de la salle d'avant) ; Big Egg et la fin de dimension en partent.
- [x] 2.3 D1 à D3 : la Grande République, salle du boss MLD, dernière du Centre-ville ; la salle spéciale rare a disparu.
- [x] 2.4 D1 à D3 : le hall du World Egg Center, où se bat Big Egg, qui porte la fin de dimension et reprend la description de Propaganda Plaza.
- [x] 2.5 D2 à D4 : le Pied du Mont Royal, avant le Centre-ville en D2, avant le Mont en D3 et D4 (sans Pyro Pete en D2).
- [x] 2.6 D4 : la Grande République ; le hall, où passe Big Egg 4 ; le « Blocage » retiré, sa phrase devenue la description du hall.
- [x] 2.7 D4 : l'ascenseur, provisoire, en case 43 ; les Étages exécutifs deviennent « Le toit » (case 49).
- [x] 2.8 Dans la même migration, décaler les `level` et les `replaces` (le sanctuaire du Saule passe en D3:18 et D4:21). Aucune sortie absolue ni aucun déclencheur ne citait de case.
- [x] 2.9 MLD : une fiche par dimension, 450 PV en D1 (`mld_one`), 1 200 en D2 (`mld_two`), 3 750 en D3 et D4.
- [x] 2.10 La cave aux rats : salle spéciale de D1, D1:11 à 100 %, sortie 0 (rats de quai, en attendant Ti-Gras).
- [x] 2.11 Le décor 3D provisoire des salles neuves : celui de leur biome (World Egg Center, Mont, Vieux-Port). Le pont 3D et l'outil passent ; reste à voir les salles neuves en jeu.
- [x] 2.12 Les contrôles qui supposent un nombre de salles : aucun n'est tombé.
- [x] 2.13 Validation, commit. Migration `migrate_story_phase2_column_20261006.php`, qui vérifie l'état d'origine avant d'écrire et la colonne obtenue après (16, 21, 25 et 49 cases). Batterie complète `20261006-213545` : aucun contrôle nouveau en échec, `abilities` réparé ; ses 3 échecs nommés de plus au smoke test sont les assertions de physique instables connues, absentes des deux relances de la zone.

## Phase 3 — Jalon D1 (sans ajout au moteur)

- [x] 3.1 Ti-Gras : le Rat de quai ×2,5, 250 PV provisoires, barre de boss ; il siffle ses rats (capacité d'invocation), puis recrache la passe (son crochet de mort). Migration `migrate_story_phase3_d1_mechanics_20261006.php`.
- [x] 3.2 La cave aux rats : deux vagues de rats de quai, puis Ti-Gras au fond (décor du Vieux-Port, en attendant).
- [x] 3.3 Gab fuit au lieu de mourir et fait tomber la grue : la scène (une seule fois), puis des débris qui restent au Casino-barge. Les scènes de la D1 (`docs/scenes-d1.md`, validées telles quelles) sont posées par `migrate_story_phase3_d1_scenes_20261006.php`.
- [x] 3.4 Les entrées de métro murées : des portes qui exigent la passe, dans la Lisière du cratère et les Quais bas ; ouvertes, elles font suivre la station à la case d'après. Sans modèle 3D pour l'instant.
- [x] 3.5 Les stations du Cratère et des quais, en cul-de-sac : débris, deux vagues de rats de quai, le garde-manger des rats, trois récompenses au choix.
- [x] 3.6 Les signes des ancêtres du Saule, gravés dans les stations (un décor, sans modèle 3D).
- [x] 3.7 Le sigle du KMLD, rue des barricades (un décor, sans modèle 3D).
- Deux bugs latents du moteur, révélés en chemin et corrigés : une condition sur une valeur jamais posée (`run.…`) plantait (`bool(null)`, `float(null)`) ; elle vaut désormais faux et zéro (`game_state.gd`, trois assertions neuves au smoke test, rouges puis vertes). Une créature apparue sous un nœud désactivé testait un mouvement hors de l'espace physique (`enemy.gd`).
- [x] 3.8 Le Saule en D1 : la clairière qui résonne, quatre variantes d'une salle spéciale rare (D1:3, 5 %), une réplique au hasard ; le Saule y est un PNJ à qui l'on parle.
- [x] 3.9 MLD, vrai combat de gardien (phase 2), et sa réplique d'entrée, à chaque entrée en D1 et D2.
- [x] 3.10 Big Egg dans le hall : l'affiche « Bonjour, petit chef », les excuses (avec « Pour l'école, aussi. ») et l'offre. Le combat attend la réponse (vague endormie) ; la scène ne se saute pas.
- [ ] 3.11 La fausse fin : le montage (des cartons de texte, en attendant des images), « … ou pas », le retour au refus sont faits. Reste la photo au mur du resto (fait `big_egg_fake_end_seen` posé, un décor du resto sous condition).
- [x] 3.12 Le premier portail : raconté à l'arrivée dans le resto de D2, la fin de dimension enchaînant trop vite pour une scène au donjon.
- [x] 3.13 Le gag du thon : la réplique du narrateur suit « Le poisson, hein ? » ; les deux autres attendent la D2.
- [x] 3.14 Les indices de Bob en D1, au resto une fois Bob engagé : le prospectus du festin (déplacé du Centre-ville, où Bob ne va pas), puis l'assiette disparue après ses dix premiers services.
- [x] 3.15 Validation. Contrôle neuf `d1_story` (le câblage de la D1, sans jouer les scènes), rouge avec trois régressions réintroduites, puis vert. Batterie complète `20261006-231041` : aucun contrôle nouveau en échec. Les scènes elles-mêmes restent à voir en jeu : aucun déclencheur ne part en headless.

## Phase 4 — Le moteur pour la D2

- [x] 4.1 Le réseau à branches : le modèle de données (`docs/reseau-branches.md`), validé par l'auteur le 06/10. Une porte tient tout son mur (une par mur, quatre au plus) : le champ « place le long du mur » est retiré.
- [x] 4.2 Le réseau : une porte mène à la case suivante, à une case précise, à une salle précise ou revient sur ses pas (`back`) ; le chemin parcouru (`run.trail`) et les salles faites (`run.cleared`). Une salle quittée par une porte compte pour faite : y revenir n'amène qu'un quart de la première vague (au moins une créature, statistique `revisit_wave_ratio`), la porte ouverte d'emblée, ni coffre, ni objet à casser, ni récompense, ni crochet `on_cleared`. La retraite : la bande de retour seulement si la salle l'offre (`retreat_band`) et que le mur d'arrivée est libre ; « Mettre fin à la plongée » dans le menu de pause, toujours offert, compte comme un KO ; « Sauvegarder et quitter » sous terre aussi.
- [x] 4.3 Le réseau : une porte par mur, en 2D (des bandes nées avec la salle) et dans le pont 3D (chaque mur à porte s'ouvre, la brume dit l'étiquette et la flèche du mur). Le passage colle la salle suivante au mur de la porte prise, sur les quatre murs, et l'on y entre par le mur d'en face. Une porte fermée reste visible, en rouge, et dit ce qui manque (un objet de quête se nomme).
- [x] 4.4 Le réseau : une salle de branche affiche son nom sans « case/total » ; une salle revisitée s'annonce. La course ne se sauvegarde toujours pas en route : chemin et salles faites vivent dans la portée `run`, comme la case.
- [x] 4.5 Le réseau : l'éditeur des portes dans la fiche d'une salle (mur, destination, salle ou case, étiquette, conditions, bande de retour), la validation PHP (`room_exits_validation_test.php`), le contrôle neuf `network` et `passages` mis à jour. La rame (`travel`) est acceptée par la donnée mais reste fermée jusqu'à la phase 6.
- [x] 4.6 Le moment « restaurant fermé » : un lieu de déclencheur neuf, `restaurant_closed`, vrai au resto quand la salle est fermée et que le comptoir ne sert pas (ou n'existe pas).
- [x] 4.7 Le moment « retour de plongée » : un lieu neuf, `dive_return`, ouvert à l'arrivée au resto une fois la séquence de retour jouée, lu une seule fois par les déclencheurs. La façon dont la plongée a fini se lit dans `meta.last_return` (`walk`, `exhausted`, `knocked_out` ; mettre fin depuis le menu compte comme un KO).
- [x] 4.8 Les résistances conditionnelles : la **garde** d'une créature (choix de l'auteur, 07/10 : « gelé ou ralenti »). Intouchable tant qu'elle tient, le coup refusé se voit et s'entend ; elle tombe tant que la créature porte un effet d'une famille cochée (glace, pour Jay), et ne vaut que si ses conditions tiennent (le gardien de la D4 pourra s'en servir). Les effets d'un coup passent toujours : c'est le givre qui ouvre la brèche.
- [x] 4.9 Le filtre de dégâts des objets à casser (`damage_filter`) : les débris ne cèdent qu'à l'`explosion`, et le disent. Le souffle du héros frappe désormais les objets à casser, ce qu'il ne faisait pas : une caisse cède aussi à une explosion.
- [x] 4.10 Zéro emplacement de consommable possible : dans le code et dans le minimum du maître ; la valeur de base reste 1 jusqu'à la phase 5.
- [x] 4.11 L'écran de boutique (choix de l'auteur, 07/10 : tout, offre par offre ; la réserve du resto) : une boutique liste ses offres (arme, équipement, plat préparé, objet de quête, trouvaille), chacune avec son prix, son stock par plongée et ses conditions ; parler à la boutique ouvre son écran. Déjà à soi, trop cher, épuisé, plus de place : le bouton le dit.
- [x] 4.12 La fuite (Carl) : une capacité neuve, « Fuir », à poser « sous un seuil de PV ». La créature quitte la salle en courant, compte comme vaincue pour la porte, ne lâche rien par défaut ; compteur `total_fled` et crochet « Quand il prend la fuite » (`on_flee`).
- [x] 4.13 Le client capricieux (Steve) : `whim_seconds` (il change de plat tant qu'il n'est pas servi, même pour un plat qu'on ne peut pas faire) et `pay_min` / `pay_max` (il paie au hasard entre ces deux fois le prix). Les valeurs neutres (0, 1, 1) laissent les autres clients tels quels.
- [x] 4.14 Catalogue, PHP, outil, `Loc` et migration (`migrate_story_phase4_d2_engine_20261007.php`) pour chaque ajout. Contrôle neuf `d2_engine`, rouge avec huit régressions réintroduites, puis vert ; `d2_engine_validation_test.php` et `room_editor_test.js` (rouges puis verts).

## Phase 5 — Jalon D2

- [x] 5.1 Le local neuf : la note « Bienvenue. On t'attendait. — K. » (5A-1, texte provisoire jusqu'à 5B).
- [x] 5.2 La quête pour trois dans la Serre (« Du miel pour trois ») : Bob réclame du miel royal, on bat eLTuna, Bob s'interpose et l'emmène au resto, le gag éclate, la Tartine au miel royal règle la chicane ; eLTuna rejoint (embauche), Bob se réengage et donne le fer à cheval, qui se lance et traverse (5A-2, textes provisoires jusqu'à 5B).
- [x] 5.3 La revanche amicale de Bob attend son réengagement dans le monde : le fait `bob_engaged` (portée dimension), que son duel de D1 pose aussi ; son embauche l'attend de même. Un déclencheur le rattrape dans une partie D1 déjà avancée.
- [x] 5.4 Gab, rebattu au Casino-barge, paie son pari en déblayant ; il indique la cave (5A-3, textes provisoires).
- [x] 5.5 La course perdue contre Jay : intouchable sans givre (sa garde). Une plongée qui finit sur la Piste, Jay invaincu, est la course perdue, lue au retour (`meta.last_dive_room`) ; KO ou épuisement coûtent comme d'habitude (choix de l'auteur, 07/10). Une seconde note de K. demande de fermer le soir.
- [x] 5.6 L'émissaire, au resto fermé : la carte du monde (objet de quête), la recette de la Bombe au soufre, et la poche (une amélioration méta que la scène accorde ; une scène peut désormais accorder une amélioration).
- [x] 5.7 L'emplacement de base passe à zéro ; les rangées de poches de l'arbre attendent la poche de l'émissaire.
- [x] 5.8 Gab vient au resto, les pinces gelées, et réclame sa bisque chaude ; servi, il donne le fusil de givre (l'effet Givre : ralentit, peut geler).
- [x] 5.9 Jay, battu au givre, rejoint pour toujours (employé méta), et lâche que l'émissaire était un autre Jay.
- [x] 5.10 Le Pied du Mont : une veine de soufre à casser, et Gars-Rond, de loin : « Redescends, t'as rien à faire icitte. »
- [x] 5.11 La Bombe au soufre : recette donnée par l'émissaire, un plat qui se lance et souffle en explosion. Deux défauts du moteur corrigés en chemin : un projectile qui explose détone désormais contre un objet à casser (au lieu de le traverser), et le souffle d'un projectile garde ses types de dégâts (il les perdait : ni filtre ni résistance ne les voyaient).
- [x] 5.12 La ligne verte en branches : quatre stations de la D2 (Cratère, quais, Parc olympique, Centre-ville), descendues par des portes qui exigent la passe ; « Remonter » reprend la course à la case suivante. Les tunnels sont bouchés par des débris qui ne cèdent qu'à l'explosion, et restent ouverts pour le monde. La ligne orange reste barrée.
- [x] 5.13 La cave aux rats, raccourci du Casino-barge à la station du Centre-ville.
- [ ] 5.14 Carl : un seul par vague ; sous 40 % de vie il déguerpit (capacité « Fuir ») et perd une jambe en carton ; son PNJ, au Dépotoir sauvage, réclame ses trois jambes, puis promet un meuble (fait méta `carl_helped`). **Reste** : le meuble lui-même, qui attend ta décision sur le moment du comptoir à emporter.
- [ ] 5.15 La pieuvre : son combat dans l'arrière-salle du Casino-barge (forme simple), sa dette rachetée à l'écran de boutique, l'Étal du marché noir dans les stations (ingrédients rares, Bombe au soufre, soins ; un genre d'offre « ingrédient » ajouté). Sa dette rachetée, elle vient au resto, cliente aux huit commandes à la fois (5A-5) : un moteur neuf, `orders_at_once` sur la fiche d'un client (1 à 8). Ses plats s'attendent ensemble, se servent dans n'importe quel ordre, se posent en couronne, et elle ne mange qu'au dernier ; chaque plat laisse son assiette sale, et seule la dernière ramassée conclut la visite. L'attente du plat et celle du débarrassage s'étirent d'autant. L'ardoise garde une ligne par table : elle porte le premier plat qui reste, et la brigade les cuisine un à un. **Reste** : le modèle et le rig, après la phase 5 (choix de l'auteur).
- [x] 5.16 Steve la Girouette, client capricieux après 10 Steve battus dans le monde : il change de plat toutes les 15 s et paie entre 0 et 2 fois le prix.
- [x] 5.17 Le Courrier du KMLD, dans les stations des quais et du Parc olympique (une fois sur deux), avec ses rumeurs.
- [x] 5.18 MLD en D2 existait déjà (3.9). Big Egg 2 rallume son affiche à chaque entrée dans le hall (« Encore toi, petit chef ? »). Le deuxième portail se raconte à l'arrivée en D3, l'entité inquiète ; le premier ne se joue plus qu'en D2. Deux indices de Bob : Jay, rallié, croit l'avoir vu « ailleurs, avec une autre face » ; le miel royal disparaît au retour d'une plongée, la quête pour trois réglée. La pieuvre libre annonce sa venue au resto (5A-6, textes provisoires).
- [x] 5B Les textes de la D2 (`docs/scenes-d2.md`), validés tels quels par l'auteur le 07/10, les deux indices de Bob compris ; la mention « texte provisoire » est retirée de leurs 27 scènes.
- [x] 5.19 Validation. Contrôles neufs ou étendus, chacun rouge avec sa régression réintroduite, puis vert : `d2_story` (le câblage de la D2), `d2_engine` (section 8, la commande multiple). Batterie complète `20261007-095621` : aucun contrôle nouveau en échec par rapport à la référence ; au smoke test, les instables connus (qui passent avec une autre graine) et « Rester immobile », une fenêtre de 0,12 s en temps réel qui tombe aussi avec le code de HEAD et passe au pas fixe. Cartes du carnet : dix passent « Dans le jeu » (07/10), quatorze reçoivent une note datée de ce qui reste.
- Restent ouverts après la phase 5 : le meuble de Carl (ta décision sur le moment du comptoir à emporter), le modèle et le rig de la pieuvre, et un écart de Steve avec sa carte (il pioche parmi tous les plats connus, alors que la carte ne lui donne un plat indisponible qu'à défaut d'autre choix).

## Phase 6 — Le moteur pour la D3

- [x] 6.1 Offrir une amélioration par un crochet : possible depuis l'émissaire (5.6), tout crochet peut poser `upgrade_nodes.<id>.purchased` ; prouvé par le contrôle neuf `d3_engine` (la mort d'une créature d'essai accorde deux améliorations, et le changement de monde garde la « meta », perd celle de dimension).
- [x] 6.2 Le poste à épices en portée « meta » (décision 6), et cadeau seulement (choix de l'auteur, 07/10) : invisible et inachetable tant que le fait méta `spice_station_given` n'est pas posé ; la scène de Gars-Rond (phase 7) posera le fait et accordera le poste. Ses deux suites restent à acheter. Migration `migrate_story_phase6_spice_gift_20261007.php` ; `d3_engine` rouge avec l'ancienne portée, puis vert.
- [x] 6.3 L'écran de la carte du monde (choix de l'auteur, 07/10 : le menu de pause et une touche ; un schéma de la course). Une fois la carte reçue, le menu de pause l'offre (bouton « Carte ») et la touche M ou le bouton Sélection de la manette l'ouvrent en jeu ; l'action est déclarée par le code, pas dans `project.godot`, que l'éditeur ouvert réécrit. L'écran montre le monde, ses cases groupées par biome, la case où l'on est, les branches une fois visitées (sous leur case) ; les quêtes en cours à leur étape ; les notes ; les boutiques des salles visitées, avec leurs prix. Les notes : un champ neuf `map_note` sur une scène (catalogue, PHP, outil, localisation), inscrit sur la carte la première fois qu'on l'entend, et qui suit le chef d'un monde à l'autre ; les deux répliques validées du Courrier y sont inscrites. Le modèle (`world_map.gd`) est séparé de l'écran (`world_map_screen.gd`) ; `d3_engine` (section 4) rouge avec deux régressions réintroduites, puis vert.
- [x] 6.4 La rame (choix de l'auteur, 07/10 : les stations déjà visitées). Une porte `travel` ne roule qu'une fois le réseau rallumé, un fait méta neuf (`metro_powered`) que l'histoire de la D3 posera ; d'ici là elle reste fermée et dit « Le réseau est éteint » — la ligne orange de la D2 reste barrée sans qu'on touche à sa porte. Rallumée, elle ouvre la carte sur les stations (les salles qui ont une porte de rame) visitées dans ce monde, sauf celle où l'on est ; en choisir une lance le passage par cette porte, et le choix ne sert qu'une fois ; « Rester ici » referme. `d3_engine` (section 5, dans le vrai donjon, sur des stations d'essai) rouge avec deux régressions réintroduites, puis vert.
- [x] 6.5 Le client dont la présence applique un modificateur (Coach Chrome) : `presence_modifiers` sur la fiche d'un client (catalogue, PHP, outil : section « Présence »), posés à son nom (`presence:<instance>`) tant qu'il est attablé, retirés quand il part ou quitte la scène ; ils ne survivent jamais à une sauvegarde (effacés au chargement et quand le resto rassoit ses convives). Statistique neuve `hall_staff_pace`, l'allure des serveurs (1 par défaut), que seuls les employés de salle suivent. La fiche de Coach Chrome viendra avec la D3 (phase 7). `d3_engine` (section 3) rouge sans le retrait de la présence, puis vert ; `d3_engine_validation_test.php` rouge sans la normalisation, puis vert.
- [x] 6.6 Pour chaque ajout : catalogue, PHP, outil, contrôle ; commit (un par étape, 6A à 6D). Contrôle neuf `d3_engine` (cinq sections) et `d3_engine_validation_test.php`. Batterie complète `20261007-111252` : aucun contrôle nouveau en échec par rapport à la référence (au smoke test, seuls les deux instables liés à la graine). Écran de la carte et choix de la rame vus à l'œil sur capture (scène temporaire, hors éditeur). Cartes du carnet : deux passent « Dans le jeu » (l'émissaire et sa carte, le Courrier), cinq reçoivent une note datée.

## Phase 7 — Jalon D3

- [x] 7.1 Le Ti-Gras de D3 et les fusibles de la centrale : dans sa cave (le repaire de Ti-Gras, sous le Casino-barge), deux vagues de rats puis Ti-Gras (`ti_gras_d3`), qui recrache les fusibles (objet de quête `power_fuses`, portée « dimension »). Le Courrier, en D3, dit où ils sont, et sa réplique s'inscrit sur la carte (7A, textes provisoires).
- [x] 7.2 La ligne orange et le 2e sous-sol, débarrés par les fusibles. Le Parc olympique devient une correspondance à deux quais (choix de l'auteur, 07/10) : le quai vert, puis le quai orange, d'où part la ligne vers le Mont Royal. La ligne verte de la D3 reprend celle de la D2 (la passe, les débris, des faits de tunnel qui repartent à zéro à chaque monde).
- [x] 7.3 La centrale, au 2e sous-sol : son tableau, avec les fusibles, rallume le réseau, et la rame mène aux stations visitées. Le réseau se refait à chaque monde (choix de l'auteur, 07/10 : `metro_powered` passe en portée « dimension »). La scène de la centrale pose le courant avant sa première réplique, pour qu'une scène passée rallume quand même ; même correctif pour « Carl recollé » (textes inchangés). Une porte de rame dans chaque station, sauf le quai vert du Parc olympique, dont les quatre murs sont pris.
- [x] 7.4 Le Mont devient une branche : la station du Mont Royal remonte à la case 16, et le Pied du Mont (case 15) mène au Centre-ville (case 20). Contrôle neuf `d3_story` (le métro de la D3, parcouru avec la vraie carte de la plongée), rouge avec la mise sous tension replacée après la première réplique, puis vert.
- [x] 7.5 Pyro Pete brûle le Mont ; les haut-parleurs annoncent le « petit chef » (à la première entrée au Mont, en D3 ; 7B-2, textes provisoires).
- [x] 7.6 Gars-Rond au Sommet : le combat, avec la réplique d'entrée de l'auteur ; battu, il comprend et chasse Pyro Pete (la scène). Pyro Pete se fait rare une fois chassé (choix de l'auteur, 07/10 : une fiche traînarde) : la scène où Gars-Rond le chasse pose `pyro_pete_chased` (« dimension ») ; Pyro Pete quitte alors les vagues du Mont, et un « Pyro Pete traînard » y prend sa place, quatre fois moins fréquent. `d3_story` section 8, rouge puis vert.
- [x] 7.7 La collecte du piment de lave (choix de l'auteur, 07/10 : à cueillir au Mont) : des plants dans les salles du Mont ; Gars-Rond en demande cinq (quête « Le piment de lave », provisoire), et ne les prend pas : ils servent au poste.
- [x] 7.8 La collecte faite, au resto, Gars-Rond roule et offre le poste à épices (le cadeau de la phase 6), puis rejoint (embauche, fait `gars_rond_joined`) ; la quête des plats épicés commence. Les effets passent par le déclencheur : une scène passée ne les perd pas. `d3_story` section 2, rouge sans l'octroi du poste, puis vert.
- [x] 7.9 Les plats épicés (choix de l'auteur, 07/10) : le poste à épices épice au lieu de raffiner, contre un piment de lave (ingrédient neuf, qui se cueille sur des plants du Mont en D3 et D4) ; sans piment, il refuse ; annuler rend le piment. Un plat épicé se vend au coefficient du plat supérieur. N'importe quel plat épicé se met de côté à la console en « Plat épicé » (trois au plus), pour la quête « Des plats épicés à emporter » (une mise de côté neuve, `set_aside.spiced`, catalogue, PHP, outil). La brigade n'épice pas : le piment reste au geste du héros (sa compétence d'Assaisonnement ne sert plus, à revoir). Smoke test et `employee_revolution_check` passés à la nouvelle règle ; `d3_engine` section 6, rouge en cassant la mise de côté des plats épicés, puis vert.
- [x] 7.10 Le Saule : son sanctuaire de D3 devient une rencontre sans combat (`saule_sanctuary`), garantie à la case 18 tant que la réparation reste à faire, puis rare (25 %) ; à la première entrée, il confie son berimbau brisé (7E-3, textes provisoires). Moteur neuf (7E-1) : une ligne de remplacement d'une salle spéciale peut poser des conditions, et une salle garantie l'emporte sur les autres (la station de métro de la D1 ne cède plus sa case à la cachette de Bob). Le sanctuaire de D4 garde son combat jusqu'à la phase 9.
- [x] 7.11 Réparer le berimbau, en quête « meta » `berimbau_repair` : une branche du saule de la Serre abandonnée, un cordage fin aux Quais bas, une calebasse au Sommet, chacune sur un élément qui ne se montre que tant qu'on la cherche (un fait « meta » par pièce). Rapportées au sanctuaire, le Saule répare ; le berimbau vibre tout seul, le Saule n'explique rien (choix de l'auteur, 07/10 : une scène seulement), et le héros le garde. Le Saule devient employé de passage (choix de l'auteur, 07/10) : moteur neuf (7E-2), champ « chance de passage » de la fiche d'employé ; une fois sur quatre au retour d'une plongée, il travaille au resto sans poste ni salaire, puis repart au départ suivant ; jamais embauché. `d3_engine` sections 7 et 8, `d3_story` section 5, rouges puis verts. **Reste** (phase 9) : les pièces en D4, pour une réparation qui déborde.
- [x] 7.12 Gab rejoint par un plat épicé à emporter : entré au Casino-barge avec un Plat épicé, il le renifle, lâche les armes et rejoint sans combat (sa vague dort avec le plat, puis une fois rallié) ; son embauche suit le fait `gab_joined` (7C, textes provisoires).
- [x] 7.13 MLD (choix de l'auteur, 07/10 : sans plat, il refuse le combat) : sa Grande République n'a plus de vague en D3 ; il garde la porte du hall, fermée tant qu'il n'est pas converti, et dit ce qu'il veut. Avec un Plat épicé, il goûte, se convertit et rejoint (embauche, fait `mld_converted`) ; la porte s'ouvre. Son combat amical devient une scène (choix de l'auteur, 07/10) : converti, il montre les failles de Big Egg, et Big Egg 3 perd un quart de sa vie dans ce monde (une variante de sa fiche, ouverte par `big_egg_weak_points`). `d3_story` section 8, rouge puis vert ; texte à valider.
- [x] 7.14 Bob, au Mont, renifle le piment de lave ; avec un Plat épicé, il se réengage, ramène eLTuna, et donne la selle-armure (un équipement neuf : un effet peut désormais donner un équipement, `equipment.<id>.owned` inscriptible dans les trois miroirs). `d3_story` section 3, rouge sans l'écriture de l'équipement, puis vert.
- [x] 7.15 Coach Chrome devient le boss de la piste en D3 et D4, à la place de Jérémie : une fiche de champion à part (`coach_chrome_champion`, 1 000 PV provisoires, barre de boss, les mêmes en D4), le monstre ordinaire du Parc olympique gardant la sienne. Battu, il lance son défi (fait « dimension » `coach_beaten`, `coach_beaten_ever` en « meta ») (7D-2, textes provisoires).
- [x] 7.16 Les trois séances de Coach (choix de l'auteur, 07/10 : après sa défaite ; un objectif par contrainte) : au Concourse de surveillance (D3:12, D4:14), garanties une par course, chacune ouvrant la suivante. Sans ruée : vider la salle à temps, sans dash ; endurance réduite : tenir jusqu'au bout, pas et coups à coût double ; sprint : toucher cinq plots à temps. Avancement « dimension », réussite « meta » (`coach_sessions_done`) ; l'endurance infinie de D4 attend la phase 8. La course amicale contre Jay (choix de l'auteur, 07/10 : au chrono, des plots) remplace une fois sur quatre le combat de la piste, Coach battu : popularité +30 gagnée, +10 perdue, et Jay la raconte au retour. Moteur neuf (7D-1) : le chrono d'une salle (vider, tenir, plots), ses crochets et le genre « plot ». `d3_engine` section 9 et `d3_story` section 6, rouges puis verts.
- [x] 7.17 Les clients spéciaux : Coach Chrome, une fois battu, entraîne les serveurs tant qu'il est attablé (+25 % d'allure, la présence de la phase 6) ; Ti-Gras, après son combat de D3, commande dix plats d'un coup sans payer une pièce, rapporte des denrées des tunnels (queues salées, viande de rat des tunnels), et tous les trois repas pose au comptoir ce qui brille (choix de l'auteur, 07/10 : un gland doré puis une carotte dorée, à tour de rôle) ; le Carl de D3, habitué en D3 seulement, dont les histoires avancent avec ses visites (première, troisième, cinquième). Le plafond d'une commande multiple passe de 8 à 10 plats, l'anneau d'assiettes se resserrant autour de la table (`d2_engine`, rouge puis vert). `d3_story` section 7, rouge puis vert (7F, textes provisoires). **Reste** (phase 9) : le « plus vite » des mondes suivants.
- [x] 7.18 Les indices : le buffet du régime pour Bob, au retour d'une plongée une fois réengagé (7C) ; sur le chemin obligatoire, le Courrier montre les fusibles, la porte orange nomme les fusibles, la carte suit les quêtes du piment et des plats épicés, et MLD dit ce qu'il veut. Chemin relu d'un bout à l'autre (07/10) : MLD ferme le hall et réclame le piment de lave ; la porte orange nomme les fusibles et le Courrier dit que Ti-Gras les garde ; la cave de Ti-Gras ; la ligne orange vers le Mont ; Pyro Pete, Gars-Rond et la quête du piment (sur la carte) ; au resto, le poste à épices et la quête des plats épicés (sur la carte), la mise de côté proposée ; MLD goûte, la porte s'ouvre, Big Egg 3. Un trou comblé : rien ne disait que le piment pousse au Mont avant d'y être allé ; le Courrier le dit désormais une fois les fusibles repris, et sa réplique s'inscrit sur la carte (texte à valider, `d3_story` section 8).
- [x] 7.19 Big Egg 3 ; l'entité parle : « Tu ne peux pas me tuer. » Big Egg 3 attend dans le hall de la D3, où son affiche se rallume à chaque entrée (comme en D2) ; le troisième portail se raconte à l'arrivée en D4 : l'entité se retourne, parle pour la première fois, et tremble en le disant. Le deuxième portail ne se joue plus qu'en D3 (`== 2`), pour ne pas s'enchaîner avec le troisième (7G, textes provisoires). `d3_story` section 4, rouge avec l'ancien `>= 2`, puis vert.
- [x] 7.20 Validation, cartes, commit. Textes de la D3 validés tels quels par l'auteur (07/10, 37 scènes, `docs/scenes-d3.md`) ; deux scènes écrites après la relecture restent à valider (le Courrier et le piment, les failles de Big Egg). Cartes du Déroulé à jour (17, dont 8 « Dans le jeu »). Batterie complète (07/10) : 204 contrôles, aucun échec neuf face à la référence hors des familles instables connues du smoke test (la charge ; « Rester immobile », temps réel, propre au pas fixe).

## Phase 8 — Le moteur pour la D4

- [x] 8.1 Les soirées spéciales, en données : un déclencheur d'histoire porte sa soirée (ses invités, « sans un seul retard », ses scènes de réussite et d'échec, ses crochets « quand la soirée réussit / rate »). Choix de l'auteur (07/10) : au resto fermé, elle se propose (« Ce soir : … On commence ? ») ; refusée, elle attend la fermeture suivante ; acceptée, ses effets font venir ses invités (exclusifs, rideaux baissés). Elle réussit quand chaque invité a mangé tous ses services ; elle rate au premier invité qui part avant, ou au premier plat lent ; ratée, elle se repropose. Une soirée en cours survit à la sauvegarde. Moteur neuf aussi : les services imposés d'un client (un plat par tournée, dans l'ordre) et le compteur des services éclair (`fast_services`). Catalogue, PHP, outil ; `d4_engine` sections 2 et 3 dans le vrai resto (elles ont trouvé un défaut : le renvoi des invités cherchait le mauvais groupe), rouges puis vertes ; tests PHP et outil (`evenings_test`), rouges puis verts (8B).
- [x] 8.2 Le dîner aux chandelles de Jay, premier cas. Choix de l'auteur (07/10) : la lettre parfumée arrive au resto après vingt services éclair ; la soirée se propose au resto fermé, seulement quand les trois plats sont cuisinables (le déclencheur recopie leurs conditions de déblocage) ; les deux Jay, à une table pour deux, mangent dans l'ordre le Bol de vitesse de Jay, le Rouleau chanceux de la sirène et le Mélange doré de Bob ; un plat lent la fait rater, et elle se repropose. Réussie : les semelles de Jay, un équipement **sans effet pour l'instant — l'auteur décidera lequel**. Textes provisoires (quatre scènes). `d4_engine` section 4 sur la vraie fiche, rouge sans les conditions des plats ni les semelles, puis verte (8C).
- [x] 8.3 La condition sur un modificateur de dimension (l'endurance infinie) : un modificateur de dimension peut poser des conditions (catalogue, PHP, outil), relues à chaque lecture de statistique. Choix de l'auteur (07/10) : en D4, les séances de Coach réussies, la plongée ne s'use plus (ni la marche ni le temps), les coups et la ruée coûtent encore. Contrôle neuf `d4_engine` (section 1), rouge sans la lecture des conditions puis vert ; test PHP `d4_engine_validation_test` et test de l'éditeur, rouges puis verts (8A).
- [x] 8.4 L'IA-slop : le fait « monde corrompu » ; affiches, écrans, décor et resto qui glitchent ; l'aspect commun des versions slop. Choix de l'auteur (07/10) : tant que le fait `world_is_corrupt` (« meta », posé par Big Egg 4, levé par la barricade : données de la phase 9) tient, **l'écran** glitche par salves brèves (tranches déchirées, couleurs qui glissent, blocs de bruit), sous le HUD ; leur force suit une statistique neuve, « Éblouissement de l'IA-slop » (`slop_glare`, 1 ; zéro les éteint) que **les œillères de Bob** baisseront (un modificateur « override », par exemple 0,3) ; **toute bête** porte une surcouche commune (contour qui saute, bandes irisées) : l'aspect des versions slop, qui cède la place à la lueur de ciblage et au flash d'un coup ; **le décor**, salles et resto, saute ou clignote de temps en temps. Tout vit dans le rendu 3D (`slop_glitch_3d.gd`, deux shaders neufs), avec son propre hasard : aucun tirage du jeu ne bouge. **Plats slop : pas pour l'instant.** Les bestioles slop elles-mêmes (une variante par fiche, sans `no_return`) restent des données de la phase 9. `d4_engine` section 9, rouge puis verte ; test PHP du fait et de la statistique, rouge (maître d'avant 8F) puis vert (8F). À juger sur capture.
- [x] 8.5 Les défis de l'Épreuve : le noir, le chrono, le rythme. « Sans arme » (un modificateur de salle) et « contre la montre » (le chrono de 7D) existaient. Choix de l'auteur (07/10) : **le rythme**, frapper sur le temps, jugé à l'appui — un tempo par salle (`rhythm_bpm`), la ligne d'objectif s'illumine et un tic sonne à chaque temps, un coup lancé à contretemps part sans rien faire (« À contretemps ! ») ; la tolérance est une statistique (`rhythm_window`, 0,15 s) (8E-2). **Le noir** : un rayon de lumière par salle (`darkness_radius`) ; en 3D la salle perd son soleil et son ambiance, une lumière suit le héros ; **E ou Y gratte le berimbau** (seulement dans le noir) : la salle s'éclaire un instant, l'écho s'entend, puis le noir revient ; durée et recharge sont deux statistiques (`echo_duration` 1,5 s, `echo_cooldown` 5 s) ; un voile couvre la vue 2D (8E-3). **Raté, un défi se recommence sur place** : une case par salle à chrono (`chrono_retry`) ; perdue, la salle se remet en place après un court temps, porte close, jusqu'à la réussite (8E-1). Deux événements sonores neufs (le tic, l'écho), sans son assigné : à choisir dans l'outil. Catalogue, PHP, outil ; `d4_engine` sections 6 à 8 dans le vrai donjon (pont 3D compris), rouges puis vertes ; tests PHP et de l'éditeur de salles, rouges puis verts.
- [x] 8.6 Protéger un objet pendant une vague. Un genre d'élément de salle neuf, « À protéger » (`ward`), avec de la vie. Choix de l'auteur (07/10) : les bêtes le visent et le sentent de partout ; leurs coups, leur contact, leurs tirs et leurs souffles l'entament, jamais ceux du héros (ses coups le traversent) ; frappée par le héros, une bête se retourne contre lui selon sa fiche (« s'énerve quand on la frappe »), et l'ayant perdu de vue revient à la fleur. Tombé, il fait perdre le chrono de la salle (« Perdu : … n'a pas tenu. ») et ne rend rien ; tenu jusqu'à la victoire, il se cueille : son butin et ses pièces tombent, son crochet « déclenché » part. L'objectif du chrono affiche sa vie ; une salle revisitée ne le repose pas. Geste d'auteur : un chrono « Tenir jusqu'au bout » et une fleur posée dans la salle. Catalogue, PHP, outil ; `d4_engine` section 5 dans le vrai donjon, rouge (les bêtes ignorant la fleur : six assertions en chaîne) puis verte ; tests PHP et de l'éditeur de salles, rouges puis verts (8D).
- [x] 8.7 L'apparition conditionnelle d'un élément de salle, si nécessaire. Écartée le 07/10, puis faite en phase 9 (9A-1, 08/10) pour la barricade du hall, que Big Egg 4 dresse en fuyant : un élément peut porter des conditions d'apparition (`appear_conditions`) ; tant qu'elles ne tiennent pas, il attend hors de la salle (ni image, ni corps, ni geste), et il y entre dès qu'un fait les rend vraies, même en pleine salle. Catalogue, PHP, outil ; `d4_engine` section 10, tests PHP et de l'éditeur, rouges puis verts.
- [x] 8.8 Pour chaque ajout : catalogue, PHP, outil, contrôle ; commit. Un commit par étape (8A à 8F, 8E en trois), chaque contrôle neuf vu rouge puis vert (`d4_engine` sections 1 à 9, `d4_engine_validation_test.php`, `room_editor_test.js`, `evenings_test.js`). Cartes du Déroulé à jour (7 notes). Batterie complète (07/10) : 207 contrôles, aucun échec neuf face à la référence hors de la famille instable connue du smoke test (Frontal/Knockback, liée à la graine) ; les notes des cartes, écrites pendant la batterie, l'ont marquée « BLOCKED » : les six tests du Déroulé, relancés, passent.

## Phase 9 — Jalon D4

- [x] 9.1 Le hall : Big Egg 4, l'IA-slop qui se répand, la barricade. Choix de l'auteur (08/10) : à mi-vie, Big Egg 4 active une **machine à slop**, l'origine de l'IA-slop (`world_is_corrupt`), et file vers le toit ; la machine nourrit une **barricade** qui se dresse dans le hall (apparition conditionnelle, 9A-1) ; tant qu'elle tient, la machine est intouchable et la porte reste close. La **fourchette maîtresse** (un objet de quête, donné aussi par l'Épreuve en attendant le temple) brise la barricade, en une scène ; la machine se défend alors (une barre de boss, des poules crachées à trois seuils) ; à bout, une scène : le coup de fourchette final, et le monde guérit (la porte vers la suite s'ouvre). Aux visites suivantes, la machine attend seule derrière sa barricade ; détruite, le hall est vide. Moteur : une invocation n'est plus refusée par les conditions de sa fiche ; le catalogue accepte une résistance au recul de 1, comme le PHP et le moteur (l'écart refusait la fiche en silence). Valeurs et trois scènes provisoires. `d4_story` (neuf) section 1, dans le vrai donjon, rouge puis verte (9A-2). Le hall revisité (9.13) est donc fait, à l'ascenseur près.
- [x] 9.2 Les versions slop de chaque bestiole, par migration, sans `no_return` ; puis retouches. Choix de l'auteur (08/10) : **toutes les fiches des vagues de la D4, boss compris** (44 ; la machine à slop exceptée), une version **plus dangereuse** (+20 % de vie et de dégâts), nommée « **… slop** » (en anglais « Slop … »). Chaque version exige le monde corrompu en plus des conditions de sa fiche ; la fiche et ses autres versions prennent la condition inverse : sous l'IA-slop, seule la version slop sort ; guéri, la normale revient. Pas de teinte : la surcouche glitchée (8F) les marque (une teinte doublait les matériaux sous la surcouche, et le rendu headless s'en plaignait). Big Egg 4 et BIG BIG EGG ont la leur, qui ne sortira jamais (avant la corruption, après la guérison). `d4_story` section 2 (données, conditions, et une vraie salle de D4), rouge avec le maître d'avant puis verte. Batterie complète : rien de neuf (9B).
- [x] 9.3 Le Ti-Gras de D4, la centrale, la station du World Egg Center. Choix de l'auteur (08/10) : **comme en D3** — le Courrier dit où sont les fusibles (sa réplique vaut désormais en D3 et en D4), le Ti-Gras de ce monde les garde dans sa cave (deux vagues de rats, puis lui), ils débarrent la ligne orange et le 2e sous-sol, et la centrale rallume le réseau (le courant se refait à chaque monde, décision du 07/10 ; tes cartes « Début D4 avec courant rétablis » du 05/10 sont donc dépassées). Le réseau de la D3 est recopié pour la D4, ses sorties sur les cases 2, 7, 14, 19 et 24 ; les portes de surface de la D4 y mènent (passe de métro exigée). La **station du World Egg Center** se trouve sous le hall : sa porte sud y descend, et une fois la station visitée, la rame y ramène. Ti-Gras de D4 provisoire (vie ×3, dégâts ×1,5), avec sa version slop. `d4_story` section 3, rouge avec le maître d'avant puis verte (9C).
- [x] 9.4 Le Saule en D4 : le combat, puis les instructions (la réparation finie si besoin). Choix de l'auteur (08/10) : **un duel, seul contre lui**. Le sanctuaire de la D4 (case 21) est garanti tant que le duel attend, puis rare ; le berimbau réparé, parler au Saule lance le défi : le PNJ s'efface et le Saule se bat seul (sa fiche actuelle, provisoire) ; vaincu, ses instructions (le berimbau joué partout révèle ce qui est caché, notées sur la carte). Si la réparation déborde, le Saule de la D4 la commence et l'achève comme en D3, et les trois pièces attendent aux mêmes lieux qu'en D3. Il a sa version slop. Textes provisoires. `d4_story` section 4 (9D-2).
- [x] 9.5 L'enquête au berimbau dans tous les biomes : inscriptions, passé du lieu, phrases sur la carte. Choix de l'auteur (08/10) : **le berimbau se joue partout, d'une touche** (E, Y ; une note avant les instructions, sans rien révéler ; dans le noir, il éclaire toujours) ; ce qui est caché alentour se révèle (moteur 9D-1 : crochet « Quand le berimbau le révèle », conditions de révélation) et **reste pour de bon** ; on le lit (Espace). Huit pierres des ancêtres : **une phrase de la mélodie par biome du chemin** (Cratère : le rythme ; Vieux-Port : le noir ; Parc olympique : la louche ; Mont Royal : le sablier), notées sur la carte ; sous la station du Centre-ville, le quai oublié (`ghost_station_found`) ; au Centre-ville, dans la Ville souterraine et au World Egg Center, le passé seulement. Textes provisoires. `d4_engine` section 11 et `d4_story` section 4, rouges puis vertes (9D).
- [x] 9.6 La Station fantôme et la porte du temple, qui exige la mélodie. Choix de l'auteur (08/10) : **une seule entrée**, par la Station fantôme. Sous la centrale, le Tunnel de service noir s'ouvre une fois la pierre du quai oublié lue (`ghost_station_found`) et mène à la Station fantôme ; au fond, **la porte du temple**, de pierre couverte de notes. Le berimbau joué devant elle, les quatre phrases réunies, ses notes s'allument et la porte s'efface pour de bon (`temple_open`, « meta » ; le moteur de révélation de 9D-1, sans code neuf). En attendant le temple (9F), elle mène à la salle de la fourchette. Deux scènes provisoires (le quai oublié, le temple qui s'ouvre). `d4_story` section 5 (9E).
- [x] 9.7 La Ville souterraine en branche (le refuge des exclus tombe). Choix de l'auteur (08/10) : **la colonne de la D4 passe par le hall, puis la tour** (cases 31 à 37 : l'ascenseur, cinq étages, le toit). La Ville souterraine (le Tunnel noir, la Station fantôme, la Galerie et le Food court, l'Arcade et la Salle d'anniversaire, la salle de la fourchette) et le 2e passage au Centre-ville (de la centrale par un escalier de service ouvert à la fourchette, cinq salles jusqu'au Studio, qui ramène au hall) deviennent des branches, aux portes à double sens : `colonne-des-cases.md`, « D4 après la phase 9 ». Le refuge des exclus est abandonné, comme prévu le 05/10 (9E).
- [x] 9.8 La fête de l'Abominable : le combat est son jeu de fête ; il rejoint (embauche). Choix de l'auteur (08/10) : **un combat de boss, ses invités en renfort** : à deux tiers puis à un tiers de sa vie, il siffle et deux invités rappliquent (une capacité d'invocation neuve, `abominable_guests` ; ils tombent avec lui). Vaincu, il rejoint la brigade (son embauche existait). Deux scènes provisoires (sa fête, son ralliement). `d4_story` section 5 (9E).
- [x] 9.9 Le temple d'avant Big Egg : des salles neuves, quatre défis ouverts par les phrases. Choix de l'auteur (08/10) : **un hall, quatre portes**. La porte du temple (Station fantôme) mène au hall du temple : au nord le défi du rythme, au sud le défi du noir, à l'est le couloir des défis, qui ouvre sur le défi de la louche (nord), le défi du sablier (sud) et, au bout, le gardien. **Les défis** : le rythme, vider la salle en cadence (90 temps par minute) en 75 s ; le noir, toucher cinq dalles gravées dans le noir, guidé par l'écho, en 50 s ; la louche, vider la salle les dégâts d'arme fondus (×0,35) en 90 s ; le sablier, tenir 40 s, jusqu'à ce que le plat soit prêt. Raté, chacun se recommence sur place (8E) ; réussi, il éteint son sceau (`temple_trial_*`). Les bêtes des défis sont celles de la Ville souterraine (en version slop : le temple se fait sous l'IA-slop). Valeurs et textes provisoires (cinq scènes). `d4_story` section 6, rouge avec le maître d'avant puis verte (9F-2).
- [x] 9.10 Le gardien automate, ses protections, la fourchette. Choix de l'auteur (08/10) : **intouchable tant qu'un défi manque, sa porte ouverte dès le début**. Endormi, il est une statue au milieu de quatre sceaux, des éléments de décor : une bête intouchable garderait la porte close, et sous terre il n'y a pas de bande de retour. Chaque défi réussi éteint son sceau, et une scène le dit (« plus que trois » : `temple_seals_out`, compté une seule fois par défi). Les quatre éteints, la statue s'efface et le gardien s'éveille : un combat de boss, porte close. Sa fiche part de celle du robot de contrôle qualité (20 000 PV, taille 1,6, dégâts ×1,3 : provisoire). Vaincu, il donne la fourchette maîtresse (l'objet et le fait) et ne revient plus ; pas de version slop, le temple est d'avant Big Egg. Au passage, l'Abominable rallié ne revient plus dans sa salle, et une vague sans personne à envoyer ne garde plus la porte (9F-1 : le hall guéri restait clos à la plongée suivante). Sept scènes provisoires. `d4_story` sections 1, 5 et 6, rouges puis vertes (9F).
- [x] 9.11 Le retrait de l'Épreuve actuelle : `fork_trial`, le verrou de la salle 46, ses contrôles. Choix de l'auteur (08/10) : **l'effacer**. Partent la dimension `fork_trial`, ses cinq salles (`ft_l01` à `ft_l05`, en double de la Ville souterraine) et le verrou du toit qui la convoquait (ses conditions et son crochet `on_blocked`), ainsi que l'Épreuve du monde de secours du catalogue. Le mécanisme (une case scellée qui convoque une épreuve) reste dans le moteur : le smoke test l'éprouve sur une fiche d'essai. Trois cartes du Déroulé pointent désormais vers le temple et le gardien. `d4_story` section 1, rouge avec le maître d'avant puis verte (9F-3).
- [x] 9.12 Le 2e passage au Centre-ville : le Studio de nouvelles, son émission, le présentateur. Le chemin est fait en 9E (l'escalier de service, cinq salles, le Studio qui ramène au hall). Choix de l'auteur (08/10) : le Studio est le plateau de **« Cuisine conforme »**, l'émission de cuisine du régime. **Une scène, puis il déguerpit** : à l'entrée, le présentateur (un personnage neuf, la voix de la propagande enfin vue) est en direct, voit le héros, appelle la sécurité et file par la sortie des artistes (`presenter_fled` ; on le reverra au micro, sur le toit) ; les gardes, ce sont les vagues de la salle, qui attendent sa fuite. **Les caméras du plateau** marquent et blessent le héros qui passe dans leur champ ; projecteurs et comptoir en décor. **Les ingrédients du plat de Bob viendront avec sa quête** (9.19g). Le présentateur n'a pas encore de modèle ; scène provisoire. `d4_story` section 7, rouge avec le maître d'avant puis verte (9G).
- [x] 9.13 Le hall revisité : la fourchette détruit la barricade, et le monde guérit. Fait en 9A (voir 9.1) ; depuis 9E, la porte du hall rouverte mène à l'ascenseur (case 31).
- [x] 9.14 L'ascenseur, les étages de la tour, le toit. Choix de l'auteur (08/10) : **l'ascenseur se tient jusqu'en haut** : un chrono « tenir » de 45 s, des bêtes du World Egg Center pendant la montée (une vague, puis du renfort toutes les 8 s) ; au bout du temps, la cabine arrive et la porte s'ouvre. **Les cinq étages restent tels quels** (les quêtes y ajouteront leurs morceaux) ; **le toit garde BIG BIG EGG** et clôt la dimension, en attendant la phase 10. Le cadrage vertical (piège 26), jugé sur capture (`tools/dev/runs/tower_shots`) : la porte reste au sud, la sortie par défaut d'une salle verticale, entière au bas de l'écran ; en haut, le sol reste visible sous le bandeau du HUD, seuls les corps et le décor collés au bord nord passent dessous, comme dans les salles fixes. `d4_story` section 8, rouge avec le maître d'avant puis verte (9H).
- [x] 9.15 Le castor : modèle et rig, la fontaine à casser, le pont-barrage, le client patient. Choix de l'auteur (08/10) : **le Mont de la D4 est une branche, comme en D3** (c'était déjà le cas depuis 9C : le Pied du Mont saute au Centre-ville, le métro fait remonter au Mont, case 19) ; le pont-barrage y ajoute **le sentier à pied**, une porte du Pied du Mont vers la case 19. **Casser la fontaine, puis lui parler** : à l'Amphithéâtre de roche, le lit du lac vidé, la fontaine de Big Egg (un élément destructible) se casse à coups ; le lac revient et le castor apparaît (une scène) ; lui parler lance le pont-barrage (une scène ; `beaver_bridge_built`, « au monde »). **Un client spécial comme les autres** : débloqué par le pont, trois fois plus patient qu'un client ordinaire, trois plats à la fois, de retour chaque monde où le pont est bâti. **Modèle provisoire** : une silhouette, sans crédit (les modèles viendront dans une passe 3D à part). Les ponts de la structure de Gars-Rond restent à sa quête (9.19c). Textes provisoires. `d4_story` section 9, rouge avec le maître d'avant puis verte (9I).
- [x] 9.16 Les réengagements de D4 : Gars-Rond, MLD, Gab, Bob (cadeau, les œillères), eLTuna. Bob et eLTuna faits en 9L avec la quête de Bob (voir 9.19g). Fait en 9J pour trois d'entre eux (choix de l'auteur, 08/10). **Gab, comme en D3** : sur sa barge (case 12), sans plat il se bat, avec un plat épicé il s'attable et rejoint. **MLD, comme en D3** : plus de combat dans sa République (case 29) ; il garde la porte du hall et dit ce qu'il veut ; un plat épicé le convertit, il rejoint et laisse passer (le plat épicé devient un passage obligé de la D4). **Gars-Rond, un duel au Sommet** : battu (le Sommet nettoyé), il rejoint, chasse Pyro Pete comme en D3, et n'y est plus ensuite (une scène neuve, provisoire). La D4 a ses propres déclencheurs : ceux de la D3 ne partent qu'une fois par partie. **Bob, et eLTuna qu'il ramène, viendront avec la quête de Bob (9.19g)**. `d4_story` section 10, rouge avec le maître d'avant puis verte.
- [x] 9.17 Le Carl de D4 et son resto, qui envoie ses clients en trop. Choix de l'auteur (08/10) : **il passe au resto** : au premier retour de plongée en D4, Carl entre, il a rouvert de l'autre côté de la rue et enverra le surplus (une scène provisoire, avec les indices du double : même tablier, même tic) ; **plus de passants** : une fois son resto rouvert (`carl_d4_restaurant_open`, « au monde »), le trafic du trottoir monte de moitié en D4 (un modificateur de la dimension sous condition, comme l'endurance de Coach). `d4_story` section 11, rouge avec le maître d'avant puis verte (9K).
- [x] 9.18 L'endurance infinie, si les séances sont faites. Faite en 8.3 (8A) : en D4, les séances de Coach réussies, la plongée ne s'use plus (ni la marche ni le temps), les coups et la ruée coûtent encore ; `d4_engine` section 1 la garde.
- [x] 9.19 Les quêtes de D4 (toutes faites le 08/10, 9L à 9R) :
  - [x] 9.19a eLTuna : les fleurs des sept biomes, puis le miel. Choix de l'auteur (08/10) : **de la D2 à la D4** : au retour d'une plongée, eLTuna (dans la brigade) renifle une fleur rare sur le chef et lance sa quête (« Les fleurs d'eLTuna », « meta ») ; les fleurs cueillies le restent. **Un jardin par biome** : sept salles-jardins, chacune avec sa fleur rare au milieu (un élément « à protéger », 8D), qui remplacent une case de leur biome tant que leur fleur attend, dans chaque monde où le biome a une case libre (une case qui porte déjà une pierre, une pièce du berimbau, un PNJ ou une salle spéciale n'est pas prise : le Cratère n'a pas de jardin en D2, le Mont n'en a qu'en D4) ; la Ville souterraine : un jardin derrière la Galerie ; le World Egg Center : les Serres de production elles-mêmes, qui gardent leur pierre. **Tenir 45 secondes** (au lieu des 30 proposées) : des bêtes du biome visent la fleur ; tombée, la salle se recommence sur place ; tenue, elle se cueille et rend sa case. Les sept cueillies, au resto fermé, eLTuna fait **le miel royal** (trois pots) et le **dessert au miel royal** se cuisine : un plat de combat à emporter, +25 % de dégâts pendant 60 s. Deux scènes provisoires. `d4_story` section 13, rouge avec le maître d'avant puis verte (9M) ;
  - [x] 9.19b Gab : la soirée du port. Choix de l'auteur (08/10) : **Gab en parle, puis elle se propose** : en D4, Gab dans la brigade et la popularité à 50 ou plus, au retour d'une plongée, Gab dit que tout le port veut goûter la cuisine du chef (une scène) ; la soirée se propose ensuite au resto fermé (le moteur des soirées de 8.1), une fois sa Bisque de contrebande cuisinable. **Huit gens du port, sans convive fâché** : un profil neuf, qui commande de la mer ; elle rate si l'un d'eux repart sans avoir mangé, et se repropose. **Les contrebandiers**, associés de Gab qui tiennent la barge : des clients spéciaux qui paient le triple et laissent un gros pourboire. Quatre scènes provisoires. `d4_story` section 14, rouge avec le maître d'avant puis verte (9N) ;
  - [x] 9.19c Gars-Rond : les patates, les outils, la structure. Choix de l'auteur (08/10) : en D4, Gars-Rond (dans la brigade) soupire au resto fermé, et sa quête commence (« La structure du Mont », au monde). **Les patates à l'Étal installé en D4** : le plus gros sac (200 rondelles) se vend à l'Étal du marché noir, posé aussi à la station des quais de la D4. **Les outils dans la cave de Ti-Gras** (et non au Tunnel noir proposé) : derrière des débris que seule une explosion brise (la Bombe au soufre de l'Étal). **La structure au Sommet** : les patates, les outils et le pont-barrage du castor réunis, Gars-Rond bâtit (une scène) ; le refuge et la forge y restent pour ce monde. **Le sel de la montagne** : une amélioration donnée (enfant du poste à épices) qui rend le poste à épices gratuit pour de bon ; moteur : le piment d'un plat épicé devient une statistique (`spice_pepper_cost`, 1 d'ordinaire), et l'annulation rend ce qui a été pris ; `d3_engine` (le vrai poste), rouge avec le piment fixe puis vert. Le bouclier du toit est noté pour la phase 10 (`gars_rond_shield`). **L'Étal demandait la dette de la pieuvre, que seule la D2 offrait** (choix de l'auteur, 08/10, 9O-2) : en D3 et en D4, une arrière-salle derrière le casino (porte nord, comme en D2) tient la pieuvre, sans combat, sa dette à 150 rondelles ; rachetée, son Étal ouvre dans les stations des quais et du Centre-ville de ce monde. Deux scènes provisoires. `d4_story` section 15, rouge avec le maître d'avant puis verte (9O) ;
  - [x] 9.19d l'Abominable : la liste d'invités, la fête. Choix de l'auteur (08/10) : **la liste, puis la fête à trois invités** : en D4, l'Abominable dans la brigade montre sa liste d'invités jaunie au resto fermé ; ses invités sont les PNJ des nouveaux monstres (Carl, son resto rouvert ; la pieuvre, sa dette rachetée ; Coach Chrome, battu sur la piste ; Steve, dix Steve battus ; Ti-Gras, celui de la D4 battu ; le castor, son pont bâti), chacun compté une fois quand il est aidé dans ce monde ; à trois, la fête se propose au resto fermé. **Ceux qu'on a aidés, et eux seuls** : ils entrent tous à la fois, chacun une fois, avec son cadeau (quinze ans de retard). **Habitués, animateur, diversion** : réussie, ses invités reviennent deux fois plus souvent (Carl n'a pas de fiche de client en D4), l'Abominable rend chaque service plus populaire quand il travaille, et la diversion du toit est notée pour la phase 10. Moteur (9P-1) : une soirée n'attend que les invités dont les conditions tiennent, les fait entrer ensemble et chacun une fois (les gens du port de Gab entrent désormais ensemble eux aussi) ; un profil de client a une fréquence bonifiée sous condition ; un bonus d'employé peut attendre ses conditions, relues à la prise de poste et à l'ouverture du service ; catalogue, PHP, outil ; `d4_engine` section 12 (rouge en rendant l'ancien comportement), tests PHP et de l'outil, rouges puis verts. Quatre scènes provisoires. `d4_story` section 16, rouge avec le maître d'avant puis verte (9P) ;
  - [x] 9.19e MLD : le référendum. Choix de l'auteur (08/10) : **MLD exige, puis le soir d'élection** : en D4, MLD rallié exige d'être légitimé au resto fermé (une scène) ; le soir d'élection se propose ensuite au resto fermé. **Dix électeurs, le plat le plus servi gagne** : un profil neuf qui commande librement ; le moteur compte les plats servis ce soir-là, et le plus servi devient le plat officiel (à égalité, le premier servi) ; ratée si un électeur repart sans manger. **Le plat officiel** : +50 % de prix pour de bon (`official_dish_price_bonus`, 0,5), et en D4 un quart de passants en plus. Moteur (9Q) : une soirée peut voter (`vote`) ; la borne passe de 8 à 12 invités par profil ; catalogue, PHP, outil ; `d4_engine` section 13 (rouge avec la règle du premier servi), tests PHP et de l'outil, rouges puis verts. Quatre scènes provisoires. `d4_story` section 17, rouge avec le maître d'avant puis verte (9Q) ;
  - [x] 9.19f le Saule : les instruments, le concert. Choix de l'auteur (08/10) : **chacun trouve le sien** (et non la recherche proposée) : pas de recherche d'instruments ; le concert se propose au resto fermé en D4, le berimbau réparé, toute la brigade réunie (Bob, eLTuna, Gab, Jay, Gars-Rond, MLD, l'Abominable) et la soupe de résonance cuisinable. **Une soirée, la soupe pour tous** : huit auditeurs, chacun mange la soupe de résonance du Saule ; réussie, la vérité (le Saule nomme le premier le Malœuf, parle des Carl, dit un mot sur Bob) et l'air du toit, noté pour la phase 10 (`roof_tune`). **Danser 3 s, recharge 20 s** : le concert donne une amélioration (« La danse du berimbau ») ; joué, le berimbau fait alors danser les bêtes proches (un effet neuf, « Danse » : ni marche ni attaque, 3 s), dans un rayon qui est une statistique (`berimbau_dance_radius`, 0 d'ordinaire, 260 une fois donnée), avec sa propre recharge (`berimbau_dance_cooldown`, 20 s). Piège noté : la couche « override » multiplie toujours (set compris) ; la portée s'ajoute à la couche « flat ». `d4_engine` section 14 (rouge sans l'effet appliqué) et `d4_story` section 18 (rouge avec le maître d'avant), puis verts (9R) ;
  - [x] 9.19g Bob, bien nourri ; Jay, le dîner, s'il n'est pas fait. Choix de l'auteur (08/10) : **Bob attend à Propaganda Plaza** (case 28), au pied de la tour, le nez collé aux vitres d'un festin du régime ; lui parler lance sa quête (« Le festin du régime », au monde). **Son plat : la Casserole de bœuf approuvée**, déjà au jeu ; mise de côté à la console, elle devient son plat à emporter. **Ses ingrédients se pillent au garde-manger du plateau** de « Cuisine conforme », au Studio. Portée à la place, Bob se réengage, ramène eLTuna et donne **les œillères**, un équipement sous lequel l'IA-slop éblouit trois fois moins (`slop_glare` ×0,3). Deux scènes provisoires. Le dîner de Jay n'a pas de restriction de monde : tant qu'il n'est pas fait, il reste proposé en D4 (8.2). `d4_story` section 12, rouge avec le maître d'avant puis verte (9L).
- [x] 9.20 Les indices de Bob en D4 : le festin, le Jay masqué. Choix de l'auteur (08/10) : **le festin en plein service** : Bob réengagé en D4, après ses dix premiers services de ce monde, il s'éclipse et revient une heure plus tard, la panse ronde, en sentant le festin (« Quoi ? ») ; **le Jay masqué, un mot sous la porte** : à la fermeture qui suit, une enveloppe parfumée, signée K. ; **sa mise en garde, très voilée** : « Méfie-toi de ce qui a toujours faim. » Un fait neuf, au monde (`bob_feast_smelled`), les enchaîne ; chacun ne vient qu'une fois. Deux scènes provisoires. `d4_story` section 19, rouge avec le maître d'avant puis verte (9S).
- [x] 9.21 Validation, cartes, commit. Textes de la D4 validés tels quels par l'auteur (08/10, sans relecture) : les 58 scènes de la phase 9, et les six qui attendaient encore (le dîner de Jay, phase 8 ; les deux écrites après la relecture de la D3) ; `docs/scenes-d4.md` en garde la trace, et la mention « texte provisoire » est retirée (`migrate_story_phase9_texts_validated_20261008.php`). Cartes du Déroulé à jour : 38 cartes, dont 25 passent « Dans le jeu » (choix de l'auteur, 08/10 : dès que c'est jouable de bout en bout, même avec un texte ou un modèle provisoire ; la note dit ce qui reste). Batterie complète (08/10) : 208 contrôles, aucun échec neuf face à la référence ; au smoke test, seules les familles instables connues (Rester immobile, le gros monstre au bord du cône, Frontal/Knockback) ; les quatre contrôles d'histoire, les six tests du Déroulé et celui des soirées passent. Restent hors de la phase : la passe 3D (le castor, une silhouette ; le gardien ; le présentateur), le castor au combat, l'effet des semelles de Jay, et le toit (phase 10).

## Phase 10 — Le final et les fins

- [x] 10.1 Le toit : le présentateur au micro, Bob déjà à table. Fait en 10B (08/10) : à l'arrivée, une table de banquet au centre, Bob attablé derrière (son modèle), le présentateur au micro (une silhouette, comme au Studio : choix de l'auteur). Moteur : un objet de salle ancré au centre peut s'en décaler, en pixels (`offset_x`, `offset_y` de sa place ; catalogue, PHP, outil). `d4_engine` section 16, `d4_engine_validation_test.php` et `room_editor_test.js`, rouges sans le décalage puis verts.
- [x] 10.2 Bob vole la fourchette, Big Egg l'avale ; le costume en trois couches. Fait en 10B (08/10). Choix de l'auteur : **un modèle par couche**, mais toute la modélisation Meshy part dans un projet ultérieur (à noter au Sheet) ; pour l'instant, les couches 2 et 3 sont des **formes primitives**. **Les costumes tombent un à un, à vue**, pendant la scène : un fait entier, au monde (`roof_bob_layer`), que l'entrée au toit remet à zéro ; un fait réveille les objets de salle même sous un dialogue, et la vue 3D suit pendant la pause. L'événement de scène neuf retenu n'a pas été nécessaire : la scène pose ce fait, et le décor suit. Pas de nuage de poussière : les effets du jeu sont en 2D et ne se voient pas en 3D (passe 3D). La fourchette n'est volée que dans la scène : on la garde, et Bob la revole à chaque montée. **La scène entière la première fois, puis une version courte.** Textes provisoires. `d4_story` section 21, rouge avec le maître d'avant puis verte.
- [x] 10.3 L'estomac du héros s'éveille. Fait en 10B (08/10) : une scène à part, après celle du festin ; son déclencheur pose l'état final (le minuscule Bob, l'estomac éveillé), même si le joueur a passé la scène en cours de route (les déclencheurs sont figés pendant un dialogue : il ne part qu'après). Sa force au combat vient avec 10C. À la fin satisfaisante, c'est le minuscule Bob qui file avec l'œuf.
- [x] 10.4 Le combat final contre l'entité. Fait en 10C (08/10). Choix de l'auteur : **la force de l'estomac**, +50 % de dégâts d'arme et 30 % de dégâts subis en moins, tant qu'il est éveillé (des modificateurs de la D4 sous condition) ; **le coup final** de l'estomac ouvre la scène de fin. BIG BIG EGG garde sa fiche (15 000 PV, provisoire : l'équilibrage en phase 11) et son image (le modèle ira au projet 3D).
- [x] 10.5 Les gestes des compagnons, selon les quêtes faites. Fait en 10C (08/10). Moteur : un genre de capacité neuf, « geste d'un compagnon » (le contrat des capacités, partagé par Godot, le PHP et l'outil) : si sa quête est faite, une réplique en bandeau, puis son geste ; sinon son seuil passe ; une bête peut être exposée un temps (elle encaisse davantage). Choix de l'auteur : **un seuil fixe par compagnon** (Gab, la pince, 90 % ; eLTuna, l'essaim, 80 % ; Jay, tous les Jay, 70 % ; MLD, le micro, 60 % ; l'Abominable, la fête-surprise, 50 % ; le Saule, l'air du toit, 40 % ; Gars-Rond, le bouclier, 25 %) ; **une réplique en bandeau**, sans figer le combat ; **des silhouettes au bord du toit** pour ceux dont la quête est faite ; MLD arrache le micro, et le présentateur quitte le toit jusqu'à la montée suivante. Répliques provisoires. `d4_engine` section 17, rouge le geste neutralisé ; `d4_story` section 22, rouge avec le maître d'avant.
- [x] 10.6 Le toit termine la plongée sans changer de monde. Fait en 10A (08/10) : la dernière dimension du cycle (la D4) ne change plus de monde ; son boss vaincu, la plongée s'achève comme une victoire, sans `complete_dimension()` : rien ne s'efface, et la partie continue en D4, la barricade tombée, le toit à refaire quand on veut. La règle tient au rang de la dimension, sans champ neuf ; le cycle lui-même boucle toujours. `d4_engine` section 15, rouge sans la règle (le monde passait à l'index 4), puis verte.
- [x] 10.7 La fin satisfaisante : Bob file avec l'omelette, le générique, « … ou pas. », le retour au resto juste après la barricade. Fait en 10A (08/10) : la salle du toit, vaincue, pose un fait (le toit vaincu) ; la scène de fin (provisoire : il ne reste qu'un œuf, Bob file avec) se déclenche au toit et le remet à faux, si bien qu'elle se rejoue à chaque victoire ; la fin de plongée attend qu'elle se taise, puis le générique, puis le bilan habituel (« BIG BIG EGG est tombé »), qui rend le resto. La scène sera reprise avec la mise en scène du toit (10B). `d4_story` section 20, rouge avec le maître d'avant puis verte.
- [x] 10.8 La vraie fin : la forme finale, Bob qui encaisse, la fourchette dans l'œuf, l'épilogue, puis la suite au restaurant interdimensionnel. Fait en 10D (08/10). Choix de l'auteur : **les conditions**, les sept quêtes de compagnon (le concert exige déjà toute la brigade) et **Bob bien nourri, son plat de la D4** ; un déclencheur les réunit en un fait. **Un vrai second combat** : BIG BIG EGG a une version « vraie fin » qui, en tombant, libère **le Malœuf** (une forme primitive, 6 000 PV, les attaques de BIG BIG EGG plus rapides : provisoire), qui retient le toit ; **à 30 % de sa vie, Bob s'interpose** (un geste : une scène, il encaisse et disparaît) et l'estomac enragé frappe deux fois plus fort ; la tour s'effondre, racontée ; les compagnons ont déjà donné. Vaincu, l'estomac l'anéantit (scène), puis **le générique de la vraie fin**, « Fin. » seul, et, au retour, **l'épilogue au resto** (la fourchette dans l'œuf, l'omelette partagée, Bob minuscule qui réclame sa part). Ensuite le toit est en paix : ni Big Egg ni festin, la plongée s'y achève sur un bilan calme, sans générique. Moteur : le générique est demandé par l'histoire (`run.credits`), le geste de Bob. **La fourchette au mur** passe en 10F, avec la photo de la fausse fin (le même mécanisme). Textes provisoires. `d4_engine` sections 15 et 17, rouges le générique toujours joué ; `d4_story` section 23, rouge avec le maître d'avant.
- [x] 10.9 Le générique, un écran neuf ; les conditions de la vraie fin, que les compagnons laissent entendre. Le générique est fait en 10A (08/10). Choix de l'auteur : **la distribution tirée du jeu**, signée « Un jeu d'Étienne Langlois-Robitaille » ; quatre groupes lus dans les données (la brigade, les rencontres, les clients, les adversaires : les bêtes à barre de boss qu'une salle place), chaque nom une fois (traduit ou tel qu'écrit), une bête nommée sans sa confrontation ; « Fin. », puis « … ou pas. » pour la fin satisfaisante ; Espace accélère, Échap passe. Vu à l'œil sur capture. Les conditions, en 10E (08/10). Choix de l'auteur : **des bulles en travaillant**, **dès l'arrivée en D4** : chaque compagnon dont la quête manque glisse de temps en temps une phrase qui y pointe ; sa quête faite, il se tait (Bob n'en a pas : il ne revient qu'une fois nourri, sa quête faite). Moteur : une réplique de bulle peut attendre ses conditions (catalogue, PHP, outil). `d4_engine` section 18, `d4_engine_validation_test.php` et `speech_bubble_test.js`, rouges sans le filtre ; `d4_story` section 24, rouge avec le maître d'avant. Répliques provisoires.
- [x] 10.10 Le succès « Compagnons de vie », si on le garde. Fait en 10F (08/10). Choix de l'auteur : **la photo au mur seulement**, pas de système de succès : la photo du montage (le cadre à l'œuf, en attendant son modèle) pend au mur du fond dès que la fausse fin de la D1 est vue ; **la fourchette au mur** après la vraie fin, accrochée quand l'épilogue commence (un fait neuf, `fork_on_wall`) ; **accrochées d'office** par l'habillage 3D du resto, côté salle, et le décor les évite ; un nœud de veille les montre selon leur fait, même sous un dialogue. Formes simples (les modèles iront au projet 3D). `d4_engine` section 19, rouge sans les souvenirs.
- [x] 10.11 Validation, cartes, commit. Textes du final validés tels quels par l'auteur (08/10, sans relecture) : les huit scènes du toit, de la fin satisfaisante et de la vraie fin, les répliques des gestes, les phrases que les compagnons glissent en bulle et les textes du générique ; `docs/scenes-final.md` en garde la trace, et la mention « texte provisoire » est retirée (`migrate_story_phase10_texts_validated_20261008.php`). Cartes du Déroulé à jour : 22 cartes, dont 10 passent « Dans le jeu » (la trahison et la rédemption de Bob, les deux fins, la scène finale, le très petit cheval, la brigade au toit, l'arme qui anéantit l'entité, l'entité, les quêtes de compagnon, la fausse fin de la D1). Batterie complète (08/10) : 208 contrôles, aucun échec neuf face à la référence (les 16 contrôles en échec l'étaient déjà) ; au smoke test, seules les familles instables connues (Rester immobile, revenue à la seconde exécution ; le monstre qui charge, passé) ; les quatre contrôles d'histoire, les trois moteurs de dimension, les six tests du Déroulé et celui des soirées passent. Restent hors de la phase : le projet 3D (Meshy : les trois couches de Bob, BIG BIG EGG, le Malœuf, le présentateur, les compagnons au bord du toit, la photo et la fourchette, et déjà le castor et le gardien), noté pour le Sheet ; l'équilibrage du final (phase 11) ; le castor au combat ; l'effet des semelles de Jay.

## Phase 11 — Les finitions

Recadrée par l'auteur le 08/10 : la version anglaise devient un projet à part ; les armes, l'équipement, l'arbre d'améliorations, la cadence, l'économie et l'endurance aussi (« le projet des armes »), qui devra tenir la cible de `docs/courbe-progression.md`. Le relevé des scènes peaufinées se limite à une relecture des textes. Découpage : 11A la courbe de progression, côté ennemis (11.1) ; 11B les salles spéciales (11.3) ; 11C les repères d'un monde à l'autre (11.4) ; 11D la relecture des scènes (11.6) ; 11E la sauvegarde et la clôture (11.7).

- [x] 11.1 L'équilibrage : le seuil de Steve, les chiffres des quêtes, les PV de Big Egg et de MLD, la Chevauchée (25 et 25). Fait en 11A (08/10), avec un modèle chiffré : `docs/courbe-progression.md`. Constat : les armes (le Lance-œufs garde le +50 d'une arme neuve : environ 190 dégâts par salve) et l'arbre (cadence ×4, nœuds méta à +250 et +500) dépassent de loin les boss que l'auteur a réglés. Choix de l'auteur : **ses boss de quête de la D1 font foi** (eLTuna 150, Bob 250, Gab 500, MLD 450) ; **une force visée qui monte de ×1,5 par monde** (11, 17, 25 puis 38 dégâts utiles par seconde, l'estomac ×1,5 sur le toit), la cible du projet des armes ; **des combats longs** contre Big Egg (1 min en D1, 3 min au toit) : Big Egg 1 passe de 90 à 700 PV, 2 à 1 500, 3 à 3 000, 4 à 4 600 (il file à mi-vie), la machine à slop à 3 400, le gardien à 5 700, l'Abominable à 4 600, BIG BIG EGG à 10 500, le Malœuf à 8 000, Ti-Gras de la D3 à 550 ; les variantes gardent leur rapport ; MLD (450 et 1 200) et les autres boss de quête tombent déjà dans l'échelle. **La bête la plus coriace d'une zone tombe en 12 s environ** : 21 bêtes se tassent, leur ordre gardé (le sanglier des barricades de 2 100 à 135, Steve de 1 650 à 205, les bêtes de l'usine et de la ville souterraine de la D4 entre 375 et 455). **6 Steve** battus au lieu de 10 ; **la Chevauchée à 15 et 15**, ses deux textes alignés. Les autres chiffres des quêtes restent. Migration `migrate_story_phase11a_progression_20261008.php`. Aucun contrôle neuf : des valeurs d'équilibrage que l'auteur retouchera ne se figent pas dans un test.
- [ ] 11.2 L'endurance et l'économie, revues pour les nouvelles longueurs de course. **Reportée** au projet des armes (choix de l'auteur, 08/10) : les coûts de l'arbre et l'endurance se règlent avec les améliorations. Relevé pour lui : les clients ordinaires ont 15 pièces et ne commandent que ce qu'ils peuvent payer ; le sac de patates coûte 200.
- [x] 11.3 Les salles spéciales à semer : salles de lore, salles de défi. Fait en 11B (09/10) : `docs/salles-speciales.md`. Choix de l'auteur : **une salle de lore et un défi par biome**, chacun à la place d'une case de son biome, rare (15 %), au plus une par plongée ; **le lore, une trace que le berimbau lit** : une ruine ou une fresque du monde d'avant Big Egg, que tout le monde voit ; les instructions du Saule reçues, le berimbau fait apparaître l'écho du passé, qui raconte le passé du lieu (noté sur la carte) et laisse deux unités de l'ingrédient le plus rare du biome, une fois pour toute la partie ; **le défi, une contrainte du moteur** (contre la montre au Cratère, le noir au Vieux-Port, le rythme au Parc olympique, tenir au Mont, protéger le chariot d'un traiteur au Centre-ville, sans arme au World Egg Center) : une salle ordinaire propose déjà trois bonus, un défi réussi en propose cinq, raté aucun (correction signalée à l'auteur) ; une phrase l'annonce à la première entrée ; **textes écrits par Claude, provisoires, à valider**. Les cases sont vérifiées par le générateur : pas de boss, pas de porte, aucun élément d'histoire ; une case déjà visée ne l'est que par une salle garantie tant qu'une étape reste à faire (jardin d'eLTuna, séance de Coach Chrome, sanctuaire du Saule), qui l'emporte tant qu'elle sert ; une salle posée au Mont garde ses plants de piment. Écarts : la ville souterraine n'en a pas (des branches à portes, sans case de colonne), le Cratère seulement en D3 et D4 (en D1, sa seule case libre porte l'entrée de métro murée), le Parc olympique en D2 et D3, le World Egg Center en D4. Migration `migrate_story_phase11b_special_rooms_20261009.php` (12 salles, 13 éléments, 2 personnages, 6 faits, 6 déclencheurs, 18 scènes). `d4_story` section 25, rouge sans les salles ; deux assertions du jardin du Cratère précisées : elles vérifient que le jardin rend sa case, et non plus qu'aucune salle rare n'y vienne.
- [x] 11.4 Les repères d'un monde à l'autre : le ton des affiches, le sigle du KMLD un peu changé, une clientèle de plus en plus étrange. Fait en 11C (09/10) : `docs/reperes-mondes.md`. Choix de l'auteur : **les affiches de Big Egg, lisibles, leur ton change par monde** : elles se lisent comme les pierres des ancêtres, posées sur la place de la propagande de chaque monde et, une fois sur deux, sur le boulevard du point de contrôle ; paternelles en D1, sur la défensive en D2, menaçantes en D3 (« Surtout vous, petit chef. »), partout en D4, générées sous l'IA-slop, barbouillées une fois la vraie fin jouée ; **le sigle du KMLD, un par monde, un peu changé, toujours muet** (couleur, forme), dans la rue des barricades comme en D1 ; **la clientèle étrange est abandonnée** (« oublie ça »). Textes provisoires, à valider. Migration `migrate_story_phase11c_landmarks_20261009.php`. `d4_story` section 26, rouge sans les repères.
- [ ] 11.5 La version anglaise et ses jeux de mots. **Reportée** : un projet à part (choix de l'auteur, 08/10). Relevé pour lui : 1 689 textes localisés sur 4 035 ont leur anglais, et les répliques des scènes, les bulles et les étapes de quête ne passent pas encore par la localisation.
- [x] 11.6 Les scènes peaufinées. Fait en 11D (10/10) : une relecture des 194 scènes (6 600 mots). L'ensemble tient (ton, voix des personnages, répétitions voulues). Choix de l'auteur : **l'intro passe en français** (elle était en anglais ; l'anglais reviendra avec la version anglaise) ; **la narration dit « tu » partout**, les scènes de portail gardant leur refrain (« Le chef la suit. ») ; « eLTuna, le bourdon invincible » retrouve sa phrase sur l'arme qui frappe de loin ; **les faits** : la Chevauchée passe à **10 et 10** (recette, répliques, étape du journal ; deux répliques disaient encore 25, manquées en 11A), Big Egg 4 dit « petit chef » ; **les coquilles** (« j'inviterai », Pyro Pete « chez lui »). Les échos proposés (le Saule calqué sur le mot de K., « pour la forme », la signature de K.) ne sont pas retenus. Migration `migrate_story_phase11d_scene_review_20261010.php` (30 changements).
- [x] 11.7 Une dernière sauvegarde complète, et son rapport. Fait en 11E (10/10) : les textes de 11B et 11C validés tels quels par l'auteur (24 scènes, `migrate_story_phase11_texts_validated_20261010.php`) ; rapport `docs/rapports/2026-10-10.md` ; archive testée `E:\BIG EGG SAUVEGARDES\big-egg-20261010-2056.7z` (729 Mo), bundle Git vérifié, étiquette `sauvegarde-20261010-2056`. Elle vaut aussi pour l'hebdomadaire du 13/10. **La phase 11 est close** ; restent hors du plan les projets à part notés au Sheet (passe 3D, version anglaise, projet des armes et de l'économie, dévoilement du texte) et le mapping des touches (ligne 73), qui vient ensuite.

## En continu

- La sauvegarde hebdomadaire, chaque semaine, avec son rapport.
- Les modèles 3D, lancés une phase avant leur jalon ; les crédits se présentent avant d'être dépensés.
- Les cartes du carnet passent « Dans le jeu » à chaque tâche faite.
- Les projets à part, à noter au Sheet de suivi : la passe 3D (Meshy : les couches de Bob, BIG BIG EGG, le Malœuf, le présentateur…), la version anglaise, et le projet des armes (armes, équipement, arbre, économie, endurance).
