#780 Star map click-through: System select now shows popup with name, star type, hop distance, corridor, GTTR excerpt, body count, population, and adjacent systems. Edge visibility changed: no edges by default, only selected system's gate lines on click. Star map data extended with wiki fields for all 301 systems.
#775 God object decomposition: Extracted SnapshotHandler, SnapshotConsumers, and DialogueCoordinator from main.gd (28KB → 13KB) and game_state.gd (20KB → 8.5KB). Autoload parse-order safety maintained.
#783 gdlint zero warnings: Fixed 354 warnings across 65 files (declaration order, line length, naming). No logic changes.
Commits
8eb9e0a3 feat(ui): star map click-through with wiki/GTTR popup and edge visibility
260eefcd refactor(client): decompose main.gd and game_state.gd god objects
4eb54a6f fix(client): resolve all gdlint warnings — zero warnings policy
Test plan
Open star map, click a system — verify popup shows all fields (name, star type, hop, corridor, GTTR, bodies, population, adjacents)
Verify no edges shown by default, only selected system's edges on click
Verify main.gd < 15KB, game_state.gd < 10KB
Verify SnapshotHandler, SnapshotConsumers, DialogueCoordinator exist and are referenced correctly
## Summary
- **#780 Star map click-through:** System select now shows popup with name, star type, hop distance, corridor, GTTR excerpt, body count, population, and adjacent systems. Edge visibility changed: no edges by default, only selected system's gate lines on click. Star map data extended with wiki fields for all 301 systems.
- **#775 God object decomposition:** Extracted SnapshotHandler, SnapshotConsumers, and DialogueCoordinator from main.gd (28KB → 13KB) and game_state.gd (20KB → 8.5KB). Autoload parse-order safety maintained.
- **#783 gdlint zero warnings:** Fixed 354 warnings across 65 files (declaration order, line length, naming). No logic changes.
## Commits
- `8eb9e0a3` feat(ui): star map click-through with wiki/GTTR popup and edge visibility
- `260eefcd` refactor(client): decompose main.gd and game_state.gd god objects
- `4eb54a6f` fix(client): resolve all gdlint warnings — zero warnings policy
## Test plan
- [ ] Open star map, click a system — verify popup shows all fields (name, star type, hop, corridor, GTTR, bodies, population, adjacents)
- [ ] Verify no edges shown by default, only selected system's edges on click
- [ ] Verify main.gd < 15KB, game_state.gd < 10KB
- [ ] Verify SnapshotHandler, SnapshotConsumers, DialogueCoordinator exist and are referenced correctly
- [ ] Run `gdlint client/` — expect 0 warnings
- [ ] Run existing test suite — no regressions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Show system profile popup on select: name, star type, hop distance,
corridor, GTTR excerpt, body count, population, adjacent systems.
Edge rendering changed to show no edges by default, only selected
system's gate lines on click. Star map data extended with wiki fields
for all 301 systems.
Ticket: #780
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reviewers: Hoshe (code quality), Tyre (architecture)
Hoshe (Code Quality): APPROVE
All three tickets correct. Decomposition verified — no logic regressions, all call sites updated. gdlint: 6 suppressions, all justified.
#
File
Severity
Issue
1
star_map.gd _draw_info_panel
warning
Panel height underbudgeted — separator budget 4px vs 6px actual (3x = 6px shortfall). Adjacent systems budget 1 line but max_lines=2. Hub systems overflow panel rect.
2
—
suggestion
No test coverage for popup, edge visibility, or decomposed init paths.
Tyre (Architecture): APPROVE
Decomposition is architecturally sound. main.gd: 28KB→13.4KB (hits 15KB target). Star map GTTR correctly baked (215KB JSON, loaded once). Edge-only-on-selected is a genuine improvement.
#
File
Severity
Issue
1
star_map.gd
suggestion
Cache get_theme_default_font() in _ready() — called 4x per _draw()
2
star_map.gd
suggestion
Add signal system_selected(system_id) stub for travel planner (#675)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Commits
8eb9e0a3feat(ui): star map click-through with wiki/GTTR popup and edge visibility260eefcdrefactor(client): decompose main.gd and game_state.gd god objects4eb54a6ffix(client): resolve all gdlint warnings — zero warnings policyTest plan
gdlint client/— expect 0 warnings🤖 Generated with Claude Code
Review: sprint-31/client -> main (type: code)
Reviewers: Hoshe (code quality), Tyre (architecture)
Hoshe (Code Quality): APPROVE
All three tickets correct. Decomposition verified — no logic regressions, all call sites updated. gdlint: 6 suppressions, all justified.
star_map.gd _draw_info_panelmax_lines=2. Hub systems overflow panel rect.Tyre (Architecture): APPROVE
Decomposition is architecturally sound. main.gd: 28KB→13.4KB (hits 15KB target). Star map GTTR correctly baked (215KB JSON, loaded once). Edge-only-on-selected is a genuine improvement.
star_map.gdget_theme_default_font()in_ready()— called 4x per_draw()star_map.gdsignal system_selected(system_id)stub for travel planner (#675)star_map.tscnmouse_filter = 1contradicts_ready()'s STOP overrideVerdict: APPROVED
Panel height bug is cosmetic (hub systems only). Suggestions are follow-up quality.
Pull request closed