FIXED 2026-09-14 (branch fix/twin-picks-labels, awaiting commit): toWire stamps userData.pickThrough on meshes whose manifest role is shell or glass; twin/pick.ts is installed as the R3F event filter (setEvents) and drops every see-through hit in front of the first solid hit, so the thing behind a tent wall wins; an empty tent wall still picks the tent. Verified in the preview pane: from the Root preset a click on the plant opens ‘Runtz Punch · Flowering’ (select.dsc_probe1_growth_stage), previously the 4×8 tent. — ORIGINAL: From the Root preset (camera outside the 4×8, looking through the front panel) clicking squarely on a plant canopy opens the ‘4×8 TENT – dsc hub tent temperature’ inspector, in Wire AND in X-ray. Cause: every tent panel mesh keeps a raycastable fill (mesh.visible is always true in the static pass; a style only flips material.visible, which three’s Raycaster ignores), and the tent instance has a pick, so its onPointerOver/onClick stopPropagation before the plant, probe, lamp or fan behind the panel receives the event.
Journey event · 14 Sep 2026
Twin: picks are intercepted by the tent shell in every look – nothing inside a tent can be clicked from outside it
FIXED 2026-09-14 (branch fix/twin-picks-labels, awaiting commit): toWire stamps userData.pickThrough on meshes whose manifest role is shell or glass; twin/pick.ts is installed as t
● state copied from the tracker, never improved
● event date 2026-09-14
| Event date | 2026-09-14 |
| Version found | |
| Version fixed | |
| Expected kit firmware | |
| Release file | |
| SHA-256 | |
| Served count | |
| Source | https://app.notion.com/3db2b4cda370815ab026eab330444688 |
Empty rows are honest
A blank cell means the tracker has no value for it. Nothing on this page is filled in to look complete.
