All checks were successful
Build / build (push) Successful in 1m31s
- 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>
42 lines
1.3 KiB
JSON
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"
|
|
}
|
|
}
|