Files
EscapistsReintroduced/docs/evidence/observer-orbit-2026-10-13

Observer fallback orbit, 13 October 2026

The fallback camera now accepts orbit and zoom when no teammate or corpse is available locally. Previously both input handling and orbit placement required a selected target, leaving the camera fixed when alone or when every surviving player was unconscious. Target selection, possession, collision checks and recovery behavior are unchanged.

The completed local Workbench run passed 38 assertions, including seven new checks for native yaw, pitch and zoom action values, disabled input, unchanged casualty/possession, and the actual camera retaining the resulting direction on subsequent frames. Existing teammate tracking, player-view interruption and resumption, healing, weapon retention and repeated knockout checks also passed. See the a02 report and exact console.

Inputs were supplied programmatically through the native action manager to the production camera frame method. This establishes native camera response, not physical mouse delivery or dedicated multiplayer behavior. The fixture has one local player and a physical stand-in for a teammate. No live server was updated.

The first run, a01, compiled but failed mission preparation: the historical hillside extraction marker lacked room for the newly required second US rescue transport. The a02 frozen test copy moved only that marker from 7000 0 7500 to previously surveyed flat airport grounds at 4776.55 0 11528.9. Fixture inputs preserve the exact arrangement. Launch manifests confirm this is the only addon-source difference between the two native runs; neither run is a native pre-fix comparison.

The a02 run has zero script/runtime failures. Its strict report retains 21 engine/resource/platform diagnostics. Every normalized diagnostic signature also appears in a01; a02 has four additional occurrences of the existing worlds/Eden/Eden.ent resource error as preparation proceeds further. These diagnostics are retained, not suppressed or counted as a clean native report. The full repository check separately stops at the existing missing saved root ID in ERRM_AtlasLeaf.et; exact output is preserved.

Both runners confirm cleanup and unchanged launched addon/external sources. The archive verifies manifest/log bindings and copies raw log bytes, launch manifests, runner metadata and relevant launched source files. Current production observer and native fixture hashes match the completed run; the intentional test-marker arrangement does not match the repository's legacy fixture file. See source matches and cross-run review.

The pre-fix observer and host regression snapshot are retained for the separate regression comparison. They are distinguished from native launch evidence. The regression fails on the pre-fix missing orbit response and passes with the fix; native APIs are doubled in that host test.

archive.py documents the archive operation and refuses to overwrite evidence. The complete runner command is retained in each launch-source.json.