Files
2026-09-10 11:52:24 +02:00

154 lines
8.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Alpha.22 — placement sélectif
Ticket WG-25, branche `codex/placement-selectif-alpha22`.
Minecraft 26.3-pre-2, Fabric Loader 0.19.5, Fabric API 0.160.0+26.3 et Java25,
sans changement de dépendances.
## Contrat
Les bâtiments de surface redeviennent sélectifs : une ville peut être absente
si aucun emplacement nest adéquat. Deux éléments de base sont prioritaires :
**la grande traversée souterraine et la salle dexpansion**, même sans ville.
Leurs emplacements sont réservés avant les petits réseaux et le catalogue
expérimental. Une recherche bornée ne prouve pas quaucun autre emplacement
possible nexiste dans toute l’île.
- Ville : aucune réserve artificielle de secours, aucun pilier de rattrapage,
terrassement/remblai limité à deux blocs par colonne. Les fondations sont
entièrement recertifiées dans la roche. Les quartiers supplémentaires exigent
un chemin complet vers les quartiers retenus. Au plus trois propositions dans
un budget partagé de20 000 colonnes et1 120 000 contrôles de volume.
- Infrastructures : relief maximal de quatre blocs sur lemprise17×17, coupe et
remblai limités à deux blocs, deux couches de roche intacte sous chaque colonne
de fondation, sans piliers de secours. Jusqu’à24 candidats par famille, avec
les mêmes plafonds globaux de16 000 colonnes et800 000 sondages.
- Chemins patrimoniaux : coupe/remblai limité à un bloc, accès indépendant et
raccord complet requis pour publier une liaison.
- Traversée : conserve le génie civil21, avec deux accès réels, une chaussée
de cinq blocs et deux trottoirs. Les piliers sont bornés à16 blocs ; les
travées sans grille complète sont limitées à34 blocs et reposent sur les
modules adjacents. La recherche22 intervient avant les structures facultatives
pour leur réserver lemprise. Si les lignes droites sont refusées, une seconde
passe cherche des accès différents et des détours. Chaque passe est limitée à
12 000 colonnes et3 millions de sondages (24 000 et6 millions au total au plus).
Ses parois peuvent traverser des cavités existantes sans écraser les volumes
deau et de lave protégés.
- Salle : recherche autonome dun accès de surface et dune salle25×25, sans
faux quartier ni socle de ville. Une salle déjà présente sous une ville évite
un doublon. Les égouts et annexes peuvent accompagner ce lieu indépendant.
Les palettes, les plans intérieurs et les petits filons minables restent ceux
de21. Les anciens petits réseaux expérimentaux17 et les sous-sols des villes gardent
leur géométrie ; leurs protections restent respectées.
Le nouveau principe narratif est documenté dans [la vision](vision.md) et
[laudit](structures-audit.md), sans activer de système de progression.
## Sauvegardes
Le seul preset public utilise désormais `sanctuary:island_v22`. Le preset caché
`sanctuary_v21` est la copie de lancien preset public. Les anciens codecs,
planificateurs et rendus restent disponibles. Les pièces21 sont réutilisées
avec leur format existant ; les nouveaux coudes possèdent une pièce22 distincte
pour fermer leurs murs sans modifier les jonctions21 sauvegardées.
La salle indépendante possède un type de structure22
et réutilise les pièces souterraines20.
Le journal identifie la génération22 et refuse une lecture croisée avec21.
Aucun monde personnel nest ouvert, converti ou régénéré.
Les nouvelles règles nécessitent un **nouveau monde Sanctuary**. Petit512,
Moyen724 par défaut et Grand1024 restent proposés. Loption **Structures
expérimentales** reste enregistrée à la création ; en22 elle retire le catalogue
facultatif, tandis que la traversée et la salle restent des éléments de base.
Le commutateur Minecraft général des structures demeure respecté.
## Témoin natif Moyen, graine0
La création et la réouverture dans deux JVM distinctes passent. La ville est
refusée ; la traversée comporte23 modules, dont deux accès et une salle de
maintenance. Son axe s’étend sur340 blocs. Les accès sont `-170 253 -100` et
`170 254 -100`. Le hall dexpansion indépendant se rejoint par la trappe
`2 252 0` ; son réseau comprend laccès, la salle, deux passages et un égout.
La piscine est une annexe conditionnelle, absente sur ce témoin.
Les14 bâtiments patrimoniaux trouvent un terrain adapté ; sept liaisons sont
retenues. Les115 chunks de lemprise sont générés en statut FULL. Les plans,
pièces natives et une modification témoin persistent après réouverture. Le
contrôle natif de circulation vérifie la vraie trappe, les échelles soutenues,
les ouvertures et le trajet jusquau socle central. Aucun déplacement de joueur
ou chargement dun monde personnel na été utilisé pour ces essais.
## Vérifications complémentaires
**Petit512, graine42 :**17 modules, dont un coude sauvegardé avec sa pièce22,
et une salle indépendante. Les anciens alignements droits sont refusés ; le
repli trouve une paire daccès naturels et conserve une chaussée continue.
Les portiques sont `-68 250 -93` et `68 250 43`, la trappe du hall `43 244 -10`.
La marche native relie les sorties en564 déplacements et atteint53 points de
contrôle. Huit bâtiments patrimoniaux et six liaisons sont admis ; aucune ville
nest forcée. Les88 chunks de lemprise sont vérifiés en statut FULL.
**Grand1024, graine42 :** un quartier naturel est admis avec son réseau de
sous-sols : salle dexpansion, piscine, égout et parking. Aucun hall autonome
supplémentaire nest créé. La traversée comporte31 modules et s’étend sur476
blocs ; portiques `-272 249 -8` et `204 250 -8`. La marche native les relie
en740 déplacements et atteint98 points de contrôle. Quatorze bâtiments
patrimoniaux et huit liaisons sont admis. Les179 chunks de lemprise sont
vérifiés en statut FULL ; la salle et ses17 ouvertures sont accessibles.
Les tests purs des trois tailles passent sur des terrains plats adaptés ;
falaises, eau/protections, vides et appuis insuffisants sont refusés pour les
bâtiments. Le hall autonome et ses annexes sont vérifiés sans fixture de ville.
Les suites historiques restent actives. Avec loption expérimentale désactivée,
le témoin Moyen conserve ses23 modules de traversée et sa salle indépendante,
sans bâtiments patrimoniaux ni petits réseaux expérimentaux. La marche native
relie les deux sorties en548 déplacements et atteint74 points de contrôle ;
les échelles et laccès au hall restent praticables.
Les créations et réouvertures de génération21 sont identiques aux rapports de
la release21, hors identifiants de processus et dossier de test. Les391 fichiers
de production historiques qui ne nécessitent pas de raccord22 restent identiques
octet pour octet ; le preset caché21 est la copie exacte du précédent preset
public. Les masques sont vérifiés à lintérieur et hors des structures.
`check build assemblePack` passe :75 tâches, dont les huit GameTests généraux.
Le JAR, lindex packwiz, le MRpack et le ZIP Prism sont vérifiés. Aucun code de
test nest embarqué dans le JAR. SHA-256 du JAR :
```text
10d7ef32ac2e81a977ea4854503bafa29e0bc10929984b76df01d6f5f61f9056
```
SHA-256 du MRpack :
```text
0b553fcdd8b6a2ec26f72059e428d2cc0ce526f36ef8580dd3e50c1dfa40ec78
```
Les reçus de publication et de synchronisation sont suivis dans
[la distribution](packwiz.md).
Ces témoins vérifient les trois tailles, avec et sans ville ; ils ne constituent
pas une preuve de présence pour toutes les graines. La recherche reste bornée
et refuse un volume protégé ou insuffisamment porté. Aucun essai visuel client
ou essai Windows natif nest revendiqué.
## Reproduire dans le dossier de développement
Avec Java25, création du témoin Moyen puis réouverture du même monde de test :
```sh
./gradlew :sanctuary:runGameTest -PsanctuarySelective22Tests=true -PsanctuaryDensityMaps=false
./gradlew :sanctuary:runGameTest -PsanctuarySelective22Tests=true -PsanctuaryDensityMaps=false -PsanctuaryExpansionReload=true
```
Pour une nouvelle création Petit ou Grand, ajouter `-PsanctuaryTestSeed=42`
et `-PsanctuaryTestDiameter=512` ou `1024`. Le cas OFF utilise
`-PsanctuaryExperimentalStructures=false`. Chaque réouverture doit suivre la
création correspondante, avec les mêmes paramètres. Les rapports sont dans
`mods/sanctuary/build/run/gameTest/diagnostics/selective22-<graine>-<diamètre>/`.
Le témoin historique utilise `-PsanctuaryHeritage21Tests=true`, puis le même
drapeau avec `-PsanctuaryExpansionReload=true`. La vérification de livraison
reste `./gradlew check build assemblePack`. Exécuter ces JVM séquentiellement.