--- title: "3DARCH-FT-30 — Apply and persist a natural-language design change" 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." --- # Apply and persist a natural-language design change | Feature | Parent Epic | Delivery status | Status source | Owner | Approved for Solution | |---|---|---|---|---|---| | `3DARCH-FT-30` | [3DARCH-EP-9 — Refine a Design Through Natural-Language Changes](../../3darch-ep-9.md) | `IN_BACKLOG` | `EXACT` | 3D Architecture Wizzard team | No | ## 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 or operator 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. ## Dependencies - [3DARCH-FT-26 — Generate a complete apartment concept from a natural-language brief](../../3darch-ep-7/features/3darch-ft-26.md) - [3DARCH-FT-28 — Inspect the apartment from an overview](../../3darch-ep-8/features/3darch-ft-28.md) ## Risks - Editing rewrites the complete scene without a diff, version history, undo, or deterministic preservation guarantees. ## 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-30/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/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) - [`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/edit.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/routes/edit.ts) - [`apps/archwiz-forge/src/pipeline/edit.ts`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/pipeline/edit.ts) - [`apps/archwiz-forge/src/skills/edit-scene.md`](https://gitea.lego-cloud.eu/corp-v1-3darch-legacy/corp-v1-3darch-legacy/src/commit/c0ced47ecaf4426f47e5c2e4868677f7144b951a/apps/archwiz-forge/src/skills/edit-scene.md)