# 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.