-
Notifications
You must be signed in to change notification settings - Fork 0
Namespace Profile And Diagnostic Utility Reference
Source-verified 2026-06-21 against then-current master cf2a6d6a4; current origin/master is 0139a346, so recheck cited paths before current-head claims. Paths relative to Missions/[55-2hc]warfarev2_073v48co.chernarus/ unless noted. Arma 2 OA 1.64.
This page documents six platform-layer utility functions registered during common initialisation. Contributors frequently treat them as standard SQF builtins; they are not. Each carries non-obvious behaviour that has caused subtle bugs.
All six functions are compiled in Common/Init/Init_Common.sqf (executed via ExecVM from initJIPCompatible.sqf line 217). WFBE_CO_FNC_LogContent is compiled earlier, directly in initJIPCompatible.sqf line 37, so it is available before any other function.
| Global variable | Source file | Registration site | Registration line |
|---|---|---|---|
GetNamespace |
Common/Functions/Common_GetNameSpace.sqf |
not found in Init_Common — used as bare global | (see note below) |
SetNamespace |
Common/Functions/Common_SetNamespace.sqf |
not found in Init_Common — used as bare global | (see note below) |
WFBE_CO_FNC_LogContent |
Common/Functions/Common_LogContent.sqf |
initJIPCompatible.sqf |
38 |
GetSleepFPS |
Common/Functions/Common_GetSleepFPS.sqf |
Common/Init/Init_Common.sqf |
45 |
GetAIDigit |
Common/Functions/Common_GetAIDigit.sqf |
Common/Init/Init_Common.sqf |
24 |
WFBE_CO_FNC_GetProfileVariable |
Common/Functions/Common_GetProfileVariable.sqf |
Common/Init/Init_Common.sqf |
Deleted — removed in b76x dead-code cleanup (compiled but zero callers); not present on master |
WFBE_CO_FNC_SetProfileVariable |
Common/Functions/Common_SetProfileVariable.sqf |
Common/Init/Init_Common.sqf |
172 |
WFBE_CO_FNC_SaveProfile |
Common/Functions/Common_SaveProfile.sqf |
Common/Init/Init_Common.sqf |
171 |
Note on GetNamespace / SetNamespace: Both source files (Common/Functions/Common_GetNameSpace.sqf and Common/Functions/Common_SetNamespace.sqf) were deleted from master in commit add019614 ('b76x: remove dead code') as never-compiled orphans. Neither function exists in master. Only a commented-out reference survives in Client/Init/Init_Client.sqf:871. Do not reference or call these functions on master.
Profile functions are version-gated. WFBE_CO_FNC_GetProfileVariable, WFBE_CO_FNC_SetProfileVariable, and WFBE_CO_FNC_SaveProfile are compiled only when ARMA_VERSION >= 162 && ARMA_RELEASENUMBER > 97105 || ARMA_VERSION > 162 (Common/Init/Init_Common.sqf:169-173). All callers guard against this with if !(isNil 'WFBE_CO_FNC_SetProfileVariable') then {...}.
Diagnostic sink for all mission subsystems. Every init file, server loop, and client function routes structured log output through this one function. All output is silently discarded unless LOG_CONTENT_STATE == "ACTIVATED".
LOG_CONTENT_STATE is initialised to "" at initJIPCompatible.sqf:6, then conditionally overwritten via a preprocessor branch (initJIPCompatible.sqf:9-13):
#ifdef WF_LOG_CONTENT
LOG_CONTENT_STATE = "ACTIVATED";
#else
LOG_CONTENT_STATE = "NOT ACTIVATED";
#endifHeadless clients always activate logging regardless of the build flag (initJIPCompatible.sqf:59):
if (isHeadLessClient) then {LOG_CONTENT_STATE = "ACTIVATED"};The current state is written to the RPT at mission start (initJIPCompatible.sqf:32).
WFBE_LogLevel is set to 0 in initJIPCompatible.sqf:38:
WFBE_LogLevel = 0; //--- Logging level (0: Trivial, 1: Information, 2: Warnnings, 3: Errors).At level 0 every call whose _logLevel is >= 0 (i.e. all of them, since the optional parameter defaults to 0) reaches diag_log. In practice the gate is the LOG_CONTENT_STATE string check, not the level filter.
| Parameter | Index | Type | Notes |
|---|---|---|---|
_logType |
0 | String | Free-form category tag, e.g. "INITIALIZATION", "INFORMATION", "WARNING", "TRIVIAL"
|
_logContent |
1 | String | Message body; typically a Format[...] expression |
_logLevel |
2 | Number | Optional; defaults to 0 if omitted (Common/Functions/Common_LogContent.sqf:14) |
Return: nothing (side-effect only).
Output format (Common/Functions/Common_LogContent.sqf:16):
[WFBE (<logType>)] [frameno:<N> | ticktime:<T> | fps:<F>] <logContent>
Common/Functions/Common_LogContent.sqf (17 lines):
if (LOG_CONTENT_STATE == "ACTIVATED") then {
Private ["_logContent","_logLevel","_logType"];
_logType = _this select 0;
_logContent = _this select 1;
_logLevel = if (count _this > 2) then {_this select 2} else {0};
if (_logLevel >= WFBE_LogLevel) then {
diag_log Format["[WFBE (%1)] [frameno:%2 | ticktime:%3 | fps:%4] %5",
_logType, diag_frameno, diag_tickTime, diag_fps, _logContent]
};
};// No level argument — fires at any WFBE_LogLevel value
["INITIALIZATION", "Init_Common.sqf: Functions are initialized."] Call WFBE_CO_FNC_LogContent;
// Common/Init/Init_Common.sqf:163
// With Format — typical init breadcrumb
["INFORMATION", Format ["Init_Boundaries.sqf: Boundaries [%1] found for island [%2]",
_boundariesXY, worldName]] Call WFBE_CO_FNC_LogContent;
// Common/Init/Init_Boundaries.sqf:29If WF_LOG_CONTENT is not defined at build time, the entire body of every Call WFBE_CO_FNC_LogContent is a no-op evaluated at the outer if check. Developers who add new Call WFBE_CO_FNC_LogContent lines and see no RPT output must rebuild with the WF_LOG_CONTENT preprocessor define or connect as/via a Headless Client.
| Parameter | Type | Notes |
|---|---|---|
_this (caller left-hand) |
String | Variable name to read from missionNamespace
|
Return: the value stored under _variable in missionNamespace, or nil if not set.
Call form: _variable Call GetNamespace (bare-name style, not WFBE_CO_FNC_*).
Common/Functions/Common_GetNameSpace.sqf (4 lines):
Private ['_variable'];
_variable = _this;
missionNamespace getVariable _variableRead-only wrapper for missionNamespace getVariable. Callers use it when the variable name is itself stored in a string (common in the team/faction data model):
_team = ((Format["WFBE_%1TEAMS",str _side]) Call GetNamespace) select (_ID - 1);
// Common/Functions/Common_GetClientTeam.sqf:6The commented-out line in Client/Init/Init_Client.sqf:562 shows an older calling pattern that was never removed:
// [player, Format ["WFBE_%1DEFAULTWEAPONS",sideJoinedText] Call GetNamespace, ...] Call EquipLoadout;| Parameter | Index | Type | Notes |
|---|---|---|---|
_variable |
0 | String | Variable name to write in missionNamespace
|
_value |
1 | Any | Value to store |
_override |
2 | Bool | Optional; defaults to false
|
Return: nothing.
Call form: [_variable, _value] Call SetNamespace or [_variable, _value, true] Call SetNamespace.
Common/Functions/Common_SetNamespace.sqf (15 lines):
Private ['_get','_override','_variable','_value'];
_variable = _this select 0;
_value = _this select 1;
_override = if (count _this > 2) then {_this select 2} else {false};
//--- BIS Bug, typename doesn't work properly with nil.
if !(_override) then {
_get = _variable Call GetNamespace;
if (isNil '_get') then {
missionNamespace setVariable [_variable,_value];
};
} else {
missionNamespace setVariable [_variable,_value];
};Without the third argument (or with _override = false), SetNamespace only writes the value if the variable is currently nil. If the variable already holds any value, the call is silently discarded. This is the intended initialisation-safe pattern: it sets a default without overwriting an already-initialised value.
To force an unconditional write, pass true as the third argument:
[_variable, _value, true] Call SetNamespace; // always writes
[_variable, _value] Call SetNamespace; // writes only if nil (default)The comment //--- BIS Bug, typename doesn't work properly with nil. explains why isNil '_get' is used rather than a typename check — typename nil is unreliable in Arma 2 OA.
Three functions form the profile persistence layer. They are only available on builds running ArmA 2 OA build > 97105 (condition: ARMA_VERSION >= 162 && ARMA_RELEASENUMBER > 97105 || ARMA_VERSION > 162, Common/Init/Init_Common.sqf:169). All write to the player's profileNamespace, which survives between sessions.
| Parameter | Index | Type | Notes |
|---|---|---|---|
_var |
0 | String | profileNamespace key |
_default |
1 | Any | Returned if the key is not set |
Return: the stored value, or _default.
Source (Common/Functions/Common_GetProfileVariable.sqf:13):
profileNamespace getVariable [_var, _default]| Parameter | Index | Type | Notes |
|---|---|---|---|
_var |
0 | String | profileNamespace key |
_value |
1 | Any | Value to store |
Return: nothing. Does not call saveProfileNamespace — callers must follow up with WFBE_CO_FNC_SaveProfile to persist to disk.
Source (Common/Functions/Common_SetProfileVariable.sqf:13):
profileNamespace setVariable [_var, _value]No parameters. Calls saveProfileNamespace (Common/Functions/Common_SaveProfile.sqf:5).
Call this after one or more WFBE_CO_FNC_SetProfileVariable calls, not after each individual set. Callers batch the writes and call SaveProfile once:
if !(isNil 'WFBE_CO_FNC_SetProfileVariable') then {
['WFBE_PERSISTENT_CONST_VIEW_DISTANCE', _currentVD] Call WFBE_CO_FNC_SetProfileVariable;
_need_save = true
};
// ... more sets ...
if !(isNil 'WFBE_CO_FNC_SaveProfile') then {Call WFBE_CO_FNC_SaveProfile};
// Client/GUI/GUI_Menu_Team.sqf:193, 214| Key | Type | Written by | Loaded by |
|---|---|---|---|
WFBE_PERSISTENT_CONST_VIEW_DISTANCE |
Number | GUI_Menu_Team.sqf:193 |
Client/Init/Init_ProfileVariables.sqf:9 |
WFBE_PERSISTENT_CONST_TERRAIN_GRID |
Number | GUI_Menu_Team.sqf:197 |
Client/Init/Init_ProfileVariables.sqf:37 |
WFBE_TARGET_FPS |
Number | Common_AdjustViewDistance.sqf:39,59 |
Client/Init/Init_ProfileVariables.sqf:19 |
WFBE_HIGH_CLIMBING_DEFAULT_ENABLED |
Bool | GUI_Menu_Team.sqf:176 |
Client/Init/Init_ProfileVariables.sqf:28 |
WFBE_PERSISTENT_<side>_GEAR_TEMPLATE |
Array |
Client_UI_Gear_SaveTemplateProfile.sqf:94 (via profileNamespace setVariable) |
Client/Init/Init_ProfileVariables.sqf:48 |
All profile reads in Init_ProfileVariables.sqf apply a typeName sanity check before applying the value, guarding against corrupted or cross-version profile data.
| Parameter | Type | Notes |
|---|---|---|
_this (caller left-hand) |
Number | Base sleep delay in seconds |
Return: Number — the adjusted delay to pass to sleep.
Call form: _delay Call GetSleepFPS (bare-name style).
Common/Functions/Common_GetSleepFPS.sqf (10 lines):
Private ["_delay"];
_delay = _this;
if (diag_fps > 15) exitWith {_delay};
if (diag_fps <= 15 && diag_fps > 10) exitWith {_delay * 0.85};
if (diag_fps <= 10 && diag_fps > 7) exitWith {_delay * 0.75};
if (diag_fps <= 7 && diag_fps > 5) exitWith {_delay * 0.70};
if (diag_fps <= 5) exitWith {_delay * 0.50};
_delay
diag_fps range |
Multiplier applied | Resulting delay |
|---|---|---|
> 15 |
1.00 (passthrough) | _delay |
<= 15 and > 10
|
0.85 | 15% reduction |
<= 10 and > 7
|
0.75 | 25% reduction |
<= 7 and > 5
|
0.70 | 30% reduction |
<= 5 |
0.50 | 50% reduction |
Under server load the diag_fps metric falls. Shorter sleep intervals allow server loops to process more work per real-time second, partially compensating for performance degradation. The function is called from two sites: Server/FSM/updateresources.sqf:137 (economy income loop) and Client/Module/AFKkick/monitorAFK.sqf:29 (AFK polling loop, base interval 60 s). The server call:
_awaits = (_ii) Call GetSleepFPS;
sleep _awaits;Where _ii is missionNamespace getVariable "WFBE_C_ECONOMY_INCOME_INTERVAL" (Server/FSM/updateresources.sqf:4).
GetSleepFPS reads diag_fps at call time, which is the instantaneous frame rate of the local machine. On a dedicated server diag_fps reflects server frame rate, not any connected client's rate. The adaptive correction is a heuristic, not a guaranteed performance floor.
| Parameter | Type | Notes |
|---|---|---|
_this (caller left-hand) |
Object | The unit to classify |
Return: String — "Leader" if the unit leads its group, otherwise the numeric suffix extracted from the unit's display name after the : character, or "0" if no suffix is found.
Call form: _unit Call GetAIDigit (bare-name style).
Common/Functions/Common_GetAIDigit.sqf (20 lines):
Private ["_i","_split","_unit","_yield"];
_unit = _this;
if (_unit == leader (group _unit)) exitWith {"Leader"};
_split = toArray(str _unit);
_find = _split find 58; // ASCII 58 = ':'
_yield = [];
if (_find != -1) then {
for '_i' from (_find+1) to count(_split)-1 do {
if ((_split select _i) == 65 || (_split select _i) == 32) exitWith {};
_yield = _yield + [_split select _i];
};
};
if (count _yield == 0) exitWith {"0"};
toString(_yield)- If
_unitis the leader of its group, return"Leader"immediately. - Convert
str _unit(the display name) to an ASCII array withtoArray. - Find the colon character (ASCII 58,
:) in the array. - Extract characters after
:up to but not includingA(ASCII 65) or space (ASCII 32). - Convert the collected byte array back to a string with
toString.
The extraction loop breaks on A (ASCII 65) because ArmA unit names commonly end with a letter/rank suffix after the numeric digit. If no colon is found, or if nothing follows it, returns "0".
Note: _find is assigned without Private declaration (Common/Functions/Common_GetAIDigit.sqf:9). In Arma 2 OA this leaks _find into the calling scope as a script-local variable, which is harmless in practice but is a latent hygiene issue.
Called from Common/Init/Init_Unit.sqf:235 when creating the map marker label for a unit in the player's group:
_txt = (_unit) Call GetAIDigit;
// Common/Init/Init_Unit.sqf:161The result becomes the marker text displayed on the map for player-group AI members.
-
Variable-And-Naming-Conventions — covers the
WFBE_CO_FNC_*/WFBE_SE_FNC_*/WFBE_CL_FNC_*naming convention and bare-name legacy globals -
Hosted-Server-FPS-Loop-Sleep — the server FSM loop that calls
GetSleepFPSin context -
Gear-Template-Profile-Filter — the gear template flow that drives
SetProfileVariable/SaveProfilecalls -
Networking-And-Public-Variables —
missionNamespacevariable broadcast patterns that complementGetNamespace/SetNamespace - Function-And-Module-Index — full index of all compiled function variables
Home | Agent Guide | Current live state | Release 1.2.2 (B91) | Quickstart | Progress | Lifecycle wait-chain | Join/disconnect | Parameters/build | Assets/config | SQF atlas | PV index | Modules | Support/specials | Commander/HQ | Commander vote/reassign | Construction/CoIn | Construction cleanup | WDDM compositions | Factory/purchase | Upgrades/research | Towns/camps/capture | Victory/endgame | Markers/cleanup | Server runtime | AI runtime/HC | AI commander audit | HC delegation | Town AI safety | Commander reassignment | Resistance supply | Player UI workflow | UI atlas | Respawn/death | Gear template filter | Vehicle cargo loop | Service guards | UI IDD repair | UI design inspiration | WASP overlay | Feature status | Source propagation | release readiness | Tooling readiness | Integration trust | AntiStack DB | Owner decisions | Shelved registry | Abandoned feature revival | Hardening roadmap | PVF dispatch | Server authority | ICBM authority | Attack-wave authority | Telemetry families | AICOM V2 cutover | Consumer port map | Testing workflow | Server ops | Web tools | Ecosystem repos | Arma 2 OA refs | A2 traps | OA compatibility audit | Coverage ledger | Navigation inventory | Pruning ledger | Knowledge roadmap | Agent context | Collab protocol | Worklog | Audit archive 2026-07 | Briefing reference | Utes invasion concept
- Shelved AICOM concepts - revivable someday ideas (owner-shelved 2026-07-03)
Docs rule: source-backed claims only; Arma 2 OA scripting docs only; gameplay edits start in Missions/[55-2hc]warfarev2_073v48co.chernarus.
- Getting started
- Status and coordination
- Agent context
- Agent collaboration protocol
- Agent worklog
- Agent worklog archive
- Progress dashboard
- PR cleanup and integration lab
- Shelved PR #169: gear price double-count
- Shelved PR #194: Chernarus no-trees
- Coordination board
- Codebase coverage ledger
- Bottleneck removal queue
- Current source status
- Wiki mirror reconciliation
- Navigation inventory
- Registers
- Agent orchestration
- Architecture
- Architecture overview
- Mission entrypoints and lifecycle
- Lifecycle wait chain
- Player join/disconnect and AntiStack lifecycle
- Mission parameters/localization/build inputs
- Stringtable localization key-family catalog
- Source inventory
- Content structure and maps
- Assets/config/localization/parameters
- Mission start parameters index
- Code and networking
- Gameplay systems
- Core systems index
- Gameplay systems atlas
- Commander/HQ lifecycle atlas
- Economy, towns and supply
- Economy system reference
- Balance asymmetries
- Anti-stack skill-balance mechanic
- Empty-side supply income stagnation
- Towns, camps and capture atlas
- Victory and endgame atlas
- Victory conditions reference
- Territorial victory reference
- Marker cleanup and restoration
- Marker loop engine and registries
- Map marker families content catalog
- Marker subsystem function reference
- Client marker FSM updater map
- Support specials and tactical modules
- SCUD TEL tactical munitions
- Naval HVT objectives (carriers/SCUD)
- SCUD saturation strike mechanic
- Takistan airfield FPV drone design
- Construction and CoIn systems
- Structure damage reduction & friendly-fire
- Construction logic list cleanup
- Flak tower & WDDM anchor compositions
- Resistance supply scaffold
- GUER Insurgents faction overview
- GUER Insurgents branch audit
- GUER insurgent player economy
- GUER Commissar Panel
- GUER air-defense loop (Ka-137/Mi-24)
- Upgrades and research atlas
- Supply mission architecture
- Supply mission authority cleanup
- Current supply helicopters PR1
- Respawn and death-loop lifecycle
- Vehicle theft economy pitch
- GUER tunnel network pitch
- Content, reference and catalogs
- Faction unit/vehicle roster catalog
- Auxiliary/SF/civilian unit catalog
- Gear store loadout route catalog
- Upgrade research (cross-faction)
- Gear store price and upgrade catalog
- Gear store catalog (complete, per faction)
- Defense structures catalog
- Artillery reference per faction
- AI squad team templates catalog
- Town AI lifecycle reference
- Town AI group composition catalog
- Class-skill system reference
- Player skill abilities reference
- Default gear template content catalog
- Chernarus map content reference
- Takistan map content reference
- Takistan features
- Takistan parity reference
- Takistan oilfields objective reference
- IRS IR-smoke countermeasure
- Arty module special munitions
- Zeta cargo sling-load reference
- Spawn primitive function reference
- Kill and score pipeline
- Waypoint helper function reference
- Position and proximity function reference
- Side/team state function reference
- Player AI watchdog and recovery
- AICOM stuck-recovery v2
- LoadoutManager data-model contributor guide
- Discord status bot setup and reference
- GLOBALGAMESTATS extension reference
- New player quickstart (player guide)
- Optional client mods (player guide)
- Earning funds and score (player guide)
- Vehicle service and logistics (player guide)
- Commander's handbook (player guide)
- Tactical support menu
- Paradrop player experience
- Supply missions (player guide)
- In-game briefing & Diary field manual
- Playable maps catalog
- Faction root variables reference
- Faction base structures catalog
- Counter-battery radar system
- Bank, Reserve and Artillery Radar structures
- Map ruleset model and object config
- Countermeasures module reference
- Vehicle countermeasure (flares/spoofing)
- UAV terminal and spotter system
- Artillery firing function reference
- Service Point pricing model
- Medic redeployment truck (forward spawn)
- Side-patrol runtime and convoy mechanics
- Day/night cycle and weather system
- Config lookup helper reference
- CIPHER sort utilities reference
- Modded maps status and content
- BattlEye filter setup and OA taxonomy
- Player squad/group join protocol
- AutoFlip vehicle recovery
- Engine stealth fuel toggle
- Valhalla vehicle climbing-assist
- Missile and ordnance Fired-EH reference
- Vehicle equip and rearm reference
- Array and collection utilities
- Server composition spawner reference
- Upgrade queue server loop
- Map boundaries and off-map enforcement
- Namespace/profile/diagnostic utilities
- Group bool getVariable A2-OA trap
- Vehicle weapon balance init
- View distance auto-throttle
- Camp & respawn-camp getters
- Performance audit writer
- Site clearance (bulldozer)
- Factory queue cancel & refund
- AI commander tunable constants
- Experimental feature-flag constants
- Flag system quick reference
- Mission tunable constants catalog
- Gear parsing & cargo capacity
- Structure dressing function
- Paradrop delivery functions
- ICBM nuke client VFX & radiation
- Server HandleSpecial router
- LocalizeMessage chat router
- Gear buy-menu render & price functions
- Server broadcast & telemetry loops
- Per-unit client init pipeline
- Vehicle marking & texture pipeline
- Defense category & budget
- Legacy AI order primitives
- Commander-team driver
- AICOM command verbs
- AICOM behavior fix taxonomy
- AI commander wildcard deck reference
- AICOM aircraft and airfield system
- Static-defense manning
- End-of-game stats screen
- AI commander execution loop
- Deployable bipod / weapon resting
- Town-economy getters
- Server-init deadspawn & airfield probe
- GUER VBIED detonate action
- Resource income-tick engine
- AI commander treasury accessors
- PVF send-helper contracts
- AICOM logging & AICOMSTAT telemetry
- AICOMSTAT v2 event census
- WASPSCALE v2 telemetry
- WASPSCALE v2-ext coverage audit
- Telemetry families reference
- Group lifecycle & entity reaping
- Batch AI spawner orchestrator
- Client funds/income HUD readout
- Server group GC & cap warning
- Town runtime tuning constants
- Client input/hotkey handler
- WASP base-repair system
- WASP DropRPG launcher/ordnance
- CoIn construction-interface client engine
- Town-capture garrison & airfield rebuild
- Map-control & minimap templates
- Client FPS & state telemetry
- Client service-proximity getters
- Airfield-exclusive roster & unit hints
- Unit-camera spectator system
- Town-garrison patrol/defense worker
- RequestTeamUpdate squad-discipline
- Arma2Warfare GPT assistant
- LoadoutManager build configs & defines
- GLOBALGAMESTATS extension logging
- Discord bot instrumented logging
- Eden/Everon & Taviana map content
- Cruise missile strike asset
- AI / HC
- AI headless and performance
- AI mods and pathfinding reference
- Headless client scaling and topology
- AI runtime/HC loop map
- Headless client init and stat loop
- HC delegation target selection
- Player AI caps and role balance
- Old WarfareBE FPS comparison
- AI commander autonomy audit
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- AI commander capture & fun plan
- AI commander B69 improvement roadmap
- AI commander B69 implementation sketches
- AICOM V2 cutover status
- Headless delegation and failover
- Commander reassignment call shape
- GUER Director living-resistance pitch
- Quality and operations
- Foundation perf findings & Tier-3 dead-ends
- Dead/stale code register
- Commander vote/reassignment
- Attack-wave authority
- Server runtime and operations
- Server ops runbook
- JIP enrollment & client data delivery (b74.2 lessons)
- Server gameplay runtime atlas
- PerformanceAuditAnalyzer
- Performance opportunity sweep
- Documentation plan
- Knowledge platform roadmap
- Wiki quality audit
- Wiki pruning and relevance ledger
- Audit findings queue (2026-06-03)
- Deep review findings
- Client UI / server-loop perf findings
- Performance gain simulation
- Self-host testing field notes
- Cleanup and work lanes
- Hardening and authority
- UI / player workflows
- Client UI, HUD and menus
- UI HUD and dialogs
- Player UI workflow map
- Client UI systems atlas
- UI IDD collision repair
- UI control class library reference
- UI theme palette and style macros
- UI design inspiration 2026-07
- Available-actions client gate FSM
- Gear/loadout/EASA atlas
- Gear template profile filter
- Vehicle cargo equip loop bounds
- Factory and purchase systems atlas
- Service menu affordability guards
- WASP overlay
- Class-skill system reference
- Skin selector and class swap
- Earplugs audio toggle
- Mission audio catalog
- HQ radio knowledge-base catalog
- QoL trio player hints
- Player vehicle/travel actions
- Tooling / release / integrations
- Tools and build workflow
- Warfare web tools
- Ecosystem & companion repos
- Zargabad tooling parity
- July 2026 release readiness
- Operator monitor and CPU affinity tools
- Tooling release readiness audit
- Source fix propagation queue
- Agent release readiness ledger
- Release source intake map
- Testing/debugging/release workflow
- Current RPT release gate
- RPT telemetry consumer port map
- External integrations
- Integration trust boundary audit
- AntiStack database extension audit
- Community & Dev
- Community & Dev
- Miksuu upstream wiki import / archive index
- Upstream changelog feature leads
- Developer history and upstream lessons
- Upstream Miksuu commit intel
- Upstream mining ledger
- Archive script mining v2
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- PR8 and Drone upstream lesson match
- Development lessons learned
- External research reports
- Audit archive 2026-07
- Briefing reference
- Utes invasion concept
- Miksuu archive: Home
- Miksuu archive: Welcome
- Miksuu archive: Big announcements
- Miksuu archive: Changelog
- Miksuu archive: Development process
- Miksuu archive: Discord bot
- Miksuu archive: Gameplay videos
- Miksuu archive: LoadoutManager
- Miksuu archive: Chernarus script architecture
- Base-game visual catalogs
- Compatibility and references
- HC upstream history and lessons
- Player stats branch audit
- BuyMenu EASA QoL branch audit
- Perf quick wins branch audit
- Commander positions branch audit
- Zargabad branch audit
- Quad AI Commander concept
- Arma 2 OA external reference guide
- Base-game config & image reference
- Arma 2 OA compatibility audit
- Arma 2 OA agent traps reference
- Arma 2 OA command versions
- Wiki source consistency
- External Arma 2 OA reference index