Skip to content

feat(scaffold): extrude readout back-plate to a depth slab (#270) - #285

Merged
bradleypmartin merged 3 commits into
mainfrom
270-readout-panel-depth
Jun 1, 2026
Merged

feat(scaffold): extrude readout back-plate to a depth slab (#270)#285
bradleypmartin merged 3 commits into
mainfrom
270-readout-panel-depth

Conversation

@bradleypmartin

Copy link
Copy Markdown
Contributor

Refs #270

Summary

Swap PanelReadout's PlaneGeometry back-plate for a thin BoxGeometry extruded behind the front face by a new READOUT_PANEL_DEPTH token (8mm first-pass; bracket [4mm, 16mm] in the token doc).

Smoke verdict on #252 / PR #269 was "moved in the right direction, but the panel still suffers from being 2D and yawing non-presence-like with the viewer." Without a depth cue, the yaw-billboard motion reads as a sliding decal, not a solid object turning. Adding real Z-depth means yaw now exposes the slab's side faces while preserving readability (front face still faces the user). One dial per round — bezel / rim-glow / material upgrades from #270 stay deferred for later rounds if depth alone doesn't get there.

Subclasses keep their existing localZ contract — semantically now "front-face z" rather than "plane z" — so text-vs-panel ordering is unchanged. No subclass touch needed.

Test plan

  • npm test — 604/604 (PanelReadout suite updated for new geometry type + center-z math)
  • npx tsc --noEmit — clean
  • npm run lint — clean
  • Cloudflare PR preview, pancake: on each of the four cluster scenes (quadrics / tangent-planes / gradient-levels / saddle-extrema), orbit around the readout — does the panel now read as a thin solid screen turning rather than a flat decal sliding?
  • Cloudflare PR preview, headset (Quest 3S): same check across all four scenes. Particularly at extreme yaw angles, does the slab visibly poke through the plinth's working surface? If yes, dial READOUT_PANEL_DEPTH down within the [4mm, 16mm] bracket; if the depth cue is too subtle, dial up.
  • No regression to existing text-vs-panel ordering (text remains in front of the back-plate at all viewer angles).

If smoke says depth alone is sufficient → close #270 once cluster polish lands. If smoke says depth helps but the panel still reads as a generic dark patch rather than an LCD-style display → spin a follow-up for the next #270 candidate (bezel or LOCKED_113 rim glow).

Swap PanelReadout's PlaneGeometry back-plate for a thin BoxGeometry
extruded behind the front face by a new READOUT_PANEL_DEPTH token
(8mm first-pass; bracket [4mm, 16mm] in the token doc). Subclasses
keep their existing localZ contract — semantically now "front-face
z" rather than "plane z" — so text-vs-panel ordering is unchanged.

Why: smoke verdict on #252 / PR #269 was "moved in the right
direction, but the panel still suffers from being 2D and yawing
non-presence-like with the viewer." Per [[feedback_static_orientation_
for_embossed_glyph]], yaw-billboarding a depthless surface amplifies
the flatness — without a depth cue the motion reads as a sliding
decal, not a solid object turning. Adding real Z-depth means yaw now
exposes the slab's side faces, restoring the "solid screen turning"
read while preserving readability (front face still faces the user).

One dial per round per [[feedback_binary_search_visual_constants]];
bezel / rim-glow / material upgrades from #270 stay deferred for
later rounds if depth alone doesn't get there.
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown

Preview deploy ready — commit 6cd1ddbd6c08cbe82b3a60d93d6a05e3c09554f9

https://geometer-pr-285.1bradley-martin1.workers.dev

Open this URL in the Quest browser to smoke-test in headset.

Round 1 smoke verdict on this PR: "getting there but the depth cue
isn't strong enough yet." Binary-search step up within the documented
bracket [4mm, 16mm]; 12mm is the upper-midpoint. Next-step rules
captured in the token doc comment per the per-round bisection pattern.
Round 2 smoke verdict: "right track but still not strong enough yet."
Step up within the narrowed bracket [12mm, 16mm]; 14mm is the next
midpoint. Next-step rules updated in the token doc — 16mm is the
hard ceiling (plinth-top clipping risk at extreme yaw), so if 14mm
is still subtle that's the last step before re-evaluating whether
depth alone is the right vocabulary or whether bezel / rim-glow from
#270's candidate list needs to compose with it.
@bradleypmartin
bradleypmartin merged commit 455cba7 into main Jun 1, 2026
3 checks passed
@bradleypmartin
bradleypmartin deleted the 270-readout-panel-depth branch June 1, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(scaffold): display-mock visual-language pass on plinth-mounted readouts (post-#252)

1 participant