Server Side Systems
Server-side architecture for controllers, services, data contracts, and persistence boundaries.
| System | Surface | Source of Truth | Notes |
|---|---|---|---|
| HexMapController runtime orchestration | /hexmap + /api/map/visual-state | HexMapController + dc_campaign_dungeons.dungeon_data normalization | Bootstraps authoritative map payload/state into drupalSettings for client rendering. |
| Dungeon generation API | /api/campaign/{campaign_id}/dungeons/generate | DungeonGeneratorController + DungeonGeneratorService | Generates multi-level dungeon payloads and persists canonical dungeon/room records. |
| Room generation API | /api/campaign/{campaign_id}/dungeons/{dungeon_id}/levels/{depth}/rooms | RoomGeneratorController + RoomGeneratorService | Generates room hexes/entities/entry-exit points and writes campaign room records. |
| GM location/room orchestration | /api/campaign/{campaign_id}/gm/locations/request + /gm/rooms/request | LocationGenerationController + MapGeneratorService + RoomGeneratorService | Expands live campaigns with generated locations and updates navigation/room state. |
| Combat runtime APIs | /api/combat/* + encounter action APIs | CombatEncounterApiController + encounter phase handlers | Maintains server-authoritative initiative, turn, and encounter progression. |