6.1 KiB
LIGHT-139 — Lumières colorées
Socle beta.138 + vérification Vulkan 9d84a02, Minecraft 26.3 / Java 25.
Branche codex/colored-lights-beta139, livraison beta.139.
Contrat
Option locale « Lumières colorées » avec intensité. Les vrais blocs émetteurs teintent discrètement leurs environs, y compris hors champ. Torches/lanternes, lave et feu chauds ; sources des âmes bleues ; redstone active rouge ; froglights par variante ; sources Sanctuary selon leur texture/matière. Les blocs éteints n'émettent pas. Le bloom et les inclusions émissives des minerais restent indépendants ; aucune lumière de gameplay n'est ajoutée.
Propagation RGB dans un volume local de blocs chargés, obstacles et formes natives, construction répartie entre les images, cache des couleurs de matériaux. Aucun chargement forcé de chunk, accès aux mondes personnels, changement de sauvegarde, réseau ou règles serveur.
Réalisation
Dans les options du shader : « Lumières colorées », désactivées initialement, et une intensité de 0 à 100 %, réglée à 35 %. Zéro ou OFF libère les ressources. Les préférences existantes sont conservées. Libellés et aides FR/EN.
Les familles vanilla demandées ont une palette dédiée. Les autres émetteurs, y compris ceux de Sanctuary, utilisent la couleur des pixels lumineux de leurs textures de modèle, calculée puis mise en cache. Ce repli suit les packs de ressources ; les palettes dédiées vanilla restent constantes. Une texture illisible ou sans pixels exploitables utilise du blanc. Les blocs purement émissifs du bloom, sans émission lumineuse native, ne deviennent pas des lampes.
Le champ couvre un cube de 64 blocs de côté autour de la caméra. Une marge de 14 blocs réserve la propagation aux sources présentes dans le volume ; le rendu s'atténue progressivement sur 4 blocs à sa périphérie. C'est donc un effet de proximité, pas une illumination de tous les chunks visibles. Les formes et l'opacité natives règlent le passage de la lumière. Les canaux utilisent des maxima indépendants, sans addition illimitée des sources superposées.
Le calcul CPU est réparti avec un budget visé de 2 ms par image, plus les allocations et chargements ponctuels de matériaux ; aucun chiffre de FPS n'est garanti. Un monde immobile réutilise son champ. Les changements rapides et les déplacements peuvent présenter un bref retard, le temps de publier un champ complet. Aucun chargement forcé de chunk. Une texture 512 × 512 contient le champ. La passe GPU teinte les surfaces visibles, atténue l'effet au soleil et dans le brouillard, puis laisse agir le SSGI et le bloom. Les sources tenues, entités, particules et le rendu sous l'eau/lave ne sont pas couverts par cette option.
Vérifications
Essais client natifs réussis dans des mondes neufs (graine 122) sur Apple M1 :
- OpenGL 4.1 Metal : 1 min 46 s,
build/colored139-opengl.log. - Vulkan / MoltenVK 1.4.2, profondeur 0–1 et transparence améliorée :
1 min 30 s,
build/colored139-vulkan.log.
Les deux journaux contiennent COLORED139_PASS et le backend réellement actif.
Torche et torche des âmes hors champ, trois froglights, pierre lumineuse dont
la couleur vient de sa texture, intensité 35/100, cache statique, déplacement
et retour de caméra, mur fermé puis ouvert, lampe redstone allumée puis éteinte,
retrait de source, rechargement des ressources et OFF/zéro vérifiés.
Les préférences persistantes et les libellés FR/EN sont contrôlés ; une dernière
capture active conjointement PBR, SSGI, bloom, ombres, highlights et rayons.
Les sommes d'écart entre OFF et 35 % sont presque identiques entre backends :
torche 2 025 577 / 2 025 576 ; âmes 964 200 / 964 201. Il s'agit de mesures
sur les pixels de cette scène, pas d'un indice de performance.
Comparatif autonome : build/Shader-beta.139-comparaison.html.
Pas de validation du pilote Vulkan Windows de l'utilisateur revendiquée.
Le test fige uniquement le scintillement vanilla des torches afin de comparer
les images ; cette sonde est exclue du JAR distribué. Aucun monde personnel ouvert.
Diagnostic des essais
La première comparaison de stabilité détectait le scintillement natif de la lightmap des torches, même avec un champ coloré inchangé. La sonde de test stabilise ce seul facteur ; aucune désactivation de scintillement en production. La pièce d'essai est désormais construite après le chargement de ses chunks, et l'absence de lumière du ciel est vérifiée avant les captures.
Construction et archives
./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest
réussit en 2 min 22 s, 126 tâches. Le serveur GameTest dédié reste exclu
conformément au refus EULA antérieur. Log : build/shader139-build.log.
La comparaison à beta.138 trouve 13 entrées de production modifiées,
limitées au shader, à son menu et aux aides FR/EN. Les sondes de test sont
absentes du JAR distribué. Sources, archives normale/Test et template complets
vérifiés ; textures des gemmes et clé de Steve conservées à l'identique.
Reçu local : build/shader139-artifact.json.
JAR SHA-256 : 7b958f6576adbabb2b1af589b866cb52b1a65600ea2fa505b05dd283f8d595df.
Sanctuary-beta.139.mrpack: 10450317 octets ; SHA-25613f3a283c260876d28ce0c6504615b4a8f4d575906badfbb2b39558f312e9fbb.Sanctuary-Test-beta.139.mrpack: 10469244 octets ; SHA-256c1e0b684dc2650950a0925c4625ef5eb4b78fb5f1c5680f5e302550424fa6d81.
Publication et instance
Release beta.139
publiée depuis dc33ffa54697f61cd8f579235e7cebdbf0765f7c, tag exact beta.139.
Canal packwiz : 9f10167b6acfece9c045573580e186aa72bc91dc.
Deux synchronisations isolées puis deux synchronisations de la même instance
Prism réussissent. Un seul JAR Sanctuary beta.139 actif, empreinte identique
à l'archive vérifiée ; les 923 fichiers personnels suivis conservent leurs
empreintes. Sauvegarde des fichiers gérés dans
sanctuary-backups/before-beta.139/. Aucun monde personnel ouvert.
Reçus : build/shader139-isolated.json, build/shader139-prism.json.