Go to file
Michael Mainguy faa5afc604
Some checks failed
Build / build (push) Failing after 24s
Add flat camera mode support and fix WebXR user activation
WebXR-optional gameplay:
- Removed WebXR requirement check, game now works without VR
- Made WebXR initialization optional with graceful fallback
- Flat camera mode automatically activates when XR unavailable
- Keyboard/mouse controls work in flat camera mode
- Camera following works in both XR and flat modes

Fixed WebXR user activation issue:
- Restructured initialization to enter XR immediately after button click
- Moved enterXRAsync() before asset loading to maintain user gesture
- Level1.play() now detects if XR session already active (state === 4)
- Removed setTimeout delays that broke user activation chain
- Falls back to flat mode if XR entry fails at any point

Game initialization improvements:
- Game timer and physics recorder start in both XR and flat modes
- Level1 constructor only sets up XR observables if XR available
- Ship.initialize() activates flat camera when XR not present
- Background stars follow active camera (XR or flat)
- Ready observable calls play() immediately to maintain activation

User experience:
- Game starts immediately in available mode (VR or flat)
- Seamless fallback if VR headset disconnects or unavailable
- Desktop users can now play with keyboard/mouse
- No error messages blocking non-VR users

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 06:30:59 -06:00
.github/workflows increased heap space. 2025-10-28 12:01:29 -05:00
docs Add Blender export tooling and refactor asset structure 2025-11-06 12:25:34 -06:00
public Refactor replay system to reuse Level1.initialize() and simplify UI 2025-11-08 19:20:36 -06:00
scripts Add Blender export tooling and refactor asset structure 2025-11-06 12:25:34 -06:00
server Initial Commit 2025-02-15 11:19:24 -06:00
src Add flat camera mode support and fix WebXR user activation 2025-11-09 06:30:59 -06:00
themes/default Add physics recorder system with ring buffer and IndexedDB storage 2025-11-08 05:22:49 -06:00
.gitignore Initial Commit 2025-02-15 11:19:24 -06:00
CLAUDE.md Refactor sight to crosshair reticle and rename starfield to rockFactory 2025-10-30 10:21:27 -05:00
CONTROLLER_THRUST.md Refactor ship controls to force-based physics with world-space transformations 2025-10-31 11:20:31 -05:00
index.html Refactor replay system to reuse Level1.initialize() and simplify UI 2025-11-08 19:20:36 -06:00
package-lock.json Add Blender export tooling and refactor asset structure 2025-11-06 12:25:34 -06:00
package.json Add Blender export tooling and refactor asset structure 2025-11-06 12:25:34 -06:00
styles.css Add difficulty levels and upgrade BabylonJS 2025-10-17 09:05:18 -05:00
tsconfig.json Initial Commit 2025-02-15 11:19:24 -06:00
vite.config.ts Add difficulty levels and upgrade BabylonJS 2025-10-17 09:05:18 -05:00