space-game/package.json
Michael Mainguy 1422c5b926
All checks were successful
Build / build (push) Successful in 1m31s
Add centralized input control management and mission brief improvements
- Create InputControlManager singleton for centralized ship controls and pointer selection management
  - Last-wins behavior for state changes
  - Mutually exclusive ship controls and VR pointer selection
  - Observable events for state changes with requester tracking
  - Enables debugging and prevents conflicts between UI components

- Refactor Ship class to use InputControlManager
  - Remove disableControls() and enableControls() methods
  - Register input systems with InputControlManager on initialization
  - Simplify control state management throughout ship lifecycle

- Update StatusScreen to use InputControlManager
  - Remove manual pointer selection enable/disable methods
  - Delegate control management to InputControlManager
  - Automatic laser pointer enabling when screen shows

- Update Level1 mission brief to use InputControlManager
  - Consistent control management for mission brief display
  - Proper pointer selection during mission brief interaction

- Fix controller input trigger blocking bug
  - Triggers now properly blocked when controls disabled
  - Prevents shooting when status screen or mission brief is visible
  - Only X-button (status screen toggle) allowed when disabled

- Add START MISSION button to mission brief
  - Replace "Pull trigger to start" text with clickable button
  - Green styled button matching StatusScreen design
  - Works with VR laser pointer interaction
  - Trigger pull still works as fallback

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 17:25:11 -06:00

42 lines
1.3 KiB
JSON

{
"name": "space-game",
"deployHostname": "www.flatearthdefense.com",
"private": false,
"version": "0.0.1",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview",
"havok": "cp ./node_modules/@babylonjs/havok/lib/esm/HavokPhysics.wasm ./node_modules/.vite/deps",
"speech": "tsc && node ./dist/server/voices.js",
"export-blend": "tsx scripts/exportBlend.ts",
"export-blend:watch": "tsx scripts/exportBlend.ts --watch",
"export-blend:batch": "tsx scripts/exportBlend.ts --batch"
},
"dependencies": {
"@auth0/auth0-spa-js": "^2.8.0",
"@babylonjs/core": "8.36.1",
"@babylonjs/gui": "^8.36.1",
"@babylonjs/havok": "1.3.10",
"@babylonjs/inspector": "8.36.1",
"@babylonjs/loaders": "8.36.1",
"@babylonjs/materials": "8.36.1",
"@babylonjs/procedural-textures": "8.36.1",
"@babylonjs/serializers": "8.36.1",
"@newrelic/browser-agent": "^1.302.0",
"openai": "4.52.3",
"loglevel": "^1.9.2",
"svelte-spa-router": "^4.0.1"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^6.2.1",
"@types/node": "^20.0.0",
"svelte": "^5.43.14",
"svelte-preprocess": "^6.0.3",
"tsx": "^4.7.1",
"typescript": "^5.5.3",
"vite": "^7.2.2"
}
}