183 lines
11 KiB
Markdown
183 lines
11 KiB
Markdown
# Alpha.15 — intérieurs, sous-sols et ville compacte
|
||
|
||
**État : code, génération et distribution validés.**
|
||
Ticket [WG-18](backlog.md). `check build assemblePack` et les huit tests moteur
|
||
passent sur les sources finales, ainsi que la création et la réouverture
|
||
natives de Lost City. Le reçu de publication figure dans [Distribution](packwiz.md).
|
||
|
||
## Contrat de génération
|
||
|
||
Minecraft **26.3-pre-2**, Java **25**, dépendances épinglées inchangées.
|
||
Le mod et le pack passent à `0.1.0-alpha.15`. Un **nouveau monde Sanctuary**
|
||
utilise `sanctuary:island_v15` et son journal propre
|
||
`data/sanctuary-world-v15/expansions.json`.
|
||
Le bouton natif **Personnaliser** conserve Petit 512, Moyen 724 par défaut et
|
||
Grand 1 024. La densité du terrain, les forêts et l’hydrologie naturelle ne sont
|
||
pas remplacées par cette passe urbaine.
|
||
|
||
Le JAR d’essai anticipé du 9 septembre, avant publication de l’alpha.15,
|
||
contenait encore les fragments dispersés. Les essais de cette nouvelle
|
||
composition se font dans un **monde neuf** ; aucune réparation ou régénération
|
||
des mondes créés avec ce prototype n’est exécutée. Le binaire d’essai est
|
||
conservé séparément avant synchronisation de l’instance.
|
||
|
||
Les mondes 12/13/14 conservent leurs codecs, paramètres, journaux, plans et
|
||
rendus, même pour leurs chunks encore non générés. Le preset 14 reste enregistré
|
||
mais caché dans la création. Aucun monde personnel n’est ouvert, converti ou
|
||
régénéré. Les nouvelles pièces persistantes ont leurs propres identifiants :
|
||
`sanctuary:lost_city_parcel_v15`, `sanctuary:lost_city_underground_v15` et
|
||
`sanctuary:lost_city_support_v15`.
|
||
|
||
Le biome `sanctuary:lost_city` reste utilisé : les parcelles acceptées pilotent
|
||
la carte des biomes urbains et les apparitions naturelles de zombies vanilla.
|
||
Les cavités gardent leurs biomes ; un égout souterrain ne transforme pas toute
|
||
la colonne en biome urbain. Il n’y a ni villageois générés, ni spawner, ni
|
||
classes de zombies de la future bêta.
|
||
|
||
## Aménagements
|
||
|
||
Les appartements, hôtels, bibliothèques, restaurants, casernes et halls ont
|
||
des usages distincts. Seuil et vestibule rejoignent un couloir, une cage
|
||
d’escalier et des pièces séparées par de vraies portes. Sols, plafonds,
|
||
chambres, salles d’eau, cuisines, réserves, réception, rayonnages, dortoirs,
|
||
auditorium et galerie suivent le type du bâtiment. Les détails d’usure doivent
|
||
préserver les passages. Le butin reste différé, avec un coffre par bâtiment.
|
||
|
||
Les réseaux souterrains cherchent une descente depuis la surface, des égouts,
|
||
des passages, des garages et des pool rooms. La roche et les volumes d’eau
|
||
naturelle décident de leur admission. Les parties exposées demandent des
|
||
appuis courts certifiés : pylônes ou chaînes réellement ancrés. Les bassins
|
||
construits ont un fond, des parois et un accès ; ils ne doivent pas se vider
|
||
dans les corridors. Les modules voisins ne se superposent pas. Une grande salle sèche accessible
|
||
prépare une future machine d’expansion ; la machine et ses cartes ne font pas
|
||
partie de cette livraison.
|
||
|
||
Le retour de l’essai anticipé remplace les fragments dispersés par une grille
|
||
compacte : lots, rues et carrefours sont jointifs, avec un réseau accessible
|
||
depuis chaque entrée. Les routes sont dégagées sur huit blocs de hauteur ;
|
||
les terrasses sont certifiées dans leur emprise et les ponts prolongent le
|
||
réseau. Les sièges, charnières et appuis des lanternes sont revus. Les emplacements admissibles
|
||
restent conditionnels ; aucun équipement n’est promis sur toute graine.
|
||
|
||
## Vérification reproductible
|
||
|
||
Utiliser seulement les mondes de développement ignorés. Exécuter les processus
|
||
Minecraft séquentiellement et faire suivre chaque création de sa réouverture,
|
||
avant un autre test qui nettoie ce dossier de développement.
|
||
|
||
```sh
|
||
./gradlew :sanctuary:lostCityInteriors15Smoke :sanctuary:lostCityUnderground15Smoke --console=plain
|
||
./gradlew :sanctuary:runGameTest -PsanctuaryLostCity15Tests=true -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
./gradlew :sanctuary:runGameTest -PsanctuaryLostCity15Tests=true -PsanctuaryExpansionReload=true -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
./gradlew check build assemblePack -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
```
|
||
|
||
La suite historique `-PsanctuaryLostCityTests=true` choisit explicitement la
|
||
génération 14. Les suites de reprise certifiée du vide utilisent la génération
|
||
15 par défaut ; la réouverture doit être exécutée deux fois après leur création.
|
||
Les certificats sont liés à leur génération : un certificat ou journal 14 ne
|
||
peut pas autoriser une expansion 15. Le [contrat WG-17](testing-alpha14.md)
|
||
reste applicable dans chaque journal, avec inspection stricte avant écriture.
|
||
|
||
Les résultats finaux préciseront graine, version, coordonnées, pièces natives,
|
||
eau après ticks, conservation après réouverture et durée des commandes.
|
||
|
||
### Compatibilité historique déjà vérifiée
|
||
|
||
La création de génération 14 avec le binaire alpha.15 passe le 9 septembre
|
||
2026 (`build/alpha15-legacy14-create.log`, processus 22663, 2 min 57 s).
|
||
Sur graine 0, racine 724 et extension `city_gardens` 256, les deux starts NBT,
|
||
les inventaires de blocs, les coffres différés et le journal ont exactement les
|
||
mêmes empreintes ou contenus que la livraison alpha.14. La réouverture du même
|
||
binaire dans le processus 23083 passe (`build/alpha15-legacy14-reload.log`, 57 s),
|
||
avec **38 pièces**, **5 coffres non ouverts**, le bloc témoin et le journal
|
||
conservés. Cette réouverture exclut la recompilation : elle vérifie les mêmes
|
||
binaires que la création, pendant le développement séparé du nouveau planner15.
|
||
Les classes historiques de planification et de rendu ne sont pas modifiées.
|
||
Les rapports sont conservés dans `build/alpha15-evidence/legacy14-*.json`.
|
||
|
||
Le premier test moteur15 a vérifié les accès des bâtiments et réseaux, puis a
|
||
échoué sur une hypothèse insuffisante de son ordonnanceur de fluides. Le test
|
||
attend maintenant que les chunks et leurs entités soient prêts, observe un
|
||
écoulement natif dans des témoins temporaires fermés, puis contrôle les bassins
|
||
naturels après des ticks mesurés. Ces témoins sont séparés des équipements
|
||
naturellement générés et supprimés avant sauvegarde.
|
||
Les essais sur modèles contrôlés seront distingués des équipements effectivement
|
||
générés sur terrain naturel. La validation Windows native reste à effectuer.
|
||
|
||
### Contrôles ciblés du retour d’essai anticipé
|
||
|
||
Les smokes exécutés le 9 septembre passent avec les classes Minecraft exactes :
|
||
les six familles d’intérieurs dans quatre orientations contrôlent la collision
|
||
des portes ouvertes, le côté des dossiers des sièges et l’appui plein des
|
||
lanternes (`build/alpha15-targeted-furnishings.log`). Le rendu de surface15
|
||
corrige aussi les bancs et ajoute les marches sur le sol existant, leur sommet
|
||
rejoignant le niveau voisin. Dégagement des rues, volumes de protection,
|
||
grande salle, boucle alternative et fondations souterraines passent dans
|
||
`build/alpha15-targeted-utilities.log`. Ces essais contrôlés ne remplacent pas
|
||
le scénario natif final.
|
||
|
||
Le scénario de reprise certifiée du vide de génération15 passe sa création et
|
||
ses deux réouvertures dans des JVM séparées : **154 chunks FULL**, tous éclairés
|
||
correctement, et bloc témoin conservé. Les refus de bloc, coffre, entité ou tick
|
||
présents et la conservation des régions face à une mutation étrangère passent.
|
||
Rapports : `build/alpha15-evidence/void-reuse-*.json`. Ces preuves précèdent la
|
||
révision compacte du seul placement urbain ; le test complet final reste exigé.
|
||
|
||
### Ville compacte : création finale vérifiée
|
||
|
||
La création finale passe sur la graine **0**, île **724**, le 9 septembre
|
||
2026 : `build/alpha15-final-city-create.log`, processus **26229**, **3 min 19 s**
|
||
pour les quatre smokes puis le scénario moteur. Cette durée inclut les contrôles,
|
||
les prospects et la préparation d’un continent ; ce n’est pas un benchmark de
|
||
chargement joueur ou de rendu.
|
||
|
||
- Racine : un quartier natif au chunk **(-2, 3)**, cinq lots (immeuble, hôtel,
|
||
bibliothèque, jardin et place), **33 pièces de rues/carrefours**, **52 pièces
|
||
natives** avec le sous-sol. Les cinq entrées rejoignent le même réseau ;
|
||
**393 sections** de rues sont traversées sur les seules rues et seuils.
|
||
L’immeuble est accessible en **(-30, 252, 21)** sur cette graine.
|
||
- Sous la racine : un accès, quatre collecteurs, sept passages, une pool room
|
||
et une grande salle sèche. Le socle et les quatre secteurs de la salle sont
|
||
accessibles depuis la trappe de surface.
|
||
- Continent témoin **256**, graine **8737523517608206795**, centre **(2112, 320)** :
|
||
restaurant et immeuble, réseau de rues, pont de 17 blocs, garage et pool room
|
||
souterrains. **24 pièces natives** et **5 appuis souterrains** inspectés.
|
||
Le pont est parcouru de **(2104, 225, 309)** à **(2120, 224, 309)**.
|
||
- Les biomes urbains et le spawn naturel de zombies sont vérifiés ; aucun
|
||
spawner ni villageois ajouté. Cinq coffres restent à butin différé.
|
||
- Les bassins souterrains sont contrôlés après **120 ticks de monde mesurés** ;
|
||
19 témoins temporaires indépendants prouvent l’exécution native des fluides,
|
||
puis sont retirés avant sauvegarde. La piscine de surface est vérifiée dans
|
||
le premier monde compact, avant la dernière affectation des lots : ses
|
||
**207 sources** sont conservées, et neuf cellules au-dessus des marches se
|
||
remplissent normalement sans fuite (216 cellules d’eau au total).
|
||
|
||
Le témoin final contient un pont court et des appuis souterrains. Les grands
|
||
viaducs sur piles construites restent validés sur terrains contrôlés ; ils ne
|
||
sont pas présentés comme observés dans ce monde naturel. Aucune famille de
|
||
bâtiments, piscine, garage, salle ou pont n’est garantie sur chaque graine.
|
||
Rapport : `build/alpha15-evidence/final-city-create.json` ; le monde compact
|
||
précédent est conservé dans `compact-first-create.json`.
|
||
|
||
La réouverture finale du même monde passe dans un autre processus (**26452**,
|
||
`build/alpha15-final-city-reload.log`, **51 s**) : **76 pièces natives**, **5 coffres
|
||
à butin différé**, **108 points de parcours intérieurs** et **5 appuis** conservés.
|
||
Les sept entrées restent reliées aux rues, le bloc témoin **(-38, 252, 21)** est
|
||
présent et le journal garde exactement ses octets. Rapport :
|
||
`build/alpha15-evidence/final-city-reload.json`.
|
||
|
||
`check build assemblePack` final passe en **2 min 6 s** le 9 septembre 2026,
|
||
avec les **huit tests moteur requis** et tous les smokes, dont les quatre
|
||
contrôles15 (`build/alpha15-final-check-build-pack.log`). Le JAR et le pack
|
||
sont construits depuis les mêmes sources que le scénario final. Le changement
|
||
reste réservé à15 ; la revue finale ne trouve aucune modification des quatre
|
||
classes de planification/rendu/pièce historiques14.
|
||
|
||
La release immuable `v0.1.0-alpha.15`, source `dd9c795`, et le canal `6cf54ee`
|
||
sont publiés. JAR, MRpack et amorçage sont vérifiés ; deux installations isolées
|
||
et deux synchronisations de la même instance Prism réussissent. Les **767**
|
||
fichiers personnels et réglages suivis restent identiques. L’ancien JAR d’essai
|
||
est conservé séparément ; un seul JAR Sanctuary est actif. Voir le
|
||
[reçu de livraison](packwiz.md#alpha15-publiée--9-septembre-2026).
|