Capture current mission, AI, map and administration development

Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
2026-10-13 22:52:53 +02:00
parent a951a96edc
commit 6a667d8deb
8104 changed files with 2124945 additions and 2061 deletions
+11 -3
View File
@@ -28,13 +28,13 @@ Existing missions and the original workspace are read-only references. Never sav
## Native setup
Use matching stable Arma Reforger and Arma Reforger Tools installations. Keep original Escapists and its extensions unloaded. Register `addons` as an addon search directory, and open `addons/chat/addon.gproj`. Open `Worlds/ERR_Everon.ent` in the World Editor. `ERR_ValidateWorldPlugin` logs the authored locations' terrain heights; `-errPlay 1` allows that diagnostic plugin to enter play mode when deliberately invoked.
Use matching stable Arma Reforger and Arma Reforger Tools installations. Keep original Escapists and its extensions unloaded. Register `addons` as an addon search directory, and open `addons/core/addon.gproj`. Open `Worlds/ERR_Everon.ent` in the World Editor. `ERR_ValidateWorldPlugin` logs the authored locations' terrain heights; `-errPlay 1` allows that diagnostic plugin to enter play mode when deliberately invoked.
The command-line conventions follow the [official startup parameter documentation](https://community.bistudio.com/wiki/Arma_Reforger:Startup_Parameters): Workbench uses `-gproj`, `-addonsDir`, `-load` and `-plugin`. Workbench's `-load` is distinct from the game's `-world`. Launching a visible editor is an explicit test step, not part of `tools/check.py`.
## Acceptance sessions
Use the [player route playtest guide](player-route.md) for the intended normal-input sequence. It is derived from source and is not a record of a completed manual run. Packed Core and five-addon Chat each have artifact-bound ordinary startup evidence; this does not resolve the baseline packaging UI shutdown errors or qualify later source changes. See [current status](current-status.md) and the [packaging control](native-packaging-control.md).
Use the [player route playtest guide](player-route.md) for the intended normal-input sequence. It is derived from source and is not a record of a completed manual run. The current combined-addon development handoff has artifact-bound ordinary startup evidence; see [the retained playtest](playtest-build.md). Historical Core-only and five-addon results remain separate. Startup evidence does not resolve packaging/resource failures or qualify later source changes. See [current status](current-status.md) and the [packaging control](native-packaging-control.md).
Record the game/Tools versions, repository tree hash, addon list, player count, AI/vehicle counts, settings, map positions and complete logs for every run. Start from an isolated profile.
@@ -96,7 +96,7 @@ Use `--project core --smoke extraction-capacity --rounds 1` for twelve physical
Use `--project core --smoke early-helicopter-loss --rounds 2` for helicopter loss during prison while a living player remains, then automatic restart. `extraction-startup-failure` substitutes an unsuitable vanilla transport in memory; `extraction-boundary-failure` uses a zero boundary radius with the real helicopter. Both startup cases require `--rounds 1`, withhold players, and verify authored population/stock/scenery rollback. Their deliberate startup errors remain in the report.
The ordinary Core victory fixture also validates the mission clock. To test nondefault startup values, first stop the private runner, snapshot all three private-profile settings files (`profile/rereintroduced.json`, `.bak`, `.tmp`) byte-for-byte, then seed a valid primary settings file with `startTimeMinutes: 375` and `timeMultiplier: 4`. Complete two rounds, archive the input and results, and restore all three files exactly after the runner stops. Never modify a live or user profile. The default run separately checks that saving different next-round values does not alter the running clock. Remote clock agreement and long day/night transitions remain acceptance work.
The ordinary Core victory fixture also validates the mission clock. To test nondefault startup values, first stop the private runner, snapshot all three private-profile settings files (`profile/Escapists.json`, `.bak`, `.tmp`) byte-for-byte, then set `startTimeMinutes: 375` and `timeMultiplier: 4` within its `mission` section, preserving all other sections. Complete two rounds, archive the input and results, and restore all three files exactly after the runner stops. Never modify a live or user profile. The default run separately checks that saving different next-round values does not alter the running clock. Remote clock agreement and long day/night transitions remain acceptance work.
## Radio service, task details and finite ground transport
@@ -131,3 +131,11 @@ The runner records `cleanup_confirmed`, a structured cleanup report and any erro
### Explicit ordinary keyboard diagnostic
After configuring the existing private prefix/profile, the loose Core/Chat runner accepts `--inspect-headless-display --observe-player-input --exercise-player-input --settle 50`. This explicitly requests only W down/up and two Tab pairs, inside the verified hidden display. The normal runner sends no input without the exercise flag. See [keyboard proof](headless-input-proof.md) for identity/focus checks, supervised key releases and exact evidence limits. Native errors remain failures. The successor storage-list adapter now passes the bounded first-open path with a rendered inventory; repeated refresh, transfers and the full route remain separate checks. A short explicit `--failure-grace 10` only retains additional diagnostic frames and does not convert a failed run into success.
## Original BMP mounted-accounting diagnostic
Use the existing hidden/muted private Workbench runner with `--project chat --smoke mounted-ammo --mounted-bmp --rounds 1 --timeout 420`, audited external addons and a fresh Prison-start profile. Perform the host-visible game/prefix preflight first and defer while any game exists. The original 180-second proof deadline is unchanged; the runner allowance includes preparation and cleanup.
This opt-in Workbench-only variant stops unstarted opening hunters and new town admissions before prison exit. It retains the initial site population, normal automatic convoy target of three, shared body cap and finite original stock. It checks all six original vehicle roots and cargo exclusion, then requires complete valid armed counts from original slot 4’s WCS BMP and that BMP’s own detached status snapshot delivered through the actual radio path. An armed UAZ cannot satisfy the BMP proof. Mine-stock, swap and courier variants are incompatible. No replacement BMP, direct report injection, ammunition refill, body refund or raised cap is used.
The source and ten focused regressions are recorded in [the preparation checkpoint](evidence/bmp-native-proof-preparation-2026-10-03/README.md). Native confirmation is pending because a host game was running at preparation time. Even a pass would qualify only this isolated accounting/radio scene, not default three-convoy admission, physical interception, multiplayer or performance.