From dc5ec5f87a38933e3342e239ef4591b7a4f42fcf Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 28 Apr 2026 22:21:24 +0800 Subject: [PATCH] fix: refine world 3d node controls --- components/canvas/nodes/World3DNode.tsx | 171 ++++++++++++------------ 1 file changed, 86 insertions(+), 85 deletions(-) diff --git a/components/canvas/nodes/World3DNode.tsx b/components/canvas/nodes/World3DNode.tsx index 8479e40b9..53797675e 100644 --- a/components/canvas/nodes/World3DNode.tsx +++ b/components/canvas/nodes/World3DNode.tsx @@ -258,6 +258,7 @@ export function World3DNode({ [overlayChromeScale] ); const captureEnabled = data.status === "completed" && (activeView === "splat" || activeView === "mesh"); + const showTopLeftControls = data.status === "completed"; useEffect(() => { if (data.status !== "completed") return; @@ -535,8 +536,8 @@ export function World3DNode({ {data.status === "generating" ? (
- - + +
@@ -554,8 +555,8 @@ export function World3DNode({ ) : data.status === "failed" ? (
- - + +
@@ -598,91 +599,91 @@ export function World3DNode({ )} -
-
- {VIEW_META.filter((view) => availableViews.includes(view.id)).map((view) => ( - (() => { + {showTopLeftControls ? ( +
+
+ {VIEW_META.filter((view) => availableViews.includes(view.id)).map((view) => { const viewItem = getCanvasToolbarItem(canvasToolbarConfig, view.toolbarKey); return ( - + ); - })() - ))} + })} +
+ + {activeView === "splat" ? ( +
+ + +
+ ) : null} + + {captureEnabled ? ( +
+ +
+ ) : null}
- - {activeView === "splat" && data.status === "completed" ? ( -
- - -
- ) : null} - - {captureEnabled ? ( -
- -
- ) : null} -
+ ) : null} {isHovered && data.status === "completed" && (