Files
sanctuary-beta/docs/head-render-beta066.md
2026-09-16 11:41:27 +02:00

66 lines
3.4 KiB
Markdown

# beta.066 — cosmétiques animés sans doublon
Branche `codex/cosmetic-render-beta066`.
## Contrat
Un coffre porté n'affiche qu'un coffre : son couvercle s'ouvre et se ferme
sans laisser un second coffre fermé dessous. Une cloche portée conserve
son support et une seule cloche qui oscille. Le même correctif s'applique
aux modèles partagés avec les mobs portant un cosmétique.
Minecraft 26.3 distingue la géométrie du bloc posé de son modèle isolé.
Ce dernier peut déjà inclure un coffre fermé, une cloche fixe ou un livre.
Sanctuary dessinait ce modèle isolé puis le rendu animé de l'entité de bloc.
Le rendu avec une entité de bloc utilise désormais la géométrie native du
bloc posé pour ses parties fixes, avec les teintes et la lumière du bloc,
puis l'entité de bloc pour les parties animées.
Les panneaux conservent leur modèle isolé : Sanctuary soumet séparément
leur texte, pas une deuxième planche. Les bannières et les têtes conservent
leur rendu personnalisé ; les lits et portes gardent leurs deux moitiés.
Le feu de camp conserve sa base et les aliments synchronisés. Aucun asset
n'est remplacé. Aucun changement serveur, d'interaction, de stockage,
de sauvegarde ou de génération.
## Vérification
Le parcours `Cosmetic066ClientChecks` crée un monde plat de développement,
utilise les modèles et le collecteur de rendu natifs, et reçoit les événements
du serveur intégré. Avant correction, le test reproduit deux soumissions
`ChestModel` pour un seul cosmétique ouvert. Après correction, les
contrôles n'en comptent plus qu'une.
Le parcours client réussit en 40 secondes :
- coffres normal, piégé, de l'Ender et Shulker : une seule représentation,
ouverture et fermeture issues des événements serveur ;
- cloche : un seul modèle animé, un support fixe, oscillation puis arrêt ;
- feu de camp : base conservée et aliment reçu du serveur visible ;
- table d'enchantement : un seul livre sur sa base ; panneaux, bannière,
tête de joueur, lit complet, porte complète, four et étagère conservés ;
- douze cas de coffres/cloches sur poules, vaches et zombies adultes ou bébés.
Le test compte les soumissions réelles de modèles, pas seulement la présence
d'un état d'animation. Les captures avant/après du coffre et celle de la cloche corrigée ont
été relues dans `build/cosmetic066-evidence/`.
Journaux : `build/cosmetic066-before.log`, `build/cosmetic066-client.log`.
`./gradlew check build assemblePack assembleTestPack` réussit en 2 min 22 s
avec `-x :sanctuary:runGameTest -PsanctuaryClientTests=true
-PsanctuaryQuickTests=true`. Le parcours client dédié utilise aussi
`-PsanctuaryCosmetic066ClientTests=true -PsanctuaryClientNoVsync=true`.
Les tests avec serveur dédié restent exclus ; la validation des animations
utilise le serveur intégré du client.
Les deux archives sont vérifiées contre les 1 645 classes et les ressources
compilées. Seul `HeadCosmeticModels` change dans les sources principales
par rapport à beta.065. Les textures, JEI et les archives beta.065 restent
identiques. Le code de Demeure reste identique ; sa version suit le pack.
Reçu : `build/cosmetic066-artifact.json` ; build : `build/cosmetic066-check.log`.
[Pack normal](../build/Sanctuary-beta.066.mrpack) ·
[Monde plat rapide](../build/Sanctuary-Test-beta.066.mrpack).
Archives locales, sans publication du canal ni déploiement personnel.
Une session avec plusieurs clients distants n'a pas été relancée.