Skip to content

feat: add immersive XR status window - #144

Merged
comfuture merged 6 commits into
mainfrom
feat/issue-142-xr-status-window
Aug 11, 2026
Merged

feat: add immersive XR status window#144
comfuture merged 6 commits into
mainfrom
feat/issue-142-xr-status-window

Conversation

@comfuture

@comfuture comfuture commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a lime left-arm XR status window backed by shared sparse rate-limit merging and active-thread context normalization
  • add capability-aware controller, hand, screen, and gaze invocation policies with direct-touch-only hand actions, dynamic action rows, and honest disabled reasons
  • add real VR/AR session transitions that preserve one workspace and voice runtime, alpha/additive contrast treatments, and a shared yaw-aware workspace recenter anchor
  • use Three.js r185 joint-map tracking state, expose ray fallback whenever no mapped controller or eligible left-hand gesture can invoke status, and release synthesized pinch state immediately on joint tracking loss
  • keep the VR return action available from opaque AR without claiming active passthrough
  • add approved canonical status open/close cues, kitchen-sink visual fixtures, device-boundary documentation, and focused regression coverage

Validation

  • GitHub Actions validate passed on current head 56b8f73 (lint, typecheck, test, and build)
  • pnpm --dir packages/webxr exec vitest run test/panel-interaction.test.ts test/status-window-model.test.ts (29 tests passed on follow-up head 56b8f73)
  • pnpm --filter @codori/webxr typecheck
  • pnpm --dir packages/webxr exec vitest run test/panel-interaction.test.ts test/status-window-model.test.ts test/xr-capability.test.ts (38 tests passed on review-fix head b7bfe8b)
  • pnpm --filter @codori/webxr test (106 tests passed locally before the final approved duration-only close-cue adjustment)
  • pnpm --filter @codori/webxr lint
  • pnpm --filter @codori/webxr build
  • pnpm --filter @codori/client typecheck
  • pnpm --filter @codori/client lint
  • development kitchen-sink browser QA: status quota/context/action layout, no-input Menu, alpha dither, additive shape outline, and zero console warnings/errors
  • status cue preview approved after v2 audibility review; the close duration was then shortened from 380 ms to 300 ms without changing its gain, frequency range, or pitch-down character, and was intentionally not re-rendered or locally re-tested per review direction

Known device-validation boundary

The browser preview proves canvas layout, colors, typography, animation, and the distinct alpha/additive visual treatments only. Real controller, tracked-hand, screen/gaze, DOM-overlay, reserved-button visibility, environmentBlendMode, passthrough optics, reference-space reset, audio perception, and seamless VR/AR transition behavior still require the device matrix described in packages/webxr/README.md; this PR does not claim those headset-specific paths were physically validated.

Closes #142

@comfuture
comfuture marked this pull request as ready for review August 11, 2026 02:36

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 97e1160890

ℹ️ 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".

Comment thread packages/webxr/src/interaction-system.ts Outdated
Comment thread packages/webxr/src/interaction-system.ts
Comment thread packages/webxr/src/xr-capability.ts Outdated
@comfuture

Copy link
Copy Markdown
Owner Author

@codex review
Review head: b7bfe8b405ad0cba1bd7464a5b9c9c32b89dea87

Focus on the review fixes only: visible Three.js hand-joint lookup for gesture/pinch/direct touch, fallback Menu availability when a controller lacks a recognized menu mapping, and opaque immersive-AR return-to-VR transition availability.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b7bfe8b405

ℹ️ 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".

Comment thread packages/webxr/src/interaction-system.ts Outdated
Comment thread packages/webxr/src/interaction-system.ts
@comfuture

Copy link
Copy Markdown
Owner Author

@codex review
Review head: 56b8f73e0bc3c37303d82aa7cd85b4c8f5e04c55

Focus only on the latest review fixes: status fallback visibility across right-hand-only, eligible left-hand, and left-controller precedence combinations; and idempotent pinch selection/grab cleanup when thumb or index joint tracking drops.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

Reviewed commit: 56b8f73e0b

ℹ️ 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".

@comfuture
comfuture merged commit 84867fb into main Aug 11, 2026
2 checks passed
@comfuture
comfuture deleted the feat/issue-142-xr-status-window branch August 11, 2026 03:06
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.

Add an XR status window with passthrough and recenter controls

1 participant