feat(ui): HUD visibility groups — gameplay vs implant layers (D-170)

New HudGroups autoload manages show/hide of related HUD elements as
groups. Exclusive groups (gameplay, implant) are mutually exclusive —
opening the star map hides stance indicator, minimap, interaction
prompts, etc. Closing it restores them.

Gameplay nodes registered in main.gd _ready(). Star map registers as
implant group and uses toggle_group() instead of direct visibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-05 11:01:28 +02:00
co-authored by Claude Opus 4.6
parent 44cc8cda4c
commit f037bcaa81
5 changed files with 120 additions and 2 deletions
+8
View File
@@ -62,6 +62,14 @@ func _ready() -> void:
camera.global_position = GameState.player_position * Constants.TILE_SIZE
_camera_anchored = true
# D-170: Register HUD nodes into visibility groups
# Gameplay group — hidden when implant panels are open
for node: Control in [hud, minimap, stance_indicator, cursor_renderer,
interaction_prompt, interaction_list, inventory_grid, news_ticker,
examine_display, world_radial]:
if node:
HudGroups.register(node, "gameplay")
# #775: Initialize extracted components
_consumers = SnapshotConsumers.new().init({
"monologue_display": monologue_display,