Raise Sanctuary to 384 blocks and survey generated resources
Build Sanctuary / build (push) Canceled after 0s

This commit is contained in:
koka
2026-09-08 13:39:45 +02:00
parent ebcdb17a11
commit 40168e2054
31 changed files with 1116 additions and 93 deletions
+65 -7
View File
@@ -52,7 +52,7 @@ Le framework déplace aussi le spawn vers une grille de tests située loin du ce
Le test capture donc le spawn juste avant ce déplacement, après l'initialisation
normale du monde, et examine les coordonnées absolues de l'île.
Les quatre tests Sanctuary vérifient :
Les sept tests Sanctuary vérifient :
1. Le vrai générateur Sanctuary est chargé et le spawn collectif repose sur une
surface déjà présente dans la densité naturelle, avec un sol plein de 3×3
@@ -63,8 +63,15 @@ Les quatre tests Sanctuary vérifient :
3. La densité du datapack réellement chargé, compilée par `RandomState`, est
reproductible pour la seed `0` et change pour la seed `8675309`.
4. La densité compilée des graines `0`, `42` et `8675309` ne crée aucune matière
là où le terrain source est vide. Les trous dans l'ancien noyau restent vides,
et chaque graine conserve du terrain dans l'échantillon de l'île.
là où le terrain source est vide. Le relief supérieur reste celui de l'alpha.2
translaté de 64 blocs et le dessous varie avec le terrain et les bruits.
5. Le nouveau monde et son bruit utilisent bien 384 blocs, à partir de Y=0,
tandis que les anciens paramètres restent à 256 blocs. Les nuages sont
au-dessus de l'île, à Y=352,33.
6. Les chunks complets inspectés gardent une marge vide sous l'île, à Y=0..15.
7. Le relevé après génération compte exactement tous les états des blocs des
chunks demandés, avec des totaux cohérents et une complétude explicite.
Voir [Expansion et ressources](expansion.md) pour le mode complet facultatif.
La recherche de spawn parcourt l'île finie, par anneaux de quatre blocs jusqu'à
288 blocs du centre. Elle examine d'abord la hauteur brute pour éviter de
@@ -79,9 +86,8 @@ des PNG et CSV dans `mods/sanctuary/build/run/gameTest/diagnostics/` :
- `island-density-seed-<graine>.png` : vue de dessus et coupes centrales X/Z,
avant/après, calculées avec les fonctions de densité réellement compilées.
La colonne « alpha.1 » reconstitue l'ancienne formule du noyau et du bord en
utilisant les bruits actuels ; elle ne reproduit pas exactement l'ancien bruit
de bord. La colonne de droite est la densité actuelle.
La colonne « alpha.2 » utilise ses anciennes ressources conservées ; la colonne
de droite utilise la densité alpha.3, sur toute la hauteur Y=0..383.
- `island-heightmap-seed-<graine>.csv` : coordonnées et hauteurs échantillonnées
des deux versions (`-1` indique une colonne vide dans cet échantillon).
@@ -103,7 +109,59 @@ Référence du workflow : [tests automatiques Fabric](https://docs.fabricmc.net/
Les signatures propres à `26.3-pre-2` ont été vérifiées dans les dépendances locales,
car la documentation publiée vise actuellement `26.2`.
## Validation alpha.2 — 8 septembre 2026
## Vérification client facultative
```sh
./gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true --console=plain
```
Ce test charge les vrais `SkyRenderer` et `FogRenderer` et vérifie l'application
des deux mixins, puis ferme automatiquement le client sans ouvrir de sauvegarde.
Il nécessite un environnement graphique ; `check` ne le lance pas. Ses sources
dans `src/clientGametest/java` ne sont ajoutées au mod de test que lorsque la
propriété est activée. Le test de transformation ne remplace pas l'essai visuel
de l'horizon dans un nouveau monde Sanctuary.
Pour cet essai visuel en monde de développement créatif, comparer la même vue
à Y=70, 62, 32, 8 puis 8. Il ne doit apparaître ni disque noir au passage de
Y=63 ni assombrissement d'altitude au passage de Y=32. Les brouillards de l'eau,
de la météo et des effets d'aveuglement ou d'obscurité doivent rester présents.
## Validation alpha.3 — 8 septembre 2026
Sur Java 25 / Minecraft 26.3-pre-2 / Fabric Loader 0.19.5 :
| Vérification | Résultat |
| --- | --- |
| `check build assemblePack` avec relevé complet, graine `0` | 8/8 tests requis réussis ; 14 min 49 s, dont le relevé complet |
| Serveur neuf, graine `42` | 8/8 réussis ; 1 min 3 s |
| Serveur neuf, graine `8675309` | 8/8 réussis ; 1 min 4 s |
| Test client facultatif | Réussi en 23 s ; les deux injections de rendu sont appliquées |
La graine `0` place le spawn naturel en `(0, 251, -4)` ; la graine `42` en
`(0, 249, 0)` et la graine `8675309` en `(0, 247, 0)`. Les tests confirment les 384 blocs du nouveau monde, les nuages
relevés, le vide inférieur et extérieur et la conservation des anciens réglages.
Les coupes des trois graines ont été inspectées : l'ancienne silhouette est
relevée et le dessous devient irrégulier. Une comparaison supplémentaire de
1 039 155 échantillons de l'ancienne géométrie refactorée donne des densités
identiques bit à bit à l'alpha.2.
Le relevé complet constate **8 584 514 blocs non vides** dans les 1 444 chunks
de l'enveloppe définie. Sa préparation prend 13 min 2,659 s, son comptage et sa
préparation JSON 135 ms, sur un Apple M1 avec 8 Go de mémoire. Ce poste exécute
d'autres applications et a aussi exécuté le test client pendant le relevé :
c'est une mesure locale, pas une promesse de performance. Les quantités exactes
et les exclusions figurent dans [la référence de ressources](expansion.md).
Les journaux sont `build/alpha3-validation-seed0.log`,
`build/alpha3-validation-seed42.log`, `build/alpha3-validation-seed8675309.log`
et `build/alpha3-client-test.log`. Le JAR alpha.3 a été inspecté : aucune classe
de test n'est distribuée. Le `.mrpack` contient exactement le JAR vérifié.
Le test client valide le chargement et l'application des mixins. Il n'ouvre
aucun monde et ne remplace donc pas l'essai visuel en vol décrit plus haut.
## Historique : validation alpha.2 — 8 septembre 2026
Commande `./gradlew check build assemblePack --console=plain` réussie en **1 min 10 s**
sur Java **25**, Minecraft **26.3-pre-2**, Fabric Loader **0.19.5**, Fabric API