From ffef2b3d540f6680d571e6255f66cb9114b6dc0f Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sun, 5 Apr 2026 11:25:22 +0200 Subject: [PATCH] =?UTF-8?q?fix(ui):=20gdlint=20ordering=20=E2=80=94=20sign?= =?UTF-8?q?als=20before=20enums,=20signal=20uses=20int=20for=20Mode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moved signals above enum per gdlint class-definitions-order rule. app_changed signal uses int instead of Mode type to avoid the forward-reference that forced wrong ordering. Callers compare against HudGroups.Mode.FULLSCREEN etc unchanged. Co-Authored-By: Claude Opus 4.6 (1M context) --- client/scripts/autoloads/hud_groups.gd | 23 +++++++++++----------- client/scripts/rendering/world_renderer.gd | 4 +--- client/ui/star_map.gd | 2 +- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/client/scripts/autoloads/hud_groups.gd b/client/scripts/autoloads/hud_groups.gd index 9144c02f5..c519c82bb 100644 --- a/client/scripts/autoloads/hud_groups.gd +++ b/client/scripts/autoloads/hud_groups.gd @@ -22,6 +22,15 @@ extends Node ## HudGroups.close_app() ## HudGroups.toggle_app("implant/map/starchart") +## Emitted when an app opens, closes, or changes mode. +## mode is a HudGroups.Mode enum value. +signal app_changed(app_path: String, mode: int) + +## Emitted when gameplay rendering should pause or resume. +## Fullscreen implant apps occlude gameplay — expensive renderers (world, +## fog, entities) should skip draw calls while this is true. +signal gameplay_occluded(occluded: bool) + enum Mode { GAMEPLAY, INSERT, FULLSCREEN } ## Z-index values for each mode. Gameplay is the base layer. @@ -30,18 +39,8 @@ const Z_INSERT: int = 10 const Z_FULLSCREEN: int = 20 const Z_MODAL: int = 30 -## Emitted when an app opens, closes, or changes mode. -## Listeners can use this to adapt their layout (e.g. resize to fullscreen). -signal app_changed(app_path: String, mode: Mode) - -## Emitted when gameplay rendering should pause or resume. -## Fullscreen implant apps occlude gameplay — expensive renderers (world, -## fog, entities) should skip draw calls while this is true. -## Connect from any renderer: HudGroups.gameplay_occluded.connect(_on_occluded) -signal gameplay_occluded(occluded: bool) - -var _groups: Dictionary = {} # group_path -> Array[CanvasItem] -var _active_app: String = "" # currently focused implant app ("" = none) +var _groups: Dictionary = {} # group_path -> Array[CanvasItem] +var _active_app: String = "" # currently focused implant app ("" = none) var _active_mode: Mode = Mode.GAMEPLAY diff --git a/client/scripts/rendering/world_renderer.gd b/client/scripts/rendering/world_renderer.gd index c84969776..1b8572a9a 100644 --- a/client/scripts/rendering/world_renderer.gd +++ b/client/scripts/rendering/world_renderer.gd @@ -14,6 +14,7 @@ extends Node2D # FogOverlay (Node2D) — z:900 fog shader (OUTSIDE FogGroup) var _last_tick: int = -1 +var _occluded: bool = false # D-170: skip rendering when fullscreen implant app is covering us @onready var tile_renderer = $FogGroup/FloorTiles @onready var fog_renderer = $FogOverlay @@ -21,9 +22,6 @@ var _last_tick: int = -1 @onready var sound_indicator_renderer = $SoundIndicators # #126 D-018 medium-range indicators -var _occluded: bool = false # D-170: skip rendering when fullscreen implant app is covering us - - func _ready() -> void: HudGroups.gameplay_occluded.connect(_on_gameplay_occluded) print("WorldRenderer: Initialized (D-049 z-stack)") diff --git a/client/ui/star_map.gd b/client/ui/star_map.gd index dc279f92a..9f5f9ba22 100644 --- a/client/ui/star_map.gd +++ b/client/ui/star_map.gd @@ -149,7 +149,7 @@ func toggle_visible() -> void: ## Respond to app layer changes (D-170). -func _on_app_changed(app_path: String, mode: HudGroups.Mode) -> void: +func _on_app_changed(app_path: String, mode: int) -> void: if app_path != "implant/map/starchart": return if mode == HudGroups.Mode.FULLSCREEN or mode == HudGroups.Mode.INSERT: