diff --git a/arma/server/docs/README.md b/arma/server/docs/README.md index 1dea0e0..761e9bc 100644 --- a/arma/server/docs/README.md +++ b/arma/server/docs/README.md @@ -34,7 +34,7 @@ connect_timeout_ms = 5000 ``` For install links and Forge-specific setup steps, see -[SurrealDB Setup](../../../docs/SURREALDB_SETUP.md). +[SurrealDB Setup](../../../docs/surrealdb-setup.md). ## References diff --git a/docs/DEVELOPMENT_GUIDE.md b/docs/DEVELOPMENT_GUIDE.md index 3eb3558..e8b4588 100644 --- a/docs/DEVELOPMENT_GUIDE.md +++ b/docs/DEVELOPMENT_GUIDE.md @@ -5,7 +5,7 @@ This guide covers the usual path for adding or changing a Forge module. ## Local Checks Before running storage-backed workflows locally, complete -[SurrealDB Setup](./SURREALDB_SETUP.md). +[SurrealDB Setup](./surrealdb-setup.md). Run these before pushing Rust or extension changes: diff --git a/docs/FRAMEWORK_ARCHITECTURE.md b/docs/FRAMEWORK_ARCHITECTURE.md index e8f6d4e..df7f4b9 100644 --- a/docs/FRAMEWORK_ARCHITECTURE.md +++ b/docs/FRAMEWORK_ARCHITECTURE.md @@ -126,7 +126,7 @@ connect_timeout_ms = 5000 ``` For install links and role-based setup guidance, see -[SurrealDB Setup](./SURREALDB_SETUP.md). +[SurrealDB Setup](./surrealdb-setup.md). Check persistence readiness before issuing commands that require storage: diff --git a/docs/README.md b/docs/README.md index e9be487..84419e8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -13,7 +13,7 @@ collects framework-level documentation for those pieces. crates. - [Development Guide](./DEVELOPMENT_GUIDE.md): how to add or change a module without breaking the framework boundaries. -- [SurrealDB Setup](./SURREALDB_SETUP.md): where to get SurrealDB or +- [SurrealDB Setup](./surrealdb-setup.md): where to get SurrealDB or Surrealist and how to connect Forge to it for local or live use. ## Server and Extension Usage Guides diff --git a/docus/dist/200.html b/docus/dist/200.html index ea9bf06..bae9fea 100644 --- a/docus/dist/200.html +++ b/docus/dist/200.html @@ -1 +1 @@ -
\ No newline at end of file + \ No newline at end of file diff --git a/docus/dist/404.html b/docus/dist/404.html index bdd007e..7ba1d99 100644 --- a/docus/dist/404.html +++ b/docus/dist/404.html @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/docus/dist/_nuxt/builds/latest.json b/docus/dist/_nuxt/builds/latest.json index b806849..043ab25 100644 --- a/docus/dist/_nuxt/builds/latest.json +++ b/docus/dist/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"cd17b1fd-ee30-4fca-a256-bc98b65244b8","timestamp":1776805477911} \ No newline at end of file +{"id":"3a1bf7b7-6f51-4d2c-9c98-142f71e69a9a","timestamp":1776806590495} \ No newline at end of file diff --git a/docus/dist/_nuxt/builds/meta/3a1bf7b7-6f51-4d2c-9c98-142f71e69a9a.json b/docus/dist/_nuxt/builds/meta/3a1bf7b7-6f51-4d2c-9c98-142f71e69a9a.json new file mode 100644 index 0000000..6705147 --- /dev/null +++ b/docus/dist/_nuxt/builds/meta/3a1bf7b7-6f51-4d2c-9c98-142f71e69a9a.json @@ -0,0 +1 @@ +{"id":"3a1bf7b7-6f51-4d2c-9c98-142f71e69a9a","timestamp":1776806590495,"prerendered":["/","/server-extension","/getting-started","/client-addons","/server-modules","/getting-started/surrealdb-setup","/server-extension/api-reference","/getting-started/development","/server-extension/usage-examples","/getting-started/architecture","/server-modules/task","/getting-started/module-reference","/server-modules/actor","/server-modules/store","/server-modules/bank","/client-addons/main","/server-modules/cad","/client-addons/phone","/client-addons/store","/client-addons/common","/server-modules/garage","/client-addons/actor","/server-modules/organization","/server-modules/locker","/server-modules/economy","/client-addons/cad","/client-addons/bank","/server-modules/owned-storage","/server-modules/phone","/client-addons/organization","/client-addons/garage","/client-addons/locker","/client-addons/notifications"]} \ No newline at end of file diff --git a/docus/dist/_nuxt/builds/meta/cd17b1fd-ee30-4fca-a256-bc98b65244b8.json b/docus/dist/_nuxt/builds/meta/cd17b1fd-ee30-4fca-a256-bc98b65244b8.json deleted file mode 100644 index 7c41405..0000000 --- a/docus/dist/_nuxt/builds/meta/cd17b1fd-ee30-4fca-a256-bc98b65244b8.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"cd17b1fd-ee30-4fca-a256-bc98b65244b8","timestamp":1776805477911,"prerendered":["/","/server-extension","/getting-started","/server-modules","/client-addons","/getting-started/surrealdb-setup","/getting-started/module-reference","/getting-started/architecture","/server-modules/actor","/server-extension/api-reference","/getting-started/development","/server-extension/usage-examples","/server-modules/store","/server-modules/bank","/server-modules/cad","/server-modules/task","/server-modules/economy","/server-modules/locker","/client-addons/phone","/server-modules/organization","/server-modules/garage","/server-modules/phone","/client-addons/main","/server-modules/owned-storage","/client-addons/bank","/client-addons/store","/client-addons/notifications","/client-addons/common","/client-addons/actor","/client-addons/garage","/client-addons/cad","/client-addons/locker","/client-addons/organization"]} \ No newline at end of file diff --git a/docus/dist/_payload.json b/docus/dist/_payload.json index bd2f3a4..988f672 100644 --- a/docus/dist/_payload.json +++ b/docus/dist/_payload.json @@ -1 +1 @@ -[{"data":1,"prerenderedAt":342},["ShallowReactive",2],{"navigation_docs":3,"landing":145},[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":147,"body":148,"description":147,"extension":334,"meta":335,"navigation":336,"path":337,"seo":338,"stem":340,"__hash__":341},"landing\u002Findex.md","",{"type":149,"value":150,"toc":331},"minimark",[151,188,280],[152,153,154,158,172],"u-page-hero",{},[155,156,157],"template",{"v-slot:title":147},"Forge Framework Documentation",[155,159,160,169],{"v-slot:description":147},[161,162,163,164,168],"p",{},"Forge is a persistent Arma 3 framework that combines SQF addons, a Rust\n",[165,166,167],"code",{},"arma-rs"," extension, SurrealDB persistence, shared domain crates, and\nbrowser-backed player interfaces.",[161,170,171],{},"Use these docs to understand the runtime architecture, extension API surface,\nserver gameplay modules, and client addon integration patterns.",[155,173,174,181],{"v-slot:links":147},[175,176,180],"u-button",{"color":177,"size":178,"to":6,"trailing-icon":179},"primary","xl","i-lucide-arrow-right","Start here",[175,182,187],{"color":183,"size":178,"to":184,"icon":185,"variant":186},"neutral","https:\u002F\u002Fgithub.com\u002FInnovativeDevSolutions\u002Fforge","simple-icons-github","outline","View source",[189,190,191,194],"u-page-section",{},[155,192,193],{"v-slot:title":147},"What Forge Covers",[155,195,196,212,225,238,250,267],{"v-slot:features":147},[197,198,200,209],"u-page-feature",{"icon":199},"i-lucide-boxes",[155,201,202,203],{"v-slot:title":147},"Domain ",[204,205,208],"span",{"className":206},[207],"text-primary","Modules",[155,210,211],{"v-slot:description":147},"Actor, bank, CAD, garage, locker, organization, phone, store, task, and\nowned-storage workflows share a consistent service and extension model.",[197,213,215,222],{"icon":214},"i-lucide-server",[155,216,217,218],{"v-slot:title":147},"Rust ",[204,219,221],{"className":220},[207],"Extension",[155,223,224],{"v-slot:description":147},"The server extension keeps command parsing thin, routes domain requests into\nservices, and persists durable state through SurrealDB.",[197,226,228,235],{"icon":227},"i-lucide-database-zap",[155,229,230,231],{"v-slot:title":147},"Durable ",[204,232,234],{"className":233},[207],"Persistence",[155,236,237],{"v-slot:description":147},"Repository traits stay storage-agnostic while concrete adapters in the\nextension handle schema and database mapping.",[197,239,240,247],{"icon":144},[155,241,242,243],{"v-slot:title":147},"Browser ",[204,244,246],{"className":245},[207],"UIs",[155,248,249],{"v-slot:description":147},"Client addons host web-based interfaces inside Arma displays and synchronize\nstate through namespaced browser bridge events.",[197,251,253,260],{"icon":252},"i-lucide-arrow-left-right",[155,254,255,256],{"v-slot:title":147},"Transport ",[204,257,259],{"className":258},[207],"Layer",[155,261,262,263,266],{"v-slot:description":147},"Large payloads move through chunked request and response transport while\nsmaller commands still use direct ",[165,264,265],{},"callExtension"," paths.",[197,268,270,277],{"icon":269},"i-lucide-wrench",[155,271,272,273],{"v-slot:title":147},"Development ",[204,274,276],{"className":275},[207],"Workflow",[155,278,279],{"v-slot:description":147},"The docs cover module boundaries, local validation checks, and where new\ndomain logic belongs across Rust, SQF, and web UI layers.",[189,281,282,285],{},[155,283,284],{"v-slot:title":147},"Documentation Areas",[155,286,287,297,309,319],{"v-slot:features":147},[197,288,289,294],{"icon":26,"to":6},[155,290,291],{"v-slot:title":147},[204,292,5],{"className":293},[207],[155,295,296],{"v-slot:description":147},"Framework overview, architecture, module reference, and development rules.",[197,298,300,306],{"icon":299,"to":29},"i-lucide-server-cog",[155,301,302,303],{"v-slot:title":147},"Server ",[204,304,221],{"className":305},[207],[155,307,308],{"v-slot:description":147},"Extension architecture, command surface, and SQF usage examples.",[197,310,311,316],{"icon":92,"to":43},[155,312,302,313],{"v-slot:title":147},[204,314,208],{"className":315},[207],[155,317,318],{"v-slot:description":147},"Gameplay-domain usage guides for persistence, hot state, and command flows.",[197,320,321,328],{"icon":144,"to":95},[155,322,323,324],{"v-slot:title":147},"Client ",[204,325,327],{"className":326},[207],"Addons",[155,329,330],{"v-slot:description":147},"Browser bridge, client UX entry points, and addon-specific event contracts.",{"title":147,"searchDepth":332,"depth":332,"links":333},2,[],"md",{},true,"\u002F",{"title":157,"description":339},"Documentation for the Forge Arma 3 framework, covering architecture, persistence, extension APIs, gameplay modules, and client UIs.","index","z56nrU81noeKPhRmw6SAhUXnhI6zxbOa-u-8PzIaH0c",1776805512094] \ No newline at end of file +[{"data":1,"prerenderedAt":342},["ShallowReactive",2],{"navigation_docs":3,"landing":145},[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":147,"body":148,"description":147,"extension":334,"meta":335,"navigation":336,"path":337,"seo":338,"stem":340,"__hash__":341},"landing\u002Findex.md","",{"type":149,"value":150,"toc":331},"minimark",[151,188,280],[152,153,154,158,172],"u-page-hero",{},[155,156,157],"template",{"v-slot:title":147},"Forge Framework Documentation",[155,159,160,169],{"v-slot:description":147},[161,162,163,164,168],"p",{},"Forge is a persistent Arma 3 framework that combines SQF addons, a Rust\n",[165,166,167],"code",{},"arma-rs"," extension, SurrealDB persistence, shared domain crates, and\nbrowser-backed player interfaces.",[161,170,171],{},"Use these docs to understand the runtime architecture, extension API surface,\nserver gameplay modules, and client addon integration patterns.",[155,173,174,181],{"v-slot:links":147},[175,176,180],"u-button",{"color":177,"size":178,"to":6,"trailing-icon":179},"primary","xl","i-lucide-arrow-right","Start here",[175,182,187],{"color":183,"size":178,"to":184,"icon":185,"variant":186},"neutral","https:\u002F\u002Fgithub.com\u002FInnovativeDevSolutions\u002Fforge","simple-icons-github","outline","View source",[189,190,191,194],"u-page-section",{},[155,192,193],{"v-slot:title":147},"What Forge Covers",[155,195,196,212,225,238,250,267],{"v-slot:features":147},[197,198,200,209],"u-page-feature",{"icon":199},"i-lucide-boxes",[155,201,202,203],{"v-slot:title":147},"Domain ",[204,205,208],"span",{"className":206},[207],"text-primary","Modules",[155,210,211],{"v-slot:description":147},"Actor, bank, CAD, garage, locker, organization, phone, store, task, and\nowned-storage workflows share a consistent service and extension model.",[197,213,215,222],{"icon":214},"i-lucide-server",[155,216,217,218],{"v-slot:title":147},"Rust ",[204,219,221],{"className":220},[207],"Extension",[155,223,224],{"v-slot:description":147},"The server extension keeps command parsing thin, routes domain requests into\nservices, and persists durable state through SurrealDB.",[197,226,228,235],{"icon":227},"i-lucide-database-zap",[155,229,230,231],{"v-slot:title":147},"Durable ",[204,232,234],{"className":233},[207],"Persistence",[155,236,237],{"v-slot:description":147},"Repository traits stay storage-agnostic while concrete adapters in the\nextension handle schema and database mapping.",[197,239,240,247],{"icon":144},[155,241,242,243],{"v-slot:title":147},"Browser ",[204,244,246],{"className":245},[207],"UIs",[155,248,249],{"v-slot:description":147},"Client addons host web-based interfaces inside Arma displays and synchronize\nstate through namespaced browser bridge events.",[197,251,253,260],{"icon":252},"i-lucide-arrow-left-right",[155,254,255,256],{"v-slot:title":147},"Transport ",[204,257,259],{"className":258},[207],"Layer",[155,261,262,263,266],{"v-slot:description":147},"Large payloads move through chunked request and response transport while\nsmaller commands still use direct ",[165,264,265],{},"callExtension"," paths.",[197,268,270,277],{"icon":269},"i-lucide-wrench",[155,271,272,273],{"v-slot:title":147},"Development ",[204,274,276],{"className":275},[207],"Workflow",[155,278,279],{"v-slot:description":147},"The docs cover module boundaries, local validation checks, and where new\ndomain logic belongs across Rust, SQF, and web UI layers.",[189,281,282,285],{},[155,283,284],{"v-slot:title":147},"Documentation Areas",[155,286,287,297,309,319],{"v-slot:features":147},[197,288,289,294],{"icon":26,"to":6},[155,290,291],{"v-slot:title":147},[204,292,5],{"className":293},[207],[155,295,296],{"v-slot:description":147},"Framework overview, architecture, module reference, and development rules.",[197,298,300,306],{"icon":299,"to":29},"i-lucide-server-cog",[155,301,302,303],{"v-slot:title":147},"Server ",[204,304,221],{"className":305},[207],[155,307,308],{"v-slot:description":147},"Extension architecture, command surface, and SQF usage examples.",[197,310,311,316],{"icon":92,"to":43},[155,312,302,313],{"v-slot:title":147},[204,314,208],{"className":315},[207],[155,317,318],{"v-slot:description":147},"Gameplay-domain usage guides for persistence, hot state, and command flows.",[197,320,321,328],{"icon":144,"to":95},[155,322,323,324],{"v-slot:title":147},"Client ",[204,325,327],{"className":326},[207],"Addons",[155,329,330],{"v-slot:description":147},"Browser bridge, client UX entry points, and addon-specific event contracts.",{"title":147,"searchDepth":332,"depth":332,"links":333},2,[],"md",{},true,"\u002F",{"title":157,"description":339},"Documentation for the Forge Arma 3 framework, covering architecture, persistence, extension APIs, gameplay modules, and client UIs.","index","z56nrU81noeKPhRmw6SAhUXnhI6zxbOa-u-8PzIaH0c",1776806625126] \ No newline at end of file diff --git a/docus/dist/client-addons.html b/docus/dist/client-addons.html index 2a75cc8..98a9705 100644 --- a/docus/dist/client-addons.html +++ b/docus/dist/client-addons.html @@ -94,7 +94,7 @@ --ui-warning: var(--ui-color-warning-400); --ui-error: var(--ui-color-error-400); } -}Phone Usage Guide
The phone module stores contacts, messages, and emails for each UID. It is a server-extension state module backed by SurrealDB.
Client Main Usage Guide
The client main addon provides the shared mod identity, version metadata, -CBA settings, and macro foundation used by the Forge client addons.