How vbmenzel/emergencyresponse works
Emergency Response is a C# emergency-dispatch domain with console and Raylib hosts. The principal workflow reports an incident with location, severity, and required capabilities; the command centre finds an eligible, available responder under its current policy and records the assignment atomically; the incident is later resolved and registered callbacks are notified. The graph also shows responder capability/energy checks, generic search, and the two presentation hosts. Wiring for unsampled UI actions is limited to documented or visible interactions.
Main entry points: CommandCentre.cs Command Centre · EmergencyResponse.ConsoleDemo/Program.cs Console Demo · SearchTool.cs Generic Search · EmergencyResponse.RaylibUi/Program.cs Raylib Host
Components 16
Emergency Domain
- Incident Lifecycle
src/EmergencyResponse.Core/Incidents/Incident.cs - Responder Types
src/EmergencyResponse.Core/Responders - Responder Skills
src/EmergencyResponse.Core/Capabilities
Dispatch Logic
- Command Centre
src/EmergencyResponse.Core/Coordination/CommandCentre.cs - Assignment Policy
src/EmergencyResponse.Core/Assignment/IAssignmentStrategy.cs - First Available
src/EmergencyResponse.Core/Assignment/FirstAvailableStrategy.cs - Highest Energy
src/EmergencyResponse.Core/Assignment/HighestEnergyAvailableStrategy.cs - Generic Search
src/EmergencyResponse.Core/Search/SearchTool.cs - Resolution Callbacks
src/EmergencyResponse.Core/Coordination/ResolutionCallback.cs
Application Hosts
- Console Demo
src/EmergencyResponse.ConsoleDemo/Program.cs - Demo Setup
src/EmergencyResponse.ConsoleDemo/DemoData.cs - Console Reporting
src/EmergencyResponse.ConsoleDemo/ConsoleReport.cs - Raylib Host
src/EmergencyResponse.RaylibUi/Program.cs - UI Seed Data
src/EmergencyResponse.RaylibUi/SeedData.cs - Dispatch Board
src/EmergencyResponse.RaylibUi/DispatchBoard.cs
Other components
- Incident Reporter
Connections 19
- Incident Reporter → Incident Lifecycle: reports
- Console Demo → Command Centre: runs dispatch
- Console Demo → Demo Setup: sets up
- Demo Setup → Command Centre: registers and reports
- Raylib Host → Command Centre: creates centre
- Raylib Host → UI Seed Data: sets up
- UI Seed Data → Command Centre: registers and reports
- Raylib Host → Dispatch Board: creates and draws
- Command Centre → Assignment Policy: selects through
- First Available → Responder Types: chooses eligible
- Highest Energy → Generic Search: filters with
- Generic Search → Responder Types: tests candidates
- Responder Types → Responder Skills: implements skills
- Command Centre → Incident Lifecycle: records lifecycle
- Command Centre → Resolution Callbacks: notifies on resolution
- Console Demo → Console Reporting: prints sections
- Console Demo → Generic Search: queries roster
- Dispatch Board → Command Centre: reads and dispatches
- Dispatch Board → Generic Search: filters incidents