Files
koka 7f576d14d9
Build Sanctuary / build (push) Waiting to run
Record beta.137 release and verified Prism update
2026-09-18 01:01:59 +02:00

5.3 KiB
Raw Permalink Blame History

SHADER-137 — Rayons solaires volumétriques

Demande validée : faisceaux légers découpés par les blocs, carte d'ombres partagée, feuillage perméable, rendu natif préservé, option et intensité indépendantes du bloom. Socle beta.136, branche codex/sunshafts-beta137, Minecraft 26.3 / Java 25. Aucun changement de monde ni de gameplay.

Contrat

Soleil uniquement ; activé initialement à 35 %, intensité 0100. Intégration de 16 segments par pixel à un quart de chaque dimension. Reconstruction guidée par la profondeur, sans historique ni bruit animé. Réutilisation du masque de feuillage déjà stable dans les ombres. La carte solaire peut fonctionner sans afficher les ombres sur les surfaces. Portée bornée à 64 blocs et à la moitié de la portée des ombres. Atténuation aux limites de la carte, à l'horizon et avec la météo.

Rendu et coût borné

Deux passes : intégration dans une cible RGBA16F de largeur et hauteur divisées par quatre, puis reconstruction guidée par la profondeur. Seize segments quadratiques privilégient les premiers mètres ; quatre lectures fixes de la carte d'ombres par segment adoucissent seulement la lumière dans l'air. La dernière portion du rayon rétrécit continûment à l'approche d'une surface. La lumière utilise une teinte solaire chaude mélangée au brouillard natif.

La carte d'ombres et ses maillages sont partagés, y compris les trous de transmission déterministes des feuilles. Aucune copie d'image plein écran, aucune duplication du terrain, aucune lecture GPU côté CPU ni accumulation entre images dans le rendu de production. OFF/zéro libèrent le volume ; la carte d'ombres reste seulement si les ombres de surface sont activées. Le soleil sous l'horizon et la submersion suspendent les rayons.

Vérifications

Scénario natif réussi en 1 min 41 s sur macOS / Apple M1 / OpenGL : pièce entièrement fermée, toit ajouré OFF/35/100, feuilles puis ciel ouvert, déplacement de quatre blocs et retour, caméra proche d'un mur à 0,5 puis 0,125 bloc, soleil hors champ, nuit, OFF/zéro, carte d'ombres partagée, effet combiné, redimensionnement à 961 × 541 et rechargement des ressources. Préférences vierges/partielles/personnelles, bornage et libellés FR/EN également vérifiés. Log : build/shader137-client-final.log, marqueur SUNSHAFT137_PASS. Comparatif autonome : build/Shader-beta.137-comparaison.html.

La première tentative s'est arrêtée sur une comparaison de gain brut entre feuillage et ciel ouvert. La composition dispose de moins de marge sur un mur déjà clair : le test compare maintenant la contribution normalisée sur les mêmes surfaces, et les feuilles du scénario sont persistantes. Aucun seuil du rendu n'a été assoupli pour faire passer ce contrôle.

Les contrôles natifs existants du bloom, des vingt textures de minerais émissifs et du lens flare réussissent également en 1 min 32 s, avec leurs seuils inchangés. Log : build/shader137-regression.log, marqueurs EMISSIVE131_PASS et LENS_FLARE136_PASS. Les autres effets sont explicitement isolés dans les scénarios qui nécessitent une image témoin sans rayons.

Limites

Le volume utilise les formes présentes dans la carte d'ombres existante : il n'ajoute pas de projection d'ombre des entités ou des nuages. Le feuillage reste une approximation par transmission déterministe. Portée maximale de 64 blocs, atténuée à son extrémité. Le faible nombre de segments et la résolution réduite peuvent lisser les ouvertures très fines. Aucun résultat Windows/Vulkan ni mesure de FPS revendiqués.

Construction et archives

./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest réussit en 2 min 27 s, 126 tâches. Le serveur GameTest dédié reste exclu conformément au refus EULA antérieur. Log : build/shader137-build.log. Comparaison à beta.136 : 11 entrées de production modifiées, uniquement le rendu, ses préférences et ses libellés. Gameplay et textures des gemmes strictement conservés. JAR normal/Test identique, sources et template vérifiés. Reçu local : build/shader137-artifact.json.

  • Sanctuary-beta.137.mrpack : 10431723 octets ; SHA-256 6684d1dbe48cd3031b373a03d4380519fdbf5d841e1c7cb5e290dec63b5ba9f6.

  • Sanctuary-Test-beta.137.mrpack : 10450650 octets ; SHA-256 32b0cee60152b6a5c8f31b248391c79a5fdf47b649de74902b066457ad4785ef.

JAR : f1fbc106b4b048753f9a669af37e9c12f92168af486d4072f514e86920c81faa.

Livraison

Release beta.137 publiée depuis 2d7072b8a8febac53354e9d0063246ac1e843e37. Canal packwiz 68cb39a5edbf5d34def02f670e2488ee852605b8 ; téléchargements publics vérifiés par SHA-256. Deux synchronisations isolées puis deux dans la même instance Sanctuary Beta réussissent. Un seul JAR beta.137 actif ; les 923 fichiers personnels suivis, dont sauvegardes et préférences, gardent leurs hashes. Copie préalable dans sanctuary-backups/before-beta.137/, aucun monde personnel ouvert.

Packs normal/Test/template et comparatif natif également vérifiés dans sanctuary-beta/build/. Le checkout original garde ses changements préexistants. Reçus locaux ignorés : build/shader137-artifact.json, build/shader137-isolated.json, build/shader137-prism.json, build/shader137-publication.log.