Files

3.2 KiB

Optional drone integration — 21 October 2026

Two isolated Workbench fixtures completed with seven assertions and no script or runtime failures against the production hashes in production-sha256.json. Both runners verified unchanged source/external inputs and cleanup of their private Wine prefix.

These are not clean whole-engine runs. The flight fixture retained 20 engine resource/world/platform errors; the absent-addon fixture retained 13. The strict native reporter exits with failure for those errors even though both fixtures completed. The complete reports and console logs are retained unchanged.

Downloaded addon and flight

Realistic Combat Drones 65AD60E204191D37, version 2.3.7, supplied the unarmed DJI airframe. Only the isolated fixture project adds its dependency. The shipped project has no mandatory drone dependency and contains no copied RCD assets or scripts. Exact installed input hashes are in flight/external-addons-inputs.json.

Flight events prove:

  • The optional adapter compiled and found the native drone manager.
  • Native physics raised the drone over 30 m above its launch point and moved it over 30 m horizontally toward the 100 m search goal.
  • Injecting native player ownership caused the production flight controller to release control while preserving the living, armed aircraft.
  • Releasing an unowned drone disarmed it through the native adapter.

A preceding diagnostic run identified a trace hitting the operator's attached helmet instead of the character root. Production now recognizes descendants of its intended target, with a bounded parent walk. Unrelated entities remain obstructions. Offline regression checks cover those cases. The preceding run also physically returned to its launch site after losing that link; the final fixture ends at takeover and does not qualify a complete search/return cycle.

Without the addon

Absent-addon events prove that production scripts compile without RCD, its foreign API remains uncompiled, the catalog has no drone prefab, and drones default to disabled.

Scope and remaining checks

The fixture directly exercises the production flight/bridge classes in a local Workbench mission. It does not qualify a dedicated server, remote-client visual replication, an ordinary player takeover, automatic dispatch from a delivered HQ sighting, native camera-to-HQ delivery, jammer placement, destruction, or sustained mission performance. Those remain mission-playtest cases. The production queue and scheduler are exercised separately by tests/test_drone_recon.py; radio transport has existing regression coverage.

Reproduce with the installed dependency closure and the repository's private Workbench prefix:

python3 docs/evidence/drone-recon-2026-10-21/isolated-runner.py flight02
python3 docs/evidence/drone-recon-2026-10-21/isolated-runner.py absent02 --absent

Use unused alphanumeric suffixes. The runner freezes source into /tmp, uses a disposable profile, and checks that its private prefix is idle. It does not modify installed addons, a live server or the user's game profile.