4.8 KiB
Client CAD Usage Guide
The client CAD addon provides the map and dispatch UI for groups, active tasks, task assignment, dispatch orders, support requests, and task acknowledge/decline workflows.
Open CAD UI
call forge_client_cad_fnc_openUI;
The CAD UI opens RscMapUI and loads separate browser controls for:
- top bar
- bottom bar
- side panel
- dispatcher board
The native Arma map remains part of the same display.
Repository and Bridge
forge_client_cad_fnc_initRepository caches the hydrated CAD payload,
selected mode, dispatch view, session data, groups, tasks, requests,
assignments, and server-provided generated task types.
forge_client_cad_fnc_initUIBridge owns:
- ready state for side panel, top bar, and dispatcher board
- operations vs dispatch mode
- board vs map dispatch view
- hydrate requests
- task assignment, acknowledge, and decline requests
- dispatch order create/close requests
- support request submit/close requests
- group status, role, and profile requests
- map focus actions
Map Focus Behavior
CAD list entries can drive the native map position without duplicating map logic in the browser UI. In operations mode, assigned or accepted task cards, roster member cards, and support request cards send focus events. In dispatch map mode, group, contract, and support request cards use the same focus path.
Task and support request focus uses the stored record position. Roster member focus uses the member position included in the hydrated group roster.
Browser Events
| Event | Client behavior |
|---|---|
cad::topbar::ready |
Mark top bar ready and push top bar state. |
cad::ready |
Mark side panel ready and request hydrate. |
cad::dispatcher::ready |
Mark dispatcher board ready and push hydrate data. |
cad::mode::set |
Switch between operations and dispatch mode. |
cad::dispatchView::set |
Switch dispatch board/map view. |
cad::refresh |
Request fresh CAD hydrate data. |
cad::generatedTask::request |
Request a server-generated mission task from the selected generator type. |
cad::tasks::assign |
Assign a task to a group. |
cad::tasks::acknowledge |
Acknowledge assigned task. |
cad::tasks::decline |
Decline assigned task. |
cad::dispatchOrder::create |
Create dispatch order. |
cad::dispatchOrder::close |
Close dispatch order. |
cad::supportRequest::submit |
Submit support request. |
cad::supportRequest::close |
Close support request. |
cad::groups::status |
Update group status. |
cad::groups::role |
Update group role. |
cad::groups::profile |
Update status and role together. |
cad::groups::focus |
Center map on a group. |
cad::members::focus |
Center map on a group member. |
cad::tasks::focus |
Center map on a task. |
cad::requests::focus |
Center map on a support request. |
map::zoomIn |
Zoom native map in. |
map::zoomOut |
Zoom native map out. |
map::search |
Placeholder status update. |
map::close |
Dispose bridge state and close the display. |
Response Events
The bridge pushes:
| Event | Purpose |
|---|---|
cad::hydrate |
Full hydrated CAD payload to the side panel. |
cad::assignment::response |
Task assignment/acknowledge/decline result. |
cad::group::response |
Group status/role/profile result. |
cad::request::response |
Support request result. |
Dispatcher board controls also receive direct ExecJS status and hydrate
calls.
Task Compatibility
CAD task visibility depends on server-side task catalog entries. Tasks created
through Eden Forge task modules or forge_server_task_fnc_startTask are the
normal CAD-compatible task sources because they register task catalog data.
Direct handler or task-function calls only work with CAD when the task catalog entry already exists.
The dispatcher-generated task dropdown is hydrated from the server
generatedTaskTypes payload. The UI has a built-in fallback list for loading or
older payload compatibility, but any hydrate payload that includes
generatedTaskTypes replaces that fallback. An empty hydrated list disables the
request control, which is how forge_server_task_enableGenerator = false is surfaced
client-side.
Custom mission generators can still publish tasks into CAD by using the server task catalog. The generated-task dropdown itself currently needs a framework provider extension point before custom providers can replace the built-in list cleanly. See Custom Mission Generators.
Authorization Notes
Only dispatcher sessions can enter dispatch mode. If the hydrated session is not a dispatcher, the bridge forces the UI back to operations mode.