5.9 KiB
Atlas scientifique du terrain
L’archive alpha.30.5 contient les neuf cas, leurs figures PNG/PDF et données brutes. Coupes du Grand · Cartes du Grand.
Acquisition native
TerrainAtlas305GameTests charge les registres réels de Minecraft 26.3-pre-2
et les ressources Sanctuary. Il crée le même RandomState que le générateur
pour chaque graine et taille. Il compile les fonctions de densité natives,
sans réimplémentation du bruit en Python. Le serveur de test utilise un monde
plat ignoré pour démarrer rapidement ; aucun chunk Sanctuary ni aucune
expansion n’est créé pour cet export.
./gradlew :sanctuary:runGameTest -PsanctuaryAtlasOnly=true \
-PsanctuaryAtlasSeeds=0,42,-7228211907433324401 \
-PsanctuaryAtlasRevision=REVISION_DU_CODE
python3.14 -m venv build/atlas-venv
build/atlas-venv/bin/pip install -r scripts/terrain-atlas-requirements.txt
build/atlas-venv/bin/python scripts/terrain_atlas.py --output build/atlas306 \
mods/sanctuary/build/run/gameTest/diagnostics/atlas306/terrain-*.json
Le tracé livré utilise Python 3.14 ; les versions de Matplotlib et NumPy sont épinglées dans le fichier de dépendances.
Les propriétés atlas sont réservées aux tests. Les tests de génération complets
restent actifs dans check sans ce paramètre. Ne pas lancer deux Gradle de test
simultanément : leur dossier de monde temporaire est partagé. Les diagnostics
existants peuvent rester dans le dossier ; vérifier graines, version et provenance
avant d’en faire une archive. Aucune sauvegarde personnelle n’est utilisée.
Lecture des planches
- Cartes : nord en haut, X et Z en blocs, rapport d’aspect réel. Les quatre profils partagent les mêmes échelles de couleur. La palette d’altitude ne représente pas les blocs ou les biomes ; du blanc n’implique pas de neige.
- Altitude : dernier solide rencontré, recherche verticale par pas de 2 blocs. Une cellule grise signifie qu’aucun solide n’a été échantillonné dans la colonne.
- Épaisseur cumulée : nombre d’échantillons solides multiplié par 2 sur Y2..418 dans la 30.6 (Y2..382 dans la 30.5). Ce n’est ni une densité physique, ni un volume exact de matériaux minables.
- Roche continue : épaisseur depuis le sommet jusqu’au premier vide échantillonné. Un petit résultat peut signaler une voûte mince, un surplomb ou un fragment.
- Coupes : trois plans Z=0, Z=96 et Z≈−rayon/4, sur toute la hauteur naturelle. Bleu pour la densité négative, rouge pour la positive ; frontière zéro en noir. L’échelle colorée sature au-delà de ±0,3 ; les données conservées vont jusqu’à ±1.
Le pas horizontal des cartes est de 12 blocs, le pas vertical de 2. Les coupes sont échantillonnées tous les 2 blocs dans les deux axes. Les images ne sont pas lissées. Le champ est quantifié à 0,0001 en conservant son signe autour de zéro. Les petits détails peuvent être manqués : le contrôle des fragments en volume utilise séparément une résolution d’un bloc dans les tests complets.
L’eau, la lave, les matériaux de surface, végétaux, biomes et structures ne figurent pas dans cet atlas de densité avant décoration. Les tests natifs de rivières et de structures vérifient leur présence effective dans des chunks. Une coupe 2D ne permet pas, seule, de conclure à la connectivité d’une grotte 3D.
Comparaison et conservation
Les tableaux utilisent les mêmes coordonnées dans chaque variante. La part des plateaux conservés compare les colonnes de base dont le sommet atteint Y200, avec une tolérance de deux blocs. Les statistiques d’épaisseur du toit utilisent uniquement les colonnes atteignant Y200 dans les quatre variantes. Ce sous-ensemble ne représente pas toutes les falaises de l’île.
L’archive de livraison contient JSON natifs, PNG, PDF, résumés, script de rendu, versions Python et empreintes des fichiers. Elle est attachée à la release, pour que les images restent récupérables même après nettoyage du dossier build. Le manifeste relie les données au binaire livré et à la révision source. Les vues sont générées par Matplotlib à partir des mesures ; aucune image générative n’intervient.
Le libellé « 24 / 27 » désigne le champ de la 27 restauré depuis la 24, pas une simulation de tous les matériaux et structures historiques de la 24. Les samplers 30.1 et 30.4 sont conservés pour comparer des transformations exactes, et non des approximations dessinées pour illustrer un résultat attendu.
Comparaison 30.6 et infrastructures
L’export courant remplace la colonne 30.4 par la comparaison directe 30.5/30.6.
compileHistorical305 conserve exactement le coefficient 0,80 ; le champ livré
utilise 0,95. Le renderer accepte également les anciens exports 30.5.
Des coupes supplémentaires Y260..418 ciblent les morceaux de terrain supérieurs.
Les JSON courants sont dans diagnostics/atlas306/.
scripts/structure_atlas.py superpose les plans ferroviaires au relief et trace
les coupes des blocs du village effectivement générés par Village306GameTests.
Le pourcentage est une estimation de surface projetée à partir du pas de
12 blocs ; le numérateur inclut les colonnes de ballast et les chemins. Ce n’est
ni une longueur de rails en pourcentage ni une part du volume de l’île.
build/atlas-venv/bin/python scripts/structure_atlas.py \
mods/sanctuary/build/run/gameTest/diagnostics/village306/724-0.json \
mods/sanctuary/build/run/gameTest/diagnostics/atlas306/terrain-724-0.json \
--output build/atlas306/structures