86 lines
5.2 KiB
Markdown
86 lines
5.2 KiB
Markdown
# beta.059 — bannières et cartes au trésor
|
|
|
|
Ticket `codex/atlas-markers-beta059`. Prolonge les altitudes et l'affichage
|
|
sans cadre de beta.058.
|
|
|
|
## Contrat avant implémentation
|
|
|
|
- Un clic droit sur une bannière, main vide ou avec une carte remplie, ajoute
|
|
son repère personnel à l'atlas. Le même geste le retire ; la couleur et le
|
|
nom renommé sont repris. Une carte native tenue continue aussi son propre
|
|
enregistrement vanilla. Aucun achat supplémentaire : l'observation peut
|
|
précéder l'aptitude Grande carte, qui reste nécessaire pour ouvrir l'atlas.
|
|
- Utiliser une carte au trésor remplie importe ses repères dans la World Map.
|
|
La carte physique reste disponible pour être partagée. Les cartes natives
|
|
d'exploration et leurs bannières sont prises en charge ; leur terrain n'est
|
|
pas copié dans le brouillard personnel.
|
|
- Les trésors des îlots miniers sont lus dans le plan aérien déjà chargé et
|
|
sauvegardé, sans nouvelle recherche ni génération. Les opérateurs les voient
|
|
automatiquement. Un client normal ne reçoit jamais les coordonnées des
|
|
trésors qu'il n'a pas importés depuis une carte.
|
|
- Les deux navires fournissent des cartes vers les premiers îlots miniers.
|
|
Les coffres miniers peuvent donner la carte de l'îlot suivant, notamment
|
|
le troisième des mondes Grand. Ce sont des cartes Minecraft remplies avec
|
|
le marqueur de trésor natif, sans nouvel objet ni texture.
|
|
- Les repères utilisent les sprites de carte Minecraft. Les bannières nommées
|
|
ont leur texte ; le survol donne le nom et les coordonnées. Un point dont
|
|
l'altitude est connue disparaît sous un plafond inférieur à ce point.
|
|
Les cartes natives sans altitude restent visibles sur tous les plafonds.
|
|
|
|
## Données et mondes existants
|
|
|
|
Fichier personnel additif `data/sanctuary-atlas/markers/<UUID>.json`, schéma 1,
|
|
lié à l'UUID et à la graine. Les journaux de terrain, couches, monde et plans
|
|
restent inchangés. Limite de 512 repères ; écritures atomiques et conservation
|
|
d'un fichier invalide. Reconnexion et prestige ne suppriment pas les repères.
|
|
Un retour à beta.058 ignore ce fichier sans conversion.
|
|
|
|
Les trois tables de butin aériennes conservent leurs objets et les quantités
|
|
qu'elles déclarent, et ajoutent une carte. Leurs anciens champs `functions`
|
|
/ `function`, ignorés dans cette version, sont adaptés en `modifier` / `type`
|
|
pour appliquer effectivement ces quantités et la création de la carte.
|
|
Seuls les coffres dont le butin n'a pas encore été généré utilisent ces tables ;
|
|
aucun coffre déjà ouvert n'est rempli, aucun contenu existant n'est réécrit.
|
|
Les coffres et positions sont ceux des plans d'origine, sans migration de
|
|
structures, de chunks ou de graine. Les tests ne touchent que des mondes de
|
|
laboratoire. Aucune publication ou installation personnelle implicite.
|
|
|
|
## Vérifications
|
|
|
|
- `atlas059Smoke` : persistance Unicode, isolation UUID/graine, limite de
|
|
512 repères, suppression, absence de réécriture sans changement, filtrage
|
|
du cadrage et de l'altitude, conservation des fichiers corrompus.
|
|
- Parcours client Minecraft 26.3-pre-2 sur un monde Sanctuary de laboratoire,
|
|
graine 42, taille moyenne, structures activées : clic droit réel sur une
|
|
bannière renommée, retrait et ajout, changement de nom, import depuis une
|
|
carte en main gauche, lecture des trois tables de butin natives, quantités
|
|
conservées, cartes dirigées vers les deux coffres du plan, utilisation
|
|
physique de la carte au trésor, conservation de l'objet et absence de doublon.
|
|
- Le client normal reçoit uniquement le trésor découvert. Le mode opérateur
|
|
montre les deux sans les enregistrer ; sa désactivation et un paquet tardif
|
|
ne rétablissent pas les coordonnées cachées. Suppression d'une bannière
|
|
chargée, relecture du journal, codec avec altitude inconnue et libellés FR/EN
|
|
vérifiés. Sprites natifs contrôlés et captures inspectées.
|
|
- `:sanctuary:atlas059Smoke :sanctuary:runClientGameTest` réussi en 2 min 57 s,
|
|
avec `-PsanctuaryClientTests=true -PsanctuaryAtlas059ClientTests=true
|
|
-PsanctuaryQuickTests=true`. Journal : `build/atlas059-client.log`, marqueur
|
|
`ATLAS059_PASS`.
|
|
- `./gradlew check build assemblePack assembleTestPack` réussi en 2 min 9 s,
|
|
122 tâches, avec les mêmes propriétés et `-x :sanctuary:runGameTest`.
|
|
Journal : `build/atlas059-check.log`. Aucun serveur dédié ni acceptation
|
|
d'EULA ; les tests natifs utilisent le serveur intégré de développement.
|
|
- Les deux exports packwiz sont vérifiés par `build/verify-atlas059.py` :
|
|
1 607 classes conformes au build, changements limités aux classes prévues,
|
|
ressources existantes préservées hors libellés et trois tables documentées,
|
|
JEI inchangé et archives beta.058 intactes.
|
|
|
|
Archives locales : [pack normal](../build/Sanctuary-beta.059.mrpack) et
|
|
[monde plat rapide](../build/Sanctuary-Test-beta.059.mrpack).
|
|
Reçu détaillé : `build/atlas059-artifact.json` ; captures dans
|
|
`build/atlas059-evidence/`.
|
|
|
|
Le parcours natif couvre les deux trésors du monde moyen. Le troisième îlot
|
|
du monde Grand suit le même plan et la même règle de carte suivante, mais n'a
|
|
pas fait l'objet d'un second monde de test. Aucun essai avec plusieurs clients
|
|
humains simultanés ni mesure de FPS n'est revendiqué ici.
|