91 lines
4.9 KiB
Markdown
91 lines
4.9 KiB
Markdown
# STAT-04 — Sculptures d’argile et accroche au bord — beta.113
|
||
|
||
Contrat du 17 septembre 2026, branche `codex/clay-sculpture-grid-beta113`.
|
||
|
||
Les miniatures de l’atelier deviennent des « sculptures d’argile » / « Clay
|
||
sculptures ». Le nom du modèle reste dans leur infobulle. Les statues en blocs
|
||
du Métabli restent une catégorie distincte.
|
||
|
||
À la pose, le bord horizontal le plus proche du point visé accueille la
|
||
sculpture. L’autre axe est centré au pixel entier le plus proche, sur la grille
|
||
de 1/16 de bloc. Sur une face latérale, elle touche le bord du bloc support.
|
||
À égalité exacte entre deux bords, l’axe Z départage ; au centre exact,
|
||
le bord côté joueur est retenu. L’orientation suit toujours le regard.
|
||
Le bouton Tourner prépare le modèle avant fabrication. Les marges horizontales vides du modèle ne créent pas de décalage au bord.
|
||
Tous les sommets restent
|
||
sur la grille entière, même avec des dimensions impaires et après rotation.
|
||
|
||
## Compatibilité préalable
|
||
|
||
La propriété native additive `anchor` du bloc `sanctuary:statuary` mémorise
|
||
`center`, `north`, `south`, `east` ou `west`. Un ancien état sans cette propriété
|
||
prend `center` : il reste centré, avec la correction visuelle du demi-voxel.
|
||
Le schéma 1, les voxels, noms de modèles et identifiants ne changent pas.
|
||
Il n’y a aucun parcours ni réécriture de chunks existants. La sauvegarde native
|
||
conserve l’accroche ; les rotations et miroirs de structures la transforment.
|
||
Casser et reposer choisit une nouvelle accroche sans modifier le modèle.
|
||
Les nouveaux objets emploient le nom traduit de leur type ; les noms déjà
|
||
enregistrés et les noms personnalisés restent conservés. La collision cubique
|
||
et la limite d’une sculpture par bloc restent inchangées. Client et serveur
|
||
doivent utiliser ensemble beta.113.
|
||
|
||
## Vérifications natives
|
||
|
||
Le parcours `Statuary106ClientChecks`, étendu par `Sculpture113ClientChecks`,
|
||
passe en **1 min 25 s**, sur Minecraft 26.3 et un monde plat jetable de graine 106 :
|
||
|
||
- 5 120 combinaisons de largeur/profondeur, orientation et accroche : contrôle
|
||
de la géométrie émise, grille exacte de 1/16 et absence de dépassement du bloc.
|
||
- Modèles avec marges transparentes, repères colorés pour vérifier le sens du
|
||
rendu et égalité de la géométrie centrée entre l’objet et le bloc.
|
||
- Vrais clics de pose sur les quatre bords : orientation, bord côté serveur,
|
||
réception côté client, butin/repose et conservation après reconnexion.
|
||
- Contextes natifs de pose sur les faces latérales et coordonnées négatives.
|
||
- Rotation/miroir de chaque combinaison d’accroche et d’orientation ; lecture
|
||
des anciens états sans `anchor`, avec et sans `facing`.
|
||
- Noms français/anglais des objets fabriqués, menu aux échelles 2 et 3,
|
||
fabrication payée, Maj-clic limité à la hotbar et régression Métabli.
|
||
|
||
```sh
|
||
./gradlew :sanctuary:runClientGameTest \
|
||
-PsanctuaryClientTests=true -PsanctuaryStatuary106ClientTests=true \
|
||
-PsanctuaryClientNoVsync=true -PsanctuaryQuickTests=true
|
||
```
|
||
|
||
Marqueurs `STATUARY113_PASS` et `SCULPTURE113_GEOMETRY_PASS` dans
|
||
`build/clay-grid113-client.log`. Captures relues dans
|
||
`build/clay-grid113-evidence/`. Le GameTest dédié reste exclu conformément au
|
||
refus antérieur de son EULA ; ces essais utilisent le serveur intégré macOS.
|
||
Pas de validation Windows ni depuis deux ordinateurs. Aucun monde personnel
|
||
n’a été ouvert.
|
||
|
||
## Livraison
|
||
|
||
`./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest`
|
||
passe en **3 min 11 s**, 125 tâches. Les sources JAR correspondent exactement
|
||
aux sources du dépôt. Les classes et ressources hors du ticket sont identiques
|
||
à beta.112. Les deux packs contiennent le même JAR, sans monde, GLB ni test.
|
||
|
||
- Sanctuary-beta.113.mrpack : 10173807 octets, SHA-256
|
||
`ed082ff29a0e9a70fd6786bc024241b276cb516bc09fb5151d6cb324604429bb`.
|
||
- Sanctuary-Test-beta.113.mrpack : 10192733 octets, SHA-256
|
||
`387f54dc77884a9c9bccdcc1904778ca7f0b2fbda126754fdc49b10a492e4602`.
|
||
- JAR Sanctuary : SHA-256
|
||
`e242d9fd2edeede922a72a10e988e29c2b49dea52105cfc9fc8573154849ead3`.
|
||
|
||
Reçu local : `build/clay-grid113-artifact.json`.
|
||
|
||
## Publication et installation
|
||
|
||
La [release beta.113](https://git.botsu.net/koka/sanctuary-beta/releases/tag/beta.113)
|
||
est publiée depuis `6166d0aa9eba3c3dd84b8b9f1501e3346231ac82`. Le tag exact
|
||
et les artefacts sont immuables ; les téléchargements publics sont vérifiés.
|
||
Le canal packwiz avance à `e4c16d517bfda4f2b688604cc61945a46a4513a9`.
|
||
|
||
Deux synchronisations isolées puis deux passages dans **Sanctuary Beta** ont
|
||
réussi. Un seul JAR Sanctuary beta.113 est actif, et le second passage conserve
|
||
les mêmes hashes. Les **923 fichiers personnels et réglages suivis** restent
|
||
identiques. Aucun monde personnel n’a été ouvert. La sauvegarde ciblée est
|
||
`sanctuary-backups/before-beta.113/` dans l’instance existante. Reçus locaux :
|
||
`build/clay-grid113-isolated.json` et `build/clay-grid113-prism.json`.
|