110 lines
6.3 KiB
Markdown
110 lines
6.3 KiB
Markdown
# TOOL-01 — Clé dorée et états de blocs — beta.120
|
|
|
|
Contrat du 17 septembre 2026, branche `codex/golden-wrench-beta120`.
|
|
Le créateur valide les gestes du debug stick : clic gauche choisit la propriété,
|
|
clic droit parcourt ses valeurs, Maj inverse le parcours. L'orientation est
|
|
proposée en premier, puis les propriétés de forme et les autres états natifs.
|
|
La sélection est personnelle, par type de bloc, pour la session courante.
|
|
Une indication dans la barre d'action affiche la propriété et sa valeur.
|
|
La clé ne casse pas le bloc, y compris en créatif, et ne remplace pas son type.
|
|
|
|
Les propriétés natives sont disponibles en survie avec la clé, sans condition
|
|
opérateur, dans le respect des droits de construction, protections, portée et
|
|
verrous de conteneurs. Comme avec le debug stick, les formes choisies restent
|
|
en place immédiatement ; les mises à jour ultérieures du jeu peuvent recalculer
|
|
les états dynamiques (redstone, connexions, cultures…).
|
|
|
|
Les multiblocs assemblés gardent leurs commandes d'ouverture/dissociation et
|
|
leurs propriétés techniques ne sont pas éditées individuellement. Un assemblage
|
|
complet garde priorité au clic droit ; Maj permet de régler les composants
|
|
non assemblés. Hors d'un assemblage complet, même un four, un baril, un piston
|
|
ou un établi reçoit l'action générique.
|
|
|
|
## Rotation de texture et contrat de stockage
|
|
|
|
La terre n'a pas d'orientation dans son blockstate vanilla. Une propriété
|
|
supplémentaire de la clé, « Rotation des textures », parcourt 0°, 90°, 180° et
|
|
270° sur les faces des modèles de blocs. La géométrie, l'éclairage, les teintes,
|
|
les ressources actives, le bloc, son inventaire et son butin restent natifs.
|
|
Les rendus spéciaux d'entités de blocs ne sont pas transformés par ce réglage
|
|
des faces ; leur orientation demeure modifiable par leurs états natifs.
|
|
|
|
Nouvelle donnée facultative `sanctuary:wrench_textures_v1`, attachée au chunk :
|
|
table immuable position entière → quart de tour (1 à 3). Une absence signifie
|
|
0°. Elle n'est créée qu'après une action de clé ; revenir à 0° retire l'entrée,
|
|
puis l'attachement s'il est vide. Aucun état vanilla ni format existant n'est
|
|
modifié ; aucun parcours, conversion ou régénération des anciens mondes.
|
|
Les modifications de blockstate du même type conservent la rotation. Casser,
|
|
remplacer ou déplacer par piston retire la rotation à l'ancienne position ;
|
|
les objets récupérés restent ordinaires. Les nouveaux clients la reçoivent
|
|
après le chunk natif, par lots bornés de 1 024 entrées au maximum.
|
|
Déconnexion, changement de dimension et déchargement libèrent le cache visuel.
|
|
Revenir à une ancienne version du mod supprime seulement cet effet visuel ;
|
|
les blocs conservent leurs identifiants, données et états natifs.
|
|
|
|
## Vérifications et livraison
|
|
|
|
Le parcours `Wrench120ClientChecks` passe en **47 s** sur Minecraft 26.3,
|
|
client macOS et serveur intégré, dans un monde plat jetable de graine 120 :
|
|
|
|
- **2 522 propriétés natives** parcourues, avec valeurs inverses et type conservé.
|
|
- Vrais clics sur les escaliers : orientation, moitié supérieure et forme,
|
|
sans casser le bloc en créatif ; gestes inverses et sélection distincte.
|
|
Les doubles événements créatifs d'un même clic sont filtrés à la cadence
|
|
native de cinq ticks.
|
|
- Terre en survie : rotation réelle des UV émis, positions des sommets et nombre
|
|
de faces identiques ; retour exact après quatre quarts de tour ou un inverse.
|
|
- Rechargement des ressources conservant les UV tournés ; capture de terre relue.
|
|
- Coffre tourné avec ses 23 diamants intacts, sans ouverture accidentelle.
|
|
- Assemblage/dissociation par vrais clics des quatre familles : Métabli, Fût,
|
|
Fourneau et super piston. Un clic gauche sur un assemblage ne modifie pas
|
|
les numéros de composants ; barils et pistons isolés tournent normalement.
|
|
- Refus en aventure, spectateur ou hors portée ; retrait des données visuelles
|
|
après remplacement, maintien lors d'un changement d'état du même bloc.
|
|
- Sauvegarde/reconnexion : rotation de terre côté serveur et client, état
|
|
natif de l'escalier et inventaire du coffre conservés.
|
|
|
|
```sh
|
|
./gradlew :sanctuary:runClientGameTest \
|
|
-PsanctuaryClientTests=true -PsanctuaryWrench120ClientTests=true \
|
|
-PsanctuaryClientNoVsync=true -PsanctuaryQuickTests=true
|
|
```
|
|
|
|
Marqueurs `WRENCH120_PASS` et `WRENCH120_PROPERTIES 2522` dans
|
|
`build/wrench120-client.log`, captures dans `build/wrench120-evidence/`.
|
|
Aucun monde personnel ouvert ; pas de validation Windows ni depuis deux
|
|
ordinateurs. Les rendus de faces natifs et le rechargement du pack sont vérifiés ;
|
|
pas de validation spécifique d'un shader tiers.
|
|
Le GameTest dédié reste exclu conformément au refus antérieur de son EULA.
|
|
|
|
`./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest`
|
|
passe en **2 min 12 s**, 125 tâches. Les sources JAR correspondent exactement
|
|
aux sources du dépôt. La comparaison avec beta.119 limite les différences de
|
|
production aux classes de clé/assemblage, aux deux nouveaux hooks, au rendu
|
|
et aux libellés prévus ; toutes les autres ressources sont identiques.
|
|
Les packs normal/Test contiennent le même JAR Sanctuary et aucune sauvegarde
|
|
ni fixture de test.
|
|
|
|
- Sanctuary-beta.120.mrpack : 10237973 octets, SHA-256
|
|
`86b5e480a12ba20b5c1e308c77dbb54bdf8a56806915fb32ca2d16f9a72cc9c9`.
|
|
- Sanctuary-Test-beta.120.mrpack : 10256895 octets, SHA-256
|
|
`2e3818483ba7dfa6e5652b97933e105a44e7cc4b269fc567116bf895d54bd8d9`.
|
|
- JAR Sanctuary : SHA-256
|
|
`8e35ef0f134a46b7760604175ad768264946d31fdd0694982e049e7a928fde2a`.
|
|
|
|
Reçu local : `build/wrench120-artifact.json`.
|
|
|
|
## Publication et installation
|
|
|
|
La [release beta.120](https://git.botsu.net/koka/sanctuary-beta/releases/tag/beta.120)
|
|
est publiée depuis `248dff47b7a0ebd11026230581fe69641dbde76d`. Le tag exact et les
|
|
artefacts sont immuables ; leurs téléchargements publics sont vérifiés.
|
|
Le canal packwiz avance à `e8060764a444a58b0a17318a3821dfeb1a0c33c6`.
|
|
|
|
Deux synchronisations isolées puis deux dans **Sanctuary Beta** réussissent.
|
|
Un seul JAR Sanctuary beta.120 est actif ; le second passage est identique.
|
|
Les **923 fichiers personnels et réglages suivis** restent inchangés, sans
|
|
ouvrir de monde personnel. Copie préalable dans
|
|
`sanctuary-backups/before-beta.120/` de l'instance existante. Reçus locaux :
|
|
`build/wrench120-isolated.json` et `build/wrench120-prism.json`.
|