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
+29
View File
@@ -72,3 +72,32 @@ or change audio. These counts are local checks, not native assertions.
[091641](evidence/native-2026-09-19-091641/report.json) passes 76 assertions with zero captured errors. Both US and USSR fixture kits execute native initialization and resource subscription, scoped cleanup, duplicate cleanup, callback detachment and delayed-initialization cancellation. Each reports `nativeDamageSources=0`; this run therefore does not dynamically verify damage-listener removal. The same global catalog remains alive and unchanged. Compilation and the targeted injected condition pass at that source; spontaneous catalog expiry and complete companion restart remain separate.
The [092512 full companion regression](evidence/native-2026-09-19-092512/report.json) then completes two escape/restart rounds, 96 assertions and zero errors, with teardown diagnostics disabled. The earlier failing archive is retained. This is a clean subsequent pair, not evidence of deliberate catalog expiry during those resets or a guarantee against intermittent recurrence.
## General item-station lifecycle repair — 7 October 2026
The RKS #2 log `logs_2026-10-07_13-53-05` also contains catalog errors while
stock medic equipment is constructed in `PreloadWorld`, before the main game
mode exists, and during scenario cleanup after POSTGAME. The older two-kit,
off-world, already-initialized fix does not cover those cases.
`ERR_ItemStationLifecycle.c` records successful native initialization and its
actual damage, range-manager and resource-event subscriptions for item stations
in Escape-enabled contexts. On deletion it cancels pending initialization and
removes those subscriptions exactly once. It does not call a startup validator
that requires the dying catalog. A never-initialized item has no subscriptions
to undo. Saved manager/resource references are weak and refer to the original
owner, so cleanup cannot unregister from the next round's manager.
Transient off-world equipment can skip initialization when no catalog exists.
Main-world startup still calls the complete native validator and still reports
missing catalogs or other invalid configuration. The game editor and scenarios
that explicitly opt out of takeover retain the original lifecycle. The older
stock-kit fallback remains compatible with this broader bookkeeping.
The [before/after native fixture](evidence/server-lifecycle-fixes-2026-10-07/report.json)
uses real stock medical kits in the main Nogova world. Before the change, immediate
deletion plus a kit-local expired-catalog injection produced four catalog errors
and failed both damage/resource cleanup assertions. With the change, seven native
checks pass with zero script errors, including duplicate deletion and unchanged
global catalog identity. This proves the exercised cleanup paths; it does not
prove every installed mod or reproduce all live-server round-end interleavings.