Conversation
Rebase onto commit 4efab14 (pre-IWSDK) and add XR Experiential Baseline 0: - Dark void scene with cyan Euclidean grid (floor + 3 walls) - Head-locked subtitle panel with smooth lerp(0.08) follow physics - troika-three-text rendering "Welcome..." with subtle glow - Panel positioned 1.5m forward, 0.25m below eye level - Uses XR camera in immersive mode for accurate head tracking https://claude.ai/code/session_01DvH2RUUPGNHDMmyuLWQsCY
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This PR is being reviewed by Cursor Bugbot
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
|
|
||
| const videoWidth = 2064; | ||
| const videoHeight = 2208; | ||
| const videoReducer = 0.090579710; |
There was a problem hiding this comment.
Unused variables never referenced in function call
Low Severity
The newly introduced videoWidth, videoHeight, and videoReducer constants are declared but never used. The setupVideoLayerManager call on the same function still uses hardcoded literal values (2064, 2208, 0.090579710) instead of referencing these variables. Either the variables are dead code, or the function call was meant to use them.
Additional Locations (1)
| import loadManager from "./setup/setupLoadManager"; | ||
| import setupScene from "./setup/setupScene"; | ||
| // import setupPortalClippingPlanes from "./setup/setupPortalClippingPlanes"; | ||
| import setupPortalClippingPlanes from "./setup/setupPortalClippingPlanes"; |
There was a problem hiding this comment.
Imported module only used in comments
Low Severity
setupPortalClippingPlanes is imported but never actually called. Its only reference in the file (besides the import) is inside a comment on line 239. This import was previously commented out and has been uncommented in this change, but the actual usage remains commented out.
| } | ||
| ] | ||
| }, | ||
| server: { https: true }, // Not needed for Vite 5+ |
There was a problem hiding this comment.
Dev server loses network host binding for XR
Medium Severity
The server config was reduced to just { https: true }, dropping host: '0.0.0.0' and port: 5173. Without host: '0.0.0.0', the Vite dev server only listens on localhost, making it inaccessible from XR headsets (e.g., Meta Quest 3) on the local network — a critical requirement for WebXR development.


Rebase onto commit 4efab14 (pre-IWSDK) and add XR Experiential Baseline 0:
https://claude.ai/code/session_01DvH2RUUPGNHDMmyuLWQsCY
Note
Medium Risk
Moderate risk due to new runtime rendering/UI elements in the main WebXR render loop and a Vite/toolchain version change that can affect builds and dev server behavior.
Overview
Adds an “experiential baseline” to the WebXR scene: a dark void with cyan grid walls/floor (
setupGridEnvironment) plus a head-locked subtitle panel (SubtitlePanel) rendered viatroika-three-textand updated every frame using the active XR camera when presenting.Removes the in-progress IWSDK integration (local
@iwsdk/*deps and bootstrap/update hooks) and adjusts dependency/tooling versions by addingtroika-three-textwhile downgradingvite(7→6) and@vitejs/plugin-basic-ssl(2.1→2.0), with corresponding lockfile churn.Written by Cursor Bugbot for commit a95a32b. This will update automatically on new commits. Configure here.