|
All checks were successful
Build / build (push) Successful in 1m33s
Add mission briefing system that displays when entering VR and requires trigger pull to dismiss before gameplay begins. This prevents accidental weapon firing and provides clear mission objectives to players. ## Key Features - Mission brief displays on VR entry with objectives from directory.json - Ship controls disabled during briefing (movement, rotation, weapons) - Either controller trigger dismisses brief and starts game timer - First trigger pull does not fire weapons, only dismisses briefing - Subsequent trigger pulls fire weapons normally ## Implementation Details - Added MissionBrief class with mesh-based UI parented to ship - Ship class gains disableControls()/enableControls() methods - New mission brief trigger observable bypasses normal shoot handling - ControllerInput modified to allow triggers through when disabled - Level1 orchestrates control flow: disable → show brief → enable - Game timer and physics recording start only after dismissal ## Technical Changes - controllerInput.ts: Allow trigger events when controls disabled - ship.ts: Add control state tracking and mission brief observable - level1.ts: Integrate mission brief into XR initialization flow - missionBrief.ts: New class for displaying briefing with trigger detection - Fixed property name mismatch in level selection event dispatch - Added cache-busting for dev mode level loading - Exposed LevelRegistry to window for debugging 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| docs | ||
| public | ||
| scripts | ||
| server | ||
| src | ||
| themes/default | ||
| .gitignore | ||
| ANALYTICS_IMPLEMENTATION.md | ||
| CLAUDE.md | ||
| CONTROLLER_THRUST.md | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||
| vite.config.ts | ||