363 lines
22 KiB
Markdown
363 lines
22 KiB
Markdown
# Alpha.14 — Lost City et expansions
|
||
|
||
**État : alpha.14 vérifiée, publiée et installée dans la même instance Prism Mac.**
|
||
`check build assemblePack` passe sur les sources finales avec les **8 GameTests
|
||
requis**, le 9 septembre 2026 à **13 h 57 min 48 s**. La création de quartiers,
|
||
leur réouverture et la reprise différée du vide passent également dans leurs
|
||
mondes de développement distincts. Le JAR, le MRpack et le ZIP Prism sont
|
||
vérifiés. La release immuable correspond au commit source `1c5c2c2`, le canal
|
||
packwiz au commit `dabf57e`. Deux synchronisations isolées puis deux dans la même
|
||
instance Prism passent, avec **713 fichiers personnels et réglages suivis
|
||
conservés**. Le [reçu de livraison](packwiz.md#alpha14-publiée--9-septembre-2026)
|
||
consigne les artefacts, leur empreinte et la sauvegarde ciblée.
|
||
Les résultats des alpha.12, 13 et 13.1 restent historiques. Ticket [WG-17](backlog.md).
|
||
|
||
Les smokes des sources finales passent sous Gradle et Java 25 :
|
||
`LostCityRendererSmoke` pour les 17 types, dont confinement
|
||
et accès des piscines dans quatre orientations, parcs distincts et sous-sols ;
|
||
`ExpansionJournalSmoke`, dont l’immuabilité du jeton de reprise du vide ; et
|
||
le contrôle de placement spatial de génération 14. `LostCityPlannerSmoke`
|
||
passe également. Ses
|
||
32 graines sur terrain contrôlé couvrent tous les types de lots ; un témoin
|
||
distinct de faille couvre le pont, soit les 17 types. Le test de pente ascendante
|
||
et descendante protège la sélection des lots contre le rejet asymétrique des
|
||
terrains montants. Sur l’ancien planificateur compilé, ce nouveau test échouait
|
||
avec **0 contre 9 lots** ; le planificateur corrigé satisfait l’égalité des
|
||
deux sens et le minimum de cinq lots demandé par le test. Cette comparaison
|
||
provient de la sortie d’exécution ; aucun journal séparé n’a été conservé.
|
||
|
||
`:sanctuary:expansionVoidCertificateSmoke` passe aussi sous Gradle :
|
||
champs NBT natifs obligatoires, types stricts, refus des contenus, preuves de
|
||
chunks absents et stabilité du certificat face aux seuls compteurs volatils.
|
||
Ces contrôles unitaires sont complétés par les essais moteur consignés plus
|
||
bas.
|
||
|
||
## Périmètre et création d’un monde
|
||
|
||
Minecraft **26.3-pre-2**, Fabric et Java **25**, selon les versions épinglées dans
|
||
`gradle.properties`. La livraison cible `0.1.0-alpha.14` pour le mod et le pack.
|
||
|
||
Créer un **nouveau monde**, type **Sanctuary**, puis le bouton natif
|
||
**Personnaliser** : Petit 512, Moyen 724 par défaut ou Grand 1 024 blocs de
|
||
diamètre nominal. La hauteur reste de 384 blocs. Le codec public est
|
||
`sanctuary:island_v14` ; les racines et les extensions de ces mondes portent la
|
||
génération **14**. Le journal est séparé :
|
||
`data/sanctuary-world-v14/expansions.json`, schéma 1.
|
||
|
||
Les mondes de générations 12 et 13 conservent leurs codecs, paramètres et
|
||
journaux. Ils ne reçoivent pas Lost City par conversion et ne changent pas de
|
||
générateur au chargement. Aucune sauvegarde personnelle ne doit être utilisée
|
||
pour les essais ci-dessous.
|
||
|
||
## Lost City
|
||
|
||
Les quartiers sont composés par du code Sanctuary original. Une poche urbaine
|
||
peut être retenue sur l’île initiale ; les extensions de profil `lost_city`
|
||
recherchent également des emplacements. Le biome suit les parcelles acceptées
|
||
en surface et laisse les biomes de cavités profonds. Une île peut ne fournir
|
||
aucun site convenable : la ville et ses différents types ne sont pas garantis.
|
||
|
||
| Type | Aménagement distinctif |
|
||
| --- | --- |
|
||
| Rue | Chaussée, bordures de pierre lisse et variations de hauteur accessibles |
|
||
| Pont | Tablier et garde-corps au-dessus d’une courte faille, appuis naturels aux deux extrémités |
|
||
| Parc boisé | Chemins croisés, arbres et bancs |
|
||
| Jardin | Haies basses, parterres fleuris et allées |
|
||
| Aire de jeux | Sable, portique de balançoire, plate-forme et petit toboggan |
|
||
| Parc mémorial | Cour, monument de pierre et bancs |
|
||
| Place | Pavage et fontaine sèche |
|
||
| Marché | Étals, auvents sobres et réserves |
|
||
| Parking | Places marquées, poteaux, garage souterrain si la roche le permet, sinon en surface |
|
||
| Excavation | Fouille ouverte, fondations inachevées, barrières et escalier |
|
||
| Piscine abandonnée | Bassin de trois couches d’eau, marches immergées et plage minérale |
|
||
| Immeuble d’appartements | Étages, chambres, coin cuisine et escaliers |
|
||
| Hôtel | Réception, couloir central et chambres séparées |
|
||
| Bibliothèque | Rayonnages, tables de lecture et pupitre |
|
||
| Restaurant | Cuisine équipée et tables, espace de service à l’étage |
|
||
| Caserne | Dortoirs et réserves |
|
||
| Hall | Grande salle, estrade, rangées de sièges et balcon |
|
||
|
||
Pierre, pierre lisse et briques de pierre dominent ; briques fissurées ou
|
||
moussues, andésite, vitres, détails de fer et intérieurs en chêne noir complètent
|
||
la palette. L’usure est déterministe. Les accès et les escaliers restent
|
||
distincts des brèches de façade et de toiture. Le butin des coffres utilise des
|
||
tables vanilla différées ; aucune génération de spawner ou de villageois.
|
||
|
||
Le spawn naturel de monstres du biome et des pièces de structure est limité aux
|
||
zombies vanilla. Lumière, difficulté, limites de population et distance aux
|
||
joueurs continuent de s’appliquer ; une ruine n’implique pas la présence immédiate
|
||
d’un groupe de zombies. Les classes de zombies spécifiques restent pour la bêta.
|
||
|
||
Le placement vérifie la roche sous toute l’emprise. Un sous-sol, une piscine ou
|
||
une excavation exige une continuité jusqu’à huit blocs sous le plancher de
|
||
référence. À défaut, le parking reste en surface et piscine ou excavation se
|
||
replient en parc. Les piscines gardent un fond et des parois continus ; les
|
||
ponts ne construisent pas de piliers jusqu’au vide. Les volumes protégés de
|
||
l’hydrologie et les sites insuffisamment supportés sont écartés.
|
||
|
||
## Commandes d’essai et placement des expansions
|
||
|
||
Les commandes restent des outils opérateur, accessibles avec les permissions
|
||
adéquates. Elles n’utilisent pas encore la progression ou les ressources.
|
||
|
||
```text
|
||
/sanctuary expansion quick east lost_city 256 natural
|
||
/sanctuary expansion list
|
||
/sanctuary expansion visit island_1
|
||
/sanctuary expansion preview quartier sanctuary northeast lost_city 128 natural
|
||
/sanctuary expansion create quartier sanctuary northeast lost_city 128 natural
|
||
/locate structure sanctuary:lost_city
|
||
```
|
||
|
||
`island_1` est l’exemple du premier identifiant libre créé par `quick` ; utiliser
|
||
l’identifiant réellement indiqué par la commande. `visit` attend une île prête.
|
||
`preview` examine un emplacement sans l’activer. `resume <id>` sert à reprendre
|
||
une réservation interrompue. `create` choisit aussi son parent explicitement.
|
||
La recherche exacte `/locate structure sanctuary:lost_city` retrouve les
|
||
quartiers Sanctuary admissibles ; elle peut échouer si aucun quartier ne se
|
||
trouve dans sa portée de recherche. Un profil `lost_city` ne garantit pas un
|
||
terrain suffisamment adapté pour accepter un quartier.
|
||
|
||
Les diamètres d’expansion possibles dans les mondes 14 sont **64, 128, 256,
|
||
512 et 1 024**. Avec `quick east` ou `quick east lost_city`, le diamètre est tiré
|
||
de manière reproductible à partir de la graine et de l’identifiant :
|
||
|
||
| Diamètre | Poids du tirage |
|
||
| --- | --- |
|
||
| 64 | 40 % |
|
||
| 128 | 30 % |
|
||
| 256 | 18 % |
|
||
| 512 | 9 % |
|
||
| 1 024 | 3 % |
|
||
|
||
Ces poids décrivent la distribution du tirage, pas un quota de cinq îles à
|
||
reproduire sur chaque serveur. Une taille explicite remplace le tirage. Les
|
||
recherches d’emplacement ne changent ni cette taille ni la graine retenue.
|
||
Les mondes historiques gardent leurs tailles et comportements antérieurs.
|
||
|
||
La direction choisit un secteur de 45° autour du parent. La recherche essaie
|
||
d’abord des positions proches, puis des couronnes plus éloignées, avec un
|
||
nombre borné de candidats. Les centres restent alignés sur les chunks.
|
||
Les emprises circulaires incluent le terrain, la marge de décoration et une
|
||
garde empêchant deux îles de posséder le même chunk de coin. Le voisinage lu
|
||
par les étapes de génération n’est pas intégralement réservé comme terrain.
|
||
Une distance minimale entre centres reste possible comme dernier argument.
|
||
|
||
## Contrat de reprise différée du vide
|
||
|
||
Ce mécanisme concerne **uniquement les nouveaux mondes de génération 14** et
|
||
une expansion explicitement demandée. Les générations 12/13 gardent leur refus
|
||
des chunks déjà générés, même vides. Il ne permet pas la régénération générale
|
||
d’une île, d’un terrain occupé ou d’une construction.
|
||
|
||
1. Examiner toute l’emprise d’écriture et produire, pour chaque chunk existant,
|
||
une preuve stricte qu’il est FULL, entièrement vide et vierge. Les positions
|
||
encore absentes sont également certifiées, y compris leurs stockages
|
||
d’entités et de POI. La simple absence de bloc visible ne suffit pas : entités
|
||
persistées, chargées ou en attente, POI, ticks, événements de blocs et autres
|
||
indices de contenu font partie des refus.
|
||
2. Lier le certificat à l’identité exacte de l’expansion et à un jeton immuable
|
||
dans le journal. Une preuve isolée sans réservation correspondante ne donne
|
||
aucune autorisation ; un changement de paramètres ou une preuve manquante
|
||
doit faire échouer la reprise.
|
||
3. Enregistrer la réservation et demander de **fermer puis rouvrir le monde**.
|
||
L’expansion reste différée pendant la session ayant établi la preuve.
|
||
4. Au chargement suivant, vérifier le journal, le certificat et les données
|
||
actuelles sur toute l’emprise avant toute préparation. Une divergence bloque
|
||
la reprise avant l’écriture des positions absentes. Seuls les chunks
|
||
explicitement certifiés peuvent être réutilisés par cette expansion.
|
||
|
||
La preuve lit le format natif exact de Minecraft 26.3-pre-2 : l’état d’air sans
|
||
propriétés s’écrit comme la chaîne `minecraft:air` dans la palette ; sa forme
|
||
composée autorisée utilise le champ `id`. L’ancien champ `Name` ne suffit pas
|
||
à certifier un chunk. Les types NBT, sections, palettes, heightmaps et données
|
||
annexes restent contrôlés strictement ; une métadonnée inconnue provoque un
|
||
refus. Seuls les compteurs temporels et caches de lumière valides sont exclus
|
||
de l’empreinte sémantique du vide.
|
||
|
||
Il ne faut supprimer ni certificat, ni journal, ni dossier de région pour
|
||
débloquer une commande. L’absence de preuve est un refus, pas une invitation à
|
||
reconstruire l’historique. Les sauvegardes personnelles ne sont pas ouvertes
|
||
par les tests ou par la mise à jour packwiz.
|
||
|
||
## Protocole et preuves attendues
|
||
|
||
Un seul processus Gradle ou Minecraft de développement à la fois. Les suites
|
||
de création repartent de mondes ignorés sous `mods/sanctuary/build/run/`.
|
||
Un scénario de réouverture doit suivre sa création sans intercaler un test qui
|
||
effacerait ce monde de développement.
|
||
|
||
```sh
|
||
./gradlew :sanctuary:lostCityPlannerSmoke :sanctuary:lostCityRendererSmoke --console=plain
|
||
./gradlew check build assemblePack -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
./gradlew :sanctuary:runGameTest -PsanctuaryLostCityTests=true -PsanctuaryTestDiameter=724 -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
./gradlew :sanctuary:runGameTest -PsanctuaryLostCityTests=true -PsanctuaryExpansionReload=true -PsanctuaryTestDiameter=724 -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
```
|
||
|
||
La suite de reprise du vide repart ensuite d’un **autre monde de développement
|
||
neuf**. La commande de réouverture est exécutée deux fois de suite :
|
||
|
||
```sh
|
||
./gradlew :sanctuary:runGameTest -PsanctuaryVoidReuseTests=true -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
./gradlew :sanctuary:runGameTest -PsanctuaryVoidReuseTests=true -PsanctuaryExpansionReload=true -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
./gradlew :sanctuary:runGameTest -PsanctuaryVoidReuseTests=true -PsanctuaryExpansionReload=true -PsanctuaryTestSeed=0 -PsanctuaryResourceSurvey=off -PsanctuaryDensityMaps=false --console=plain
|
||
```
|
||
|
||
### Résultats moteur — graine 0
|
||
|
||
Le 9 septembre 2026, la création sur les sources finales passe à **13 h 55 min
|
||
15 s** dans le processus **19155** (`build/alpha14-city-final-create.log`,
|
||
deux tests requis réussis, commande terminée en **2 min 24 s**). La réouverture
|
||
du même monde de développement passe à **13 h 55 min 58 s** dans un second
|
||
processus, **19372** (`build/alpha14-city-final-reload.log`, deux tests requis
|
||
réussis, **33 s**).
|
||
Ces durées sont celles des commandes Gradle complètes, pas des mesures de
|
||
chargement en jeu ou de performance multijoueur.
|
||
|
||
Les rapports locaux ignorés sont
|
||
`mods/sanctuary/build/run/gameTest/diagnostics/lost-city-alpha14-seed-0.json`
|
||
et `lost-city-alpha14-reload-seed-0.json` dans le même dossier. Leurs copies
|
||
sont conservées dans `build/alpha14-evidence/` avant le nettoyage du monde de
|
||
développement. Le monde racine est de diamètre **724**, graine **0**, codec
|
||
`sanctuary:island_v14`.
|
||
|
||
Trois extensions de diamètre 256 ont été examinées en lecture seule :
|
||
|
||
| Candidat | Graine de l’extension | Quartiers admissibles |
|
||
| --- | --- | --- |
|
||
| `city_test` | `7890860792428309400` | 0 |
|
||
| `city_harbor` | `-1594320136210322067` | 0 |
|
||
| `city_gardens` | `6666275329838981856` | 1 |
|
||
|
||
Seule `city_gardens` a ensuite été activée, à l’est, centre **(2032, 624)**.
|
||
Sa préparation a terminé **418 chunks FULL**. L’inspection urbaine ci-dessous
|
||
couvre les chunks des quartiers, pas la totalité de cette préparation.
|
||
|
||
| Site généré | Parcelles sauvegardées | Chunks FULL inspectés | Coffres non ouverts à butin différé |
|
||
| --- | --- | --- | --- |
|
||
| Île initiale | 26 : appartement, hôtel, bibliothèque, marché, parc boisé, mémorial et 20 rues | 26 | 4 |
|
||
| `city_gardens` | 12 : appartement, parc boisé et 10 rues | 13 | 1 |
|
||
|
||
Les deux quartiers possèdent leurs références de structure natives ; la
|
||
recherche native retrouve respectivement **(-49, 253, 13)** et **(2012, 229,
|
||
621)**. Les intérieurs traversables et les tables de spawn limitées aux zombies
|
||
sont contrôlés. Cela ne garantit pas des zombies visibles de jour. La
|
||
couverture des **17 types dans quatre orientations** provient de 68 rendus
|
||
témoins indépendants ; elle ne signifie pas que cette graine contient tous les
|
||
types dans ses quartiers naturels.
|
||
|
||
L’inspection native des bâtiments contrôle également qu’aucun minerai ne
|
||
remplace la maçonnerie dans leurs volumes à partir du plancher. Cette preuve
|
||
concerne les bâtiments effectivement générés et inspectés ; les minerais du
|
||
terrain sous les fondations restent possibles.
|
||
|
||
Une piscine native isolée, indépendante du tirage des quartiers, conserve
|
||
**189 cellules d’eau**, ses marches et son confinement après l’exécution d’un
|
||
tick d’eau. La réouverture conserve les mêmes 189 cellules et les marches ;
|
||
elle n’exécute pas un second tick témoin.
|
||
|
||
Dans le second processus, les **38 pièces natives**, les **5 coffres non
|
||
ouverts**, le bloc d’or témoin à **(-61, 250, 11)** et le journal sont conservés.
|
||
L’empreinte du journal contrôlé est
|
||
`38e4bc1b2e493628d1e5d1775250c0bc48821bf49d025df3c37159fcff5801ba`.
|
||
Ces essais utilisent uniquement un monde de développement ignoré, sans ouvrir
|
||
de sauvegarde personnelle.
|
||
|
||
### Reprise du vide — création et deux réouvertures
|
||
|
||
Les trois exécutions Minecraft, sur la graine **0**, génération **14**, passent
|
||
le 9 septembre 2026 :
|
||
|
||
| Étape | Journal local | Résultat et durée de la commande |
|
||
| --- | --- | --- |
|
||
| Preuves et réservations | `build/alpha14-void-create.log` | Deux tests requis réussis à 13 h 43 ; 41 s |
|
||
| Première réouverture | `build/alpha14-void-reload.log` | Deux tests requis réussis à 13 h 45 ; 1 min |
|
||
| Deuxième réouverture | `build/alpha14-void-second-reload.log` | Deux tests requis réussis à 13 h 46 ; 29 s |
|
||
|
||
Les rapports sont `void-reuse-before-reload.json`,
|
||
`void-reuse-after-reload.json` et `void-reuse-second-reload.json`, sous
|
||
`mods/sanctuary/build/run/gameTest/world/`. Ce sont des preuves locales à
|
||
conserver avant le nettoyage du monde de développement.
|
||
|
||
La première expansion, `void_loaded`, couvre **77 chunks FULL vides déjà
|
||
chargés**. La seconde, `void_saved`, couvre **un chunk FULL vide uniquement
|
||
stocké et 76 positions absentes**. Ce dernier scénario emploie une copie NBT
|
||
native de chunk vide, déplacée uniquement pour constituer le témoin dans ce
|
||
monde jetable. Chaque réservation reçoit son jeton durable propre et reste
|
||
différée, sans publication dans le générateur pendant la session initiale.
|
||
|
||
Quatre témoins indépendants, chacun contrôlé vide avant modification, prouvent
|
||
le refus d’un **bloc**, d’un **coffre avec son entité de bloc**, d’une **entité
|
||
vivante enregistrée** et d’un **tick de bloc programmé**. Une métadonnée NBT
|
||
étrangère ajoutée après certification fait également échouer la vérification
|
||
globale : l’empreinte SHA-256 du fichier de région et le contenu NBT modifié
|
||
restent identiques après ce refus. Le test restaure ensuite son témoin vide
|
||
pour poursuivre le scénario positif.
|
||
|
||
À la première réouverture, les deux expansions atteignent **154 chunks FULL**,
|
||
chacun conservant le marqueur de son jeton exact, avec **128 sections non
|
||
vides**. Un bloc d’or témoin est alors posé à **(6080, 376, 1264)**. À la
|
||
deuxième réouverture, il est préservé : les **154 chunks FULL marqués** et
|
||
**129 sections non vides** sont retrouvés. Ce passage contrôle donc aussi
|
||
qu’une reprise terminée ne réinitialise pas les blocs ajoutés ensuite.
|
||
|
||
Une réouverture supplémentaire passe à **13 h 48**, avec deux tests requis
|
||
réussis en **37 s** (`build/alpha14-void-final-reload.log`). Elle contrôle
|
||
explicitement la lumière native terminée (`isLightCorrect`) sur les **154
|
||
chunks** et **32 échantillons de biomes hors `the_void`** à l’intérieur des
|
||
extensions. Le bloc d’or et les 129 sections non vides sont toujours conservés.
|
||
Ce dernier rapport est copié hors du monde de test dans
|
||
`build/alpha14-evidence/void-reuse-second-reload.json` pour survivre à son
|
||
nettoyage. Les 32 échantillons ne constituent pas un relevé exhaustif de tous
|
||
les biomes des extensions.
|
||
|
||
### Vérification finale du build et des artefacts
|
||
|
||
`./gradlew check build assemblePack` passe en **1 min 34 s** : **40 tâches**, dont
|
||
33 exécutées et 7 à jour. Le journal est `build/alpha14-check-build-pack.log`.
|
||
Les huit tests moteur requis réussissent ; le témoin hydrologique de graine 0
|
||
contrôle **125 chunks FULL**, **5 923 blocs d’eau conservés** et **1 800 ticks de
|
||
fluides**. La même suite vérifie la sérialisation des tailles **512 / 724 /
|
||
1 024**, le défaut Moyen et le codec historique de génération **13**.
|
||
|
||
Le smoke du journal valide aussi la politique de synchronisation de dossier
|
||
Windows par simulation, ainsi que les échecs de stockage après remplacement.
|
||
Ce résultat ne constitue pas une exécution native sous Windows.
|
||
|
||
`build/verify-alpha14-artifacts.py` valide les versions alignées, l’index packwiz,
|
||
le JAR de production sans classes de test, son inclusion dans le MRpack et le
|
||
ZIP d’amorçage Prism. Le SHA-256 du JAR `sanctuary-0.1.0-alpha.14.jar` est :
|
||
|
||
```text
|
||
1c517a13e1151501c6f4974d1bc00faedf67aaecd9bf58f34ac4a655d09dc6ef
|
||
```
|
||
|
||
Ces vérifications portent sur les artefacts locaux. La publication du canal,
|
||
les installations packwiz isolées et la synchronisation de l’instance Prism
|
||
restent à consigner.
|
||
|
||
| Contrôle | Preuve attendue | État de livraison |
|
||
| --- | --- | --- |
|
||
| Géométrie et fondations | Déterminisme, budget de colonnes, sites protégés, certificat de roche et ponts | Smoke Gradle réussi sur les sources finales |
|
||
| Rendu des 17 types | Quatre orientations, limites des pièces, parcours vers les étages, lits complets, accès aux sous-sols et piscine contenue | Smoke Gradle réussi sur les sources finales |
|
||
| Placement des expansions | Cinq tailles, tirage stable, huit secteurs, séparation et garde aux coins | Smoke Gradle réussi sur les sources finales |
|
||
| Structures dans Minecraft | Quartier initial et extension Lost City réellement générés, références natives et coffres à butin différé | Réussi, graine 0 : 38 pièces et 5 coffres |
|
||
| Rechargement dans un second processus | Journal et structures identiques, butin non recréé, bloc témoin de joueur conservé | Réussi sur les sources finales, graine 0, processus 19372 |
|
||
| Protection de la maçonnerie | Aucun minerai dans les volumes des bâtiments à partir de leur plancher | Réussi sur les quartiers natifs inspectés, graine 0 |
|
||
| Eau après ticks moteur | Piscine retenue et accès après écoulement, sans fuite extérieure | Réussi sur piscine native isolée : 189 cellules et marches conservées après tick puis réouverture |
|
||
| Certificat de vide | Schéma NBT strict, refus des contenus et preuves de chunks absents | Smoke Gradle réussi, complété par les témoins natifs de création |
|
||
| Reprise du vide | Refus des contenus et preuves invalides ; reprise bornée après réouverture avec preuve intacte | Réussi après deux réouvertures : 154 chunks FULL marqués, bloc d’or conservé |
|
||
| Lumière et biomes après reprise | Lumière native terminée et remplacement du biome vide à l’intérieur des extensions | Réussi à 13 h 48 : 154 chunks éclairés correctement, 32 échantillons hors `the_void`, bloc d’or conservé |
|
||
| Sérialisation et stockage | Trois tailles, codec historique et erreurs de stockage bloquantes | Suite native réussie pour les trois tailles et le codec 13 ; politique Windows simulée réussie |
|
||
| Hydrologie conservée | Eau retenue après écoulement moteur | Réussi : 125 chunks FULL, 5 923 blocs d’eau, 1 800 ticks de fluides |
|
||
| Build et pack | `check build assemblePack` réussi avec versions alignées | Réussi à 13 h 57 min 48 s, huit GameTests requis, JAR/MRpack/ZIP Prism vérifiés |
|
||
| Distribution | Artefacts immuables vérifiés, canal avancé, deux installations isolées et deux synchronisations de la même instance | Réussi : source `1c5c2c2`, canal `dabf57e`, 713 fichiers personnels et réglages suivis conservés |
|
||
|
||
Les reçus locaux sont `build/alpha14-isolated-validation.json` et
|
||
`build/alpha14-prism-validation.json`. Aucun essai Windows natif, mesure de FPS ou test
|
||
de charge multijoueur n’est attesté par cette liste. Une validation de géométrie
|
||
en mémoire ne remplace pas la génération, les ticks et la persistance du moteur.
|
||
|
||
La publication suit [Distribution packwiz et Prism](packwiz.md). Elle conserve
|
||
l’instance existante, ses sauvegardes, ses réglages et les mods tiers.
|