docs: publish legacy Feature catalogue #2

Merged
jarvis-at-skic merged 1 commits from jarvis-at-skic/legacy-feature-catalogue AGit into test 2026-09-03 01:20:00 -07:00
139 changed files with 8681 additions and 203 deletions
+10
View File
@@ -0,0 +1,10 @@
{
"schema_version": 1,
"collections": [
"epics",
"features"
],
"derived_indexes": [
"indexes/epic-features.yml"
]
}
+11 -2
View File
@@ -1,11 +1,20 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-1",
"3DARCH-FT-2",
"3DARCH-FT-3",
"3DARCH-FT-4",
"3DARCH-FT-5",
"3DARCH-FT-6",
"3DARCH-FT-7",
"3DARCH-FT-8"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+5 -2
View File
@@ -1,11 +1,14 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-31",
"3DARCH-FT-32"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+7 -2
View File
@@ -1,11 +1,16 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-9",
"3DARCH-FT-10",
"3DARCH-FT-11",
"3DARCH-FT-12"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+8 -2
View File
@@ -1,11 +1,17 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-13",
"3DARCH-FT-14",
"3DARCH-FT-15",
"3DARCH-FT-16",
"3DARCH-FT-17"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+6 -2
View File
@@ -1,11 +1,15 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-18",
"3DARCH-FT-19",
"3DARCH-FT-20"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+5 -2
View File
@@ -1,11 +1,14 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-21",
"3DARCH-FT-22"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+6 -2
View File
@@ -1,11 +1,15 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-23",
"3DARCH-FT-24",
"3DARCH-FT-25"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+5 -2
View File
@@ -1,11 +1,14 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-26",
"3DARCH-FT-27"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+5 -2
View File
@@ -1,11 +1,14 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-28",
"3DARCH-FT-29"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+4 -2
View File
@@ -1,11 +1,13 @@
{
"type": "Epic",
"status": "IN_BACKLOG",
"status_source": "EXACT",
"status_source": "DERIVED",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"required_features": [],
"required_features": [
"3DARCH-FT-30"
],
"dependencies": [],
"approval": {
"approved_for_solution": false,
+45
View File
@@ -0,0 +1,45 @@
{
"schema_version": 1,
"items": [
{
"id": "3DARCH-EP-1",
"file": "3darch-ep-1.yml"
},
{
"id": "3DARCH-EP-2",
"file": "3darch-ep-2.yml"
},
{
"id": "3DARCH-EP-3",
"file": "3darch-ep-3.yml"
},
{
"id": "3DARCH-EP-4",
"file": "3darch-ep-4.yml"
},
{
"id": "3DARCH-EP-5",
"file": "3darch-ep-5.yml"
},
{
"id": "3DARCH-EP-6",
"file": "3darch-ep-6.yml"
},
{
"id": "3DARCH-EP-7",
"file": "3darch-ep-7.yml"
},
{
"id": "3DARCH-EP-8",
"file": "3darch-ep-8.yml"
},
{
"id": "3DARCH-EP-9",
"file": "3darch-ep-9.yml"
},
{
"id": "3DARCH-EP-10",
"file": "3darch-ep-10.yml"
}
]
}
+101
View File
@@ -0,0 +1,101 @@
{
"id": "3DARCH-FT-1",
"type": "Feature",
"title": "Reproducible monorepo development workspace",
"epic_id": "3DARCH-EP-1",
"description": "Enable contributors to install one pinned toolchain and run coordinated development, build, type-check, lint, test, documentation, and Storybook workflows across the platform.",
"user_problem": "Contributors face onboarding delays and environment-specific failures when each package requires separately reconciled tools and commands.",
"expected_value": "Reduces contributor setup time and makes workspace checks repeatable across the monorepo.",
"scope": "Includes the pinned Node/pnpm workspace baseline, root task orchestration, environment examples, and contributor setup path.",
"exclusions": [
"End-user product behavior and solution or release authorization are outside these engineering Features."
],
"acceptance_outcomes": [
"The workspace uses a declared Node and pnpm baseline.",
"One root workflow can run each supported application/package task through the dependency graph.",
"Local setup instructions and environment examples are available to contributors."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [],
"risks": [
"Tracked setup guidance and environment examples have legacy inconsistencies that can undermine repeatability."
],
"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": "package.json",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/package.json"
},
{
"path": "pnpm-workspace.yaml",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/pnpm-workspace.yaml"
},
{
"path": "turbo.json",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/turbo.json"
},
{
"path": "devbox.json",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/devbox.json"
},
{
"path": "README.md",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/README.md"
}
],
"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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"id": "3DARCH-FT-10",
"type": "Feature",
"title": "First-entry avatar onboarding",
"epic_id": "3DARCH-EP-2",
"description": "Enable a first-time user to preview, rotate, zoom, choose, and persist an in-world avatar before entering the workplace.",
"user_problem": "First-time users need to choose an embodied workplace identity before entering the shared environment.",
"expected_value": "Ensures every new participant enters with a persisted, recognizable in-world representation.",
"scope": "Includes first-entry gating, avatar preview controls, selection persistence, onboarding completion, and entry with the selected avatar.",
"exclusions": [
"Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded."
],
"acceptance_outcomes": [
"An unonboarded user cannot enter the workplace before completing avatar selection.",
"Available avatars can be previewed from multiple viewing angles.",
"Confirmation persists the avatar and onboarding completion.",
"The selected avatar appears when the user enters."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-9"
],
"risks": [
"Reselecting the existing avatar can fail to mark onboarding complete."
],
"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/App.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx"
},
{
"path": "apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx"
},
{
"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"
},
{
"path": "apps/nebula/src/test/components/CharacterSelection.test.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/test/components/CharacterSelection.test.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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"id": "3DARCH-FT-11",
"type": "Feature",
"title": "Review profile and change workplace appearance",
"epic_id": "3DARCH-EP-2",
"description": "Enable a returning user to review the enterprise identity represented in the workplace and replace the visible avatar without repeating onboarding.",
"user_problem": "Returning users need to inspect their enterprise identity and change the avatar coworkers see.",
"expected_value": "Lets users keep their visible workplace representation current without repeating onboarding.",
"scope": "Includes profile identity display, reopening avatar selection, persistence of the replacement, and propagation to other participants.",
"exclusions": [
"Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded."
],
"acceptance_outcomes": [
"Settings display the authenticated profile identity.",
"The user can reopen avatar selection from the profile area.",
"A changed avatar persists and is rendered to other participants."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-9",
"3DARCH-FT-10"
],
"risks": [
"Unavailable avatar assets or delayed propagation can produce inconsistent identity across clients."
],
"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/SettingsModal/parts/Profile/Profile.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SettingsModal/parts/Profile/Profile.tsx"
},
{
"path": "apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx"
},
{
"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/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"
}
}
+104
View File
@@ -0,0 +1,104 @@
{
"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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"id": "3DARCH-FT-13",
"type": "Feature",
"title": "Enter and resume the last workplace location",
"epic_id": "3DARCH-EP-3",
"description": "Enable a returning user to enter the previously occupied floor and position rather than restarting from a default location every time.",
"user_problem": "Returning users lose continuity when every session starts on a default floor and pose.",
"expected_value": "Restores spatial continuity so returning users can resume work where they left it.",
"scope": "Includes loading a valid stored scene and pose, safe defaults, and persistence of the latest location when leaving.",
"exclusions": [
"VR/controller navigation and generated-apartment review are excluded."
],
"acceptance_outcomes": [
"Entry loads the stored scene, position, and orientation when valid.",
"A safe default is used when no prior location exists.",
"Leaving the workplace persists the latest known pose and scene."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-9",
"3DARCH-FT-10"
],
"risks": [
"Location persists primarily on orderly socket disconnect, so abrupt loss can discard recent movement."
],
"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/singularity/src/socket-server/player-manager.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/player-manager.ts"
},
{
"path": "apps/singularity/prisma/schema.prisma",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma"
},
{
"path": "apps/nebula/src/App.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx"
},
{
"path": "apps/nebula/src/components/Scene.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Scene.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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"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"
}
}
+97
View File
@@ -0,0 +1,97 @@
{
"id": "3DARCH-FT-15",
"type": "Feature",
"title": "Change viewpoint and look around naturally",
"epic_id": "3DARCH-EP-3",
"description": "Enable a user to choose first- or third-person viewing and control the view without the camera passing through nearby scene geometry.",
"user_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."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-12",
"3DARCH-FT-14"
],
"risks": [
"Third-person camera constraints and overlay pointer capture have legacy edge cases."
],
"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/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/nebula/src/hooks/useMouseControls.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useMouseControls.ts"
},
{
"path": "packages/utils/constants/src/controls.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/controls.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"
}
}
+104
View File
@@ -0,0 +1,104 @@
{
"id": "3DARCH-FT-16",
"type": "Feature",
"title": "Travel between workplace floors",
"epic_id": "3DARCH-EP-3",
"description": "Enable a user to approach an elevator, receive a contextual action, and move between the implemented ninth- and tenth-floor scenes.",
"user_problem": "Users need a contextual, understandable way to move between the implemented workplace floors.",
"expected_value": "Connects the workplace’s floor experiences while keeping real-time scene membership accurate.",
"scope": "Includes elevator proximity detection, contextual action, ninth/tenth-floor transitions, scene-membership updates, and persisted destination.",
"exclusions": [
"VR/controller navigation and generated-apartment review are excluded."
],
"acceptance_outcomes": [
"Elevator proximity exposes the floor-change action only when applicable.",
"Activating the action moves the user to the target floor entry point.",
"Real-time scene membership changes with the floor.",
"The new floor becomes the location resumed later."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-14"
],
"risks": [
"The implemented floor set and entry points are fixed and require explicit expansion rules."
],
"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/usePlayerActions.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerActions.ts"
},
{
"path": "apps/nebula/src/components/PlayerActionPrompt/PlayerActionPrompt.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/PlayerActionPrompt/PlayerActionPrompt.tsx"
},
{
"path": "apps/singularity/src/socket-server/event-handlers.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts"
},
{
"path": "apps/singularity/src/socket-server/scene-manager.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts"
},
{
"path": "packages/utils/constants/src/scenes.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/scenes.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"
}
}
+104
View File
@@ -0,0 +1,104 @@
{
"id": "3DARCH-FT-17",
"type": "Feature",
"title": "Orient with the live floor map",
"epic_id": "3DARCH-EP-3",
"description": "Enable a user to open a floor map, locate themselves, identify coworkers and occupied seats, and pan or zoom to understand the surrounding workplace.",
"user_problem": "Users need a compact spatial reference for locating themselves, coworkers, and occupied seating.",
"expected_value": "Reduces disorientation and supports informed navigation and seating decisions.",
"scope": "Includes current-floor geometry, local/coworker markers, seating state, occupant identity, pan, and cursor-centred zoom.",
"exclusions": [
"VR/controller navigation and generated-apartment review are excluded."
],
"acceptance_outcomes": [
"The map represents the current floor geometry.",
"The local user and coworkers appear with distinguishable markers and names.",
"Seats show available/occupied state and occupant identity at the supported zoom level.",
"Pan and cursor-centred zoom retain usable orientation."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-14"
],
"risks": [
"Map markers can become stale when presence or seating events are missed."
],
"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/Map/Map.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/Map.tsx"
},
{
"path": "apps/nebula/src/components/Map/components/MapStaticLayer.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapStaticLayer.tsx"
},
{
"path": "apps/nebula/src/components/Map/components/MapPlayerLayer.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapPlayerLayer.tsx"
},
{
"path": "apps/nebula/src/components/Map/components/MapSeatLayer.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapSeatLayer.tsx"
},
{
"path": "apps/nebula/src/utils/sceneMap.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/utils/sceneMap.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"
}
}
+102
View File
@@ -0,0 +1,102 @@
{
"id": "3DARCH-FT-18",
"type": "Feature",
"title": "See who shares the current floor",
"epic_id": "3DARCH-EP-4",
"description": "Enable a participant to see coworkers join, remain present, change floors, and leave within the same scene-scoped workplace context.",
"user_problem": "Participants need an accurate view of who currently shares their floor as people join, move, and disconnect.",
"expected_value": "Makes the shared environment reflect current floor membership without requiring reloads.",
"scope": "Includes initial current-floor membership plus real-time join, floor-change, and disconnect reconciliation.",
"exclusions": [
"Communication content and seat-reservation ownership are excluded."
],
"acceptance_outcomes": [
"Joining returns the existing people on the participant's current floor.",
"New arrivals appear without reloading.",
"Floor changes remove a person from the previous floor and add them to the destination floor.",
"Disconnects remove stale participants from the shared scene."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-9",
"3DARCH-FT-13",
"3DARCH-FT-16"
],
"risks": [
"Join, floor-change, and disconnect event ordering can temporarily duplicate or retain 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/singularity/src/socket-server/event-handlers.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts"
},
{
"path": "apps/singularity/src/socket-server/scene-manager.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts"
},
{
"path": "apps/singularity/src/socket-server/broadcast-service.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/broadcast-service.ts"
},
{
"path": "apps/nebula/src/socket-client.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/socket-client.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"
}
}
+102
View File
@@ -0,0 +1,102 @@
{
"id": "3DARCH-FT-19",
"type": "Feature",
"title": "Recognize coworkers by workplace identity",
"epic_id": "3DARCH-EP-4",
"description": "Enable a participant to recognize each current-floor coworker by persisted avatar and visible name in both the 3D scene and map.",
"user_problem": "Participants need to recognize each coworker consistently across the 3D scene and floor map.",
"expected_value": "Provides stable social recognition across scene and map representations.",
"scope": "Includes persisted avatar selection, safe avatar fallback, visible names, map labels, and identity-change reconciliation.",
"exclusions": [
"Communication content and seat-reservation ownership are excluded."
],
"acceptance_outcomes": [
"Every current-floor participant renders as one embodied avatar.",
"The persisted avatar is used when valid, with a safe fallback for an unavailable model.",
"A visible name label follows each remote avatar.",
"The floor map shows labeled coworker markers and distinguishes the local participant.",
"Identity changes propagate without creating a duplicate participant."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-10",
"3DARCH-FT-18"
],
"risks": [
"Missing avatar models and delayed profile changes can reduce reliable coworker recognition."
],
"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/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/components/Scene.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Scene.tsx"
},
{
"path": "apps/nebula/src/components/Map/components/MapPlayerLayer.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapPlayerLayer.tsx"
},
{
"path": "packages/utils/types/src/player.types.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/player.types.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"
}
}
+103
View File
@@ -0,0 +1,103 @@
{
"id": "3DARCH-FT-2",
"type": "Feature",
"title": "Shared contracts and reusable interface foundations",
"epic_id": "3DARCH-EP-1",
"description": "Enable application teams to evolve real-time interactions and user interfaces against shared types, constants, TypeScript rules, lint rules, and reusable UI components rather than duplicating incompatible definitions.",
"user_problem": "Application teams risk incompatible real-time behavior and inconsistent interfaces when contracts, constants, and components are duplicated.",
"expected_value": "Keeps client, service, and interface behavior aligned while reducing duplicated definitions.",
"scope": "Includes shared player, chat, voice, seat, authentication, control, socket, TypeScript, lint, and reusable UI foundations.",
"exclusions": [
"End-user product behavior and solution or release authorization are outside these engineering Features."
],
"acceptance_outcomes": [
"Frontend and backend consume the same player, chat, voice, seat, and authentication contracts.",
"Common controls and socket event names have one shared definition.",
"Reusable UI components can be developed, demonstrated, and tested independently."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-1"
],
"risks": [
"Shared contract changes can break multiple applications unless all consumers are validated together."
],
"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": "packages/utils/types/src/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/"
},
{
"path": "packages/utils/constants/src/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/"
},
{
"path": "packages/utils/typescript-config/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/typescript-config/"
},
{
"path": "packages/utils/eslint-config/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/eslint-config/"
},
{
"path": "packages/stardust/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/"
}
],
"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"
}
}
+102
View File
@@ -0,0 +1,102 @@
{
"id": "3DARCH-FT-20",
"type": "Feature",
"title": "Follow coworker movement and activity in real time",
"epic_id": "3DARCH-EP-4",
"description": "Enable a participant to see current-floor coworkers' synchronized position, orientation, and movement/activity animation so that the shared environment feels live rather than static.",
"user_problem": "Participants need remote movement and activity to feel live and remain associated with the correct coworker.",
"expected_value": "Makes co-presence legible through synchronized pose and activity rather than static avatars.",
"scope": "Includes remote position, orientation, movement/activity animation, identity association, and local/remote distinction.",
"exclusions": [
"Communication content and seat-reservation ownership are excluded."
],
"acceptance_outcomes": [
"Movement updates remain associated with the correct recognized participant.",
"Position and orientation changes update smoothly for floor peers.",
"Supported animation/activity state follows the remote participant.",
"Local and remote representations remain distinguishable."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-14",
"3DARCH-FT-18",
"3DARCH-FT-19"
],
"risks": [
"Unvalidated pose and activity updates can create implausible or misleading remote movement."
],
"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/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/usePlayerAnimations.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerAnimations.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": "packages/utils/types/src/player.types.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/player.types.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"
}
}
+102
View File
@@ -0,0 +1,102 @@
{
"id": "3DARCH-FT-21",
"type": "Feature",
"title": "Exchange floor-scoped text conversation",
"epic_id": "3DARCH-EP-5",
"description": "Enable participants on the same floor to send and receive named, timestamped messages and see recent speech represented above the sender's avatar.",
"user_problem": "Colocated participants need a quick written conversation channel that preserves the current floor context.",
"expected_value": "Keeps lightweight written communication inside the participant’s immediate spatial context.",
"scope": "Includes opening/collapsing chat, non-empty submission, floor-scoped relay, sender/time display, scrolling, and temporary avatar speech bubbles.",
"exclusions": [
"Direct messaging, persistence, history, recording, transcription, and cross-floor communication are excluded."
],
"acceptance_outcomes": [
"The chat panel can be opened, collapsed, composed in, and scrolled.",
"A sent message is relayed only to the sender's current floor.",
"Messages identify the sender and time.",
"A temporary speech bubble and speaking/talking state connect the message to the in-world avatar.",
"Changing floors cannot present previous-floor chat as current-floor conversation."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-18",
"3DARCH-FT-19"
],
"risks": [
"Chat is ephemeral and the legacy client can retain previous-floor messages after a floor change."
],
"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/Chat/Chat.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Chat/Chat.tsx"
},
{
"path": "apps/nebula/src/components/SpeechBubble.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SpeechBubble.tsx"
},
{
"path": "apps/nebula/src/stores/chatStore.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/chatStore.ts"
},
{
"path": "apps/singularity/src/socket-server/chat-handler.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/chat-handler.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"
}
}
+107
View File
@@ -0,0 +1,107 @@
{
"id": "3DARCH-FT-22",
"type": "Feature",
"title": "Speak with push-to-talk and spatial cues",
"epic_id": "3DARCH-EP-5",
"description": "Enable a participant to hold a voice control, grant microphone access, stream speech to the current-floor context, see who is speaking, and hear volume reflect speaker distance.",
"user_problem": "Participants need hands-busy voice communication with visible speaking state and spatial listening cues.",
"expected_value": "Adds immediate spoken coordination while preserving floor isolation and distance-aware feedback.",
"scope": "Includes push-to-talk capture, permission feedback, current-floor relay, speaking indicators, distance-based volume, and explicit playback recovery.",
"exclusions": [
"Direct messaging, persistence, history, recording, transcription, and cross-floor communication are excluded."
],
"acceptance_outcomes": [
"Voice capture starts only while the configured push-to-talk action is active.",
"Microphone denial or unsupported capture produces clear user feedback.",
"Voice traffic remains isolated to the current floor.",
"A speaking indicator identifies active speakers.",
"Playback volume decreases to silence outside the approved proximity range.",
"Playback can recover after browser autoplay restrictions through an explicit user action."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-18",
"3DARCH-FT-20"
],
"risks": [
"Voice is relayed floor-wide, does not reach silence outside the nominal range, and lacks complete autoplay recovery."
],
"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/useVoiceChat.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useVoiceChat.ts"
},
{
"path": "apps/nebula/src/components/VoiceIndicator.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/VoiceIndicator.tsx"
},
{
"path": "apps/singularity/src/socket-server/voice-handler.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/voice-handler.ts"
},
{
"path": "packages/utils/constants/src/chat.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/chat.ts"
},
{
"path": "packages/utils/constants/src/controls.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/controls.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"
}
}
+101
View File
@@ -0,0 +1,101 @@
{
"id": "3DARCH-FT-23",
"type": "Feature",
"title": "Discover seat availability and occupant identity",
"epic_id": "3DARCH-EP-6",
"description": "Enable a person to distinguish available and occupied chairs in the 3D office and map before attempting to claim a place.",
"user_problem": "People need to know which nearby seats are available and who occupies the others before acting.",
"expected_value": "Prevents unnecessary claim attempts and aligns 3D and map occupancy information.",
"scope": "Includes nearby-chair availability, occupant identity, map parity, and live claim/release/reset updates.",
"exclusions": [
"Advance booking, recurring reservations, administrator override, and historical occupancy reporting are excluded."
],
"acceptance_outcomes": [
"Nearby chairs expose their current availability.",
"Occupied chairs show the occupant's identity in the 3D scene.",
"The floor map uses the same occupancy state and can reveal occupant names.",
"Live claim/release/reset changes update both views without a reload."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-17",
"3DARCH-FT-19"
],
"risks": [
"The legacy client bulk-reset listener does not correctly consume the server reset payload."
],
"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/interactables/ChairOverlay.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/interactables/ChairOverlay.tsx"
},
{
"path": "apps/nebula/src/components/Map/components/MapSeatLayer.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapSeatLayer.tsx"
},
{
"path": "apps/nebula/src/stores/chairStore.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/chairStore.ts"
},
{
"path": "apps/nebula/src/socket-client.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/socket-client.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"
}
}
+102
View File
@@ -0,0 +1,102 @@
{
"id": "3DARCH-FT-24",
"type": "Feature",
"title": "Manage one daily seat reservation",
"epic_id": "3DARCH-EP-6",
"description": "Enable a person to claim an available nearby seat, move the reservation to another seat, release it, and trust that another user's reservation cannot be displaced.",
"user_problem": "A person needs to claim, move, or release one seat without displacing another user’s reservation.",
"expected_value": "Provides one authoritative daily reservation outcome with visible success or failure.",
"scope": "Includes contextual claim/release actions, one-seat enforcement, atomic reservation moves, ownership protection, broadcast updates, and user feedback.",
"exclusions": [
"Advance booking, recurring reservations, administrator override, and historical occupancy reporting are excluded."
],
"acceptance_outcomes": [
"A contextual action offers claim or release according to proximity, occupancy, and ownership.",
"A user can hold at most one seat; claiming another moves the reservation atomically.",
"Another user's occupied seat cannot be claimed or released.",
"Claim, change, and release outcomes are visible to all affected participants.",
"Success and failure are communicated to the initiating user."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-9",
"3DARCH-FT-23"
],
"risks": [
"Concurrent claims and reconnects require authoritative ownership checks to prevent inconsistent occupancy."
],
"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/usePlayerActions.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerActions.ts"
},
{
"path": "apps/nebula/src/stores/chairStore.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/chairStore.ts"
},
{
"path": "apps/singularity/src/routes/seat.routes.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/seat.routes.ts"
},
{
"path": "apps/singularity/prisma/schema.prisma",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma"
}
],
"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"
}
}
+103
View File
@@ -0,0 +1,103 @@
{
"id": "3DARCH-FT-25",
"type": "Feature",
"title": "Expire stale seat claims at the workplace-day boundary",
"epic_id": "3DARCH-EP-6",
"description": "Enable participants to start each workplace day with stale reservations cleared rather than blocked by people who did not manually release yesterday's seats.",
"user_problem": "The workplace needs stale seat claims cleared at a predictable day boundary without manual cleanup.",
"expected_value": "Restores fair seat availability each workplace day and makes reset failures diagnosable.",
"scope": "Includes an explicit timezone/boundary, authoritative claim clearing, single multi-replica execution, client replacement, failure visibility, and safe retry.",
"exclusions": [
"Advance booking, recurring reservations, administrator override, and historical occupancy reporting are excluded."
],
"acceptance_outcomes": [
"The governing workplace timezone and daily reset boundary are explicit.",
"Every active claim becomes available with occupant and claim time cleared.",
"Available seats remain unchanged.",
"Only one reset is applied when the service has multiple replicas.",
"Connected clients replace their occupancy state from the authoritative reset without reloading.",
"A missed or failed reset is visible and can be retried safely."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-23",
"3DARCH-FT-24"
],
"risks": [
"The reset timezone, multi-replica coordination, failure visibility, and client refresh behavior are incomplete."
],
"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/singularity/src/jobs/seat-reset.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/jobs/seat-reset.ts"
},
{
"path": "apps/singularity/src/test/jobs/seat-reset.test.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/test/jobs/seat-reset.test.ts"
},
{
"path": "packages/utils/constants/src/socket.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/socket.ts"
},
{
"path": "apps/nebula/src/socket-client.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/socket-client.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"
}
}
+110
View File
@@ -0,0 +1,110 @@
{
"id": "3DARCH-FT-26",
"type": "Feature",
"title": "Generate a complete apartment concept from a natural-language brief",
"epic_id": "3DARCH-EP-7",
"description": "Enable a person to describe residential needs in ordinary language and receive a saved 3D apartment with inferred requirements, connected rooms, openings, furniture, and lighting.",
"user_problem": "A residential user needs to translate an ordinary-language brief into a coherent furnished 3D concept without manual modelling.",
"expected_value": "Produces the Epic’s primary saved artifact: a connected, furnished, and lit apartment scene.",
"scope": "Includes prompt validation, requirement inference, connected rooms/openings, furnishing, lighting, final persistence, and stable project identity.",
"exclusions": [
"Office, retail, and factory generation, export, and loading scenes into Nebula are excluded."
],
"acceptance_outcomes": [
"The service rejects empty, too-short, or oversized briefs before generation.",
"Missing residential needs can be inferred and represented in the generated requirements.",
"The floor plan contains connected rooms, circulation, doors, exterior windows, and dimensions.",
"Furniture reflects room purpose and available space.",
"Ambient, sunlight, and room lighting complete the scene.",
"Completion returns a stable project identity and persists the final scene."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-8"
],
"risks": [
"Generated YAML lacks complete schema, bounds, clearance, and overlap validation."
],
"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/archwiz-portal/src/components/LeftSidebar.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx"
},
{
"path": "apps/archwiz-forge/src/routes/generate.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/generate.ts"
},
{
"path": "apps/archwiz-forge/src/skills/extract-requirements.md",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/extract-requirements.md"
},
{
"path": "apps/archwiz-forge/src/skills/generate-structure.md",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/generate-structure.md"
},
{
"path": "apps/archwiz-forge/src/skills/place-furniture.md",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/place-furniture.md"
},
{
"path": "apps/archwiz-forge/src/skills/add-lighting.md",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/add-lighting.md"
}
],
"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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"id": "3DARCH-FT-27",
"type": "Feature",
"title": "Follow generation progress and intermediate design states",
"epic_id": "3DARCH-EP-7",
"description": "Enable a person to understand which generation stage is running and see the apartment emerge instead of waiting for an opaque request.",
"user_problem": "A person needs visible generation stages and intermediate results rather than waiting on an opaque long-running request.",
"expected_value": "Builds trust in long-running generation through progressive feedback and safe failure handling.",
"scope": "Includes ordered stage reporting, intermediate structural/furnished previews, final-scene selection, and failure cleanup.",
"exclusions": [
"Office, retail, and factory generation, export, and loading scenes into Nebula are excluded."
],
"acceptance_outcomes": [
"Progress identifies requirements, structure, furniture, and lighting stages in order.",
"Structural and furnished intermediate scenes replace the current preview as they become available.",
"Completion selects the final persisted scene.",
"Failure produces a visible message and does not leave a false completed project."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-26"
],
"risks": [
"Failure cleanup must prevent partial generation output from appearing as a completed project."
],
"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/archwiz-portal/src/api/client.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts"
},
{
"path": "apps/archwiz-portal/src/App.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/App.tsx"
},
{
"path": "apps/archwiz-portal/src/components/LeftSidebar.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx"
},
{
"path": "apps/archwiz-forge/src/routes/generate.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/generate.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"
}
}
+104
View File
@@ -0,0 +1,104 @@
{
"id": "3DARCH-FT-28",
"type": "Feature",
"title": "Inspect the apartment from an overview",
"epic_id": "3DARCH-EP-8",
"description": "Enable a person to orbit around the open-ceiling apartment and assess rooms, area, dimensions, openings, materials, furniture, lighting, and the originating brief.",
"user_problem": "A person needs an overview that makes the generated apartment’s layout, dimensions, contents, and brief assessable.",
"expected_value": "Enables informed review of the complete generated concept and its originating context.",
"scope": "Includes orbit review, coherent scene rendering, project summary, original brief, and toggleable room labels with area.",
"exclusions": [
"Editing, export, VR review, and collaborative walkthrough are excluded."
],
"acceptance_outcomes": [
"Orbit controls expose the complete generated apartment from useful angles.",
"Walls, floors, openings, furnishings, ambient light, sunlight, and room lights render coherently.",
"Project context shows name, total area, room count, creation context, and original brief.",
"Room labels can be shown or hidden and include calculated room area."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-26"
],
"risks": [
"Large or malformed scenes can degrade rendering, labels, or the accuracy of project summaries."
],
"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/archwiz-portal/src/components/scene/ApartmentCanvas.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/ApartmentCanvas.tsx"
},
{
"path": "apps/archwiz-portal/src/components/scene/RoomMesh.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/RoomMesh.tsx"
},
{
"path": "apps/archwiz-portal/src/components/scene/RoomLabels.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/RoomLabels.tsx"
},
{
"path": "apps/archwiz-portal/src/components/scene/SceneLights.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/SceneLights.tsx"
},
{
"path": "apps/archwiz-portal/src/components/RightSidebar.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"id": "3DARCH-FT-29",
"type": "Feature",
"title": "Walk through the apartment at human scale",
"epic_id": "3DARCH-EP-8",
"description": "Enable a person to enter near the detected apartment entrance, look around, move through rooms, and return to overview mode.",
"user_problem": "A person needs to experience the generated apartment at human scale and return predictably to overview review.",
"expected_value": "Enables experiential validation of circulation and scale beyond a top-down overview.",
"scope": "Includes entrance detection, valid walk-mode start, pointer look, WASD movement, collision boundaries, and return to Orbit mode.",
"exclusions": [
"Editing, export, VR review, and collaborative walkthrough are excluded."
],
"acceptance_outcomes": [
"Walk mode starts at a valid position just inside the detected entrance.",
"Pointer look and WASD movement provide a human-scale review.",
"Collision prevents movement through walls and solid furnishings.",
"Escape or the visible mode control returns predictably to Orbit mode."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-28"
],
"risks": [
"Legacy Walk mode has no collision enforcement and permits movement through walls or furniture."
],
"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/archwiz-portal/src/components/RightSidebar.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.tsx"
},
{
"path": "apps/archwiz-portal/src/components/scene/ApartmentCanvas.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/ApartmentCanvas.tsx"
},
{
"path": "apps/archwiz-portal/src/components/scene/entrance.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/entrance.ts"
},
{
"path": "apps/archwiz-portal/src/components/scene/FPSControls.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/scene/FPSControls.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"
}
}
+108
View File
@@ -0,0 +1,108 @@
{
"id": "3DARCH-FT-3",
"type": "Feature",
"title": "Automated multi-layer quality verification",
"epic_id": "3DARCH-EP-1",
"description": "Enable contributors to detect regressions in UI components, stores, APIs, real-time handlers, persistence behavior, generation pipelines, and end-to-end journeys before release.",
"user_problem": "Maintainers need regressions to surface before release across stores, APIs, persistence, UI components, and integrated journeys.",
"expected_value": "Provides earlier, repeatable evidence that principal product and platform behavior still works.",
"scope": "Includes root and application-level unit, integration, component, persistence, and end-to-end verification commands and assets.",
"exclusions": [
"End-user product behavior and solution or release authorization are outside these engineering Features."
],
"acceptance_outcomes": [
"Root commands invoke unit, CI, type, lint, and end-to-end checks consistently.",
"Application-level tests cover the principal workplace and Archwiz behaviors.",
"End-to-end browser checks can validate integrated user journeys."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-1",
"3DARCH-FT-2"
],
"risks": [
"The repository contains broad test assets but no tracked CI workflow, so local commands alone do not prove release readiness."
],
"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": "package.json",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/package.json"
},
{
"path": "apps/horizon/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/horizon/"
},
{
"path": "apps/nebula/src/test/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/test/"
},
{
"path": "apps/singularity/src/test/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/test/"
},
{
"path": "apps/archwiz-portal/src/test/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/test/"
},
{
"path": "apps/archwiz-forge/src/test/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/test/"
}
],
"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"
}
}
+106
View File
@@ -0,0 +1,106 @@
{
"id": "3DARCH-FT-30",
"type": "Feature",
"title": "Apply and persist a natural-language design change",
"epic_id": "3DARCH-EP-9",
"description": "Enable a person to describe a focused change to a generated or reopened apartment, review the updated 3D result, and find that result retained when the project is reopened.",
"user_problem": "A person needs to refine an existing apartment through a focused request without regenerating a separate project.",
"expected_value": "Preserves project continuity while allowing the current design to evolve from natural-language intent.",
"scope": "Includes bounded natural-language input, update of the current persisted project, last-valid-scene protection, visible result, and drift review.",
"exclusions": [
"Version history, undo, deterministic diffs, and fast-edit guarantees are excluded."
],
"acceptance_outcomes": [
"Editing is available only after a project has a persisted identity and scene.",
"A bounded natural-language request updates the intended design content while preserving project identity and unaffected content.",
"Invalid or failed edits leave the last valid scene intact and explain the failure.",
"The updated scene appears in the current viewer and persists for later reopening.",
"The user can distinguish the requested change from unintended model drift before accepting it as the current version."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-26",
"3DARCH-FT-28"
],
"risks": [
"Editing rewrites the complete scene without a diff, version history, undo, or deterministic preservation guarantees."
],
"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/archwiz-portal/src/components/RightSidebar.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.tsx"
},
{
"path": "apps/archwiz-portal/src/api/client.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts"
},
{
"path": "apps/archwiz-forge/src/routes/edit.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/edit.ts"
},
{
"path": "apps/archwiz-forge/src/pipeline/edit.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/pipeline/edit.ts"
},
{
"path": "apps/archwiz-forge/src/skills/edit-scene.md",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/edit-scene.md"
}
],
"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"
}
}
+101
View File
@@ -0,0 +1,101 @@
{
"id": "3DARCH-FT-31",
"type": "Feature",
"title": "Browse and recognize saved apartment projects",
"epic_id": "3DARCH-EP-10",
"description": "Enable a person to locate prior apartment concepts by meaningful summary information rather than remembering opaque project identifiers.",
"user_problem": "A person needs to recognize and select earlier apartment concepts without remembering opaque identifiers.",
"expected_value": "Makes completed work discoverable and distinguishable for later continuation.",
"scope": "Includes automatic/refreshable completed-project listing, meaningful summaries, newest-first ordering, current selection, and malformed-entry filtering.",
"exclusions": [
"Sharing, deletion, ownership, authentication, and collaboration are excluded."
],
"acceptance_outcomes": [
"Completed projects load automatically and can be refreshed on demand.",
"Each entry provides enough context to distinguish it, including name, area, and creation date.",
"Projects are presented newest first.",
"The current project is visually distinguishable from other entries.",
"Incomplete or unreadable generation folders are not presented as completed projects, while service failure remains distinguishable from an empty history."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-26"
],
"risks": [
"Filesystem-backed projects have no implemented authentication, ownership, authorization, sharing, or deletion boundary."
],
"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/archwiz-portal/src/components/LeftSidebar.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx"
},
{
"path": "apps/archwiz-portal/src/api/client.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts"
},
{
"path": "apps/archwiz-forge/src/routes/projects.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/projects.ts"
},
{
"path": "apps/archwiz-forge/src/test/routes/projects.test.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/test/routes/projects.test.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"
}
}
+106
View File
@@ -0,0 +1,106 @@
{
"id": "3DARCH-FT-32",
"type": "Feature",
"title": "Reopen a saved project into the active workspace",
"epic_id": "3DARCH-EP-10",
"description": "Enable a person to restore a selected apartment as active work so it can be reviewed and refined instead of regenerated.",
"user_problem": "A person needs to restore a saved apartment as active work for continued review and refinement.",
"expected_value": "Restores project identity, scene, context, and review controls without regenerating the design.",
"scope": "Includes retrieval by project identity, transactional workspace replacement, restored context/review modes, edit continuity, and visible load failure.",
"exclusions": [
"Sharing, deletion, ownership, authentication, and collaboration are excluded."
],
"acceptance_outcomes": [
"Selecting a known project retrieves its complete persisted final scene by project identity.",
"The scene and project identity become the active workspace without retaining stale data from the prior selection.",
"Project context and both review modes are available after reopening.",
"The reopened identity enables subsequent natural-language refinement of the same project.",
"Missing, unreadable, or malformed projects produce a visible failure and leave the last valid workspace intact."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-28",
"3DARCH-FT-31"
],
"risks": [
"Missing or malformed project data can replace valid workspace state unless loading remains transactional."
],
"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/archwiz-portal/src/components/LeftSidebar.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx"
},
{
"path": "apps/archwiz-portal/src/api/client.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts"
},
{
"path": "apps/archwiz-portal/src/store/useAppStore.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/store/useAppStore.ts"
},
{
"path": "apps/archwiz-forge/src/routes/projects.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/projects.ts"
},
{
"path": "apps/archwiz-portal/src/components/RightSidebar.tsx",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.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"
}
}
+105
View File
@@ -0,0 +1,105 @@
{
"id": "3DARCH-FT-4",
"type": "Feature",
"title": "Reusable UI component authoring and review workbench",
"epic_id": "3DARCH-EP-1",
"description": "Enable frontend developers and designers to create, demonstrate, accessibility-check, and test consistent interface components outside a product application.",
"user_problem": "Designers and frontend developers need to review component behavior and accessibility without mounting a complete product application.",
"expected_value": "Accelerates consistent component delivery and exposes interaction or accessibility defects earlier.",
"scope": "Includes component generation, package export, Storybook documentation, accessibility checks, and headless story interactions.",
"exclusions": [
"End-user product behavior and solution or release authorization are outside these engineering Features."
],
"acceptance_outcomes": [
"A generator creates a component, story, and package export in the chosen atomic category.",
"Storybook presents component documentation and accessibility tooling.",
"Story interactions can run in a headless browser.",
"The component library builds behind a stable package entry point."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-1",
"3DARCH-FT-2"
],
"risks": [
"Storybook, accessibility tooling, and browser interaction tests can drift from the shipped component package."
],
"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": "packages/stardust/README.md",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/README.md"
},
{
"path": "packages/stardust/turbo/generators/config.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/turbo/generators/config.ts"
},
{
"path": "packages/stardust/.storybook/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/.storybook/"
},
{
"path": "packages/stardust/src/atoms/Button/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/src/atoms/Button/"
},
{
"path": "packages/stardust/vite.config.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/vite.config.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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"id": "3DARCH-FT-5",
"type": "Feature",
"title": "Versioned engineering knowledge hub",
"epic_id": "3DARCH-EP-1",
"description": "Enable contributors and operators to maintain architecture, setup, authentication, rendering, and deployment guidance alongside source and publish it as a browsable static site.",
"user_problem": "Contributors and operators need one discoverable, versioned source for implemented architecture and operating guidance.",
"expected_value": "Keeps engineering knowledge reviewable with source and available as a browsable reference.",
"scope": "Includes version-controlled engineering documentation authoring, build, navigation, indexes, sitemap, and implemented-versus-planned boundaries.",
"exclusions": [
"End-user product behavior and solution or release authorization are outside these engineering Features."
],
"acceptance_outcomes": [
"Contributors can author and preview version-controlled MDX documentation.",
"The knowledge hub builds through a root workspace command.",
"Static output contains navigable topic pages, indexes, and a sitemap.",
"Published guidance distinguishes implemented behavior from future intent."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-1"
],
"risks": [
"Published guidance can confuse implemented behavior with future intent unless evidence boundaries remain explicit."
],
"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/constellation/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/"
},
{
"path": "apps/constellation/package.json",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/package.json"
},
{
"path": "apps/constellation/scripts/build.js",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/scripts/build.js"
},
{
"path": "README.md",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/README.md"
}
],
"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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"id": "3DARCH-FT-6",
"type": "Feature",
"title": "Repeatable database schema lifecycle",
"epic_id": "3DARCH-EP-1",
"description": "Enable service developers and operators to evolve and apply the workplace persistence schema consistently across fresh workspaces and deployed instances.",
"user_problem": "Service teams need database changes to be ordered, repeatable, and compatible across local and deployed environments.",
"expected_value": "Reduces schema drift and makes migration failure visible before the service accepts traffic.",
"scope": "Includes the Prisma schema, ordered migrations, client generation, development migration workflow, and production migration gate.",
"exclusions": [
"End-user product behavior and solution or release authorization are outside these engineering Features."
],
"acceptance_outcomes": [
"The database contract is versioned in one Prisma schema.",
"Ordered migrations create and evolve user, settings, scene, and seat data.",
"Local service workflows generate the Prisma client and apply development migrations.",
"Production startup applies pending migrations before accepting traffic and exposes migration failure."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-1"
],
"risks": [
"Migration failure can block service startup or leave persistence incompatible with application code."
],
"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/singularity/prisma/schema.prisma",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma"
},
{
"path": "apps/singularity/prisma/migrations/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/migrations/"
},
{
"path": "apps/singularity/package.json",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/package.json"
},
{
"path": "apps/singularity/Dockerfile",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile"
}
],
"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"
}
}
+100
View File
@@ -0,0 +1,100 @@
{
"id": "3DARCH-FT-7",
"type": "Feature",
"title": "Integrated local runtime with persistence and health checks",
"epic_id": "3DARCH-EP-1",
"description": "Enable developers to start the browser workplace, real-time backend, and database as one local environment and determine whether each service is healthy.",
"user_problem": "Developers need the browser client, backend, and database to start together with visible dependency health.",
"expected_value": "Provides a repeatable integration environment and shortens diagnosis of startup or dependency failures.",
"scope": "Includes coordinated local startup for frontend, backend, and PostgreSQL plus storage, ordering, and health checks.",
"exclusions": [
"End-user product behavior and solution or release authorization are outside these engineering Features."
],
"acceptance_outcomes": [
"One local workflow starts the frontend, backend, and PostgreSQL dependencies.",
"Service ordering and persistent database storage are declared.",
"Frontend, backend, and database health checks expose startup failure."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-1",
"3DARCH-FT-6"
],
"risks": [
"Service health can appear green while a dependency or browser route remains unusable."
],
"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": "docker-compose.yml",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/docker-compose.yml"
},
{
"path": "apps/nebula/Dockerfile",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/Dockerfile"
},
{
"path": "apps/singularity/Dockerfile",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile"
},
{
"path": "apps/singularity/src/routes/health.routes.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/health.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"
}
}
+107
View File
@@ -0,0 +1,107 @@
{
"id": "3DARCH-FT-8",
"type": "Feature",
"title": "Package, deploy, and health-check workplace services",
"epic_id": "3DARCH-EP-1",
"description": "Enable operators to build versionable frontend/backend images, package Kubernetes deployment configuration, and admit only healthy services to traffic.",
"user_problem": "Operators need repeatable artifacts and health gates for deploying the workplace services safely.",
"expected_value": "Creates versionable deployment inputs and prevents unhealthy services from receiving traffic.",
"scope": "Includes independent service images, repeatable tagging/publishing tasks, Helm configuration, probes, ingress, and dependency-aware readiness.",
"exclusions": [
"End-user product behavior and solution or release authorization are outside these engineering Features."
],
"acceptance_outcomes": [
"Frontend and backend images build independently for the declared platform.",
"Images can be tagged and published through repeatable tasks.",
"Helm charts configure deployments, services, ingress, runtime values, and health probes for both services.",
"Process and dependency health distinguish a running backend from a usable backend.",
"Database failure withholds readiness and returns a bounded unhealthy response."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-1",
"3DARCH-FT-3",
"3DARCH-FT-6"
],
"risks": [
"Legacy packaging and deployment assumptions require validation against the target runtime before release."
],
"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": "Taskfile.yml",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/Taskfile.yml"
},
{
"path": "apps/nebula/Dockerfile",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/Dockerfile"
},
{
"path": "apps/singularity/Dockerfile",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile"
},
{
"path": "apps/singularity/src/routes/health.routes.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/health.routes.ts"
},
{
"path": "helm/",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/helm/"
}
],
"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"
}
}
+104
View File
@@ -0,0 +1,104 @@
{
"id": "3DARCH-FT-9",
"type": "Feature",
"title": "Enterprise sign-in and session continuity",
"epic_id": "3DARCH-EP-2",
"description": "Enable a user to enter through enterprise SSO, remain signed in through token refresh, and return to sign-in when the session cannot be recovered.",
"user_problem": "Enterprise users need trusted access that survives normal token expiry without separate workplace credentials.",
"expected_value": "Provides secure session continuity and a single enterprise identity boundary for protected HTTP and real-time access.",
"scope": "Includes enterprise OIDC redirect/callback, user upsert, protected cookies, token refresh, request recovery, and authenticated socket admission.",
"exclusions": [
"Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded."
],
"acceptance_outcomes": [
"Successful SSO creates or updates the user and returns the user to the workplace.",
"Access and refresh credentials remain in protected cookies.",
"Expired access is refreshed once and queued requests resume after recovery.",
"Authenticated real-time connections reject invalid or duplicate sessions safely."
],
"status": "IN_BACKLOG",
"status_source": "EXACT",
"blocked": false,
"blocked_reason": null,
"owner": "3D Architecture Wizzard team",
"dependencies": [
"3DARCH-FT-8"
],
"risks": [
"Duplicate-session handling redirects to a hard-coded legacy location and self-service sign-out is not wired in the client."
],
"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/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"
},
{
"path": "apps/singularity/src/config/auth.config.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/config/auth.config.ts"
},
{
"path": "apps/nebula/src/hooks/useAuthRefresh.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useAuthRefresh.ts"
},
{
"path": "apps/nebula/src/api.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/api.ts"
},
{
"path": "apps/singularity/src/socket-server/index.ts",
"url": "https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/index.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"
}
}
+133
View File
@@ -0,0 +1,133 @@
{
"schema_version": 1,
"items": [
{
"id": "3DARCH-FT-1",
"file": "3darch-ft-1.yml"
},
{
"id": "3DARCH-FT-2",
"file": "3darch-ft-2.yml"
},
{
"id": "3DARCH-FT-3",
"file": "3darch-ft-3.yml"
},
{
"id": "3DARCH-FT-4",
"file": "3darch-ft-4.yml"
},
{
"id": "3DARCH-FT-5",
"file": "3darch-ft-5.yml"
},
{
"id": "3DARCH-FT-6",
"file": "3darch-ft-6.yml"
},
{
"id": "3DARCH-FT-7",
"file": "3darch-ft-7.yml"
},
{
"id": "3DARCH-FT-8",
"file": "3darch-ft-8.yml"
},
{
"id": "3DARCH-FT-9",
"file": "3darch-ft-9.yml"
},
{
"id": "3DARCH-FT-10",
"file": "3darch-ft-10.yml"
},
{
"id": "3DARCH-FT-11",
"file": "3darch-ft-11.yml"
},
{
"id": "3DARCH-FT-12",
"file": "3darch-ft-12.yml"
},
{
"id": "3DARCH-FT-13",
"file": "3darch-ft-13.yml"
},
{
"id": "3DARCH-FT-14",
"file": "3darch-ft-14.yml"
},
{
"id": "3DARCH-FT-15",
"file": "3darch-ft-15.yml"
},
{
"id": "3DARCH-FT-16",
"file": "3darch-ft-16.yml"
},
{
"id": "3DARCH-FT-17",
"file": "3darch-ft-17.yml"
},
{
"id": "3DARCH-FT-18",
"file": "3darch-ft-18.yml"
},
{
"id": "3DARCH-FT-19",
"file": "3darch-ft-19.yml"
},
{
"id": "3DARCH-FT-20",
"file": "3darch-ft-20.yml"
},
{
"id": "3DARCH-FT-21",
"file": "3darch-ft-21.yml"
},
{
"id": "3DARCH-FT-22",
"file": "3darch-ft-22.yml"
},
{
"id": "3DARCH-FT-23",
"file": "3darch-ft-23.yml"
},
{
"id": "3DARCH-FT-24",
"file": "3darch-ft-24.yml"
},
{
"id": "3DARCH-FT-25",
"file": "3darch-ft-25.yml"
},
{
"id": "3DARCH-FT-26",
"file": "3darch-ft-26.yml"
},
{
"id": "3DARCH-FT-27",
"file": "3darch-ft-27.yml"
},
{
"id": "3DARCH-FT-28",
"file": "3darch-ft-28.yml"
},
{
"id": "3DARCH-FT-29",
"file": "3darch-ft-29.yml"
},
{
"id": "3DARCH-FT-30",
"file": "3darch-ft-30.yml"
},
{
"id": "3DARCH-FT-31",
"file": "3darch-ft-31.yml"
},
{
"id": "3DARCH-FT-32",
"file": "3darch-ft-32.yml"
}
]
}
+57
View File
@@ -0,0 +1,57 @@
{
"schema_version": 1,
"epics": {
"3DARCH-EP-1": [
"3DARCH-FT-1",
"3DARCH-FT-2",
"3DARCH-FT-3",
"3DARCH-FT-4",
"3DARCH-FT-5",
"3DARCH-FT-6",
"3DARCH-FT-7",
"3DARCH-FT-8"
],
"3DARCH-EP-2": [
"3DARCH-FT-9",
"3DARCH-FT-10",
"3DARCH-FT-11",
"3DARCH-FT-12"
],
"3DARCH-EP-3": [
"3DARCH-FT-13",
"3DARCH-FT-14",
"3DARCH-FT-15",
"3DARCH-FT-16",
"3DARCH-FT-17"
],
"3DARCH-EP-4": [
"3DARCH-FT-18",
"3DARCH-FT-19",
"3DARCH-FT-20"
],
"3DARCH-EP-5": [
"3DARCH-FT-21",
"3DARCH-FT-22"
],
"3DARCH-EP-6": [
"3DARCH-FT-23",
"3DARCH-FT-24",
"3DARCH-FT-25"
],
"3DARCH-EP-7": [
"3DARCH-FT-26",
"3DARCH-FT-27"
],
"3DARCH-EP-8": [
"3DARCH-FT-28",
"3DARCH-FT-29"
],
"3DARCH-EP-9": [
"3DARCH-FT-30"
],
"3DARCH-EP-10": [
"3DARCH-FT-31",
"3DARCH-FT-32"
]
}
}
+3
View File
@@ -11,6 +11,9 @@
"typecheck": "tsc --noEmit",
"generate:scope": "node scripts/generate-scope.mjs",
"check:scope": "node scripts/generate-scope.mjs --check",
"data:index": "node scripts/generate-scope.mjs",
"data:validate": "node scripts/generate-scope.mjs --check",
"data:check": "node scripts/generate-scope.mjs --check",
"test": "node --test tests/*.test.mjs",
"validate": "pnpm check:scope && pnpm test && pnpm typecheck && pnpm build"
},
+13 -4
View File
@@ -1,13 +1,13 @@
---
title: "3DARCH-EP-1 — Engineering Platform, Quality, and Operability"
description: "Use this approved Epic boundary to assess related Features and outcomes."
description: "Review the governed outcome and child Features for 3DARCH-EP-1."
---
# Engineering Platform, Quality, and Operability
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|
| `3DARCH-EP-1` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
| `3DARCH-EP-1` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
## Goal
@@ -27,7 +27,16 @@ The platform spans browser applications, real-time services, AI-assisted generat
## Features
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ep-1/features/3darch-ft-1.md)
- [3DARCH-FT-2 — Shared contracts and reusable interface foundations](./3darch-ep-1/features/3darch-ft-2.md)
- [3DARCH-FT-3 — Automated multi-layer quality verification](./3darch-ep-1/features/3darch-ft-3.md)
- [3DARCH-FT-4 — Reusable UI component authoring and review workbench](./3darch-ep-1/features/3darch-ft-4.md)
- [3DARCH-FT-5 — Versioned engineering knowledge hub](./3darch-ep-1/features/3darch-ft-5.md)
- [3DARCH-FT-6 — Repeatable database schema lifecycle](./3darch-ep-1/features/3darch-ft-6.md)
- [3DARCH-FT-7 — Integrated local runtime with persistence and health checks](./3darch-ep-1/features/3darch-ft-7.md)
- [3DARCH-FT-8 — Package, deploy, and health-check workplace services](./3darch-ep-1/features/3darch-ft-8.md)
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
## Original source
@@ -36,7 +45,7 @@ No child Features have been defined or approved. Feature discovery must preserve
### Legacy implementation evidence
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
- [`apps/nebula/src/App.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx)
- [`apps/nebula/src/socket-client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/socket-client.ts)
+13 -2
View File
@@ -1,8 +1,19 @@
---
title: "3DARCH-EP-1 Features"
description: "Review Features governed by 3DARCH-EP-1."
description: "Review the governed Features beneath 3DARCH-EP-1."
---
# Review 3DARCH-EP-1 Features
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-1 boundary](../3darch-ep-1.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
These Features decompose the [3DARCH-EP-1 boundary](../3darch-ep-1.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./features/3darch-ft-1.md)
- [3DARCH-FT-2 — Shared contracts and reusable interface foundations](./features/3darch-ft-2.md)
- [3DARCH-FT-3 — Automated multi-layer quality verification](./features/3darch-ft-3.md)
- [3DARCH-FT-4 — Reusable UI component authoring and review workbench](./features/3darch-ft-4.md)
- [3DARCH-FT-5 — Versioned engineering knowledge hub](./features/3darch-ft-5.md)
- [3DARCH-FT-6 — Repeatable database schema lifecycle](./features/3darch-ft-6.md)
- [3DARCH-FT-7 — Integrated local runtime with persistence and health checks](./features/3darch-ft-7.md)
- [3DARCH-FT-8 — Package, deploy, and health-check workplace services](./features/3darch-ft-8.md)
Documentation approval does not grant **Approved for Solution** or implementation approval.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-1 — Reproducible monorepo development workspace"
description: "Enable contributors to install one pinned toolchain and run coordinated development, build, type-check, lint, test, documentation, and Storybook workflows across the platform."
---
# Reproducible monorepo development workspace
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-1` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable contributors to install one pinned toolchain and run coordinated development, build, type-check, lint, test, documentation, and Storybook workflows across the platform.
## User or operator problem
Contributors face onboarding delays and environment-specific failures when each package requires separately reconciled tools and commands.
## Expected value
Reduces contributor setup time and makes workspace checks repeatable across the monorepo.
## Scope
Includes the pinned Node/pnpm workspace baseline, root task orchestration, environment examples, and contributor setup path.
### Exclusions
- End-user product behavior and solution or release authorization are outside these engineering Features.
## Acceptance outcomes
- [ ] The workspace uses a declared Node and pnpm baseline.
- [ ] One root workflow can run each supported application/package task through the dependency graph.
- [ ] Local setup instructions and environment examples are available to contributors.
## Dependencies
- None recorded.
## Risks
- Tracked setup guidance and environment examples have legacy inconsistencies that can undermine repeatability.
## 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-1/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`.
- [`package.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/package.json)
- [`pnpm-workspace.yaml`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/pnpm-workspace.yaml)
- [`turbo.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/turbo.json)
- [`devbox.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/devbox.json)
- [`README.md`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/README.md)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-1 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-1."
---
# Review 3DARCH-FT-1 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-1](../3darch-ft-1.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-2 — Shared contracts and reusable interface foundations"
description: "Enable application teams to evolve real-time interactions and user interfaces against shared types, constants, TypeScript rules, lint rules, and reusable UI components rather than duplicating incompatible definitions."
---
# Shared contracts and reusable interface foundations
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-2` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable application teams to evolve real-time interactions and user interfaces against shared types, constants, TypeScript rules, lint rules, and reusable UI components rather than duplicating incompatible definitions.
## User or operator problem
Application teams risk incompatible real-time behavior and inconsistent interfaces when contracts, constants, and components are duplicated.
## Expected value
Keeps client, service, and interface behavior aligned while reducing duplicated definitions.
## Scope
Includes shared player, chat, voice, seat, authentication, control, socket, TypeScript, lint, and reusable UI foundations.
### Exclusions
- End-user product behavior and solution or release authorization are outside these engineering Features.
## Acceptance outcomes
- [ ] Frontend and backend consume the same player, chat, voice, seat, and authentication contracts.
- [ ] Common controls and socket event names have one shared definition.
- [ ] Reusable UI components can be developed, demonstrated, and tested independently.
## Dependencies
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
## Risks
- Shared contract changes can break multiple applications unless all consumers are validated together.
## 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-2/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`.
- [`packages/utils/types/src/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/)
- [`packages/utils/constants/src/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/)
- [`packages/utils/typescript-config/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/typescript-config/)
- [`packages/utils/eslint-config/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/eslint-config/)
- [`packages/stardust/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-2 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-2."
---
# Review 3DARCH-FT-2 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-2](../3darch-ft-2.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,87 @@
---
title: "3DARCH-FT-3 — Automated multi-layer quality verification"
description: "Enable contributors to detect regressions in UI components, stores, APIs, real-time handlers, persistence behavior, generation pipelines, and end-to-end journeys before release."
---
# Automated multi-layer quality verification
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-3` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable contributors to detect regressions in UI components, stores, APIs, real-time handlers, persistence behavior, generation pipelines, and end-to-end journeys before release.
## User or operator problem
Maintainers need regressions to surface before release across stores, APIs, persistence, UI components, and integrated journeys.
## Expected value
Provides earlier, repeatable evidence that principal product and platform behavior still works.
## Scope
Includes root and application-level unit, integration, component, persistence, and end-to-end verification commands and assets.
### Exclusions
- End-user product behavior and solution or release authorization are outside these engineering Features.
## Acceptance outcomes
- [ ] Root commands invoke unit, CI, type, lint, and end-to-end checks consistently.
- [ ] Application-level tests cover the principal workplace and Archwiz behaviors.
- [ ] End-to-end browser checks can validate integrated user journeys.
## Dependencies
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
- [3DARCH-FT-2 — Shared contracts and reusable interface foundations](./3darch-ft-2.md)
## Risks
- The repository contains broad test assets but no tracked CI workflow, so local commands alone do not prove release readiness.
## 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-3/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`.
- [`package.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/package.json)
- [`apps/horizon/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/horizon/)
- [`apps/nebula/src/test/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/test/)
- [`apps/singularity/src/test/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/test/)
- [`apps/archwiz-portal/src/test/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/test/)
- [`apps/archwiz-forge/src/test/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/test/)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-3 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-3."
---
# Review 3DARCH-FT-3 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-3](../3darch-ft-3.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,87 @@
---
title: "3DARCH-FT-4 — Reusable UI component authoring and review workbench"
description: "Enable frontend developers and designers to create, demonstrate, accessibility-check, and test consistent interface components outside a product application."
---
# Reusable UI component authoring and review workbench
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-4` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable frontend developers and designers to create, demonstrate, accessibility-check, and test consistent interface components outside a product application.
## User or operator problem
Designers and frontend developers need to review component behavior and accessibility without mounting a complete product application.
## Expected value
Accelerates consistent component delivery and exposes interaction or accessibility defects earlier.
## Scope
Includes component generation, package export, Storybook documentation, accessibility checks, and headless story interactions.
### Exclusions
- End-user product behavior and solution or release authorization are outside these engineering Features.
## Acceptance outcomes
- [ ] A generator creates a component, story, and package export in the chosen atomic category.
- [ ] Storybook presents component documentation and accessibility tooling.
- [ ] Story interactions can run in a headless browser.
- [ ] The component library builds behind a stable package entry point.
## Dependencies
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
- [3DARCH-FT-2 — Shared contracts and reusable interface foundations](./3darch-ft-2.md)
## Risks
- Storybook, accessibility tooling, and browser interaction tests can drift from the shipped component package.
## 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-4/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`.
- [`packages/stardust/README.md`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/README.md)
- [`packages/stardust/turbo/generators/config.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/turbo/generators/config.ts)
- [`packages/stardust/.storybook/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/.storybook/)
- [`packages/stardust/src/atoms/Button/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/src/atoms/Button/)
- [`packages/stardust/vite.config.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/stardust/vite.config.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-4 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-4."
---
# Review 3DARCH-FT-4 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-4](../3darch-ft-4.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-5 — Versioned engineering knowledge hub"
description: "Enable contributors and operators to maintain architecture, setup, authentication, rendering, and deployment guidance alongside source and publish it as a browsable static site."
---
# Versioned engineering knowledge hub
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-5` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable contributors and operators to maintain architecture, setup, authentication, rendering, and deployment guidance alongside source and publish it as a browsable static site.
## User or operator problem
Contributors and operators need one discoverable, versioned source for implemented architecture and operating guidance.
## Expected value
Keeps engineering knowledge reviewable with source and available as a browsable reference.
## Scope
Includes version-controlled engineering documentation authoring, build, navigation, indexes, sitemap, and implemented-versus-planned boundaries.
### Exclusions
- End-user product behavior and solution or release authorization are outside these engineering Features.
## Acceptance outcomes
- [ ] Contributors can author and preview version-controlled MDX documentation.
- [ ] The knowledge hub builds through a root workspace command.
- [ ] Static output contains navigable topic pages, indexes, and a sitemap.
- [ ] Published guidance distinguishes implemented behavior from future intent.
## Dependencies
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
## Risks
- Published guidance can confuse implemented behavior with future intent unless evidence boundaries remain explicit.
## 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-5/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/constellation/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/)
- [`apps/constellation/package.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/package.json)
- [`apps/constellation/scripts/build.js`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/constellation/scripts/build.js)
- [`README.md`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/README.md)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-5 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-5."
---
# Review 3DARCH-FT-5 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-5](../3darch-ft-5.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-6 — Repeatable database schema lifecycle"
description: "Enable service developers and operators to evolve and apply the workplace persistence schema consistently across fresh workspaces and deployed instances."
---
# Repeatable database schema lifecycle
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-6` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable service developers and operators to evolve and apply the workplace persistence schema consistently across fresh workspaces and deployed instances.
## User or operator problem
Service teams need database changes to be ordered, repeatable, and compatible across local and deployed environments.
## Expected value
Reduces schema drift and makes migration failure visible before the service accepts traffic.
## Scope
Includes the Prisma schema, ordered migrations, client generation, development migration workflow, and production migration gate.
### Exclusions
- End-user product behavior and solution or release authorization are outside these engineering Features.
## Acceptance outcomes
- [ ] The database contract is versioned in one Prisma schema.
- [ ] Ordered migrations create and evolve user, settings, scene, and seat data.
- [ ] Local service workflows generate the Prisma client and apply development migrations.
- [ ] Production startup applies pending migrations before accepting traffic and exposes migration failure.
## Dependencies
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
## Risks
- Migration failure can block service startup or leave persistence incompatible with application code.
## 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-6/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/singularity/prisma/schema.prisma`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma)
- [`apps/singularity/prisma/migrations/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/migrations/)
- [`apps/singularity/package.json`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/package.json)
- [`apps/singularity/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-6 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-6."
---
# Review 3DARCH-FT-6 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-6](../3darch-ft-6.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-7 — Integrated local runtime with persistence and health checks"
description: "Enable developers to start the browser workplace, real-time backend, and database as one local environment and determine whether each service is healthy."
---
# Integrated local runtime with persistence and health checks
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-7` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable developers to start the browser workplace, real-time backend, and database as one local environment and determine whether each service is healthy.
## User or operator problem
Developers need the browser client, backend, and database to start together with visible dependency health.
## Expected value
Provides a repeatable integration environment and shortens diagnosis of startup or dependency failures.
## Scope
Includes coordinated local startup for frontend, backend, and PostgreSQL plus storage, ordering, and health checks.
### Exclusions
- End-user product behavior and solution or release authorization are outside these engineering Features.
## Acceptance outcomes
- [ ] One local workflow starts the frontend, backend, and PostgreSQL dependencies.
- [ ] Service ordering and persistent database storage are declared.
- [ ] Frontend, backend, and database health checks expose startup failure.
## Dependencies
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
- [3DARCH-FT-6 — Repeatable database schema lifecycle](./3darch-ft-6.md)
## Risks
- Service health can appear green while a dependency or browser route remains unusable.
## 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-7/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`.
- [`docker-compose.yml`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/docker-compose.yml)
- [`apps/nebula/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/Dockerfile)
- [`apps/singularity/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile)
- [`apps/singularity/src/routes/health.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/health.routes.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-7 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-7."
---
# Review 3DARCH-FT-7 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-7](../3darch-ft-7.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,89 @@
---
title: "3DARCH-FT-8 — Package, deploy, and health-check workplace services"
description: "Enable operators to build versionable frontend/backend images, package Kubernetes deployment configuration, and admit only healthy services to traffic."
---
# Package, deploy, and health-check workplace services
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-8` | [3DARCH-EP-1 — Engineering Platform, Quality, and Operability](../../3darch-ep-1.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable operators to build versionable frontend/backend images, package Kubernetes deployment configuration, and admit only healthy services to traffic.
## User or operator problem
Operators need repeatable artifacts and health gates for deploying the workplace services safely.
## Expected value
Creates versionable deployment inputs and prevents unhealthy services from receiving traffic.
## Scope
Includes independent service images, repeatable tagging/publishing tasks, Helm configuration, probes, ingress, and dependency-aware readiness.
### Exclusions
- End-user product behavior and solution or release authorization are outside these engineering Features.
## Acceptance outcomes
- [ ] Frontend and backend images build independently for the declared platform.
- [ ] Images can be tagged and published through repeatable tasks.
- [ ] Helm charts configure deployments, services, ingress, runtime values, and health probes for both services.
- [ ] Process and dependency health distinguish a running backend from a usable backend.
- [ ] Database failure withholds readiness and returns a bounded unhealthy response.
## Dependencies
- [3DARCH-FT-1 — Reproducible monorepo development workspace](./3darch-ft-1.md)
- [3DARCH-FT-3 — Automated multi-layer quality verification](./3darch-ft-3.md)
- [3DARCH-FT-6 — Repeatable database schema lifecycle](./3darch-ft-6.md)
## Risks
- Legacy packaging and deployment assumptions require validation against the target runtime before release.
## 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-8/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`.
- [`Taskfile.yml`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/Taskfile.yml)
- [`apps/nebula/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/Dockerfile)
- [`apps/singularity/Dockerfile`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/Dockerfile)
- [`apps/singularity/src/routes/health.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/health.routes.ts)
- [`helm/`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/helm/)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-8 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-8."
---
# Review 3DARCH-FT-8 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-8](../3darch-ft-8.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
+7 -4
View File
@@ -1,13 +1,13 @@
---
title: "3DARCH-EP-10 — Reopen and Continue Previous Design Projects"
description: "Use this approved Epic boundary to assess related Features and outcomes."
description: "Review the governed outcome and child Features for 3DARCH-EP-10."
---
# Reopen and Continue Previous Design Projects
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|
| `3DARCH-EP-10` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
| `3DARCH-EP-10` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
## Goal
@@ -27,7 +27,10 @@ Generated work loses value if it cannot be recognized, reopened, and continued i
## Features
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
- [3DARCH-FT-31 — Browse and recognize saved apartment projects](./3darch-ep-10/features/3darch-ft-31.md)
- [3DARCH-FT-32 — Reopen a saved project into the active workspace](./3darch-ep-10/features/3darch-ft-32.md)
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
## Original source
@@ -36,7 +39,7 @@ No child Features have been defined or approved. Feature discovery must preserve
### Legacy implementation evidence
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
- [`apps/archwiz-portal/src/components/LeftSidebar.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx)
- [`apps/archwiz-portal/src/api/client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts)
+7 -2
View File
@@ -1,8 +1,13 @@
---
title: "3DARCH-EP-10 Features"
description: "Review Features governed by 3DARCH-EP-10."
description: "Review the governed Features beneath 3DARCH-EP-10."
---
# Review 3DARCH-EP-10 Features
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-10 boundary](../3darch-ep-10.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
These Features decompose the [3DARCH-EP-10 boundary](../3darch-ep-10.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
- [3DARCH-FT-31 — Browse and recognize saved apartment projects](./features/3darch-ft-31.md)
- [3DARCH-FT-32 — Reopen a saved project into the active workspace](./features/3darch-ft-32.md)
Documentation approval does not grant **Approved for Solution** or implementation approval.
@@ -0,0 +1,86 @@
---
title: "3DARCH-FT-31 — Browse and recognize saved apartment projects"
description: "Enable a person to locate prior apartment concepts by meaningful summary information rather than remembering opaque project identifiers."
---
# Browse and recognize saved apartment projects
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-31` | [3DARCH-EP-10 — Reopen and Continue Previous Design Projects](../../3darch-ep-10.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a person to locate prior apartment concepts by meaningful summary information rather than remembering opaque project identifiers.
## User or operator problem
A person needs to recognize and select earlier apartment concepts without remembering opaque identifiers.
## Expected value
Makes completed work discoverable and distinguishable for later continuation.
## Scope
Includes automatic/refreshable completed-project listing, meaningful summaries, newest-first ordering, current selection, and malformed-entry filtering.
### Exclusions
- Sharing, deletion, ownership, authentication, and collaboration are excluded.
## Acceptance outcomes
- [ ] Completed projects load automatically and can be refreshed on demand.
- [ ] Each entry provides enough context to distinguish it, including name, area, and creation date.
- [ ] Projects are presented newest first.
- [ ] The current project is visually distinguishable from other entries.
- [ ] Incomplete or unreadable generation folders are not presented as completed projects, while service failure remains distinguishable from an empty history.
## Dependencies
- [3DARCH-FT-26 — Generate a complete apartment concept from a natural-language brief](../../3darch-ep-7/features/3darch-ft-26.md)
## Risks
- Filesystem-backed projects have no implemented authentication, ownership, authorization, sharing, or deletion boundary.
## 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-31/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/archwiz-portal/src/components/LeftSidebar.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx)
- [`apps/archwiz-portal/src/api/client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts)
- [`apps/archwiz-forge/src/routes/projects.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/projects.ts)
- [`apps/archwiz-forge/src/test/routes/projects.test.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/test/routes/projects.test.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-31 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-31."
---
# Review 3DARCH-FT-31 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-31](../3darch-ft-31.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,88 @@
---
title: "3DARCH-FT-32 — Reopen a saved project into the active workspace"
description: "Enable a person to restore a selected apartment as active work so it can be reviewed and refined instead of regenerated."
---
# Reopen a saved project into the active workspace
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-32` | [3DARCH-EP-10 — Reopen and Continue Previous Design Projects](../../3darch-ep-10.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a person to restore a selected apartment as active work so it can be reviewed and refined instead of regenerated.
## User or operator problem
A person needs to restore a saved apartment as active work for continued review and refinement.
## Expected value
Restores project identity, scene, context, and review controls without regenerating the design.
## Scope
Includes retrieval by project identity, transactional workspace replacement, restored context/review modes, edit continuity, and visible load failure.
### Exclusions
- Sharing, deletion, ownership, authentication, and collaboration are excluded.
## Acceptance outcomes
- [ ] Selecting a known project retrieves its complete persisted final scene by project identity.
- [ ] The scene and project identity become the active workspace without retaining stale data from the prior selection.
- [ ] Project context and both review modes are available after reopening.
- [ ] The reopened identity enables subsequent natural-language refinement of the same project.
- [ ] Missing, unreadable, or malformed projects produce a visible failure and leave the last valid workspace intact.
## Dependencies
- [3DARCH-FT-28 — Inspect the apartment from an overview](../../3darch-ep-8/features/3darch-ft-28.md)
- [3DARCH-FT-31 — Browse and recognize saved apartment projects](./3darch-ft-31.md)
## Risks
- Missing or malformed project data can replace valid workspace state unless loading remains transactional.
## 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-32/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/archwiz-portal/src/components/LeftSidebar.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/LeftSidebar.tsx)
- [`apps/archwiz-portal/src/api/client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/api/client.ts)
- [`apps/archwiz-portal/src/store/useAppStore.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/store/useAppStore.ts)
- [`apps/archwiz-forge/src/routes/projects.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/projects.ts)
- [`apps/archwiz-portal/src/components/RightSidebar.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-portal/src/components/RightSidebar.tsx)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-32 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-32."
---
# Review 3DARCH-FT-32 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-32](../3darch-ft-32.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
+9 -4
View File
@@ -1,13 +1,13 @@
---
title: "3DARCH-EP-2 — Secure Access and Personal Setup"
description: "Use this approved Epic boundary to assess related Features and outcomes."
description: "Review the governed outcome and child Features for 3DARCH-EP-2."
---
# Secure Access and Personal Setup
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|
| `3DARCH-EP-2` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
| `3DARCH-EP-2` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
## Goal
@@ -27,7 +27,12 @@ A person needs a trusted way to enter the workplace and establish an identity an
## Features
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./3darch-ep-2/features/3darch-ft-9.md)
- [3DARCH-FT-10 — First-entry avatar onboarding](./3darch-ep-2/features/3darch-ft-10.md)
- [3DARCH-FT-11 — Review profile and change workplace appearance](./3darch-ep-2/features/3darch-ft-11.md)
- [3DARCH-FT-12 — Discover and retain personal controls](./3darch-ep-2/features/3darch-ft-12.md)
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
## Original source
@@ -36,7 +41,7 @@ No child Features have been defined or approved. Feature discovery must preserve
### Legacy implementation evidence
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
- [`apps/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
- [`apps/singularity/src/config/auth.config.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/config/auth.config.ts)
+9 -2
View File
@@ -1,8 +1,15 @@
---
title: "3DARCH-EP-2 Features"
description: "Review Features governed by 3DARCH-EP-2."
description: "Review the governed Features beneath 3DARCH-EP-2."
---
# Review 3DARCH-EP-2 Features
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-2 boundary](../3darch-ep-2.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
These Features decompose the [3DARCH-EP-2 boundary](../3darch-ep-2.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./features/3darch-ft-9.md)
- [3DARCH-FT-10 — First-entry avatar onboarding](./features/3darch-ft-10.md)
- [3DARCH-FT-11 — Review profile and change workplace appearance](./features/3darch-ft-11.md)
- [3DARCH-FT-12 — Discover and retain personal controls](./features/3darch-ft-12.md)
Documentation approval does not grant **Approved for Solution** or implementation approval.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-10 — First-entry avatar onboarding"
description: "Enable a first-time user to preview, rotate, zoom, choose, and persist an in-world avatar before entering the workplace."
---
# First-entry avatar onboarding
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-10` | [3DARCH-EP-2 — Secure Access and Personal Setup](../../3darch-ep-2.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a first-time user to preview, rotate, zoom, choose, and persist an in-world avatar before entering the workplace.
## User or operator problem
First-time users need to choose an embodied workplace identity before entering the shared environment.
## Expected value
Ensures every new participant enters with a persisted, recognizable in-world representation.
## Scope
Includes first-entry gating, avatar preview controls, selection persistence, onboarding completion, and entry with the selected avatar.
### Exclusions
- Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded.
## Acceptance outcomes
- [ ] An unonboarded user cannot enter the workplace before completing avatar selection.
- [ ] Available avatars can be previewed from multiple viewing angles.
- [ ] Confirmation persists the avatar and onboarding completion.
- [ ] The selected avatar appears when the user enters.
## Dependencies
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./3darch-ft-9.md)
## Risks
- Reselecting the existing avatar can fail to mark onboarding complete.
## 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-10/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/App.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx)
- [`apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx)
- [`apps/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
- [`apps/nebula/src/test/components/CharacterSelection.test.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/test/components/CharacterSelection.test.tsx)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-10 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-10."
---
# Review 3DARCH-FT-10 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-10](../3darch-ft-10.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-11 — Review profile and change workplace appearance"
description: "Enable a returning user to review the enterprise identity represented in the workplace and replace the visible avatar without repeating onboarding."
---
# Review profile and change workplace appearance
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-11` | [3DARCH-EP-2 — Secure Access and Personal Setup](../../3darch-ep-2.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a returning user to review the enterprise identity represented in the workplace and replace the visible avatar without repeating onboarding.
## User or operator problem
Returning users need to inspect their enterprise identity and change the avatar coworkers see.
## Expected value
Lets users keep their visible workplace representation current without repeating onboarding.
## Scope
Includes profile identity display, reopening avatar selection, persistence of the replacement, and propagation to other participants.
### Exclusions
- Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded.
## Acceptance outcomes
- [ ] Settings display the authenticated profile identity.
- [ ] The user can reopen avatar selection from the profile area.
- [ ] A changed avatar persists and is rendered to other participants.
## Dependencies
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./3darch-ft-9.md)
- [3DARCH-FT-10 — First-entry avatar onboarding](./3darch-ft-10.md)
## Risks
- Unavailable avatar assets or delayed propagation can produce inconsistent identity across clients.
## 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-11/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/components/SettingsModal/parts/Profile/Profile.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/SettingsModal/parts/Profile/Profile.tsx)
- [`apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/CharacterSelection/CharacterSelection.tsx)
- [`apps/nebula/src/components/Player.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx)
- [`apps/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-11 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-11."
---
# Review 3DARCH-FT-11 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-11](../3darch-ft-11.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,86 @@
---
title: "3DARCH-FT-12 — Discover and retain personal controls"
description: "Enable a user to learn the workplace controls, prevent movement controls from interfering with text/settings interaction, and retain mouse sensitivity across visits."
---
# Discover and retain personal controls
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-12` | [3DARCH-EP-2 — Secure Access and Personal Setup](../../3darch-ep-2.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## 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 or operator 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.
## Dependencies
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](./3darch-ft-9.md)
## Risks
- Settings persistence failures can leave the displayed sensitivity different from the retained value.
## 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-12/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/components/ControlsLayout.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/ControlsLayout.tsx)
- [`apps/nebula/src/components/SettingsModal/parts/Controls/Controls.tsx`](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)
- [`apps/nebula/src/stores/settingsStore.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/stores/settingsStore.ts)
- [`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/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-12 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-12."
---
# Review 3DARCH-FT-12 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-12](../3darch-ft-12.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,86 @@
---
title: "3DARCH-FT-9 — Enterprise sign-in and session continuity"
description: "Enable a user to enter through enterprise SSO, remain signed in through token refresh, and return to sign-in when the session cannot be recovered."
---
# Enterprise sign-in and session continuity
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-9` | [3DARCH-EP-2 — Secure Access and Personal Setup](../../3darch-ep-2.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a user to enter through enterprise SSO, remain signed in through token refresh, and return to sign-in when the session cannot be recovered.
## User or operator problem
Enterprise users need trusted access that survives normal token expiry without separate workplace credentials.
## Expected value
Provides secure session continuity and a single enterprise identity boundary for protected HTTP and real-time access.
## Scope
Includes enterprise OIDC redirect/callback, user upsert, protected cookies, token refresh, request recovery, and authenticated socket admission.
### Exclusions
- Administrator access, account recovery, display-name editing, and unwired self-service logout are excluded.
## Acceptance outcomes
- [ ] Successful SSO creates or updates the user and returns the user to the workplace.
- [ ] Access and refresh credentials remain in protected cookies.
- [ ] Expired access is refreshed once and queued requests resume after recovery.
- [ ] Authenticated real-time connections reject invalid or duplicate sessions safely.
## Dependencies
- [3DARCH-FT-8 — Package, deploy, and health-check workplace services](../../3darch-ep-1/features/3darch-ft-8.md)
## Risks
- Duplicate-session handling redirects to a hard-coded legacy location and self-service sign-out is not wired in the client.
## 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-9/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/singularity/src/routes/auth.routes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/routes/auth.routes.ts)
- [`apps/singularity/src/config/auth.config.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/config/auth.config.ts)
- [`apps/nebula/src/hooks/useAuthRefresh.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useAuthRefresh.ts)
- [`apps/nebula/src/api.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/api.ts)
- [`apps/singularity/src/socket-server/index.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/index.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-9 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-9."
---
# Review 3DARCH-FT-9 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-9](../3darch-ft-9.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
+10 -4
View File
@@ -1,13 +1,13 @@
---
title: "3DARCH-EP-3 — Navigate and Explore the Virtual Workplace"
description: "Use this approved Epic boundary to assess related Features and outcomes."
description: "Review the governed outcome and child Features for 3DARCH-EP-3."
---
# Navigate and Explore the Virtual Workplace
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|
| `3DARCH-EP-3` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
| `3DARCH-EP-3` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
## Goal
@@ -27,7 +27,13 @@ People need understandable, responsive movement and orientation across the multi
## Features
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
- [3DARCH-FT-13 — Enter and resume the last workplace location](./3darch-ep-3/features/3darch-ft-13.md)
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./3darch-ep-3/features/3darch-ft-14.md)
- [3DARCH-FT-15 — Change viewpoint and look around naturally](./3darch-ep-3/features/3darch-ft-15.md)
- [3DARCH-FT-16 — Travel between workplace floors](./3darch-ep-3/features/3darch-ft-16.md)
- [3DARCH-FT-17 — Orient with the live floor map](./3darch-ep-3/features/3darch-ft-17.md)
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
## Original source
@@ -36,7 +42,7 @@ No child Features have been defined or approved. Feature discovery must preserve
### Legacy implementation evidence
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
- [`apps/nebula/src/hooks/usePlayerControls.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerControls.ts)
- [`apps/nebula/src/hooks/usePlayerMovement.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts)
+10 -2
View File
@@ -1,8 +1,16 @@
---
title: "3DARCH-EP-3 Features"
description: "Review Features governed by 3DARCH-EP-3."
description: "Review the governed Features beneath 3DARCH-EP-3."
---
# Review 3DARCH-EP-3 Features
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-3 boundary](../3darch-ep-3.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
These Features decompose the [3DARCH-EP-3 boundary](../3darch-ep-3.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
- [3DARCH-FT-13 — Enter and resume the last workplace location](./features/3darch-ft-13.md)
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./features/3darch-ft-14.md)
- [3DARCH-FT-15 — Change viewpoint and look around naturally](./features/3darch-ft-15.md)
- [3DARCH-FT-16 — Travel between workplace floors](./features/3darch-ft-16.md)
- [3DARCH-FT-17 — Orient with the live floor map](./features/3darch-ft-17.md)
Documentation approval does not grant **Approved for Solution** or implementation approval.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-13 — Enter and resume the last workplace location"
description: "Enable a returning user to enter the previously occupied floor and position rather than restarting from a default location every time."
---
# Enter and resume the last workplace location
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-13` | [3DARCH-EP-3 — Navigate and Explore the Virtual Workplace](../../3darch-ep-3.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a returning user to enter the previously occupied floor and position rather than restarting from a default location every time.
## User or operator problem
Returning users lose continuity when every session starts on a default floor and pose.
## Expected value
Restores spatial continuity so returning users can resume work where they left it.
## Scope
Includes loading a valid stored scene and pose, safe defaults, and persistence of the latest location when leaving.
### Exclusions
- VR/controller navigation and generated-apartment review are excluded.
## Acceptance outcomes
- [ ] Entry loads the stored scene, position, and orientation when valid.
- [ ] A safe default is used when no prior location exists.
- [ ] Leaving the workplace persists the latest known pose and scene.
## Dependencies
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](../../3darch-ep-2/features/3darch-ft-9.md)
- [3DARCH-FT-10 — First-entry avatar onboarding](../../3darch-ep-2/features/3darch-ft-10.md)
## Risks
- Location persists primarily on orderly socket disconnect, so abrupt loss can discard recent movement.
## 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-13/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/singularity/src/socket-server/player-manager.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/player-manager.ts)
- [`apps/singularity/prisma/schema.prisma`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/prisma/schema.prisma)
- [`apps/nebula/src/App.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/App.tsx)
- [`apps/nebula/src/components/Scene.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Scene.tsx)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-13 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-13."
---
# Review 3DARCH-FT-13 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-13](../3darch-ft-13.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,85 @@
---
title: "3DARCH-FT-14 — Move through a collision-aware 3D workplace"
description: "Enable a user to walk, run, strafe, rotate, and jump through the office with visible animation and physical boundaries."
---
# Move through a collision-aware 3D workplace
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-14` | [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 walk, run, strafe, rotate, and jump through the office with visible animation and physical boundaries.
## User or operator 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.
## Dependencies
- [3DARCH-FT-13 — Enter and resume the last workplace location](./3darch-ft-13.md)
## Risks
- Client-originated movement and pose data require validation before they can be trusted by other participants.
## 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-14/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/usePlayerControls.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerControls.ts)
- [`apps/nebula/src/hooks/usePlayerMovement.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts)
- [`apps/nebula/src/components/Player.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx)
- [`apps/nebula/src/hooks/useSceneWithColliders.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/useSceneWithColliders.tsx)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-14 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-14."
---
# Review 3DARCH-FT-14 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-14](../3darch-ft-14.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,85 @@
---
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)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-15 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-15."
---
# Review 3DARCH-FT-15 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-15](../3darch-ft-15.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,86 @@
---
title: "3DARCH-FT-16 — Travel between workplace floors"
description: "Enable a user to approach an elevator, receive a contextual action, and move between the implemented ninth- and tenth-floor scenes."
---
# Travel between workplace floors
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-16` | [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 approach an elevator, receive a contextual action, and move between the implemented ninth- and tenth-floor scenes.
## User or operator problem
Users need a contextual, understandable way to move between the implemented workplace floors.
## Expected value
Connects the workplace’s floor experiences while keeping real-time scene membership accurate.
## Scope
Includes elevator proximity detection, contextual action, ninth/tenth-floor transitions, scene-membership updates, and persisted destination.
### Exclusions
- VR/controller navigation and generated-apartment review are excluded.
## Acceptance outcomes
- [ ] Elevator proximity exposes the floor-change action only when applicable.
- [ ] Activating the action moves the user to the target floor entry point.
- [ ] Real-time scene membership changes with the floor.
- [ ] The new floor becomes the location resumed later.
## Dependencies
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./3darch-ft-14.md)
## Risks
- The implemented floor set and entry points are fixed and require explicit expansion rules.
## 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-16/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/usePlayerActions.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerActions.ts)
- [`apps/nebula/src/components/PlayerActionPrompt/PlayerActionPrompt.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/PlayerActionPrompt/PlayerActionPrompt.tsx)
- [`apps/singularity/src/socket-server/event-handlers.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts)
- [`apps/singularity/src/socket-server/scene-manager.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts)
- [`packages/utils/constants/src/scenes.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/constants/src/scenes.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-16 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-16."
---
# Review 3DARCH-FT-16 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-16](../3darch-ft-16.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,86 @@
---
title: "3DARCH-FT-17 — Orient with the live floor map"
description: "Enable a user to open a floor map, locate themselves, identify coworkers and occupied seats, and pan or zoom to understand the surrounding workplace."
---
# Orient with the live floor map
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-17` | [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 open a floor map, locate themselves, identify coworkers and occupied seats, and pan or zoom to understand the surrounding workplace.
## User or operator problem
Users need a compact spatial reference for locating themselves, coworkers, and occupied seating.
## Expected value
Reduces disorientation and supports informed navigation and seating decisions.
## Scope
Includes current-floor geometry, local/coworker markers, seating state, occupant identity, pan, and cursor-centred zoom.
### Exclusions
- VR/controller navigation and generated-apartment review are excluded.
## Acceptance outcomes
- [ ] The map represents the current floor geometry.
- [ ] The local user and coworkers appear with distinguishable markers and names.
- [ ] Seats show available/occupied state and occupant identity at the supported zoom level.
- [ ] Pan and cursor-centred zoom retain usable orientation.
## Dependencies
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](./3darch-ft-14.md)
## Risks
- Map markers can become stale when presence or seating events are missed.
## 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-17/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/components/Map/Map.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/Map.tsx)
- [`apps/nebula/src/components/Map/components/MapStaticLayer.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapStaticLayer.tsx)
- [`apps/nebula/src/components/Map/components/MapPlayerLayer.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapPlayerLayer.tsx)
- [`apps/nebula/src/components/Map/components/MapSeatLayer.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapSeatLayer.tsx)
- [`apps/nebula/src/utils/sceneMap.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/utils/sceneMap.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-17 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-17."
---
# Review 3DARCH-FT-17 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-17](../3darch-ft-17.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
+8 -4
View File
@@ -1,13 +1,13 @@
---
title: "3DARCH-EP-4 — Experience Live Co-Presence"
description: "Use this approved Epic boundary to assess related Features and outcomes."
description: "Review the governed outcome and child Features for 3DARCH-EP-4."
---
# Experience Live Co-Presence
| Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|
| `3DARCH-EP-4` | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
| `3DARCH-EP-4` | `IN_BACKLOG` | `DERIVED` | 3D Architecture Wizzard team | No |
## Goal
@@ -27,7 +27,11 @@ A shared virtual workplace is not credible unless participants can recognize who
## Features
No child Features have been defined or approved. Feature discovery must preserve this Epic boundary and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
- [3DARCH-FT-18 — See who shares the current floor](./3darch-ep-4/features/3darch-ft-18.md)
- [3DARCH-FT-19 — Recognize coworkers by workplace identity](./3darch-ep-4/features/3darch-ft-19.md)
- [3DARCH-FT-20 — Follow coworker movement and activity in real time](./3darch-ep-4/features/3darch-ft-20.md)
These Features are approved for documentation only. Each remains outside Architecture solution work until a separate human **Approved for Solution** decision is recorded.
## Original source
@@ -36,7 +40,7 @@ No child Features have been defined or approved. Feature discovery must preserve
### Legacy implementation evidence
The approved catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
The catalogue was mined from legacy revision `c0ced47ecaf4426f47e5c2e4868677f7144b951a`.
- [`apps/singularity/src/socket-server/event-handlers.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts)
- [`apps/singularity/src/socket-server/scene-manager.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts)
+8 -2
View File
@@ -1,8 +1,14 @@
---
title: "3DARCH-EP-4 Features"
description: "Review Features governed by 3DARCH-EP-4."
description: "Review the governed Features beneath 3DARCH-EP-4."
---
# Review 3DARCH-EP-4 Features
No child Features have been defined or approved for this Epic. Feature discovery must preserve the [3DARCH-EP-4 boundary](../3darch-ep-4.md) and requires a separate human **Approved for Solution** decision before Architecture solution work begins.
These Features decompose the [3DARCH-EP-4 boundary](../3darch-ep-4.md) into non-overlapping user and operator outcomes grounded in the frozen legacy revision.
- [3DARCH-FT-18 — See who shares the current floor](./features/3darch-ft-18.md)
- [3DARCH-FT-19 — Recognize coworkers by workplace identity](./features/3darch-ft-19.md)
- [3DARCH-FT-20 — Follow coworker movement and activity in real time](./features/3darch-ft-20.md)
Documentation approval does not grant **Approved for Solution** or implementation approval.
@@ -0,0 +1,87 @@
---
title: "3DARCH-FT-18 — See who shares the current floor"
description: "Enable a participant to see coworkers join, remain present, change floors, and leave within the same scene-scoped workplace context."
---
# See who shares the current floor
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-18` | [3DARCH-EP-4 — Experience Live Co-Presence](../../3darch-ep-4.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a participant to see coworkers join, remain present, change floors, and leave within the same scene-scoped workplace context.
## User or operator problem
Participants need an accurate view of who currently shares their floor as people join, move, and disconnect.
## Expected value
Makes the shared environment reflect current floor membership without requiring reloads.
## Scope
Includes initial current-floor membership plus real-time join, floor-change, and disconnect reconciliation.
### Exclusions
- Communication content and seat-reservation ownership are excluded.
## Acceptance outcomes
- [ ] Joining returns the existing people on the participant's current floor.
- [ ] New arrivals appear without reloading.
- [ ] Floor changes remove a person from the previous floor and add them to the destination floor.
- [ ] Disconnects remove stale participants from the shared scene.
## Dependencies
- [3DARCH-FT-9 — Enterprise sign-in and session continuity](../../3darch-ep-2/features/3darch-ft-9.md)
- [3DARCH-FT-13 — Enter and resume the last workplace location](../../3darch-ep-3/features/3darch-ft-13.md)
- [3DARCH-FT-16 — Travel between workplace floors](../../3darch-ep-3/features/3darch-ft-16.md)
## Risks
- Join, floor-change, and disconnect event ordering can temporarily duplicate or retain participants.
## 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-18/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/singularity/src/socket-server/event-handlers.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/event-handlers.ts)
- [`apps/singularity/src/socket-server/scene-manager.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/scene-manager.ts)
- [`apps/singularity/src/socket-server/broadcast-service.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/singularity/src/socket-server/broadcast-service.ts)
- [`apps/nebula/src/socket-client.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/socket-client.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-18 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-18."
---
# Review 3DARCH-FT-18 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-18](../3darch-ft-18.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,87 @@
---
title: "3DARCH-FT-19 — Recognize coworkers by workplace identity"
description: "Enable a participant to recognize each current-floor coworker by persisted avatar and visible name in both the 3D scene and map."
---
# Recognize coworkers by workplace identity
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-19` | [3DARCH-EP-4 — Experience Live Co-Presence](../../3darch-ep-4.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a participant to recognize each current-floor coworker by persisted avatar and visible name in both the 3D scene and map.
## User or operator problem
Participants need to recognize each coworker consistently across the 3D scene and floor map.
## Expected value
Provides stable social recognition across scene and map representations.
## Scope
Includes persisted avatar selection, safe avatar fallback, visible names, map labels, and identity-change reconciliation.
### Exclusions
- Communication content and seat-reservation ownership are excluded.
## Acceptance outcomes
- [ ] Every current-floor participant renders as one embodied avatar.
- [ ] The persisted avatar is used when valid, with a safe fallback for an unavailable model.
- [ ] A visible name label follows each remote avatar.
- [ ] The floor map shows labeled coworker markers and distinguishes the local participant.
- [ ] Identity changes propagate without creating a duplicate participant.
## Dependencies
- [3DARCH-FT-10 — First-entry avatar onboarding](../../3darch-ep-2/features/3darch-ft-10.md)
- [3DARCH-FT-18 — See who shares the current floor](./3darch-ft-18.md)
## Risks
- Missing avatar models and delayed profile changes can reduce reliable coworker recognition.
## 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-19/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/components/Player.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx)
- [`apps/nebula/src/components/Scene.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Scene.tsx)
- [`apps/nebula/src/components/Map/components/MapPlayerLayer.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Map/components/MapPlayerLayer.tsx)
- [`packages/utils/types/src/player.types.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/player.types.ts)
@@ -0,0 +1,8 @@
---
title: "3DARCH-FT-19 Tasks"
description: "Review canonical implementation Tasks governed beneath 3DARCH-FT-19."
---
# Review 3DARCH-FT-19 Tasks
No canonical implementation Tasks have been defined for [3DARCH-FT-19](../3darch-ft-19.md). Architecture must first receive a separate human **Approved for Solution** decision, derive requirements and readiness evidence, and then register any resulting Tasks through Scope governance.
@@ -0,0 +1,87 @@
---
title: "3DARCH-FT-20 — Follow coworker movement and activity in real time"
description: "Enable a participant to see current-floor coworkers' synchronized position, orientation, and movement/activity animation so that the shared environment feels live rather than static."
---
# Follow coworker movement and activity in real time
| Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution |
|---|---|---|---|---|---|
| `3DARCH-FT-20` | [3DARCH-EP-4 — Experience Live Co-Presence](../../3darch-ep-4.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No |
## Description
Enable a participant to see current-floor coworkers' synchronized position, orientation, and movement/activity animation so that the shared environment feels live rather than static.
## User or operator problem
Participants need remote movement and activity to feel live and remain associated with the correct coworker.
## Expected value
Makes co-presence legible through synchronized pose and activity rather than static avatars.
## Scope
Includes remote position, orientation, movement/activity animation, identity association, and local/remote distinction.
### Exclusions
- Communication content and seat-reservation ownership are excluded.
## Acceptance outcomes
- [ ] Movement updates remain associated with the correct recognized participant.
- [ ] Position and orientation changes update smoothly for floor peers.
- [ ] Supported animation/activity state follows the remote participant.
- [ ] Local and remote representations remain distinguishable.
## Dependencies
- [3DARCH-FT-14 — Move through a collision-aware 3D workplace](../../3darch-ep-3/features/3darch-ft-14.md)
- [3DARCH-FT-18 — See who shares the current floor](./3darch-ft-18.md)
- [3DARCH-FT-19 — Recognize coworkers by workplace identity](./3darch-ft-19.md)
## Risks
- Unvalidated pose and activity updates can create implausible or misleading remote movement.
## 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-20/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/components/Player.tsx`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/components/Player.tsx)
- [`apps/nebula/src/hooks/usePlayerAnimations.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerAnimations.ts)
- [`apps/nebula/src/hooks/usePlayerMovement.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/nebula/src/hooks/usePlayerMovement.ts)
- [`packages/utils/types/src/player.types.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/packages/utils/types/src/player.types.ts)

Some files were not shown because too many files have changed in this diff Show More