style(client): gdformat all 52 GDScript files — zero format warnings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-05 11:09:10 +02:00
co-authored by Claude Opus 4.6
parent 572e66f026
commit 88c7407cb6
52 changed files with 2323 additions and 1061 deletions
+80 -31
View File
@@ -16,9 +16,9 @@ const DATA_PATH := "res://data/star_map_data.json"
# Layout
const MAP_CENTER_FRACTION := Vector2(0.5, 0.5) # center of control
const MIN_RING_RADIUS: float = 30.0 # innermost ring (hop 0 = gateway dot only)
const RING_SPACING: float = 22.0 # pixels between hop rings
const MAX_HOP_RINGS: int = 24 # max hop distance we render rings for
const MIN_RING_RADIUS: float = 30.0 # innermost ring (hop 0 = gateway dot only)
const RING_SPACING: float = 22.0 # pixels between hop rings
const MAX_HOP_RINGS: int = 24 # max hop distance we render rings for
# Dot sizing
const DOT_RADIUS_HUB: float = 4.5
@@ -75,8 +75,8 @@ const SECTOR_ANGLE_CENTER: Dictionary = {
"west_reach": PI,
}
const SECTOR_ANGLE_SPREAD: float = PI / 2.5 # each sector occupies ~72° of arc
const CORE_ANGLE_SPREAD: float = TAU # core systems spread full circle
const DEEP_FRONTIER_ANGLE_SPREAD: float = TAU # deep frontier wraps entire outer edge
const CORE_ANGLE_SPREAD: float = TAU # core systems spread full circle
const DEEP_FRONTIER_ANGLE_SPREAD: float = TAU # deep frontier wraps entire outer edge
# Pan/zoom
const ZOOM_MIN: float = 0.3
@@ -87,7 +87,7 @@ const ZOOM_STEP: float = 0.15
var _nodes: Array = []
var _edges: Array = []
var _node_positions: Dictionary = {} # system_id -> Vector2 (screen coords relative to map center)
var _node_lookup: Dictionary = {} # system_id -> node dict
var _node_lookup: Dictionary = {} # system_id -> node dict
var _selected_system: String = ""
var _hovered_system: String = ""
@@ -99,8 +99,8 @@ var _pan_start_offset: Vector2 = Vector2.ZERO
var _data_loaded: bool = false
var _insert_active: bool = true
var _dirty: bool = true # redraw needed — set by state changes, cleared after _draw
var _info_panel: ImplantPanel # D-169: component-based info panel
var _dirty: bool = true # redraw needed — set by state changes, cleared after _draw
var _info_panel: ImplantPanel # D-169: component-based info panel
var _implant_theme: ImplantTheme
@@ -170,6 +170,7 @@ func get_edge_count() -> int:
# Data loading
# =============================================================================
func _load_data() -> void:
if not FileAccess.file_exists(DATA_PATH):
push_warning("StarMapRenderer: data file not found at %s" % DATA_PATH)
@@ -195,6 +196,7 @@ func _load_data() -> void:
# Layout — place systems on concentric rings by hop distance
# =============================================================================
func _compute_layout() -> void:
_node_positions.clear()
@@ -260,7 +262,9 @@ func _compute_layout() -> void:
var jitter: float = _system_hash(node["system_id"]) * 0.08
angle += jitter
# Slight radial variation to avoid perfect circles
var r_var: float = radius + _system_hash(node["system_id"] + "r") * RING_SPACING * 0.3
var r_var: float = (
radius + _system_hash(node["system_id"] + "r") * RING_SPACING * 0.3
)
_node_positions[node["system_id"]] = Vector2(cos(angle), sin(angle)) * r_var
@@ -275,13 +279,20 @@ func _sort_by_sector_angle(a: Dictionary, b: Dictionary) -> bool:
func _sector_sort_key(node: Dictionary) -> float:
var sector: String = node.get("geographic_sector", "unknown")
match sector:
"core": return 0.0
"north_reach": return 1.0
"east_reach": return 2.0
"south_reach": return 3.0
"west_reach": return 4.0
"deep_frontier": return 5.0
_: return 6.0 # gdlint:ignore = max-returns
"core":
return 0.0
"north_reach":
return 1.0
"east_reach":
return 2.0
"south_reach":
return 3.0
"west_reach":
return 4.0
"deep_frontier":
return 5.0
_:
return 6.0 # gdlint:ignore = max-returns
## Deterministic float in [-1, 1] from a string key.
@@ -294,6 +305,7 @@ func _system_hash(key: String) -> float:
# Drawing
# =============================================================================
func _draw() -> void:
if not _data_loaded:
return
@@ -357,8 +369,12 @@ func _draw_sector_labels(center: Vector2) -> void:
var color: Color = SECTOR_COLORS.get(sector, COLOR_TEXT_DIM)
var font := get_theme_default_font()
var font_size: int = 10
var text_size: Vector2 = font.get_string_size(label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size)
draw_string(font, pos - text_size / 2.0, label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color)
var text_size: Vector2 = font.get_string_size(
label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size
)
draw_string(
font, pos - text_size / 2.0, label, HORIZONTAL_ALIGNMENT_LEFT, -1, font_size, color
)
func _draw_systems(center: Vector2) -> void:
@@ -383,7 +399,9 @@ func _draw_systems(center: Vector2) -> void:
# Hover highlight
if sid == _hovered_system and sid != _selected_system:
draw_arc(pos, radius + 3.0, 0.0, TAU, 16, Color(color.r, color.g, color.b, 0.4), 1.0, true)
draw_arc(
pos, radius + 3.0, 0.0, TAU, 16, Color(color.r, color.g, color.b, 0.4), 1.0, true
)
draw_circle(pos, radius, color)
@@ -415,8 +433,15 @@ func _draw_selection(center: Vector2) -> void:
if label.is_empty():
label = _selected_system
var font := get_theme_default_font()
draw_string(font, pos + Vector2(SELECTION_RING_RADIUS + 4, 4), label,
HORIZONTAL_ALIGNMENT_LEFT, -1, 12, COLOR_SELECTION)
draw_string(
font,
pos + Vector2(SELECTION_RING_RADIUS + 4, 4),
label,
HORIZONTAL_ALIGNMENT_LEFT,
-1,
12,
COLOR_SELECTION
)
## Rebuild the info panel with components for the selected system (D-169).
@@ -462,9 +487,13 @@ func _rebuild_info_panel() -> void:
elif not population.is_empty():
stat_line_3 = "Population: " + population
else:
stat_line_3 = "%d aperture%s" % [
int(node.get("aperture_count", 0)),
"s" if int(node.get("aperture_count", 0)) != 1 else ""]
stat_line_3 = (
"%d aperture%s"
% [
int(node.get("aperture_count", 0)),
"s" if int(node.get("aperture_count", 0)) != 1 else ""
]
)
_info_panel.add_component(ImplantDataRow.new(stat_line_3))
# ── GTTR excerpt ─────────────────────────────────────────────────────────
@@ -487,23 +516,43 @@ func _rebuild_info_panel() -> void:
func _draw_title() -> void:
var font := get_theme_default_font()
draw_string(font, Vector2(16, 28), "THE REACH — NAVIGATOR", HORIZONTAL_ALIGNMENT_LEFT, -1, 16, COLOR_TEXT)
draw_string(font, Vector2(16, 44), "Concord Assembly Gate Network — %d Systems" % _nodes.size(),
HORIZONTAL_ALIGNMENT_LEFT, -1, 10, COLOR_TEXT_DIM)
draw_string(
font,
Vector2(16, 28),
"THE REACH — NAVIGATOR",
HORIZONTAL_ALIGNMENT_LEFT,
-1,
16,
COLOR_TEXT
)
draw_string(
font,
Vector2(16, 44),
"Concord Assembly Gate Network — %d Systems" % _nodes.size(),
HORIZONTAL_ALIGNMENT_LEFT,
-1,
10,
COLOR_TEXT_DIM
)
func _dot_radius(topology: String) -> float:
match topology:
"hub": return DOT_RADIUS_HUB
"junction": return DOT_RADIUS_JUNCTION
"dead_end": return DOT_RADIUS_DEAD_END
_: return DOT_RADIUS_DEFAULT
"hub":
return DOT_RADIUS_HUB
"junction":
return DOT_RADIUS_JUNCTION
"dead_end":
return DOT_RADIUS_DEAD_END
_:
return DOT_RADIUS_DEFAULT
# =============================================================================
# Input — selection, pan, zoom
# =============================================================================
func _gui_input(event: InputEvent) -> void:
if event is InputEventMouseButton:
var mb := event as InputEventMouseButton