2026-05-23 09:23:12 -05:00

1 line
14 KiB
JSON

[{"data":1,"prerenderedAt":637},["ShallowReactive",2],{"navigation_docs":3,"-client-addons-cad":145,"-client-addons-cad-surround":632},[4,27,41,93],{"title":5,"path":6,"stem":7,"children":8,"icon":26},"Getting Started","\u002Fgetting-started","1.getting-started\u002F0.index",[9,10,14,18,22],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Framework Architecture","\u002Fgetting-started\u002Farchitecture","1.getting-started\u002F1.architecture",{"title":15,"path":16,"stem":17},"Module Reference","\u002Fgetting-started\u002Fmodule-reference","1.getting-started\u002F2.module-reference",{"title":19,"path":20,"stem":21},"Development Guide","\u002Fgetting-started\u002Fdevelopment","1.getting-started\u002F3.development",{"title":23,"path":24,"stem":25},"SurrealDB Setup","\u002Fgetting-started\u002Fsurrealdb-setup","1.getting-started\u002F4.surrealdb-setup","i-lucide-rocket",{"title":28,"path":29,"stem":30,"children":31},"Forge Server Extension","\u002Fserver-extension","2.server-extension\u002F0.index",[32,33,37],{"title":28,"path":29,"stem":30},{"title":34,"path":35,"stem":36},"Forge Server API Reference","\u002Fserver-extension\u002Fapi-reference","2.server-extension\u002F1.api-reference",{"title":38,"path":39,"stem":40},"Forge Server Usage Examples","\u002Fserver-extension\u002Fusage-examples","2.server-extension\u002F2.usage-examples",{"title":42,"path":43,"stem":44,"children":45,"icon":92},"Server Modules","\u002Fserver-modules","3.server-modules\u002F0.index",[46,48,52,56,60,64,68,72,76,80,84,88],{"title":47,"path":43,"stem":44},"Server Module Guides",{"title":49,"path":50,"stem":51},"Actor Usage Guide","\u002Fserver-modules\u002Factor","3.server-modules\u002F1.actor",{"title":53,"path":54,"stem":55},"Store Usage Guide","\u002Fserver-modules\u002Fstore","3.server-modules\u002F10.store",{"title":57,"path":58,"stem":59},"Task Usage Guide","\u002Fserver-modules\u002Ftask","3.server-modules\u002F11.task",{"title":61,"path":62,"stem":63},"Bank Usage Guide","\u002Fserver-modules\u002Fbank","3.server-modules\u002F2.bank",{"title":65,"path":66,"stem":67},"CAD Usage Guide","\u002Fserver-modules\u002Fcad","3.server-modules\u002F3.cad",{"title":69,"path":70,"stem":71},"Economy Usage Guide","\u002Fserver-modules\u002Feconomy","3.server-modules\u002F4.economy",{"title":73,"path":74,"stem":75},"Garage Usage Guide","\u002Fserver-modules\u002Fgarage","3.server-modules\u002F5.garage",{"title":77,"path":78,"stem":79},"Locker Usage Guide","\u002Fserver-modules\u002Flocker","3.server-modules\u002F6.locker",{"title":81,"path":82,"stem":83},"Organization Usage Guide","\u002Fserver-modules\u002Forganization","3.server-modules\u002F7.organization",{"title":85,"path":86,"stem":87},"Owned Storage Usage Guide","\u002Fserver-modules\u002Fowned-storage","3.server-modules\u002F8.owned-storage",{"title":89,"path":90,"stem":91},"Phone Usage Guide","\u002Fserver-modules\u002Fphone","3.server-modules\u002F9.phone","i-lucide-layers-3",{"title":94,"path":95,"stem":96,"children":97,"icon":144},"Client Addons","\u002Fclient-addons","4.client-addons\u002F0.index",[98,100,104,108,112,116,120,124,128,132,136,140],{"title":99,"path":95,"stem":96},"Client Usage Guide",{"title":101,"path":102,"stem":103},"Client Main Usage Guide","\u002Fclient-addons\u002Fmain","4.client-addons\u002F1.main",{"title":105,"path":106,"stem":107},"Client Phone Usage Guide","\u002Fclient-addons\u002Fphone","4.client-addons\u002F10.phone",{"title":109,"path":110,"stem":111},"Client Store Usage Guide","\u002Fclient-addons\u002Fstore","4.client-addons\u002F11.store",{"title":113,"path":114,"stem":115},"Client Common Usage Guide","\u002Fclient-addons\u002Fcommon","4.client-addons\u002F2.common",{"title":117,"path":118,"stem":119},"Client Actor Usage Guide","\u002Fclient-addons\u002Factor","4.client-addons\u002F3.actor",{"title":121,"path":122,"stem":123},"Client Bank Usage Guide","\u002Fclient-addons\u002Fbank","4.client-addons\u002F4.bank",{"title":125,"path":126,"stem":127},"Client CAD Usage Guide","\u002Fclient-addons\u002Fcad","4.client-addons\u002F5.cad",{"title":129,"path":130,"stem":131},"Client Garage Usage Guide","\u002Fclient-addons\u002Fgarage","4.client-addons\u002F6.garage",{"title":133,"path":134,"stem":135},"Client Locker Usage Guide","\u002Fclient-addons\u002Flocker","4.client-addons\u002F7.locker",{"title":137,"path":138,"stem":139},"Client Notifications Usage Guide","\u002Fclient-addons\u002Fnotifications","4.client-addons\u002F8.notifications",{"title":141,"path":142,"stem":143},"Client Organization Usage Guide","\u002Fclient-addons\u002Forganization","4.client-addons\u002F9.organization","i-lucide-monitor-smartphone",{"id":146,"title":125,"body":147,"description":157,"extension":626,"links":627,"meta":628,"navigation":629,"path":126,"seo":630,"stem":127,"__hash__":631},"docs\u002F4.client-addons\u002F5.cad.md",{"type":148,"value":149,"toc":616},"minimark",[150,154,158,163,180,187,203,206,210,216,222,251,255,505,509,512,565,572,576,583,586,590,593,597,612],[151,152,125],"h1",{"id":153},"client-cad-usage-guide",[155,156,157],"p",{},"The client CAD addon provides the map and dispatch UI for groups, active\ntasks, task assignment, dispatch orders, support requests, and task\nacknowledge\u002Fdecline workflows.",[159,160,162],"h2",{"id":161},"open-cad-ui","Open CAD UI",[164,165,170],"pre",{"className":166,"code":167,"language":168,"meta":169,"style":169},"language-sqf shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","call forge_client_cad_fnc_openUI;\n","sqf","",[171,172,173],"code",{"__ignoreMap":169},[174,175,178],"span",{"class":176,"line":177},"line",1,[174,179,167],{},[155,181,182,183,186],{},"The CAD UI opens ",[171,184,185],{},"RscMapUI"," and loads separate browser controls for:",[188,189,190,194,197,200],"ul",{},[191,192,193],"li",{},"top bar",[191,195,196],{},"bottom bar",[191,198,199],{},"side panel",[191,201,202],{},"dispatcher board",[155,204,205],{},"The native Arma map remains part of the same display.",[159,207,209],{"id":208},"repository-and-bridge","Repository and Bridge",[155,211,212,215],{},[171,213,214],{},"forge_client_cad_fnc_initRepository"," caches the hydrated CAD payload,\nselected mode, dispatch view, session data, groups, tasks, requests, and\nassignments.",[155,217,218,221],{},[171,219,220],{},"forge_client_cad_fnc_initUIBridge"," owns:",[188,223,224,227,230,233,236,239,242,245,248],{},[191,225,226],{},"ready state for side panel, top bar, and dispatcher board",[191,228,229],{},"operations vs dispatch mode",[191,231,232],{},"board vs map dispatch view",[191,234,235],{},"hydrate requests",[191,237,238],{},"task assignment, acknowledge, and decline requests",[191,240,241],{},"dispatch order create\u002Fclose requests",[191,243,244],{},"support request submit\u002Fclose requests",[191,246,247],{},"group status, role, and profile requests",[191,249,250],{},"map focus actions",[159,252,254],{"id":253},"browser-events","Browser Events",[256,257,258,271],"table",{},[259,260,261],"thead",{},[262,263,264,268],"tr",{},[265,266,267],"th",{},"Event",[265,269,270],{},"Client behavior",[272,273,274,285,295,305,315,325,335,345,355,365,375,385,395,405,415,425,435,445,455,465,475,485,495],"tbody",{},[262,275,276,282],{},[277,278,279],"td",{},[171,280,281],{},"cad::topbar::ready",[277,283,284],{},"Mark top bar ready and push top bar state.",[262,286,287,292],{},[277,288,289],{},[171,290,291],{},"cad::ready",[277,293,294],{},"Mark side panel ready and request hydrate.",[262,296,297,302],{},[277,298,299],{},[171,300,301],{},"cad::dispatcher::ready",[277,303,304],{},"Mark dispatcher board ready and push hydrate data.",[262,306,307,312],{},[277,308,309],{},[171,310,311],{},"cad::mode::set",[277,313,314],{},"Switch between operations and dispatch mode.",[262,316,317,322],{},[277,318,319],{},[171,320,321],{},"cad::dispatchView::set",[277,323,324],{},"Switch dispatch board\u002Fmap view.",[262,326,327,332],{},[277,328,329],{},[171,330,331],{},"cad::refresh",[277,333,334],{},"Request fresh CAD hydrate data.",[262,336,337,342],{},[277,338,339],{},[171,340,341],{},"cad::tasks::assign",[277,343,344],{},"Assign a task to a group.",[262,346,347,352],{},[277,348,349],{},[171,350,351],{},"cad::tasks::acknowledge",[277,353,354],{},"Acknowledge assigned task.",[262,356,357,362],{},[277,358,359],{},[171,360,361],{},"cad::tasks::decline",[277,363,364],{},"Decline assigned task.",[262,366,367,372],{},[277,368,369],{},[171,370,371],{},"cad::dispatchOrder::create",[277,373,374],{},"Create dispatch order.",[262,376,377,382],{},[277,378,379],{},[171,380,381],{},"cad::dispatchOrder::close",[277,383,384],{},"Close dispatch order.",[262,386,387,392],{},[277,388,389],{},[171,390,391],{},"cad::supportRequest::submit",[277,393,394],{},"Submit support request.",[262,396,397,402],{},[277,398,399],{},[171,400,401],{},"cad::supportRequest::close",[277,403,404],{},"Close support request.",[262,406,407,412],{},[277,408,409],{},[171,410,411],{},"cad::groups::status",[277,413,414],{},"Update group status.",[262,416,417,422],{},[277,418,419],{},[171,420,421],{},"cad::groups::role",[277,423,424],{},"Update group role.",[262,426,427,432],{},[277,428,429],{},[171,430,431],{},"cad::groups::profile",[277,433,434],{},"Update status and role together.",[262,436,437,442],{},[277,438,439],{},[171,440,441],{},"cad::groups::focus",[277,443,444],{},"Center map on a group.",[262,446,447,452],{},[277,448,449],{},[171,450,451],{},"cad::tasks::focus",[277,453,454],{},"Center map on a task.",[262,456,457,462],{},[277,458,459],{},[171,460,461],{},"cad::requests::focus",[277,463,464],{},"Center map on a support request.",[262,466,467,472],{},[277,468,469],{},[171,470,471],{},"map::zoomIn",[277,473,474],{},"Zoom native map in.",[262,476,477,482],{},[277,478,479],{},[171,480,481],{},"map::zoomOut",[277,483,484],{},"Zoom native map out.",[262,486,487,492],{},[277,488,489],{},[171,490,491],{},"map::search",[277,493,494],{},"Placeholder status update.",[262,496,497,502],{},[277,498,499],{},[171,500,501],{},"map::close",[277,503,504],{},"Dispose bridge state and close the display.",[159,506,508],{"id":507},"response-events","Response Events",[155,510,511],{},"The bridge pushes:",[256,513,514,523],{},[259,515,516],{},[262,517,518,520],{},[265,519,267],{},[265,521,522],{},"Purpose",[272,524,525,535,545,555],{},[262,526,527,532],{},[277,528,529],{},[171,530,531],{},"cad::hydrate",[277,533,534],{},"Full hydrated CAD payload to the side panel.",[262,536,537,542],{},[277,538,539],{},[171,540,541],{},"cad::assignment::response",[277,543,544],{},"Task assignment\u002Facknowledge\u002Fdecline result.",[262,546,547,552],{},[277,548,549],{},[171,550,551],{},"cad::group::response",[277,553,554],{},"Group status\u002Frole\u002Fprofile result.",[262,556,557,562],{},[277,558,559],{},[171,560,561],{},"cad::request::response",[277,563,564],{},"Support request result.",[155,566,567,568,571],{},"Dispatcher board controls also receive direct ",[171,569,570],{},"ExecJS"," status and hydrate\ncalls.",[159,573,575],{"id":574},"task-compatibility","Task Compatibility",[155,577,578,579,582],{},"CAD task visibility depends on server-side task catalog entries. Tasks created\nthrough Eden Forge task modules or ",[171,580,581],{},"forge_server_task_fnc_startTask"," are the\nnormal CAD-compatible task sources because they register task catalog data.",[155,584,585],{},"Direct handler or task-function calls only work with CAD when the task catalog\nentry already exists.",[159,587,589],{"id":588},"authorization-notes","Authorization Notes",[155,591,592],{},"Only dispatcher sessions can enter dispatch mode. If the hydrated session is\nnot a dispatcher, the bridge forces the UI back to operations mode.",[159,594,596],{"id":595},"related-guides","Related Guides",[188,598,599,604,608],{},[191,600,601],{},[602,603,65],"a",{"href":66},[191,605,606],{},[602,607,57],{"href":58},[191,609,610],{},[602,611,113],{"href":114},[613,614,615],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":169,"searchDepth":617,"depth":617,"links":618},2,[619,620,621,622,623,624,625],{"id":161,"depth":617,"text":162},{"id":208,"depth":617,"text":209},{"id":253,"depth":617,"text":254},{"id":507,"depth":617,"text":508},{"id":574,"depth":617,"text":575},{"id":588,"depth":617,"text":589},{"id":595,"depth":617,"text":596},"md",null,{},true,{"title":125,"description":157},"PkqhI_PomRiB_5NhoA0fI40iHaGK26pYqhDGm9sj2iA",[633,635],{"title":121,"path":122,"stem":123,"description":634,"children":-1},"The client bank addon opens the bank and ATM browser UI, forwards banking\nrequests to the server bank addon, and pushes account updates back into the\nbrowser.",{"title":129,"path":130,"stem":131,"description":636,"children":-1},"The client garage addon provides player vehicle storage UI, vehicle\nstore\u002Fretrieve actions, selected nearby vehicle service requests, vehicle\ncontext building, and the virtual garage view.",1776806627742]