From aa6c1f72a6659d3b70dc4e361ec653c88485fd4f Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Jun 2026 15:14:38 +0800 Subject: [PATCH] fix: replace existing world3d node before importing --- app/canvas/[id]/model3d/page.tsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/canvas/[id]/model3d/page.tsx b/app/canvas/[id]/model3d/page.tsx index 87d2fcaec..85c0a73aa 100644 --- a/app/canvas/[id]/model3d/page.tsx +++ b/app/canvas/[id]/model3d/page.tsx @@ -650,6 +650,8 @@ export default function CanvasModel3DPage() { const viewport = useCanvasStore(canvasSelectors.viewport); const addNode = useCanvasStore((state) => state.addNode); + const nodes = useCanvasStore(canvasSelectors.nodes); + const deleteNode = useCanvasStore((state) => state.deleteNode); const getCanvasState = useCanvasStore((state) => state.getCanvasState); const [workspaceMode, setWorkspaceMode] = useState("model"); @@ -2032,6 +2034,15 @@ export default function CanvasModel3DPage() { const y = (stageHeight * 0.45 - viewportY) / viewportZoom - targetHeight / 2; + if (isWorldTask) { + const worldNodeIds = nodes + .filter((node) => node.type === "world3d") + .map((node) => node.id); + for (const nodeId of worldNodeIds) { + deleteNode(nodeId); + } + } + addNode( isWorldTask ? {