Skip to content

Commit 7e2e1ac

Browse files
authored
fix: stage the two newest heroes as designed objects (#94)
Post-deploy review of the gallery cards: the first re-stage fixed the measured defects, but vse-gamma-cross and light-link-studio still read flat next to siblings that wrap their witness in a designed object (lod-decimate-chain's rockets, vertex-weight-limit's mech arm, vse-cut-list's monitor prop, png-exr-alpha's angled panels). vse-gamma-cross: the floating chart becomes a calibration lightbox - the six exact data swatches are backlit chips seated in bezels on a bolted, cap-railed steel swatch board with rear struts to a widened plinth, shot at a three-quarter angle with cast shadows. Swatch faces stay pure emission at the exact closed-form values (the authentic-vs-naive adjacency pair, impostor in hazard orange, remains the centerpiece). Check values unchanged. light-link-studio: the bare spheres become museum specimens - each on a turned, beveled pedestal with a physical LINKED/UNLINKED placard on standoffs, and a warm emissive floor inlay under the hero only (the linked light's footprint; the decoy's disc stays dark metal). The re-stage exposed a real coupling: a flatter camera angle samples a brighter, more fill-facing point on the decoy and eroded the linked ratio to 3.1x, breaching the margin floor; the draft was reverted and the coupling is documented in a build_studio comment. The pedestal now shades floor bounce onto the decoy, improving the 4.5 ratio (3.4x -> 3.7x). Synced measured values everywhere: linked 3.6x (5.1) / 3.7x (4.5), rise 233% / 238%, drift 0.3% / 0.1%, EEVEE probe 3.8x. Both examples pass check-only on Blender 4.5.11 LTS and 5.1.2 (exit 0, measured values printed); both contact sheets re-judged against the pinned calibration set (candidate mean luminance 115.2 and 127.9 vs the 100-143 calibration band; wall pools +20.8 and +26.2 R-B). Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com>
1 parent 4dbf6f1 commit 7e2e1ac

15 files changed

Lines changed: 511 additions & 241 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ consumed-input compositing contract, and a save/reload round-trip.
310310
</tr>
311311
<tr>
312312
<td width="46%" valign="middle">
313-
<a href="examples/light-link-studio/"><img src="examples/light-link-studio/preview.webp" alt="Light link studio: a blazing orange hero sphere beside a dim steel decoy on a dark studio floor, upright LINKED and UNLINKED plaques below each, a warm light pool raking the wall behind - one key light restricted to the hero collection" /></a>
313+
<a href="examples/light-link-studio/"><img src="examples/light-link-studio/preview.webp" alt="Light link studio: a blazing orange hero sphere and a dim steel decoy staged as specimens on turned-metal pedestals, LINKED and UNLINKED placards on each plinth, a warm floor inlay glowing under the hero only, a warm light pool raking the wall behind - one key light restricted to the hero collection" /></a>
314314
</td>
315315
<td valign="middle">
316316

@@ -326,7 +326,7 @@ honors linking too (measured), with Cycles pinned for deterministic samples.
326326
</tr>
327327
<tr>
328328
<td width="46%" valign="middle">
329-
<a href="examples/vse-gamma-cross/"><img src="examples/vse-gamma-cross/preview.webp" alt="VSE gamma cross: a mixing bench in a dark studio - four large emissive panels fading crimson to teal across the cross, with the true midpoint swatch beside the brighter naive-lerp midpoint framed in hazard orange at frame center" /></a>
329+
<a href="examples/vse-gamma-cross/"><img src="examples/vse-gamma-cross/preview.webp" alt="VSE gamma cross: a calibration lightbox in a dark studio - four backlit chips fading crimson to teal set into bezels on a bolted steel swatch board, with the true midpoint chip beside the brighter naive-lerp midpoint framed in hazard orange, shot at a three-quarter angle" /></a>
330330
</td>
331331
<td valign="middle">
332332

5.24 KB
Loading
2.79 KB
Loading
2.8 KB
Loading
678 Bytes
Loading

docs/gallery/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -530,8 +530,8 @@ <h2><a href="vse-gamma-cross/">vse-gamma-cross</a></h2>
530530
</a>
531531
<div class="card-body">
532532
<h2><a href="light-link-studio/">light-link-studio</a></h2>
533-
<p class="teaches">One key, one hero: a light linked to a receiver collection lights only the hero, proven by two pixel renders in one pass. Linked: 3.6x luminance ratio; unlinked in the same check: the decoy rises 206% while the hero holds at 0.0% drift.</p>
534-
<p class="witnesses"><span class="tag">witnesses</span> The API is obj.light_linking on the light OBJECT (ld.light_linking is an AttributeError). Luminance is sampled at each sphere&#x27;s projected center; EEVEE honors linking too (probe-measured 3.7x on 4.5.11 EEVEE Next and 5.1.2 EEVEE), Cycles pinned for deterministic samples.</p>
533+
<p class="teaches">One key, one hero: a light linked to a receiver collection lights only the hero, proven by two pixel renders in one pass. Linked: 3.6x luminance ratio; unlinked in the same check: the decoy rises 233% while the hero holds at 0.3% drift.</p>
534+
<p class="witnesses"><span class="tag">witnesses</span> The API is obj.light_linking on the light OBJECT (ld.light_linking is an AttributeError). Luminance is sampled at each sphere&#x27;s projected center; EEVEE honors linking too (probe-measured 3.8x on 4.5.11 EEVEE Next and 5.1.2 EEVEE), Cycles pinned for deterministic samples.</p>
535535
<a class="card-link" href="light-link-studio/">View example <span aria-hidden="true">&rarr;</span></a>
536536
</div>
537537
</article>

docs/gallery/light-link-studio/index.html

Lines changed: 141 additions & 34 deletions
Large diffs are not rendered by default.

docs/gallery/vse-gamma-cross/index.html

Lines changed: 108 additions & 82 deletions
Large diffs are not rendered by default.

examples/gallery.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,8 @@
361361
{
362362
"name": "light-link-studio",
363363
"dir": "examples/light-link-studio",
364-
"teaches": "One key, one hero: a light linked to a receiver collection lights only the hero, proven by two pixel renders in one pass. Linked: 3.6x luminance ratio; unlinked in the same check: the decoy rises 206% while the hero holds at 0.0% drift.",
365-
"witnessesFix": "The API is obj.light_linking on the light OBJECT (ld.light_linking is an AttributeError). Luminance is sampled at each sphere's projected center; EEVEE honors linking too (probe-measured 3.7x on 4.5.11 EEVEE Next and 5.1.2 EEVEE), Cycles pinned for deterministic samples.",
364+
"teaches": "One key, one hero: a light linked to a receiver collection lights only the hero, proven by two pixel renders in one pass. Linked: 3.6x luminance ratio; unlinked in the same check: the decoy rises 233% while the hero holds at 0.3% drift.",
365+
"witnessesFix": "The API is obj.light_linking on the light OBJECT (ld.light_linking is an AttributeError). Luminance is sampled at each sphere's projected center; EEVEE honors linking too (probe-measured 3.8x on 4.5.11 EEVEE Next and 5.1.2 EEVEE), Cycles pinned for deterministic samples.",
366366
"hero": "docs/gallery/assets/light-link-studio-hero.webp",
367367
"preview": "examples/light-link-studio/preview.webp",
368368
"tags": [

examples/light-link-studio/README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ most often misses or misaddresses.
1616
**3.6x** (gate ≥ 3x), measured at each sphere's **projected** center so
1717
framing can't move the sample off the subject.
1818
- **Unlinked (same check), the restriction vanishes surgically.** Render
19-
two: the decoy rises **206–213%** while the hero drifts **0.0%** — the
19+
two: the decoy rises **233–238%** while the hero drifts **0.1–0.3%** — the
2020
link restricts without dimming anything else. The shipped check therefore
2121
demonstrates both states, not just one. The rise figure is noisy by
2222
construction: the decoy's unlit base sits near the fill floor, so small
@@ -25,7 +25,7 @@ most often misses or misaddresses.
2525
- **The engine note, verified rather than assumed.** Light linking also
2626
works on EEVEE — measured with an EEVEE luminance probe (the shipped
2727
scene with `render.engine` swapped: `BLENDER_EEVEE` on 5.x,
28-
`BLENDER_EEVEE_NEXT` on 4.x) at **3.7x** linked ratio on both 4.5.11
28+
`BLENDER_EEVEE_NEXT` on 4.x) at **3.8x** linked ratio on both 4.5.11
2929
EEVEE Next and 5.1.2 EEVEE, matching Cycles within sampling noise. The
3030
shipped check still pins Cycles for deterministic tiny-sample CPU
3131
renders; luminance gates need `view_transform = 'Standard'` (AgX
@@ -38,12 +38,14 @@ assignment read-back (exit 5), a link that doesn't restrict (exit 7, rise
3838
below 50%), and a non-surgical restriction (exit 8, hero drift above 5%).
3939

4040
**Version witness:** ObjectLightLinking API and the measured ratios match on
41-
Blender 4.5 LTS and 5.1 (3.4x vs 3.6x linked; rise 213% vs 206% — inside the
41+
Blender 4.5 LTS and 5.1 (3.7x vs 3.6x linked; rise 238% vs 233% — inside the
4242
rise noise described above).
4343

44-
The render is the contract at a glance: the blazing orange hero over the
45-
LINKED plaque, the cold steel decoy over UNLINKED, a warm pool raking the
46-
wall behind them — one key, one hero.
44+
The render is the contract at a glance: the spheres staged as studio
45+
specimens on matching turned-metal pedestals — the blazing orange hero over
46+
its LINKED placard with the warm floor inlay marking the linked light's
47+
footprint, the cold steel decoy over UNLINKED with its inlay dark, a warm
48+
pool raking the wall behind them — one key, one hero.
4749

4850
## Run
4951

0 commit comments

Comments
 (0)