fix(examples): restage swatch-grid as a tiered material library with a glowing emissive - #259
Merged
Merged
Conversation
…a glowing emissive The gallery's first card rendered its emissive swatch as a flat, clipped orange disk: a bare Emission at strength 1.4 clips the red channel across the whole face under the Standard view transform, which Layer 1 forbids. The rest of the card was six bare spheres against a wall, which read as generic at thumbnail size. The same asserted ShaderNodeEmission now owns the camera-facing face at strength 0.95 (below clipping) and hands over to a dark dielectric shell at the silhouette through a Layer Weight facing ramp, so the globe has a limb; a shadowless point at its center throws its glow onto its own collar, plinth and the floor. The spheres sit in gunmetal collars on bevelled graphite plinths in two tiers on the default stage with a 50 mm tracked camera. verify_png now samples each swatch at its camera-projected center instead of the center of an image third, so the six-region check follows the layout. Every asserted material, the --same-base falsifier and the engine-id witness are unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed and why
The gallery review flagged swatch-grid, the gallery's first card. Its emissive sphere rendered as a flat, clipped orange disk: a bare
Emissionat strength 1.4 clips the red channel across the whole face under Standard, which Layer 1 forbids. The other five spheres were bare spheres against a wall and read as generic at thumbnail size.ShaderNodeEmission(color(1.0, 0.35, 0.05)) now runs at strength 0.95, so no channel reaches 1.0. It owns the face toward the camera, and aLayer Weightfacing ramp hands it over to a dark dielectric shell at the silhouette, which gives the globe a limb. A shadowless warm point light at its center adds the glow on its own collar, its plinth and the floor. The shell is lit from inside only on back faces, so the ball itself still shows only the asserted emission. Emission is created first, soswatch_rgband--same-basestill read and flatten it.TRACK_TOcamera keeps the floor/wall seam above the back row.verify_pngfollows the layout. Before, it sampled the center of each image third. Now it projects each swatch center through the render camera (world_to_camera_view), with the patch scaled to the render width. It also prints the per-swatch patch means and the closest pair distance.--same-base, the engine-id witness, and the exit codes.Before / after
docs/gallery/contact-sheets/swatch-grid-contact-sheet.webpmainhero. After: branch heroGate numbers (5.2.1 LTS, EEVEE, 1280x720)
framing_ok.Verdicts:
Not sortable as the odd one out. This is not an asset-type example, so there is no asset-sheet gate.
measure_hero_drift.py --only swatch-gridgives mean_abs 0.0032, gt2pct 0.38 %, verdict matches.render_hero.py(hero 25.9 KB, preview 23.9 KB).build_gallery.pyregenerated the pages. I read the generated<img alt>indocs/gallery/index.htmlanddocs/gallery/swatch-grid/index.html, and it matches the new gallery.json alt in full.Check runs (
tests/smoke/run_example.py)--engine cycles --samples 8 --width 640)--output1280E:\Blender-Developer-Tools\.scratch\blender-5.2.1-windows-x64\blender.exe(Blender 5.2.1 LTS)...\blender-5.1.2-windows-x64\blender.exe(Blender 5.1.2)...\blender-4.5.11-windows-x64\blender.exe(Blender 4.5.11 LTS)BLENDER_EEVEE_NEXT)Falsifiers
--same-base(5.2.1): exit 3,distinct swatch colors 1 != 6. Unchanged.verify_pngwith projected sampling. Probe: a scratch copy that flattens every swatch color to grey after the data check, so only the pixel check can catch it. Cycles 8 spp at 640 on 5.2.1: exit 3,distinct_regions=4, closest pair 0.057 (needs > 0.10). Restored, and the real script passes as above.Proven by live run vs established by inspection only
Proven by live run:
build_gallery.pyoutput with its generated alts.By inspection only:
use_shadow=False, so it hits only back faces. I did not run a with/without A/B render to measure it.specular_factoron the glow light only affects EEVEE. Cycles ignores it, and the smoke render is Cycles, which does not gate clipping.🤖 Generated with Claude Code