fix: refine immersive XR input and passthrough UX - #147
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6f621d64c6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please re-review the resolved controller-only scrolling, stable wrist-anchor reacquisition, and autoplay recovery action changes, and check for regressions in adjacent XR input behavior. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0bf0e1a7a0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please verify that wrist-anchor reacquisition now requires samples to remain within a fixed stability radius for the full confirmation interval, including the new continuous-drift regression. |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Root cause and impact
Pane movement mixed fixed-radius and 1:1 mappings, so lateral movement became disproportionately small at distance and gesture classification could feel inconsistent. Scroll arrows were positioned and wired mainly for direct touch, leaving remote pinch and controller rays ineffective. Room meshes could also write depth in front of status panes. During an active voice session, the central orb remained selectable and could accidentally stop voice. Finally, dark translucent transcript bubbles and synthetic hand-joint outlines reduced passthrough clarity.
This change keeps input state stable, scales manipulation by depth, exposes scroll actions to all supported XR input paths, prevents room geometry from occluding panes, disables the active-session orb target, and refines passthrough/status visuals.
Validation
corepack pnpm --filter @codori/webxr test— 187 tests passedcorepack pnpm --filter @codori/webxr lintcorepack pnpm --filter @codori/webxr buildgit diff --checkKnown boundary
Automated coverage cannot represent every headset/input profile, so the primary Quest paths were exercised directly while the final passthrough-outline behavior is protected by automated tests.