Forge Server CAD
Overview
The CAD addon coordinates dispatch-facing operational state: groups, assignments, dispatch orders, support requests, task assignment, permissions, hydrate payloads, and recent activity.
CAD state is extension-backed but intentionally transient. It is scoped to the active server or mission lifecycle and starts fresh after restart.
Dependencies
forge_server_mainforge_server_commonforge_server_actorforge_server_orgforge_server_taskforge_server_extensionat runtime for CAD extension callsforge_client_cadandforge_client_notificationsfor response RPCs
Main Components
fnc_initCadStore.sqfcoordinates repositories and request handling.fnc_initActivityRepository.sqfrecords recent CAD activity.fnc_initAssignmentRepository.sqfmanages task assignments and dispatch orders.fnc_initGroupRepository.sqfmanages group membership, role, and status.fnc_initPermissionService.sqfresolves dispatch permissions.fnc_initPersistenceService.sqfbridges SQF state to extension hot CAD storage.fnc_initRequestRepository.sqfmanages support requests.
Event Surface
The addon listens to and emits events through the event bus:
Listens to:
- Task lifecycle events (
task.started,task.completed,task.failed) - Task reward events to sync assignments
- Client notification/sync request events
Emits:
cad.assignment.assigned- task assigned to groupcad.assignment.created- new assignment createdcad.assignment.acknowledged- assignment acknowledgedcad.assignment.declined- assignment declinedcad.assignment.closed- assignment completedcad.request.submitted- support request submittedcad.request.closed- support request resolvedcad.group.updated- group status updated
Successful mutations may invalidate CAD state globally so clients refresh their views.
Notes
CAD hydrate payloads include active task catalog entries from TaskStore and
organization context from ActorStore.