From 53446202e1b964d027b9b3498f83f9e52e45e032 Mon Sep 17 00:00:00 2001
From: fOuttaMyPaint
Date: Fri, 24 Jul 2026 08:09:50 -0400
Subject: [PATCH] feat: add lightmap-uv-channel example
The second UV layer engines require for baked lighting, on a reusable
market cart (ground pivot, identity transforms, Cart.* datablocks,
watertight parts). Per-part UVMap/UVLight with active == UVLight and
active_render == UVMap re-asserted after the pipeline - uv_layers.new()
never moves the flags and the edit-mode UV ops clear both. UV0 untouched
by the second unwrap (drift 0.0; the clobber trap measured 2.068), every
UV1 loop inside [0,1], zero overlapping islands via an independent binned
strict-SAT scan (15 hits when falsified), min island distance 0.00401
against the nominal 0.002 pack margin, island census per part.
Byte-identical check output on 4.5.11 LTS and 5.1.2 (9 parts, 1114
islands).
Authoring hazards pinned: iterating a held MeshUVLoopLayer.data after
edit-mode UV ops segfaults 4.5.11 headless (EXCEPTION_ACCESS_VIOLATION,
5/5; survives on 5.1.2) - re-fetch layers by name; lightmap_pack silently
no-ops without prior unwrap. The ROADMAP UV atlas candidate is narrowed
to its remaining unbuilt slice (utilization); the UV-handle snippet note
gains the segfault confirmation.
The atlas board is built from live UV1 data so a change in the packed
layout moves the board geometry; --falsify stacks the second-largest
island onto the largest in emissive red.
Signed-off-by: fOuttaMyPaint
---
.cursor-plugin/plugin.json | 1 +
.github/workflows/blender-smoke.yml | 14 +
README.md | 22 +-
ROADMAP.md | 5 +-
.../assets/lightmap-uv-channel-hero.webp | Bin 0 -> 969996 bytes
.../contact-sheets/lightmap-uv-channel.webp | Bin 0 -> 45560 bytes
docs/gallery/index.html | 13 +-
docs/gallery/lightmap-uv-channel/index.html | 996 ++++++++++++++++++
examples/gallery.json | 13 +
examples/lightmap-uv-channel/README.md | 84 ++
.../lightmap_uv_channel.py | 674 ++++++++++++
examples/lightmap-uv-channel/preview.webp | Bin 0 -> 837352 bytes
12 files changed, 1818 insertions(+), 4 deletions(-)
create mode 100644 docs/gallery/assets/lightmap-uv-channel-hero.webp
create mode 100644 docs/gallery/contact-sheets/lightmap-uv-channel.webp
create mode 100644 docs/gallery/lightmap-uv-channel/index.html
create mode 100644 examples/lightmap-uv-channel/README.md
create mode 100644 examples/lightmap-uv-channel/lightmap_uv_channel.py
create mode 100644 examples/lightmap-uv-channel/preview.webp
diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json
index 01f46aa..e2118ec 100644
--- a/.cursor-plugin/plugin.json
+++ b/.cursor-plugin/plugin.json
@@ -80,6 +80,7 @@
"examples/grease-pencil-rosette",
"examples/image-pixels-testcard",
"examples/light-link-studio",
+ "examples/lightmap-uv-channel",
"examples/lod-decimate-chain",
"examples/mesh-hygiene-audit",
"examples/modular-kit-snap",
diff --git a/.github/workflows/blender-smoke.yml b/.github/workflows/blender-smoke.yml
index ffc4941..788fb2f 100644
--- a/.github/workflows/blender-smoke.yml
+++ b/.github/workflows/blender-smoke.yml
@@ -579,3 +579,17 @@ jobs:
# origins). Exits non-zero on failure.
xvfb-run -a "$BLENDER" --background \
--python examples/modular-kit-snap/modular_kit_snap.py --
+
+ - name: Shipped example - lightmap UV channel (two-layer bake contract)
+ run: |
+ set -euo pipefail
+ # Check only (no render): a 9-part market cart; asserts per-part
+ # UVMap/UVLight layers with active == UVLight and
+ # active_render == UVMap re-asserted after the ops (they clear
+ # both flags), UV0 loops untouched by the UV1 unwrap (drift 0),
+ # every UV1 loop inside [0,1], zero overlapping islands via an
+ # independent binned SAT scan, measured min island distance >=
+ # half the nominal pack margin, and watertight parts. Exits
+ # non-zero on failure.
+ xvfb-run -a "$BLENDER" --background \
+ --python examples/lightmap-uv-channel/lightmap_uv_channel.py --
diff --git a/README.md b/README.md
index 2521e12..d0eec88 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@
- 12 skills • 6 rules • 2 templates • 17 snippets • 41 examples
+ 12 skills • 6 rules • 2 templates • 17 snippets • 42 examples
@@ -800,6 +800,26 @@ measured error printed. Companion to
[`prop-origin-transform`](examples/prop-origin-transform/) (pivot discipline)
and [`mesh-hygiene-audit`](examples/mesh-hygiene-audit/) (topology gates).
+
+
+
+
+
+ |
+
+
+### [lightmap-uv-channel](examples/lightmap-uv-channel/)
+
+The second UV layer engines need for baked lighting, on a reusable market
+cart. Per-part `UVMap`/`UVLight` with **`active` vs `active_render` pinned**
+(the edit-mode UV ops clear both flags — re-assert or lose them), channel
+zero untouched by the second unwrap (drift **0.0**, the clobber probe
+measures **2.068**), every island inside [0,1], **0** overlapping islands
+by an independent SAT scan, and a measured min island distance of
+**0.00401** against the stated margin. Companion to
+[`uv-layer-grid`](examples/uv-layer-grid/) (UV authoring) and
+[`triangulate-tangents`](examples/triangulate-tangents/) (tangents from UVs).
+
|
diff --git a/ROADMAP.md b/ROADMAP.md
index 5f1b9e3..9a23921 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -106,10 +106,12 @@ Not committed; target list for the next content version. (v0.3.0 shipped the smo
- ~~LOD decimate chain witness~~ **SHIPPED** as `examples/lod-decimate-chain/` — Decimate COLLAPSE evaluated through the depsgraph is non-destructive (obj.data keeps closed-form counts), evaluated tris hit `ratio × base` within 5% (measured 0.0–0.44%), silhouette bbox survives within 1e-3 (measured 7.7e-6); a stacked Decimate halves the effective ratio, an aggressive 0.02 ratio collapses the nose tip — both caught failure modes
- ~~Vertex weight limit witness~~ **SHIPPED** as `examples/vertex-weight-limit/` — the 4-influence engine cap enforced via the data API (`v.groups` + `VertexGroup.remove` + renormalize); unit sums (measured 3e-8), pose preserved (4.9e-3), exact LBS from the mesh's own deform layer (2.7e-7), Root mount pinned
- ~~Triangulate + tangent-space witness~~ **SHIPPED** as `examples/triangulate-tangents/` — `calc_tangents` aborts on any ngon (back cap must be an explicit fan); mikktspace matches the edge/UV-delta formula within welding tolerance on smooth fields (2.3e-6 measured); planar UVs on a cylindrical wall collapse tangents onto normals (dot 0.998); `MeshUVLoopLayer` handle dangles across `calc_tangents()` on 4.5 (471 phantom flips, silent exit 0) while the mikktspace math is byte-identical on 4.5.11 and 5.1.2
-- UV-handle lifetime snippet: re-fetch attribute/UV layers by name after any CustomData-reallocating call (`calc_tangents`, `VertexGroup.add`, modifier edits) — held handles dangle silently on 4.5, survive by luck on 5.1 (found authoring `triangulate-tangents`)
+- UV-handle lifetime snippet: re-fetch attribute/UV layers by name after any CustomData-reallocating call (`calc_tangents`, `VertexGroup.add`, modifier edits) — held handles dangle silently on 4.5, survive by luck on 5.1 (found authoring `triangulate-tangents`; **confirmed harder authoring `lightmap-uv-channel`: iterating a held `MeshUVLoopLayer.data` after edit-mode UV ops segfaults 4.5.11 headless, EXCEPTION_ACCESS_VIOLATION 5/5, survives on 5.1.2**)
- ~~glTF skinned-mesh export witness: follow-up to `gltf-export-roundtrip` + `vertex-weight-limit`~~ **SHIPPED** as `examples/gltf-skin-roundtrip/` — `skins[0].joints` names every bone, JOINTS_0/WEIGHTS_0 with unit sums (3e-8), weights bit-exact, rest matrices to 2.4e-07, deformation to 4.8e-07; exporter welds duplicate loops (sorted-multiset comparisons mispair — compare by rest-key); unparented skinned meshes make the exporter bind an armature by name
- ~~Degenerate-bevel weld hazard~~ **SHIPPED** as `examples/degenerate-bevel-weld/` — at `offset == min_dim/2` the bevel band collapses to exactly 12 zero-area faces (4 min-axis edges × 3 segments) with 16 coincident verts (4 × (segments+1)) and min_area down 3.2e5×; a stdlib GLB re-parse counts **32 degenerate triangles crossing the export boundary** (MEASURED regression constant) versus 0 for the safe mesh — the loops an engine merge-by-distance welds; byte-identical on 4.5.11 and 5.1.2
- ~~Modular kit snap witness~~ **SHIPPED** as `examples/modular-kit-snap/` — tiling corridor segment: 16 boundary verts on `x ∈ {0, TILE}` within 1e-6 m, end rings coincident under the tile offset (nearest-key match), linked-duplicate joint deviation 0.0, shell bbox == declared tile (dev 0.0), manifold except the 16 open-end edges, 12 detail parts contained inside the tile; unsnapped probe (3 mm skew, 2 mm nudge) fails at exits 3/4 with measured errors; sorted-zip ring matching mispairs displaced verts — match by nearest key (authoring hazard, fixed); byte-identical on 4.5.11 and 5.1.2
+- ~~Lightmap UV channel witness~~ **SHIPPED** as `examples/lightmap-uv-channel/` — two-channel UV contract on a market cart: per-part `UVMap`/`UVLight` with `active`/`active_render` re-asserted after the ops (edit-mode UV ops clear both flags; `uv_layers.new()` never moves them), UV0 drift 0.0 (clobber trap measured 2.068), every UV1 loop in [0,1], 0 overlapping islands via independent binned strict-SAT (15 hits when falsified), min island distance 0.00401 vs nominal margin 0.002 (`MARGIN_DIV × 0.01` semantics measured live); held `MeshUVLoopLayer.data` after edit-mode UV ops segfaults 4.5.11 (5/5, EXCEPTION_ACCESS_VIOLATION), silent no-op pack without prior unwrap; byte-identical on 4.5.11 and 5.1.2 (1114 islands)
+- UV atlas **utilization** witness — coverage/wasted-texel closed forms for a packed lightmap atlas (the non-overlap, unit-square, margin, and active/active_render contracts shipped in `lightmap-uv-channel`; utilization is the remaining unbuilt slice of the old "UV atlas pack" candidate)
- ~~GAMMA_CROSS blend-curve witness~~ **SHIPPED** as `examples/vse-gamma-cross/` — the cross blends in a gamma-0.5 space: `((1-t)·√A + t·√B)²` with `t = (frame − start)/duration`, never 1 inside the effect; mid-cross dips 0.115 below the sRGB lerp from crimson/teal (closed form (0.341, 0.349, 0.463) confirmed per frame); AgX-default sampling poisons the fit (0.146 red-channel error, `view_transform='Standard'` mandatory); deleting a consumed input orphans-and-deletes the effect — follow-up to `vse-cut-list`
- Falsy `bpy_prop_collection` trap snippet: an empty collection is falsy, so `editor.strips or editor.sequences` silently falls through to the legacy accessor on an empty timeline — always branch on `hasattr`; likely generalizes across the API (found authoring `vse-cut-list`)
- ~~Collision compound witness~~ **SHIPPED** as `examples/collision-hull-proxy/` — game-prop collision as a compound of convex pieces, each a `bmesh.ops.convex_hull` of a coarse `sec(π/n)`-inflated cage (containment 4.4e-08, watertight, positive signed volume, Euler 2, per-piece 255-face budget: body 70, caps 60×3, compound 250); a hull of the dense render mesh measures 380 faces — over budget — which is why pipelines hull cages; proud details cost cage rows, concave grooves are free; byte-identical on 4.5.11 and 5.1.2
@@ -126,7 +128,6 @@ Not committed; target list for the next content version. (v0.3.0 shipped the smo
- Dice-pair per-face witness: material/attribute assignment driven by face normal direction, opposite-faces-sum-to-7 as an independently computed invariant, pip placement from a closed-form lattice
- Bicycle-wheel radial witness: spokes via radial Array with object offset — exact angular spacing, spoke count, hub/rim concentricity, every evaluated spoke endpoint on its computed rim coordinate
- ~~mesh-hygiene-audit witness~~ **SHIPPED** as `examples/mesh-hygiene-audit/` — engine-ingest topology checklist on a stepped street electrical pedestal: no ngons, no loose verts, manifold edges (exactly 2 faces), no zero-area faces (`min_area` printed), positive signed volume, Euler `V−E+F==2` (24/44/22, volume 0.989248); byte-identical on 4.5.11 and 5.1.2; dual-panel dirty vs clean still
-- UV atlas pack witness — lightmap/unique UV island packing with non-overlap + utilization closed forms (deferred behind hygiene/origin; overlaps `uv-layer-grid` / `triangulate-tangents` / `gltf-export-roundtrip` UV arc)
- ~~Gallery framing recomposition worklist~~ **DRAINED**: all four recomposition cases restaged and gated with `check_framing` — depsgraph-export (0.984x/touch→0.812x; cube+dome recentered, aim-based camera), vertex-weight-limit (touch B→0.867y; more frontal camera, lower aim, base in frame), triangulate-tangents (0.334x→0.833y; 2x-class move-in plus Key/Glint trim that also cleared a pre-existing dome blowout), text-version-stamp (0.663x→0.719x; moved in with aim on the stamp center, dead third gone). The seven marginal cases were camera-nudged in the preceding sweep; deviations documented in #108 (damped-track-aim, wave-displace); sky-texture-sun-elevation is a measurement artifact (world subject — report-only if wired). Remaining: nothing on the framing worklist — future examples inherit the gate at authoring time.
diff --git a/docs/gallery/assets/lightmap-uv-channel-hero.webp b/docs/gallery/assets/lightmap-uv-channel-hero.webp
new file mode 100644
index 0000000000000000000000000000000000000000..f83e1af7541591f1b8dac48b820f80f97d593909
GIT binary patch
literal 969996
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