Own-body spectator camera validation
The production change includes the observer's canonical unconscious body in the target cycle and frames unconscious/dead bodies at ground level. Native corpse eligibility was already present and remains covered by selection tests.
Five focused checks pass; see selection-checks.json. They cover production
selection/orbit methods through adapted engine boundaries, guidance and camera
lifecycle, native fixture selection, and player-view relay eligibility.
Native Workbench attempt 5 compiled and passed actual own-body selection,
solo forward/backward cycling, yaw, pitch, zoom, disabled input, possession
retention, returning to orbit selection after the input-resume gate, and camera
pose persistence across subsequent native frames. See native-checks.log and
the matching source hashes. This uses native action values, not physical mouse
input, and one local player, not a multiplayer replication qualification.
The broader existing unconscious-camera fixture then failed its chat-focus
assertion (subsequent native frames keep chat active and observer controls inactive without HUD updates). It did not reach the later recovery checks.
The complete native smoke run is therefore not passing; the focused camera
lifecycle test covers recovery through adapted engine boundaries only.
Earlier attempts are retained in iterations.log: attempt 1 stopped on an
obsolete recovery-message expectation; attempt 2 omitted the appended
self-injection controls from that expectation; attempt 3 failed random
extraction-site preparation before the camera tests; attempt 4 passed own-body
orbit controls but the fixture failed to wait through the two-frame input-resume
gate before toggling back. These fixture issues were corrected without changing
production medicine or chat behavior. The fixture carries an unused injector
with self-injection enabled so its deliberately unconscious solo player remains
recoverable under the normal all-down rules.
The test runner used an isolated source copy and profile, with process cleanup
confirmed in runner.log. No Workshop upload or Git push was performed.