diff --git a/docs/superpowers/specs/2026-05-18-retail-chase-camera-design.md b/docs/superpowers/specs/2026-05-18-retail-chase-camera-design.md index 14946d5..72f493b 100644 --- a/docs/superpowers/specs/2026-05-18-retail-chase-camera-design.md +++ b/docs/superpowers/specs/2026-05-18-retail-chase-camera-design.md @@ -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