You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4a4d25c
Browse filesBrowse the repository at this point in the historyBrowse files
fix(examples): redesign uv-layer-grid as framed tile panels on studio easels
The two lightbox displays read as a working and a dead monitor, so the
flat-teal hazard panel looked broken rather than wrong-UV. Each panel is
now a walnut-framed tile on an oak studio easel with a brass placard on the
ledge: NO UV LAYER (calc_uvs alone -> flat texel (0,0) teal) and
UV LAYER FIRST (pre-create + calc_uvs -> full checker). The face planes,
texture and pixel witness are unchanged. The render path now runs the
gallery_framing gate (exit 10); the missing-render-file check moves
from 10 to 15.
Evidence (live runs, local):
- .scratch/blender-5.2.1-windows-x64/blender.exe (Blender 5.2.1 LTS):
check-only exit 0; --precreate-on-hazard exits 3 ("calc_uvs=True without
a pre-existing layer created 1 UV layer(s)"); --output passes the pixel
witness: broken rgb=(0.037,0.271,0.371) spread 0.0078, fixed spread 0.7569.
- .scratch/blender-4.5.11-windows-x64/blender.exe (Blender 4.5.11 LTS):
check-only exit 0; --output exit 0 with identical pixel-witness numbers.
- Framing: fill x=0.691 y=0.872, margins l=0.166 r=0.144 b=0.028 t=0.100.
- Contact sheet (docs/gallery/contact-sheets/uv-layer-grid-contact-sheet.webp):
candidate luma 0.247 / stage 0.200 / warmth -0.255 / sat 0.306, against
armature-bend 0.279/0.213/-0.428/0.144, damped-track-aim
0.151/0.145/+0.277/0.231 and bmesh-gear 0.236/0.177/+0.303/0.250.
Stage and luma fall inside the set's range. Warmth is negative because
the cyan/teal panels dominate the brightest pixels in the lower half;
the warm wedge pool shows on the wall at right.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -371,7 +371,7 @@ result is watertight (every edge borders exactly two faces).
371
371
</tr>
372
372
<tr>
373
373
<tdwidth="46%"valign="middle">
374
-
<ahref="examples/uv-layer-grid/"><imgsrc="examples/uv-layer-grid/preview.webp"alt="UV layer grid: two framed lightbox displays on floor trays against a dark studio wall — leftone flat teal face (the calc_uvs silent no-op hazard), right a saturated magenta-cyan checker (the pre-create repair), under a warm wall pool" /></a>
374
+
<ahref="examples/uv-layer-grid/"><imgsrc="examples/uv-layer-grid/preview.webp"alt="UV layer grid: two walnut-framed tile panels on oak studio easels with brass placards — left, NO UV LAYER, one flat teal face (the calc_uvs silent no-op hazard), right, UV LAYER FIRST, a saturated magenta-cyan checker (the pre-create repair), under a warm wall pool" /></a>
Copy file name to clipboardExpand all lines: examples/gallery.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -301,7 +301,7 @@
301
301
"name": "uv-layer-grid",
302
302
"dir": "examples/uv-layer-grid",
303
303
"teaches": "The UV-layer authoring hazard — bmesh.ops.create_grid(..., calc_uvs=True) is a silent no-op unless a UV layer already exists; without one an Image Texture samples texel (0,0) everywhere.",
304
-
"alt": "Two lightbox panels: the left one flat teal with no UV layer, the right one a full magenta, cyan and green checker.",
304
+
"alt": "Two walnut-framed tile panels on oak easels with brass placards: NO UV LAYER on the left, flat teal, and UV LAYER FIRST on the right, a full magenta, cyan and green checker.",
305
305
"witnessesFix": "calc_uvs=True alone leaves 0 UV layers; pre-create + calc_uvs fills loops to the closed-form grid UVs ((x/size+1)/2, (y/size+1)/2) within 1e-6; explicit loop assignment is the calc_uvs-free fallback. The still is self-witnessing: the script re-reads its render and exits non-zero unless the hazard panel is one flat teal and the repaired panel a high-contrast checker.",
0 commit comments