109 lines
6.4 KiB
Markdown
109 lines
6.4 KiB
Markdown
# SCULPT-11 — Placement, éclats et modèles découverts — beta.125
|
|
|
|
Contrat du 17 septembre 2026, branche `codex/sculpture-placement-beta125`.
|
|
|
|
Le point visé choisit neuf positions horizontales (centre, quatre bords et quatre
|
|
coins) et trois hauteurs (bas, milieu et haut). Sur un support, la sculpture
|
|
repose au bas de son bloc ; sous un plafond, elle touche le haut ; sur une face
|
|
latérale, elle suit la hauteur visée et reste contre le support. Les sculptures
|
|
restent debout et s'orientent selon le regard horizontal du joueur.
|
|
La bande centrale occupe les huit pixels médians, limites incluses. Toute pose
|
|
reste sur la grille 1/16 : une dimension impaire utilise le centre entier le
|
|
plus proche, jamais un demi-voxel. Rendu, boîte unique de sélection et collision
|
|
partagent les mêmes offsets. La lumière conserve les règles de beta.122.
|
|
|
|
## Compatibilité additive des états existants
|
|
|
|
Les cinq anciennes valeurs `anchor` gardent exactement leurs noms. Quatre
|
|
valeurs de coin sont ajoutées. La nouvelle propriété `vertical_anchor` accepte
|
|
`bottom`, `center`, `top` et `original`, valeur par défaut réservée à la
|
|
compatibilité. La lecture d'un ancien bloc sans cette propriété conserve
|
|
l'ancienne hauteur, même si le modèle a des marges transparentes en bas.
|
|
Le bloc possède 144 états : 108 placements nouveaux et 36 états de compatibilité.
|
|
|
|
Le schéma 1 des sculptures, leurs données de voxels et tous leurs identifiants
|
|
restent inchangés. Aucun monde n'est parcouru ou réécrit, aucun chunk régénéré.
|
|
Les nouveaux ancrages nécessitent beta.125 ; le retour à une version antérieure
|
|
ne garantit pas leur position. Ce contrat autorise l'ajout compatible des états,
|
|
pas une migration destructive des sauvegardes personnelles.
|
|
|
|
## Particules
|
|
|
|
Les coups et la casse émettent des éclats de la couleur des surfaces voxelisées
|
|
réellement affichées, avec leur orientation et leur ancrage. Un coup vise la
|
|
surface réelle la plus proche du point sélectionné, même devant un trou visuel.
|
|
La casse échantillonne au plus 64 faces ; aucun calcul de texture n'est refait.
|
|
Les éclats utilisent une taille de voxel, la gravité et la lumière natives.
|
|
Une petite mémoire par monde (128 entrées de 64 faces, validité 40 ticks) conserve les
|
|
surfaces si la suppression du bloc précède l'événement de casse. Les autres
|
|
blocs gardent leurs particules habituelles.
|
|
|
|
## Clay Workshop
|
|
|
|
L'onglet Animaux utilise exactement les découvertes serveur du catalogue de
|
|
statues (rencontre, victoire ou mort face à l'espèce). Le menu transmet cette
|
|
liste à chaque ouverture, sans dépendre d'une visite préalable au Métabli.
|
|
Le modèle natif et sa texture sont capturés localement, voxelisés en miniature,
|
|
puis recolorés par la matière choisie. Le résultat reste fabriqué et payé côté
|
|
serveur. Les sélections d'espèces non découvertes sont refusées. L'onglet Imports
|
|
conserve les fichiers GLB. Aucun nouveau format de sculpture n'est introduit.
|
|
Libellés FR et EN.
|
|
|
|
## Vérifications
|
|
|
|
Le parcours natif `Sculpture125ClientChecks` passe en **1 min 2 s**, client
|
|
Minecraft 26.3 sur macOS et serveur intégré jetable (graines 125 et 122).
|
|
|
|
- 54 clics réels sur les six faces : centres, bords, coins et hauteurs.
|
|
- 432 contextes de pose, coordonnées positives/négatives, quatre orientations,
|
|
rotations et miroirs ; 144 états valides.
|
|
- 20 anciens états sans `vertical_anchor` conservent leur hauteur et marges.
|
|
- Couleur exacte des éclats au point frappé, surfaces réellement occupées,
|
|
limite de 64 fragments, événement après suppression et particules normales
|
|
d'un bloc de pierre témoin.
|
|
- Atelier : découvertes par rencontre, victoire et mort, transmission native
|
|
du menu, refus serveur d'une espèce inconnue, trois modèles natifs (vache,
|
|
mouton, cochon), paiement d'un bloc en survie et import GLB conservé.
|
|
- Sauvegarde et reconnexion avec les nouveaux coins et hauteurs.
|
|
- 576 formes comparées aux limites du maillage affiché, boîte unique partagée,
|
|
cache réutilisé et 12 arêtes ; 9 216 empreintes orientées sur grille entière.
|
|
- 75 sculptures superposées : ciel à 15, lumière de bloc à 13 après traversée,
|
|
pièce noire à 0. Pose dans le joueur refusée, même devant un trou visuel.
|
|
|
|
Marqueurs dans `build/sculpture125-client.log`. Captures de plafond, murs et
|
|
atelier relues dans `build/sculpture125-evidence/`. Aucun essai Windows,
|
|
client distant ou shader tiers ; trois espèces vérifiées visuellement, sans
|
|
prétendre avoir inspecté chaque espèce. Aucun benchmark FPS global.
|
|
|
|
Le GameTest dédié demeure exclu conformément au refus antérieur de son EULA.
|
|
Les mondes de test sont jetables ; aucun monde personnel n'est ouvert.
|
|
|
|
`./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest`
|
|
passe en **2 min 16 s**, 126 tâches (110 exécutées, 16 à jour). Les sources
|
|
des JAR correspondent exactement au dépôt. La comparaison avec beta.124
|
|
limite les différences aux classes de placement, particules et atelier prévues,
|
|
aux nouveaux libellés FR/EN, au mixin client et à la source blanche de particules.
|
|
Les packs normal/Test partagent le même JAR, sans monde ni fixture ; le template
|
|
reproduit les ressources du mod et du pack intégré.
|
|
|
|
- Sanctuary-beta.125.mrpack : 10286360 octets, SHA-256 `9277e59c640c40392ab3750b402bb840020884878f6ece6978e6c4653e18655e`.
|
|
- Sanctuary-Test-beta.125.mrpack : 10305282 octets, SHA-256 `9e3dbfa14b5382ba4eb62a78fa7d2161758c2f0e1fdc50fbd5ed776fd4ce32c5`.
|
|
- JAR Sanctuary : SHA-256 `b38b75b900dd8cbe015318c739d5547fd7eac52f4337fa517e98f3f6f0ce3b46`.
|
|
|
|
Reçu local : `build/sculpture125-artifact.json`. Les deux packs et le template
|
|
sont copiés et vérifiés dans le dossier habituel `sanctuary-beta/build/`.
|
|
|
|
## Publication et installation
|
|
|
|
La [release beta.125](https://git.botsu.net/koka/sanctuary-beta/releases/tag/beta.125)
|
|
est publiée depuis `4ec5b0d028a23a9f753770988ffba61015e2e49a`.
|
|
Tag et artefacts immuables, téléchargements publics vérifiés. Canal packwiz :
|
|
`47eb833911a96eef0b13805dafe65b2ab7b95c87`.
|
|
|
|
Deux synchronisations isolées puis deux dans l'instance **Sanctuary Beta**
|
|
réussissent. Un seul JAR Sanctuary beta.125 est actif, conforme au hash vérifié ;
|
|
le second passage ne change rien. Les **923 fichiers personnels et réglages
|
|
suivis** restent inchangés, sans ouverture de monde personnel. Copie préalable
|
|
sous `sanctuary-backups/before-beta.125/`. Reçus :
|
|
`build/sculpture125-isolated.json` et `build/sculpture125-prism.json`.
|