docs(render): Phase A8.F — supersede the old "no camera collision" note

The 2026-05-18 retail-chase-camera spec scoped collision out citing "retail
doesn't raycast." Phase A8.F falsified that (SmartBox::update_viewer DOES sweep
viewer_sphere); mark the note superseded and point to the A8.F spec.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-05-29 19:46:53 +02:00
parent 8f583ec894
commit 53634b5089

View file

@ -451,10 +451,14 @@ Quick check during impl — if not present, add it to
mode for inventory drag/drop. Out of scope.
- **Map mode (`ToggleMapMode`)** — retail's "top-down map view." Out
of scope.
- **Camera-vs-world collision.** Retail's per-frame update doesn't
raycast world geometry (see investigation report 2026-05-18 in chat).
The auto-fade handles "camera passes through player"; we don't
attempt "camera collides with wall" — same as retail.
- **Camera-vs-world collision.** ~~Retail's per-frame update doesn't
raycast world geometry; we don't attempt "camera collides with wall"
— same as retail.~~ **SUPERSEDED 2026-05-29:** this was a research
error — retail DOES collide the camera in `SmartBox::update_viewer`
(0x00453ce0), which the earlier pass missed by tracing only the
desired-eye producer (`CameraManager::UpdateCamera`). Implemented as a
swept-sphere spring arm in Phase A8.F; see
`docs/superpowers/specs/2026-05-29-a8f-camera-collision-design.md`.
- **Making retail the default.** Default stays off in this spec; flip
in a follow-up commit after visual verification.
- **Deleting legacy `ChaseCamera`.** Stays around for A/B comparison