Harden participant and map ownership and validate bounded physical flight

This commit is contained in:
2026-09-19 12:17:01 +02:00
parent dfd7cc49e2
commit 4125018d04
120 changed files with 20043 additions and 47 deletions
+5 -4
View File
@@ -1,6 +1,6 @@
# Current development status
Updated **19 September 2026**, through the clean refreshed mortar salvo 112900 and packed five-addon startup 113315. Commit `7c53b4b` remains the clean development checkpoint: companion 103025, ordinary Chat 102737 and casualty 102037 have identical addon-source manifests. Newer flight, spectator and mortar changes mean the **current-source clean runtime gate remains pending**. Packed startup qualifies its archived artifact snapshot, which predates the latest mortar changes; it does not qualify the current source or build process. All seventeen first-release cases remain pending.
Updated **19 September 2026**, through refreshed mortar salvo 112900, packed five-addon startup 113315, current expiry 114751, crew registration 115232 and bounded powered translation 120245. Commit `7c53b4b` remains the clean development checkpoint: companion 103025, ordinary Chat 102737 and casualty 102037 have identical addon-source manifests. Newer flight, spectator and mortar changes mean the **current-source clean runtime gate remains pending**. Packed startup qualifies its archived artifact snapshot, which predates the latest mortar changes; it does not qualify the current source or build process. All seventeen first-release cases remain pending.
The primary deliverable is an independently authored replacement for the abandoned Escapists base mission, with companion behavior integrated through its interfaces. Five successor addon projects have their own identities, authored Everon sites and vanilla asset references. The first release targets up to twelve players completing prison → scavenging/intel → radio defence → helicopter extraction without the original mod or dependent extensions. Scripted development checkpoints exist; a dependable, manually playable multiplayer release is still unfinished.
@@ -14,14 +14,15 @@ The primary deliverable is an independently authored replacement for the abandon
| Prison and scavenging | [Prisoner capacity](evidence/native-2026-09-19-063949/report.json) uses one real player plus eleven physical characters, exact starter kits and native clue transfers. [Prison boundary 100148](evidence/native-2026-09-19-100148/report.json) covers the gate/progression corrections. | Extra physical actors are not twelve connected clients. Native action completion and deliberately repositioned boundary crossings do not prove held input or walking through the gate/debris. Equipment scarcity and combat balance need playtesting. |
| Medicine and extraction casualties | [Medical treatment](evidence/native-2026-09-19-062406/report.json) demonstrates finite supplies and native recovery at its earlier snapshot. [Casualty 102037](evidence/native-2026-09-19-102037/report.json) passes 101 clean assertions at the committed checkpoint: grounded-aircraft checks, real incapacitation, helper rejection, seat/LOS constraints, one owner-handshake load and idempotent stop. [Native removal](evidence/native-2026-09-19-080058/report.json) proves the inherited exit mechanism. | Casualty loading explicitly adapts helper membership and invokes action completion. Held input, real remote ownership, competing rescuers and disconnect/death/deletion races remain separate. The older medical snapshot retains its historical catalog errors. |
| Infantry and HQ | [Actual perception response](evidence/native-2026-09-19-092237/report.json) carries an original soldier's observation through both physical radio legs and HQ to a different original squad, which physically moves. Patrol/preemption/resumption are implemented. | The prisoner is arranged and temporarily protected. Broader combat and interrupted/captured support require additional qualification; no response force is created for this test. |
| Finite support | [Mortar expiry](evidence/native-2026-09-19-091306/report.json) verifies fresh native commitments followed by stale-report withholding without duplicate orders. [Courier 095513](evidence/native-2026-09-19-095513/report.json) passes 154 clean assertions through actual radio, original-patrol walking, exact depot-shell delivery and patrol restoration. | Mortar observations are synthetic; impact accuracy and genuine late callbacks remain unproved. The new refresh now passes the bounded112900 fixture: three actual radio updates, eight physical launches, native event completion, 19 surviving original shells and 25 seconds without replay. Current expiry and broader support-loss checks remain separate. Courier depletion is arranged by physically sequestering the original 27 rounds, not firing or replacing them. Broader losses and multiplayer remain unqualified. |
| Aircraft mechanism | [Flight 110458](evidence/native-2026-09-19-110458-flight-heading-refusal/report.json) demonstrates consumed actor-local native controls and powered takeoff, with normal engine operation and finite fuel use. Correcting the yaw feedback field keeps observed heading near its 1.45-degree target. | The run **fails** its unchanged physical safety envelope: controlled hover/landing are not qualified. Later manual angular damping112502 kept drift below 8 metres but exceeded the 18 metre height bound; signed collective consumption is the next bounded diagnostic. This is a fixture-owned aircraft experiment, not an operational HQ flight service or extraction-piloting acceptance. Earlier input-consumption failures remain archived. |
| Finite support | [Mortar expiry](evidence/native-2026-09-19-091306/report.json) verifies fresh native commitments followed by stale-report withholding without duplicate orders. [Courier 095513](evidence/native-2026-09-19-095513/report.json) passes 154 clean assertions through actual radio, original-patrol walking, exact depot-shell delivery and patrol restoration. | Mortar observations are synthetic; impact accuracy and genuine late callbacks remain unproved. The new refresh now passes the bounded 112900 fixture: three actual radio updates, eight physical launches, native event completion, 19 surviving original shells and 25 seconds without replay. The current [114751 expiry regression](evidence/native-2026-09-19-114751-mortar-expiry/report.json) also passes 48 clean assertions. [115232 crew registration](evidence/native-2026-09-19-115232-intel-readiness/report.json) proves all four physical crew receive their one Intel carrying roll after setup, then exercises inventory depletion/loss; broader support-loss checks remain separate. Courier depletion is arranged by physically sequestering the original 27 rounds, not firing or replacing them. Broader losses and multiplayer remain unqualified. |
| Aircraft mechanism | [Flight 114504](evidence/native-2026-09-19-114504-powered-flight/report.json) passes 81 assertions with zero captured errors: signed actor-local collective consumption, native autohover, powered takeoff, five-second 7–9m hover, stable contact landing and an engine-off check with finite fuel. The same aircraft and living AI pilot remain inside the original physical limits. | [Translation 120245](evidence/native-2026-09-19-120245-powered-translation/report.json) additionally passes 85 clean assertions for a fixed four-metre target, five-second hold and landing. These are isolated flight mechanisms; rotors still coast after engine shutdown. Longer route navigation, operational HQ aircraft support, repeated-flight reliability and manual/multiplayer piloting remain unqualified. Earlier input, drift, hover and shutdown failures remain archived. |
| Shared field map | [Map ownership 120633](evidence/native-2026-09-19-120633-map-ownership/report.json) passes native replacement-view, delayed-callback, mode-clear and spare/interrupted deletion checks. The fixture observes actual cleanup and waits for native component references to expire. | Camera restore authorization is observed; no public native render-state getter exists. Visible held-map usability, previously focused stock gadget callbacks and remote presentation remain separate. |
| Independent runtime controls | [Linux dedicated startup](evidence/dedicated-2026-09-19-083213/review.json) prepares the empty Core mission in an isolated network namespace. Its four resource errors reproduce in a vanilla control. [Vanilla ordinary 102533](evidence/vanilla-game-2026-09-19-102533/report.json) reproduces the initial splash unknown-class error with exactly two vanilla addons and no successor. | No real dedicated client joined. The vanilla ordinary control remains failed despite entering the menu; it does not test scenario reload or input. [Splash diagnosis](normal-splash-audit.md). |
## Immediate work
1. **Prove the ordinary player route.** Use normal gate, inventory, document/map, radio and medical interactions; travel the authored route, board and pilot the actual extraction helicopter, and verify partial escape. Keep finite supplies, vanilla recovery and explicit round abandonment intact. Direct-completion fixtures cannot settle these usability questions.
2. **Stabilize the bounded flight experiment without weakening its gates.** Actor-local input consumption and powered takeoff are demonstrated. The yaw-axis correction holds heading, but pitch oscillation still prevents a hover/landing pass. Keep experimental controls separate from operational HQ support, retain failed observations, and re-run applicable integration checks after source changes.
2. **Extend the proven bounded flight mechanism.** Signed actor-local collective and native autohover now pass vertical takeoff, hover, landing and engine-off checks. A bounded four-metre translation now passes too. Longer routes and operational HQ support still need implementation and native qualification. Keep experimental controls separate from operational HQ support, retain failed observations, and re-run applicable integration checks after source changes.
3. **Establish real multiplayer behavior.** Test accepted client identities, simultaneous/late joins, preload cancellation, reserved-body reconnect/expiry, spent lives, spectator streaming, remote task/map/radio/result updates and seat contention. Local controller injections and helper actors are not substitutes for connected clients.
4. **Qualify current support and observer changes.** The refreshed full salvo now passes a source-bound native check; finish current expiry and support-loss regressions. Spectator reason messages and survivor-cycling guidance have been added and compiled; visible behavior and real-client streaming remain unverified. Exercise actual interrupted reports, captured/dead couriers, pending inventory callbacks and support losses. Preserve stock and original patrols; retain historical failures alongside source-bound successful regressions.