feat(client): initialize Godot 4 project boilerplate (epic #277)

Set up the complete Godot 4.6 client foundation as a pure renderer (D-020):
- project.godot with 2D rendering, autoloads, input actions
- Main scene: Game > World (TileMapLayer, Entities, FogOverlay) + Camera2D + UILayer
- Autoloads: SimBridge (connection state machine + test mode), GameState, InputMapper
- Rendering stubs: WorldRenderer, EntityRenderer, FogRenderer
- UI stubs: HUD (health/perception/time), Minimap, MonologueDisplay
- Input mapping: WASD/arrows, E (interact), Tab (perception), Esc (menu), Space (pause)
- gdUnit4 smoke tests: scene loads, autoloads registered (2/2 passing)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-11 16:52:27 +01:00
co-authored by Claude Opus 4.6
parent 61e0762a84
commit 603c24e177
34 changed files with 656 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
extends Node2D
# Fog renderer — manages fog of war overlay
# Controls visibility based on player position and fog radius
func _ready() -> void:
print("FogRenderer: Initialized")
# Update fog visibility (stub for now)
func update_fog(fog_data: Dictionary, player_pos: Vector2) -> void:
# TODO: Implement fog of war rendering
# This will control what the player can see based on:
# - fog_data.radius (visibility radius)
# - player_pos (center of visible area)
# - Perception mode state (affects visibility)
pass