Skip to content

feat: add light-link-studio example witnessing receiver collections in pixels#91

Merged
TMHSDigital merged 1 commit into
mainfrom
feat/light-link-studio
Jul 21, 2026
Merged

feat: add light-link-studio example witnessing receiver collections in pixels#91
TMHSDigital merged 1 commit into
mainfrom
feat/light-link-studio

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

The light-linking collection witness from the ROADMAP pool: one key linked to a hero sphere beside an identical decoy, with the entire contract proven in pixels by two renders in a single check pass.

Contract witnessed

  1. The API is on the light OBJECTld.light_linking is an AttributeError on both versions (verified); the path is obj.light_linking.receiver_collection (ObjectLightLinking, with blocker_collection alongside). Assignment reads back.
  2. Linked, the key lights only the receiver collection — hero/decoy luminance ratio 4.0x (gate ≥ 3x), sampled at each sphere's projected center so framing can't move the sample off the subject (a framing iteration broke exactly that during authoring).
  3. Unlinked in the same check, the restriction vanishes surgically — decoy rises 244% (5.1.2) / 251% (4.5.11) while hero drift is 0.0%. The shipped check demonstrates both states, not just one.
  4. Verified engine note — light linking also works on EEVEE Next: 5.5x linked ratio on 4.5.11 EEVEE Next, 5.9x on 5.1.2 EEVEE, matching Cycles within sampling noise. The "EEVEE ignores it" assumption is false; the check still pins Cycles for deterministic tiny-sample CPU renders, and view_transform = 'Standard' for meaningful luminance ratios.

Falsification evidence (temporary breaks, restored after measurement):

Probe Break Exit Measured
A link inverted to the decoy collection 6 hero drops to 0.179, ratio collapses to 0.22x
B EEVEE engine substitution 0 (documented, not a failure) linking honored on EEVEE Next on both versions (5.5x / 5.9x)

Contact-sheet gate: light-link-studio-contact-sheet.webp — verdicts: stage darkness ✓, wedge warmth ✓, subject fill ✓, saturation ✓ (blazing orange hero), thumbnail legibility ✓✓ (strongest contrast in the lineup). Mean luminance 111.2 vs calibration 139.4 / 100.1 / 143.4 — inside range.

Proven by live run vs inspection:

  • Live run, local: check exit 0 on .scratch/blender-5.1.2-windows-x64/blender.exe (Blender 5.1.2, hash ec6e62d40fa9) and .scratch/blender-4.5.11-windows-x64/blender.exe (Blender 4.5.11 LTS, hash 4db51e9d1e1e) — matching values (ratio 4.0x both; rise 244% vs 251%; drift 0.0%). Render exit 0 on both binaries (Cycles), pixels iterated (5 drafts: wedge flooding the decoy, sample-point fragility fixed by projected-center sampling). All probes live.
  • Live run, CI: both smoke series on the PR head SHA — see checks.
  • Inspection only: nothing claims otherwise.

Test plan

  • Validate, validate-manifest, validate-counts (README substring 30 examples)
  • Blender 5.1 smoke + Blender 4.5 smoke — new step runs examples/light-link-studio/light_link_studio.py --
  • Ecosystem drift; Socket Security
  • Local binaries: .scratch/blender-5.1.2-windows-x64/blender.exe (5.1.2), .scratch/blender-4.5.11-windows-x64/blender.exe (4.5.11 LTS)

Integration: example dir + README, gallery.json entry, plugin manifest, smoke step, top-level README ("Mesh, curves & text" category now 10, counts 29→30), generated pages read character-by-character (alt and callout full), ROADMAP entry shipped-marked.

🤖 Generated with Kimi Code

…n pixels

Light linking is the staging feature AI code misses twice: the API lives
on the light OBJECT (ld.light_linking is an AttributeError), and the
restriction only counts if it survives in pixels. The check renders twice
in one pass — linked (4.0x hero/decoy ratio at projected centers) and
unlinked in the same run (decoy rises 244% while the hero holds at 0.0%
drift) — and documents that EEVEE Next honors linking too (5.5x on 4.5,
5.9x on 5.1), with Cycles pinned for deterministic samples.

Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation ci labels Jul 21, 2026
@TMHSDigital
TMHSDigital merged commit 79d2fbc into main Jul 21, 2026
9 checks passed
@TMHSDigital
TMHSDigital deleted the feat/light-link-studio branch July 21, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant