--- title: "3DARCH-FT-15 — Change viewpoint and look around naturally" description: "Enable a user to choose first- or third-person viewing and control the view without the camera passing through nearby scene geometry." --- # Change viewpoint and look around naturally | Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution | |---|---|---|---|---|---| | `3DARCH-FT-15` | [3DARCH-EP-3 — Navigate and Explore the Virtual Workplace](../../3darch-ep-3.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No | ## Description Enable a user to choose first- or third-person viewing and control the view without the camera passing through nearby scene geometry. ## User or operator problem Users need viewpoints suited to navigation and orientation without camera obstruction by nearby geometry. ## Expected value Improves spatial awareness while limiting camera clipping and overlay input conflicts. ## Scope Includes first/third-person switching, sensitivity-aware mouse look, obstruction-aware third-person distance, and predictable pointer capture. ### Exclusions - VR/controller navigation and generated-apartment review are excluded. ## Acceptance outcomes - [ ] The user can switch between supported camera modes. - [ ] Mouse input controls the view at the configured sensitivity. - [ ] Third-person camera distance responds to obstructing geometry. - [ ] Pointer capture and release behave predictably around overlays and settings. ## Dependencies - [3DARCH-FT-12 — Discover and retain personal controls](../../3darch-ep-2/features/3darch-ft-12.md) - [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./3darch-ft-14.md) ## Risks - Third-person camera constraints and overlay pointer capture have legacy edge cases. ## Human approval Linas approved this Feature for documentation on 2026-09-02T10:40:43.220Z. It is **not Approved for Solution** and has no implementation approval. - [Documentation decision](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201) ## Delivery status evidence The Feature was separately registered at `IN_BACKLOG` as an accepted catalogue boundary. This records backlog retention, not design or delivery progress. - Event: Catalogue registration - Actor and authority: Linas — Human project team member - Reason: The Feature catalogue was accepted for governed documentation and retained in the backlog. - [Status evidence](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201) ## Architecture traceability - Requirements: none derived. - Readiness: Not started. Architecture solution work must not begin until a separate human **Approved for Solution** decision is recorded. ## Tasks [Review the Tasks group](./3darch-ft-15/tasks.md). No canonical implementation Tasks have been defined. ## Original source - [Discord – Scope – Linas: original Feature request](https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562) - [Discord – Scope – Linas: proceed with documented mapping](https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201) ### Legacy implementation evidence The Feature boundary was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`. - [`apps/nebula/src/hooks/usePlayerCamera.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerCamera.ts) - [`apps/nebula/src/hooks/useMouseControls.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useMouseControls.ts) - [`packages/utils/constants/src/controls.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/controls.ts)