Files
EscapistsReintroduced/docs/evidence/hq-native-checkpoint-2026-10-03/next-work/plan.json
T
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

77 lines
9.7 KiB
JSON

{
"status": "read-only implementation plan; not implemented or tested",
"scope": "Independent static helicopter-crash aftermath with ordinary on-foot admission. No flight, seating, artificial injury, crash animation, input automation, new forces, or original protected base implementation.",
"owned_evidence": [
{
"path": "/home/jakub/devel/escapists/escapists-ai/Scripts/Game/EscapistsAI/EAI_StartSelection.c",
"sha256": "5dae5de5efe59cf2b40a289becafb6ef1aed00271cc561769cdb1f570174ee7b"
},
{
"path": "/home/jakub/devel/escapists/escapists-ai/Scripts/Game/EscapistsAI/EAI_StartingOutfit.c",
"sha256": "54308138b73e23b5dcc47b5111d55f843a6d7bb7f39fe8466571e54a73246db6"
}
],
"owned_behavior": "EAI_StartSelection chooses ESCT_HelicrashLocationHolder/native start type; its header assigns actual crash composition, setup and cleanup to original Escapists. StartingOutfit confirms native seating occurs after spawn. Neither is an owned crash simulation to copy.",
"successor_hashes": {
"addons/core/Scripts/Game/ERR/00_Core/ERR_GameMode.c": "89a29c03ba225acbbb9fa3c58a721aced91a77bc0c77046d697005a6d7c48bb9",
"addons/core/Scripts/Game/ERR/00_Core/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
"addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c": "81bf30d358c7b100248be17cbc2e6beb2f107300c939aede8a92d273eb7dae1f",
"addons/core/Scripts/Game/ERR/00_Core/ERR_SiteDefinition.c": "2088c45798f0eced702e0abd97550b8d1fc97ebcc34c3d497978b7424f6c670d",
"addons/core/Scripts/Game/ERR/00_Core/ERR_SiteService.c": "15a28876954bbbe0e80d5b5b19e7336f154023cd05b67d65dd709ae7fd9ac712",
"addons/core/Scripts/Game/ERR/00_Core/ERR_GeneratedSites.c": "4a23058f27e3ab074df6f8f7bb6f08a8fd26fbadb8943c6fb8d64dcc9c221751",
"addons/core/Scripts/Game/ERR/00_Core/ERR_TerrainSites.c": "63ad027dac5bafb9e93805c361cbb27bf82af0567ea181a760ddedea98204c06",
"addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c": "47a39c951be71bfcf1cc50526d507d0f9d8ef2fc09408697b6fe6b0dc5a529e2",
"addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnPlacement.c": "270bf465808d23627a11e720c6632d4fea35d0c679e63aa64046ef8874d68ceb",
"addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonEscapeService.c": "535cf17e21fc8e62716c7d9da88d976ee2f526501c6a4752b822f1252e742bf4",
"addons/core/Scripts/Game/ERR/00_Core/ERR_Settings.c": "2951c36cf3a72ae079ab8991879b4759fae783d719c61878f1aad7126836dae6",
"addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c": "3b96a99832ed40002598a186dd8de1d21410c2e690df37a6319fdbeeeb4eeab0",
"addons/core/Scripts/Game/ERR/00_Core/ERR_AdminService.c": "c3e008c8bbf538c5bca3a82a975decc7a283a38543a9d2639d90a81ce592c51e",
"addons/core/Configs/ERR/EveronSites.conf": "a66c30039c7141e5a0f22af21aa522728fe4aa5cde821158aea3b716d11457a1",
"addons/core/Prefabs/ERR/Prison.et": "c0ca5219aa2d6322ba7d094b92000640b259112ff6611a745c0713c8875d09d4",
"docs/vanilla-resources.json": "e10f60ce74a743b4619b0c2f2cc7fefcf09a94ab3ca1cbb332f386d6fb0da387"
},
"mapping": {
"startMode": {
"0": "Prison (existing default)",
"1": "Crash aftermath"
},
"legacy_modes": "No claim to reproduce original authored-prison/random-original-count semantics. Random choice can be separately considered later."
},
"design": [
"Persist startMode through existing settings/profile/admin validation. Missing key defaults to 0. Freeze selected mode once on server before first scenario preparation; changing saved setting applies next round. Replicate frozen choice for objective text/clients; never read mutable setting to choose an in-progress start.",
"Transform only the freshly instantiated runtime scenario start-slot definition before the generated-site planner begins. Keep its existing PRISON enum as internal start-slot role for one-start validation, radio spacing, map/source accounting, spawn anchor and terrain ordering; explicitly document this compatibility role. Replace composition and label, remove guards/patrol/responders and prison-specific props, reset root height, retain finite container/stock/map/source identities. Do not mutate authored .conf objects globally or add a second start site.",
"Static aftermath composition has one successor-owned location/replication root and audited vanilla wreck geometry outside the existing sixteen on-foot admission slots and finite cache. Rawls must measure actual bounds and supply complete clearance envelope and offsets; no guessed aircraft dimensions. Expand only crash-mode terrain survey to cover wreck/cache/spawn area if it exceeds existing +/-10m survey. Survey before spawn, and refuse preparation on unsupported/obstructed placement; do not silently fall back to prison.",
"ConfigureStart still binds actual placed start position and heading via the internal start-slot role. Existing finite stock and physical map remain at that start. First participant uses current sixteen ground slots at that anchor; later new participants use existing survivor-near/fallback policy. Keep canonical roster, one-life/reconnect, native prisoner prefab/loadout, scene preload/ack, reservations and exhaustion behavior unchanged.",
"After scenario/extraction/environment readiness, frozen crash mode enters RADIO_SEARCH directly; prison remains PREPARING->PRISON. Add narrowly guarded initial-transition permission (pure rule plus GameMode frozen-mode check) rather than allowing arbitrary callers to bypass prison. No synthetic UnlockPrison call or transient PRISON event.",
"Generalize dormant-force clock reset to entering RADIO_SEARCH from either valid initial path. Existing SiteService.PhaseChanged checks current RADIO_SEARCH only, so it already reveals finite supply/clue source locations on direct entry. It does not reveal radio objective itself. Existing delayed Activate discovers the start site and registers ordinary groups. Prison escape service must not demand a gate or schedule its prison checks for crash mode; explicit mode guard should supplement phase guard.",
"Current phase-based objective becomes Find the radio immediately, and ordinary HQ/force ticks activate at RADIO_SEARCH. New start label is Crash site. Update player-facing prison-only help/start text where it describes current mode; keep all downstream radio defence/extraction/defeat/cleanup behavior. No extra intel reward, refill or loadout grant."
],
"resource_findings": {
"already_admitted_wreck": false,
"installed_vanilla_rdb": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/resourceDatabase.rdb",
"rdb_sha256": "c5344847875ab4c94cf3cda88c5f9cc60878b799f33b2137c8e4a18726c19b7c",
"candidate_paths": [
"Prefabs/Props/Wrecks/Mi8MT_wreck/Mi8MT_wreck_static.et",
"Prefabs/Props/Wrecks/UH1H_wreck/UH1H_wreck_static.et"
],
"evidence_limit": "Exact path strings found in installed RDB at offsets 6398145 and 6401326. GUID/type, prefab components, dimensions, replication and inertness not yet audited; Rawls must establish them before choosing resource. No new external addon required if vanilla identity is verified."
},
"division": {
"hq_memory_review": "Core runtime start policy: new narrow ERR_StartRules/ERR_StartSetup if needed; ERR_GameMode, ERR_MissionRules, ERR_ScenarioComponent runtime transformation; ERR_GeneratedSites crash survey branch (and TerrainSites only if necessary); ERR_PrisonEscapeService explicit guard; focused actual-method lifecycle/admission tests. Avoid settings/admin/layout/resource files.",
"convoy_supply_pool": "Independent static wreck composition + meta, installed vanilla resource provenance/manifest entry, actual bounds/replication/inertness audit and finite start-container arrangement; return prefab resource, survey envelope and immutable offsets to core owner. No copied protected content, no spawn/flight service.",
"player_admission_review": "ERR_Settings key/default/validation; admin menu fields/layout/commands/help and profile validation adapters; persisted-next-round wording, optional current frozen-mode display through agreed GameMode getter; focused settings/admin tests. Coordinate any shared core fixture adapter ownership before editing.",
"root": "Approve plan; assign concrete filenames/interfaces; integrate exact scratch proposals; register tests; serialize full suite and native ordinary prison plus explicit crash-start proof. Own status/docs and preserve other concurrent work."
},
"validation_required": [
"Actual settings parse/save/default/invalid-value/failed-save preservation; mid-round setting change leaves frozen mode and anchor unchanged, restart adopts saved choice.",
"Actual runtime definition transformation: prison unchanged, crash exact one start, no guards/gate, preserved finite stock/map and independent clue count; malformed/missing resource refuses before admission.",
"Actual StartScenario/Transition tests: default prison, crash direct RADIO_SEARCH exactly once after readiness; ordinary callers cannot bypass prison; force clocks and revealed supply sites initialized; no gate error or duplicated callback.",
"Actual spawn/admission regressions: first crash participant uses placed anchor, collision/occupied slots refuse, late/reconnecting one-life behavior unchanged; existing scene/preload proof includes owned crash composition.",
"Native resource compile then explicit static crash scene: actual wreck/root/cache, on-foot canonical participant outside collision, radio-search objective, clues available, no prison gate interaction, clean teardown/restart. Default normal prison route remains green.",
"No gameplay/native claim from metadata, pure tests or prior normal64 run. No flight/physics crash fidelity, full co-op, FPS or route guarantee claim."
],
"production_changes": false,
"tests_or_native_run": false,
"protected_original_base_read": false
}