feat(ui): implant app hierarchy in HudGroups (D-170)

Implant apps use hierarchical groups: implant/map, implant/wiki,
implant/journal, etc. Apps are mutually exclusive with each other
and with gameplay. Opening implant/map hides gameplay + any other
implant app. Closing returns to gameplay.

API: open_app(), close_app(), toggle_app(), is_app_active().
Star map uses implant/map. Future apps register their own group.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-05 11:04:19 +02:00
co-authored by Claude Opus 4.6
parent f037bcaa81
commit 5ad2452213
3 changed files with 84 additions and 59 deletions
+3 -3
View File
@@ -119,7 +119,7 @@ func _ready() -> void:
add_child(_info_panel)
# D-170: Register with HUD visibility groups
HudGroups.register(self, "implant")
HudGroups.register(self, "implant/map")
_load_data()
if _data_loaded:
@@ -144,9 +144,9 @@ func set_insert_active(active: bool) -> void:
## Toggle visibility via HUD group system (D-170).
## Shows implant group (hides gameplay) or vice versa.
## Opens implant/map (hides gameplay) or closes it (returns to gameplay).
func toggle_visible() -> void:
HudGroups.toggle_group("implant")
HudGroups.toggle_app("implant/map")
if visible:
_dirty = true