[NG] Wire targeting + scan HUD in the web space game #944

Closed
opened 2026-08-06 16:11:59 +00:00 by spikerj · 2 comments
Owner

Part of the Game Unification lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: ~/.claude/plans/i-want-a-plan-breezy-eclipse.md on the 4090.

Part of EPIC #927.

game-server.service.ts: extend target() (first-ever caller of the dead path, line ~574) + new scanBody(); TS interfaces + both-casing normalizers + surveyReports signal map. space-game.component.ts: selection model {kind,id,name}; THREE.Raycaster pick over planet/moon/star meshes + asteroid InstancedMesh (instanceId→summary) + ships; Tab cycle (keybinding cycleTarget). New hud/target-hud.ts as the second @spikersoft/gl-hud panel (copy options-menu-hud.ts structure): body info, SCAN button (disabled/progress states), report view reusing periodic-table-hud.ts element colors. Vitest specs mirroring options-menu-hud.spec.ts.

Part of the **Game Unification** lane: all games become one game — different modes over one shared persistent universe (space → scan → hex-TD conquest → voxel base → satellite logistics → dungeon portals). Clients = Angular web + Godot (iOS/Android embed Godot). Full plan: `~/.claude/plans/i-want-a-plan-breezy-eclipse.md` on the 4090. Part of EPIC #927. `game-server.service.ts`: extend `target()` (first-ever caller of the dead path, line ~574) + new `scanBody()`; TS interfaces + both-casing normalizers + `surveyReports` signal map. `space-game.component.ts`: selection model {kind,id,name}; `THREE.Raycaster` pick over planet/moon/star meshes + asteroid `InstancedMesh` (instanceId→summary) + ships; Tab cycle (keybinding `cycleTarget`). New `hud/target-hud.ts` as the second `@spikersoft/gl-hud` panel (copy `options-menu-hud.ts` structure): body info, SCAN button (disabled/progress states), report view reusing `periodic-table-hud.ts` element colors. Vitest specs mirroring `options-menu-hud.spec.ts`.
spikerj added the enhancementagentic labels 2026-08-06 16:11:59 +00:00
Author
Owner

Implementation up: spikersoft-angular PR #620. target()/scanBody() + dual-casing normalizers + surveyReports signal; raycaster click-pick incl. asteroid InstancedMesh mapping + cycleTarget key (t); TargetHUD as the second @spikersoft/gl-hud panel with scan states + report view reusing periodic-table colors. 3793 tests green (30 new), lint clean. Merge AFTER backend #521-#523. Will close after merge.

Implementation up: spikersoft-angular PR #620. target()/scanBody() + dual-casing normalizers + surveyReports signal; raycaster click-pick incl. asteroid InstancedMesh mapping + cycleTarget key (t); TargetHUD as the second @spikersoft/gl-hud panel with scan states + report view reusing periodic-table colors. 3793 tests green (30 new), lint clean. Merge AFTER backend #521-#523. Will close after merge.
Author
Owner

Resolved in spikersoft-angular PR #620 (merged to master). Tab target cycling (Shift+Tab reverse; cycleRadarMode moved to m): visible ships → radar-only contacts (stealth-uncovered/ghosts at last-known pos, RADAR CONTACT/GHOST HUD qualifier) → 10 nearest bodies; click-pick incl. asteroid instances; gl-hud TargetHUD with SCAN + survey report view. Closing.

Resolved in spikersoft-angular PR #620 (merged to master). Tab target cycling (Shift+Tab reverse; cycleRadarMode moved to m): visible ships → radar-only contacts (stealth-uncovered/ghosts at last-known pos, RADAR CONTACT/GHOST HUD qualifier) → 10 nearest bodies; click-pick incl. asteroid instances; gl-hud TargetHUD with SCAN + survey report view. Closing.
Sign in to join this conversation.