aether-shards/dependency-graph.md

84 lines
1.8 KiB
Markdown
Raw Normal View History

```mermaid
graph TD
%% --- LAYERS ---
subgraph UI_Layer [UI Presentation]
DOM[index.html]
HUD[Deployment/Combat HUDs]
Builder[Team Builder]
Dialogue[Dialogue Overlay]
end
subgraph App_Layer [Application Control]
GSM[GameStateManager]
Persist[Persistence - IndexedDB]
Input[InputManager]
end
subgraph Engine_Layer [The Game Loop]
Loop[GameLoop]
Mission[MissionManager]
Narrative[NarrativeManager]
end
subgraph Sim_Layer [Simulation & Logic]
Grid[VoxelGrid]
UnitMgr[UnitManager]
Path[Pathfinding A*]
AI[AIController]
Effects[EffectProcessor]
Stats[StatSystem]
end
subgraph Gen_Layer [Procedural Generation]
MapGen[Map Generators]
TexGen[Texture Generators]
end
subgraph Visual_Layer [Rendering]
VoxMgr[VoxelManager]
ThreeJS[Three.js Scene]
end
%% --- CONNECTIONS ---
%% Application Flow
DOM --> GSM
GSM -->|Set Loop| Loop
GSM <-->|Save/Load| Persist
%% Input Flow
Input -->|Events| Loop
Input -->|Raycast| ThreeJS
%% Game Loop Control
Loop -->|Update| UnitMgr
Loop -->|Render| VoxMgr
Loop -->|Logic| AI
Loop -->|Logic| Mission
%% Mission & Narrative
Mission -->|Triggers| Narrative
Narrative -->|Events| Dialogue
Mission -->|Config| MapGen
%% Generation Flow
MapGen -->|Fills| Grid
MapGen -->|Uses| TexGen
MapGen -->|Assets| VoxMgr
%% Simulation Interdependencies
UnitMgr -->|Queries| Grid
AI -->|Queries| UnitMgr
AI -->|Calculates| Path
Path -->|Queries| Grid
%% Combat & Effects
AI -->|Action| Effects
Effects -->|Modify| UnitMgr
Effects -->|Modify| Grid
%% Rendering
VoxMgr -->|Reads| Grid
VoxMgr -->|Updates| ThreeJS
```