# Alpha.19 — anciennes infrastructures de Sanctuary **État : code et artefacts vérifiés, publication en préparation.** Ticket WG-22, branche `codex/heritage-worldgen-alpha19`. Minecraft 26.3-pre-2, mêmes dépendances que l’alpha.17. La numérotation 19 est demandée explicitement ; aucune 18 n’est intercalée dans ce dépôt. ## Périmètre et réversibilité Première passe des quatorze lieux du [catalogue](structures-audit.md) : gare de marchandises, centre postal, dépôt communal, cartothèque, observatoire, maintenance ferroviaire, pompage, sous-station, serre, quai d’expédition, relais radio, club photo, vestiaires/salles étranges et refuge de chantier. Les plans recherchent des sites admissibles et des voies de fret ou chemins entre destinations réelles ; ils ne garantissent pas tous les lieux sur chaque graine. Les mesures et coordonnées des essais figureront ci-dessous. Créer un **nouveau monde Sanctuary** et utiliser **Personnaliser** : Petit 512, Moyen 724 par défaut ou Grand 1 024, avec **Structures expérimentales**. L’option est activée par défaut et enregistrée avec le générateur 19. La désactiver pour un autre nouveau monde conserve le socle urbain sans les réseaux expérimentaux 17 et les infrastructures 19. Elle ne retire aucun bloc ni ne change les règles d’une sauvegarde existante. Les mondes 17 et antérieurs gardent leurs codecs, plans, pièces et futurs chunks. Le preset 17 public est conservé octet par octet sous un identifiant historique caché à la création. Le générateur 19 et son journal sont distincts. Il n’existe aucune conversion ou rétrogradation de sauvegarde 19 vers un ancien binaire. L’ancienne release reste disponible pour ses propres mondes, et l’option d’un nouveau monde permet de comparer les deux configurations du nouveau binaire. Les nouveaux lieux sont réservés à l’île initiale. La ville et les anciens réseaux servent de base ; leurs protections et celles de l’hydrologie restent respectées. Les liaisons vers de futurs continents seront construites après leur apparition, sans présumer leurs emplacements dans cette génération. ## Objets et systèmes Les bâtiments suggèrent leurs usages futurs par leurs pièces et aménagements. Mailbox, deposit boxes, caméra, réacteur, progression et récompenses personnelles ne sont pas activés. Chaque nouveau lieu dispose d’une table de coffre propre à la génération 19, avec un outil vanilla lié à son usage et quelques fournitures. Les coffres sont partagés et ne se renouvellent pas. La valeur des rails, équipements et blocs récupérables du décor s’ajoute au butin. Leur distribution doit être constatée sur les témoins, sans transformer cette première passe en une garantie d’équilibrage économique pour la bêta. ## Vérifications prévues - Placement des quatorze architectures, ouvertures, circulation, orientation et appuis du mobilier ; accès réel au coffre et retour possible. - Plans bornés sur les trois tailles, terrain non occupé, supports, continuité des tracés et distinction entre ballast praticable et rails retirés. - Pièces natives et références locales, y compris pour les longues voies ; géométrie, orientation et rails sauvegardés dans un schéma strict. - Création et réouverture d’un monde 19 avec modification témoin ; conservation des starts, butins différés, accès, routes et supports. - Option désactivée, paramètres sauvegardés, génération 17 comparée aux preuves de la version publiée, refus des migrations implicites de journaux. - `./gradlew check build assemblePack`, artefacts et index, publication immuable puis canal packwiz et deux synchronisations de la même instance Prism. Les smokes des quatorze architectures, de leurs quatre orientations, des plans sur les trois tailles et des pièces natives passent. Le mode désactivé est vérifié dans un monde 19 neuf : aucun site ni liaison expérimental. `./gradlew check build assemblePack` passe, avec les huit GameTests généraux, 125 chunks FULL, 5 923 blocs d’eau conservés et 1 800 ticks de fluides. Le JAR, le MRpack, les hashes du pack et le ZIP Prism sont vérifiés. La publication et la synchronisation de l’instance restent en cours. Aucun essai client ou Windows n’est encore effectué. ## Témoin natif Moyen, graine 0 Créer un nouveau monde avec **Structures expérimentales activées**. `/sanctuary structures` liste les entrées prévues sans charger de chunks ; `/locate structure sanctuary:heritage_networks` retrouve l’entrée d’un site. Le relevé ci-dessous provient des placements et parcours vérifiés par le moteur. ![Entrées et tracés du témoin alpha.19](images/heritage19-seed0.svg) Treize des quatorze lieux apparaissent. **La cartothèque est absente de cette graine** : la recherche n’a pas trouvé d’emplacement admissible. La ville et les trois réseaux souterrains 17 sont conservés. Les raccords recherchés vers la ville et l’ancienne mine ne sont pas admis sur ce témoin. Les sept liaisons comprennent un tracé de fret **dépôt → pompage de 499 blocs**, d’une étendue de 245 blocs sur X et 181 sur Z. Son ballast est praticable ; 478 rails sont présents et 21 sont volontairement manquants. Les autres voies et chemins relient gare, dépôt, atelier, poste, club photo, serre et vestiaires. Le quai, l’observatoire, le relais, la sous-station et le refuge gardent leurs propres accès au terrain, même sans liaison avec ce réseau. La création et la réouverture dans deux JVM distinctes passent chacune les deux GameTests : **112 pièces natives, 111 chunks FULL, 80 487 blocs contrôlés, 2 882 contrôles de portance, 13 coffres différés et 68 cibles accessibles**. Trois tirages de chacune des quatorze tables de butin sont vérifiés séparément, sans ouvrir les coffres persistants. Une modification témoin à `-204 / 255 / -13` est conservée à la réouverture. Empreinte stable du plan : `7f476c2ecca703a05bf88a550c61cc5cbeff2594024c43ccd9f3620bbc2ad3de`. JVM de création `36366`, de réouverture `36481`. Reçus locaux ignorés : `build/alpha19-evidence/heritage19-create.json` et `heritage19-reload.json`. La planification supplémentaire utilise 15 144 colonnes natives, dans un plafond de 16 000, en 20,7 s sur le Mac de développement. Ce temps concerne ce plan, pas le chargement total du jeu. Les routes sont découpées par chunk ; aucun start ne couvre toute leur longueur ni ne charge une destination lointaine. La prospection 19 consulte les plans hydrologiques de toute l’enveloppe de départ, avant de publier les sites. Le contrôle général utilise donc pour 19 une limite géographique calculée : 5 régions possibles pour Petit, 9 pour Moyen/Grand, avec les budgets de colonnes et de sondes contrôlés séparément. Le témoin Moyen en consulte 5 ; les quatre régions périphériques représentent 3,38 s de calcul hydrologique supplémentaire dans le relevé du build. Ces consultations ne matérialisent aucun chunk. Les générations historiques conservent le contrôle initial de 4 régions maximum autour du spawn. ```sh ./gradlew :sanctuary:runGameTest -PsanctuaryHeritage19Tests=true -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false ./gradlew :sanctuary:runGameTest -PsanctuaryHeritage19Tests=true -PsanctuaryExpansionReload=true -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false ``` ## Autres tailles et couverture du catalogue Les deux GameTests natifs passent aussi sur Petit et Grand, graine 42. Les quatorze architectures ont ainsi chacune été rencontrées et parcourues sur le terrain réel, en complément des rotations vérifiées par les smokes. | Taille et graine | Lieux | Liaisons | Pièces natives | Chunks FULL | | --- | ---: | ---: | ---: | ---: | | Petit 512, 42 | 10 | 2 | 35 | 44 | | Moyen 724, 0 | 13 | 7 | 112 | 111 | | Grand 1 024, 42 | 13 | 4 | 47 | 61 | Pour visiter la cartothèque : **Petit, graine 42**, entrée `-101 / 251 / -25`, ou **Grand, graine 42**, entrée `-252 / 249 / 146`. Le Petit testé n’a ni poste, ni observatoire, ni atelier ferroviaire, ni quai. Le Grand testé n’a pas de quai. Aucun grand axe n’est admis sur ces deux témoins : les portées maximales de leurs liaisons sont respectivement de 32 et 55 blocs. Le témoin Moyen, graine 0, reste celui conseillé pour découvrir le grand fret. Ces résultats rendent explicite la variation de cette première passe ; ils ne constituent pas une garantie de présence ou de connectivité pour chaque graine. Reçus locaux ignorés : `build/alpha19-evidence/small42-create.json` (JVM 36591) et `large42-create.json` (JVM 36669). ## Compatibilité 17 vérifiée Deux JVM de développement distinctes créent puis rouvrent le témoin 17 **Moyen, graine 0**, avec le nouveau binaire. Les deux GameTests passent dans chaque exécution. Le codec, les starts natifs, les butins différés et les parcours restent identiques aux preuves de l’alpha.17 publiée. Le bloc d’or placé par le test est conservé à la réouverture. Empreinte du plan 17 : `7358ecd7841c03be1977a7f45f37c0c3ef83a32dc27e8d3ec4f0d85d6ee5d3ef`. Les trois starts restent ceux documentés dans [le témoin 17](testing-alpha17.md). Reçus locaux ignorés : `build/alpha19-evidence/legacy17-create.json` et `legacy17-reload.json`. ```sh ./gradlew :sanctuary:runGameTest -PsanctuaryRuins17Tests=true -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false ./gradlew :sanctuary:runGameTest -PsanctuaryRuins17Tests=true -PsanctuaryExpansionReload=true -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false ``` Ces commandes visent uniquement le monde de développement ignoré. La première le recrée ; la seconde conserve ce même monde et lit ses preuves précédentes.