{ "id": "3DARCH-FT-14", "type": "Feature", "title": "Move through a collision-aware 3D workplace", "epic_id": "3DARCH-EP-3", "description": "Enable a user to walk, run, strafe, rotate, and jump through the office with visible animation and physical boundaries.", "user_problem": "Users need responsive movement through the office while respecting its physical boundaries.", "expected_value": "Creates a responsive, bounded traversal experience that supplies movement state to co-presence.", "scope": "Includes walk, run, strafe, turn, and jump input; local animation; collider response; and movement-state publication.", "exclusions": [ "VR/controller navigation and generated-apartment review are excluded." ], "acceptance_outcomes": [ "Keyboard input produces responsive supported movement states.", "Movement respects floor and scene colliders.", "Walking, running, idling, jumping, and turning produce coherent local animation.", "Movement state is available to the live-presence experience." ], "status": "IN_BACKLOG", "status_source": "EXACT", "blocked": false, "blocked_reason": null, "owner": "3D Architecture Wizzard team", "dependencies": [ "3DARCH-FT-13" ], "risks": [ "Client-originated movement and pose data require validation before they can be trusted by other participants." ], "required_tasks": [], "approval": { "approved_for_solution": false, "approved_for_solution_by": null, "approved_for_solution_at": null, "conditions": [], "evidence_url": null, "approved_for_implementation": false, "approved_for_implementation_by": null, "approved_for_implementation_at": null, "implementation_conditions": [], "implementation_evidence_url": null }, "catalogue_decision": { "decision": "Approved for documentation", "decided_by": "Linas", "decided_at": "2026-09-02T10:40:43.220Z", "evidence_url": "https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201", "conditions": [ "Documentation approval does not grant Approved for Solution or implementation approval." ] }, "sources": [ { "label": "Discord – Scope – Linas: original Feature request", "url": "https://discord.com/channels/1518726359512387766/1543925247361814568/1544647879111483562" }, { "label": "Discord – Scope – Linas: proceed with documented mapping", "url": "https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201" } ], "legacy_revision": "c0ced47ecaf4426f47e5c2e4868677f7144b951a", "legacy_evidence": [ { "path": "apps/nebula/src/hooks/usePlayerControls.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerControls.ts" }, { "path": "apps/nebula/src/hooks/usePlayerMovement.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts" }, { "path": "apps/nebula/src/components/Player.tsx", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx" }, { "path": "apps/nebula/src/hooks/useSceneWithColliders.tsx", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useSceneWithColliders.tsx" } ], "architecture_traceability": { "requirements": [], "readiness": "Not started" }, "release_evidence": [], "last_transition": { "event": "Catalogue registration", "from": null, "to": "IN_BACKLOG", "at": "2026-09-02T10:40:43.220Z", "actor": "Linas", "authority": "Human project team member", "reason": "The Feature catalogue was accepted for governed documentation and retained in the backlog.", "conditions": [ "Registration records the accepted documentation boundary only.", "No solution or implementation approval is granted." ], "evidence_url": "https://discord.com/channels/1518726359512387766/1543925247361814568/1544658325738885201" } }