Files
sanctuary-beta/docs/food-panorama-beta039.md
2026-09-15 09:29:11 +02:00

67 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# beta.039 — connaissance alimentaire, panoramas et têtes numérotées
Contrat établi avant modification. Branche `codex/food-knowledge-beta039`.
Minecraft 26.3-pre-2 ; les autres travaux présents dans le dépôt sont conservés.
## Connaissance alimentaire
Laptitude « Connaissance alimentaire » coûte quatre niveaux dXP. Elle révèle
les apports avant dégustation. Sans elle, finir de consommer un aliment apprend
ses valeurs ; le tenir, le fabriquer, le planter, le donner à un animal ou
interrompre la consommation ne suffit pas. Les infobulles et les aperçus du HUD
suivent la même règle. Les réserves actuelles de faim et saturation restent
visibles. Les recettes et le droit de manger restent libres.
Un attachement serveur additif `sanctuary:food_knowledge`, schéma 1, mémorise
les identifiants goûtés et le reçu dachat. Il se sauvegarde avec lXP, se copie
à la mort et reste au New Game+. Aucun changement du schéma de progression ni
des anciens achats. À la première lecture, les critères réussis de ladvancement
Minecraft « Une alimentation équilibrée » peuvent attester une consommation,
uniquement si leur prédicat correspond à un seul type daliment. Une donnée
invalide est conservée et bloque l’écriture. Aucune sauvegarde personnelle
nest modifiée pendant les travaux.
## Captures de panorama
Une option de capture permet dutiliser la touche de screenshot pour produire
les six faces `panorama_0.png` à `panorama_5.png`, à 90° selon lordre Minecraft.
Chaque capture utilise un nouveau dossier, sans écraser dimages. Le mode normal
reste celui par défaut. Export complémentaire demandé : profondeur et masque de
brume reconstitué, avec paramètres de projection/fog pour rendre le calcul
explicite. Le moteur ne possède pas de texture de fog indépendante.
## Têtes numérotées et skin
Une nouvelle tête porte le pseudo suivi du numéro de mort, depuis le compteur
Minecraft `deaths` : première mort « Poupoutain 1 ». Lindice est figé au décès,
conservé au transport et au vidage. Les morts antérieures comptent ; le prestige
ne remet pas ce compteur à zéro. Les anciennes têtes sans indice affichent leur
nom sans inventer de numéro rétroactif. Le champ `death_number` est additif au
marqueur de tombe schéma 1. Les informations de mort et le retrait seul restent.
Le rendu cosmétique utilise le renderer natif des têtes, son cache de skins et
le profil stocké sur la tête.
## Validation
`./gradlew check build assemblePack assembleTestPack` passe, avec **68 tests
serveur** ciblant laccueil, la connaissance alimentaire, les tombes, la
progression, les inventaires, les accessoires, le cycle, les recettes et le temps
réel. Les 14 784 comparaisons entre aperçu alimentaire et consommation native
restent valides.
Le parcours client natif vérifie les infobulles cachées/apprises, un véritable
achat à quatre niveaux, le renderer de tête lié au cache du propriétaire,
louverture des options et deux captures successives de six faces à 256×256.
Chaque face fournit couleur PNG, profondeur PNG 16 bits, profondeur brute
float32 little-endian (`depth_N.f32`) et brume PNG 16 bits. `capture.json` décrit
lordre des faces, les matrices, la convention de profondeur inversée et les
paramètres du brouillard. Le test vérifie la profondeur des surfaces, la
projection, la restauration de la caméra/fenêtre/FOV et le screenshot normal.
Résolutions proposées : 256, 512, 1 024 (défaut), 2 048 pixels par face.
Le masque reconstruit la brume du terrain à partir de sa profondeur : transparence,
nuages, particules et shaders externes peuvent différer du rendu final. Il ne
constitue pas un buffer de fog natif séparé. Les six vues conservent la brume
visible. Captures et exports vérifiés dans `build/food039-evidence/release/`.
Pas de déploiement dans une installation personnelle.