Skip to content

Create immersive WebXR website redesign#1

Open
thevirtualcraft wants to merge 2 commits into
mainfrom
cursor/immersive-website-redesign-b2f7
Open

Create immersive WebXR website redesign#1
thevirtualcraft wants to merge 2 commits into
mainfrom
cursor/immersive-website-redesign-b2f7

Conversation

@thevirtualcraft

Copy link
Copy Markdown
Owner

Summary

  • Rebuild the site into a modern immersive-content landing page for The Virtual Craft
  • Add responsive sections for experiences, WebXR capabilities, process, and contact
  • Add WebXR support detection plus AR/VR launch buttons with a minimal WebGL WebXR render loop and failed-session cleanup

Testing

  • python3 HTML parser check and asset existence validation
  • Static server smoke: /, /styles.css, and /app.js return 200 with expected content types
  • WebXR content check confirms support detection, session request, render layer, and failed-session cleanup hooks
  • Headless Chrome screenshot wrote /tmp/virtualcraft-home.png; Chrome timed out on shutdown in this container after writing the image
Open in Web Open in Cursor 

cursoragent and others added 2 commits May 1, 2026 13:48
Co-authored-by: thevirtualcraft <thevirtualcraft@users.noreply.github.com>
Co-authored-by: thevirtualcraft <thevirtualcraft@users.noreply.github.com>
@cursor

cursor Bot commented May 2, 2026

Copy link
Copy Markdown

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@cursor cursor 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 4ec459e. Configure here.

Comment thread app.js
statusText.textContent = `Unable to start ${mode.toUpperCase()} right now.`;
xrNote.textContent = error instanceof Error ? error.message : "The browser blocked the WebXR session request.";
}
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No guard against concurrent async XR session requests

Medium Severity

The activeXrSession guard on line 183 doesn't protect against overlapping async calls. Since activeXrSession is only assigned on line 202 — after three await points (requestSession, prepareXrRenderer, requestReferenceSpace) — a second button click during any of those yields passes the guard. The second call's prepareXrRenderer overwrites the shared globals xrGl, xrProgram, and xrBuffer while the first session's drawXrFrame render loop is already using them, corrupting the active session's rendering. Even if the browser rejects the second session, the catch-block error message overwrites the first session's success UI.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4ec459e. Configure here.

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.

2 participants