{ "id": "3DARCH-FT-12", "type": "Feature", "title": "Discover and retain personal controls", "epic_id": "3DARCH-EP-2", "description": "Enable a user to learn the workplace controls, prevent movement controls from interfering with text/settings interaction, and retain mouse sensitivity across visits.", "user_problem": "Users need discoverable controls that do not interfere with typing and settings, with sensitivity retained across visits.", "expected_value": "Improves control discoverability and preserves a usable personal interaction setup.", "scope": "Includes the controls guide, movement suppression during text/settings input, mouse-sensitivity adjustment, persistence, and save-failure feedback.", "exclusions": [ "Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded." ], "acceptance_outcomes": [ "A visible controls guide explains supported keyboard actions.", "Typing or using settings does not trigger movement actions.", "Mouse sensitivity can be adjusted and restored in a later session.", "Save failures are surfaced rather than silently discarded." ], "status": "IN_BACKLOG", "status_source": "EXACT", "blocked": false, "blocked_reason": null, "owner": "3D Architecture Wizzard team", "dependencies": [ "3DARCH-FT-9" ], "risks": [ "Settings persistence failures can leave the displayed sensitivity different from the retained value." ], "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/components/ControlsLayout.tsx", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/ControlsLayout.tsx" }, { "path": "apps/nebula/src/components/SettingsModal/parts/Controls/Controls.tsx", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SettingsModal/parts/Controls/Controls.tsx" }, { "path": "apps/nebula/src/stores/settingsStore.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/settingsStore.ts" }, { "path": "apps/nebula/src/hooks/usePlayerCamera.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerCamera.ts" }, { "path": "apps/singularity/src/routes/auth.routes.ts", "url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts" } ], "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" } }