6.4 KiB
LIGHT-140 — Lumières colorées portées et distance
Socle beta.139 c05c338, branche codex/colored-dynamic-beta140.
Minecraft 26.3 / Java 25. Livraison beta.140.
Contrat
Relier les couleurs aux vraies sources de lumière dynamique : mains, tête, cosmétiques, objets au sol et feu, selon le système existant. Renforcer la teinte et activer les lumières colorées par défaut à 30 %. Ajouter une distance d'affichage de 8, 16, 32 ou 64 blocs (16 par défaut), indépendante de la portée native de chaque source. Augmenter la distance coûte davantage en mémoire et calcul ; aucun chargement forcé de chunk. Les choix sauvegardés sont conservés.
Sources portées actualisées avec le système dynamique, sans reconstruire tout le champ statique à chaque mouvement. Aucun changement de monde ou de règle serveur. Vérifications natives OpenGL et Vulkan, puis construction et archives.
Couleurs et fondus
Torches ordinaires : température native par défaut ; option « Torches chaudes » pour retrouver l'orangé. Glowstone jaune, lave jaune-rouge, redstone rouge saturé, cuivre vert (posé, en main ou sur la tête). Le cuivre est reconnu avant les familles génériques de torches et lanternes. Les palettes explicites restent indépendantes des packs ; le repli des autres matériaux suit leurs textures.
Le rendu s'atténue sur le dernier quart de la distance choisie. Le champ précédent reste disponible pendant un fondu de 300 ms vers le nouveau champ ; l'activation et les sources dynamiques ont aussi un fondu. Le changement de distance est interpolé. Les sources mobiles utilisent la même sélection bornée et les mêmes intensités que la lumière dynamique existante, avec interpolation visuelle des positions et couleurs. Elles héritent de sa propagation radiale, y compris de ses limites d'occultation ; les blocs posés conservent leur propagation avec murs.
Le volume varie réellement selon la distance (56, 72, 104 ou 168 blocs de côté, avec marge de propagation). Les grandes distances augmentent la mémoire et le délai de reconstruction ; la construction reste répartie entre les images. Deux champs coexistent brièvement pour le fondu. Seuls les chunks déjà chargés sont lus. La portée lumineuse native des torches n'est pas allongée.
Frontières de saturation
Le stockage beta.139 tronquait les canaux faibles séparément en fin de portée : un bleu pouvait perdre son rouge avant son vert, puis devenir plus saturé sur une frontière visible. Le stockage logarithmique conserve maintenant une marge sous le niveau lumineux natif zéro. Le shader applique la coupure à l'énergie globale en conservant les rapports RGB. La réponse devient linéaire près du noir, sans amplification par racine quatrième des très faibles contributions.
La transition des champs interpole le résultat colorimétrique rendu, pas une énergie ensuite amplifiée. Les sources mobiles ont une atténuation de fondu compensée pour la même réponse. Le test contrôle les rapports rouge/bleu et vert/bleu d'une torche des âmes de 1 à 9 blocs, jusqu'au bord de sa portée.
Vérifications natives
Minecraft 26.3 / Java 25 sur Apple M1, mondes de test neufs de graine 122 :
- OpenGL 4.1 Metal : 2 min 40 s,
build/colored140-opengl.log. - Vulkan / MoltenVK 1.4.2, profondeur 0–1 et transparence améliorée :
2 min 26 s,
build/colored140-vulkan.log.
Les deux exécutions passent COLORED139_PASS et COLORED140_PASS :
propagation avec murs, sources hors champ, lampes allumées/éteintes, retrait,
rechargement des ressources, cache, déplacement/retour de caméra, OFF/zéro,
préférences et traductions FR/EN. Les nouveaux contrôles couvrent la teinte
bleue jusqu'à neuf blocs, la torche native inchangée, l'option chaude, le cuivre
vert et le rouge saturé, les deux mains et le cosmétique de tête, la position
en troisième personne, les quatre distances et un fondu sans dépassement.
Dans la même scène contrôlée, la somme d'écarts OFF/torche chaude à 30 % vaut
3 926 093 / 3 926 092 sur OpenGL/Vulkan, contre 2 025 577 en beta.139 à 35 %.
Cette mesure vérifie l'accentuation demandée, pas la performance. Le test fige
uniquement le scintillement de la lightmap native ; cette sonde et les tests
client ne sont pas distribués. Les captures finales sont conservées sous
build/colored140-opengl-screenshots/ et build/colored140-vulkan-screenshots/.
Comparatif autonome : build/Shader-beta.140-comparaison.html.
Pas de validation des pilotes Windows de l'utilisateur revendiquée. Les limites de beta.139 pour le rendu sous l'eau/lave et les panoramas restent ouvertes. Les sources dynamiques gardent l'occultation du système existant. Aucun monde personnel ouvert ni modifié.
Construction et archives
./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest
réussit en 2 min 22 s, 126 tâches. Le GameTest serveur dédié reste exclu
conformément au refus EULA antérieur ; les tests clients ci-dessus sont exécutés
séparément. Log : build/shader140-build.log.
La comparaison avec beta.139 trouve 18 entrées de production modifiées,
limitées aux lumières dynamiques/colorées, options et aides FR/EN. Les sources
des JAR correspondent aux fichiers du dépôt. Les archives normale/Test contiennent
le même JAR Sanctuary ; la version, les dépendances exactes, les textures de
gemmes et de la clé de Steve, l'absence de classes de test et le template complet
sont vérifiés. Reçu : build/shader140-artifact.json.
SHA-256 du JAR : 853284c1a61c7fce12edd2f7763717321eef56977290eb0e7c5db5e30bff442f.
- Sanctuary-beta.140.mrpack :
1b366746e4d6bebfbe0115c849524bdeb81c14eee89a2510f9dbe18808974d6a. - Sanctuary-Test-beta.140.mrpack :
50c3cdf759117bb5286d41b4535fde15d9d84deaac833b7f8f61c4a0d29b72e7.
Livraison
Release beta.140
publiée sur le commit source 6e1b3b71088437fe57cf2b9b979b6d62711628d3 ; canal stable
2c360a0759d4a164f82c89ac2bef04ff69d50875 vérifié après publication.
Deux synchronisations isolées puis deux dans la même instance Sanctuary Beta
réussissent. Les 923 fichiers personnels suivis gardent leurs hashes.
Sauvegarde préalable : sanctuary-backups/before-beta.140/. Aucun monde personnel
ouvert. Reçus : build/shader140-isolated.json et build/shader140-prism.json.
Archives normale/Test/template et comparaison copiées dans sanctuary-beta/build/.