Files
sanctuary-beta/docs/atlas-altitude-beta058.md
2026-09-15 09:29:11 +02:00

5.1 KiB

beta.058 — altitude de la carte

Ticket codex/atlas-altitude-beta058.

Contrat avant implémentation

Deux boutons ↑ / ↓ sous Recentrer et le zoom choisissent les plafonds 0, 140, 280, 420, 560 et 640. La carte ouvre à 640 (surface habituelle) ; chaque plafond montre le premier bloc coloré situé à cette altitude ou plus bas. C'est une coupe horizontale : une roche coupée reste visible, sans chercher automatiquement une grotte. Le dernier pas fait 80 blocs. La position et le zoom ne changent pas. Les extrémités désactivent leur bouton. Chunks et Demeure sont désactivés par défaut, réactivables par leurs boutons. Le cadre central et ses quatre panneaux assombris sont retirés. Le nord conserve son emplacement.

Les relevés restent personnels et utilisent le même masque d'exploration horizontal qu'auparavant. Les six plafonds sont relevés lors des nouvelles visites, même avant l'achat de Grande carte. Aucun chunk distant n'est chargé ou généré. La vue opérateur inspecte seulement les chunks chargés et n'inscrit pas ses consultations dans les découvertes personnelles.

Contrat de données additif

Le fichier existant data/sanctuary-atlas/<UUID>.json et son schéma 2 restent la référence de la surface à 640. Aucune conversion ni réinterprétation des anciens pixels. Les cinq autres plafonds utilisent le même format dans des fichiers distincts data/sanctuary-atlas/layers/<UUID>/<altitude>.json. Les anciens relevés de surface ne permettent pas d'inventer leurs couleurs inférieures : ces dernières apparaissent lors des revisites. Un retour à beta.057 ignore simplement les fichiers supplémentaires ; la surface reste lisible. Aucun monde personnel n'est ouvert ou modifié pendant le travail.

Chaque plafond conserve la limite de 16 384 chunks. Le client ne garde que la couche affichée ; le token réseau change avec l'altitude, empêchant les anciens paquets de repeindre une autre couche. Le protocole atlas_request ajoute un plafond validé : client et serveur doivent avoir la même version. Le serveur relève un chunk à la fois et saute les sections entièrement vides. Les sauvegardes périodiques des couches sont étalées dans le temps.

Vérifications

Le parcours natif Atlas058ClientChecks réussit sur la version finale en 1 min 44 s, avec un vrai monde de développement Sanctuary de 640 blocs de haut :

  • couleurs différentes aux six plafonds, coupe inclusive, verre transparent, colonne vide, accord entre le relevé d'une couche et celui des six couches ;
  • absence de chargement d'un chunk distant et masque d'exploration conservé ;
  • clics réels sur les boutons, limites 0/640, changement rapide, rejet des anciens paquets terrain et Demeure, cadrage/zoom stables après rafraîchissement ;
  • relecture des six fichiers, absence de réécriture quand rien ne change, achat de Grande carte après relevé, refus d'une requête opérateur non autorisée ;
  • codec réseau, refus des altitudes invalides, libellés FR/EN, petite interface ;
  • Chunks/Demeure désactivés à l'ouverture mais réactivables, absence du cadre assombri et emplacement du nord conservé (captures inspectées).

Commande :

./gradlew :sanctuary:runClientGameTest -x :sanctuary:runGameTest \
  -PsanctuaryClientTests=true -PsanctuaryAtlas058ClientTests=true \
  -PsanctuaryQuickTests=true

Journal : build/atlas058-client.log, marqueur ATLAS058_PASS. Captures inspectées : build/atlas058-evidence/.

Le brouillard reste horizontal, comme dans les cartes existantes : ce lot n'introduit pas de visibilité optique ni de journal de découverte par caverne. Demeure reste une empreinte de chunk, sans séparation verticale des bâtiments. Au plafond maximal, les pixels de surface restent compatibles ; les anciens parcours ne sont pas reconstruits aux autres altitudes sans revisite. La charge d'un serveur rempli pendant une saison n'a pas été mesurée. Le plafond théorique est de 24 Mio de couleurs brutes par joueur pour six couches pleines, hors index et sérialisation, contre 4 Mio pour la surface seule. Chaque fichier reste borné à 12 Mio ; un fichier invalide est préservé et suspend l'atlas du joueur concerné. Les sauvegardes tournent sur les six couches toutes les 12 secondes, puis sont vidées à la déconnexion/fermeture. Aucun serveur dédié démarré, aucune EULA acceptée.

Livraison vérifiée

check build assemblePack assembleTestPack, avec compilation des tests client et exclusion du serveur dédié runGameTest, réussit en 2 min 23 s (build/atlas058-check.log). 1 601 classes du JAR correspondent au build. ZIP, versions, ressources, isolation du mod de test et JAR embarqués contrôlés. JEI et le code Demeure sont inchangés. Les archives beta.057 restent intactes.

  • Pack normal : build/Sanctuary-beta.058.mrpack, 5627223 octets ; SHA-256 bc9af60be020fd32f99a173638e9006cab128cf942df666e34e03824bac6f892.
  • Pack de test : build/Sanctuary-Test-beta.058.mrpack, 5646157 octets ; SHA-256 010eb08df83117669d2f13d3c2e8641c965fac3ddec11fbab419f01a9cb94942.
  • Reçu : build/atlas058-artifact.json.

Aucune publication de canal ni synchronisation d'instance personnelle.