Allow off-airport extraction across terrains; record Workshop 0.0.124
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# Extraction anywhere — 28 October 2026
|
||||
|
||||
Original Everon now includes extraction in random clear-ground placement. Its
|
||||
former airport coordinate remains only a checked fallback, not the first choice.
|
||||
Automatic terrain placement samples world bounds from the first candidate and
|
||||
no longer starts with an airport discovery/preference pass. Authored scenarios
|
||||
can still explicitly require an airfield for their own fixed pads.
|
||||
|
||||
Primary dry-ground and aircraft/overhead clearance, guard footing, rescue-fleet
|
||||
space and the prison-relative escape boundary remain required. Terrain-independent
|
||||
placement also retains its streamed-navigation checks. Original Everon now checks
|
||||
the primary aircraft footprint before committing a random candidate and checks
|
||||
extraction-to-prison escape range in either placement order. The final site-spawn
|
||||
check applies to randomized original-Everon pads as well as terrain-generated ones.
|
||||
Scenario validation now accepts extraction's `RandomClear` flag.
|
||||
|
||||
## Verification
|
||||
|
||||
The full `python3 tools/check.py` run passed, with output in `repository-checks.log`.
|
||||
The final validation-rule change and boundary tests also passed separately in
|
||||
`final-generated-site-checks.log`. The focused terrain scheduler and maintenance
|
||||
stock checks passed. Generated-menu freshness and `git diff --check` passed.
|
||||
|
||||
The native fixture uses frozen production addon sources and a private Workbench
|
||||
profile. It keeps the live scenario definitions and normal generation instead
|
||||
of switching to the historical fixed-site catalog. `--terrain` enables the actual
|
||||
terrain-independent placement path on Everon's native world/navigation. Neither
|
||||
mode bypasses ground, clearance or navigation checks.
|
||||
|
||||
Original-Everon run E3 completed normal preparation and admitted a player. It
|
||||
selected an extraction point approximately 5,885 m from the former airport pad
|
||||
and 684 m from the prison, without falling back to authored coordinates. The
|
||||
fixture verified the resolved non-airfield definition, escape-boundary distance,
|
||||
dry ground and rescue-fleet space. Evidence is in `original-everon/`.
|
||||
|
||||
Terrain-independent run E4 also completed normal preparation and player admission.
|
||||
It selected a landing zone approximately 6,665 m from the old airport pad and
|
||||
1,399 m from the prison. Evidence is in `terrain-independent/`. Both final runs
|
||||
report `smoke-completed`, no script/runtime failures, confirmed private-profile
|
||||
cleanup, and unchanged production sources and installed dependencies.
|
||||
|
||||
The first diagnostic run E1 exceeded the native compiler's expression limit in
|
||||
a test-only fixture exclusion. E2 exposed the production definition validator's
|
||||
old rejection of randomized extraction. Both were corrected before E3. Their
|
||||
private test profiles were cleaned; the failed diagnostics were not treated as
|
||||
successful verification.
|
||||
|
||||
These are scripted local Workbench checks, not dedicated multiplayer or a complete
|
||||
rescue-flight/landing test. The strict native report still lists installed
|
||||
localization resource and world-property errors, so its process exit code is
|
||||
nonzero even when smoke assertions complete. Consult the raw runner report for
|
||||
those errors and the separate cleanup/source-integrity results.
|
||||
|
||||
Reproduce with fresh alphanumeric suffixes:
|
||||
|
||||
```sh
|
||||
python3 docs/evidence/extraction-anywhere-2026-10-28/isolated-runner.py E5
|
||||
python3 docs/evidence/extraction-anywhere-2026-10-28/isolated-runner.py E6 --terrain
|
||||
```
|
||||
Reference in New Issue
Block a user