From af74e2197b2dfbdf3174d864229579a4173f1811 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 19 Apr 2026 11:52:10 +0800 Subject: [PATCH] Stop auto opening canvas inspector --- .../canvas/LiblibVideoCanvasReplica.tsx | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/components/canvas/LiblibVideoCanvasReplica.tsx b/components/canvas/LiblibVideoCanvasReplica.tsx index 0c8616c22..2b2f28929 100644 --- a/components/canvas/LiblibVideoCanvasReplica.tsx +++ b/components/canvas/LiblibVideoCanvasReplica.tsx @@ -1803,6 +1803,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib const [connectionMenu, setConnectionMenu] = useState(null); const [previewNode, setPreviewNode] = useState(null); const [angleEditorNodeId, setAngleEditorNodeId] = useState(null); + const [inspectorNodeId, setInspectorNodeId] = useState(null); const [dockOverviewOpen, setDockOverviewOpen] = useState(false); const [snapEnabled, setSnapEnabled] = useState(true); @@ -1815,6 +1816,10 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib () => nodes.find((node) => node.id === nodeContextMenu?.nodeId) || null, [nodeContextMenu?.nodeId, nodes] ); + const inspectorNode = useMemo( + () => nodes.find((node) => node.id === inspectorNodeId) || null, + [inspectorNodeId, nodes] + ); const connectionNode = useMemo( () => nodes.find((node) => node.id === connectionMenu?.nodeId) || null, @@ -2057,6 +2062,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib event.preventDefault(); const point = toCanvasPoint(event.clientX, event.clientY); setSelectedNodeId(null); + setInspectorNodeId(null); setNodeContextMenu(null); setConnectionMenu(null); setActivePanel(null); @@ -2075,6 +2081,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib event.stopPropagation(); setSelectedNodeId(node.id); setCanvasCommand(null); + setInspectorNodeId(null); setConnectionMenu(null); setNodeContextMenu({ nodeId: node.id, @@ -2089,6 +2096,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib setSelectedNodeId(node.id); setCanvasCommand(null); setNodeContextMenu(null); + setInspectorNodeId(null); setConnectionMenu(null); setActivePanel(null); setConnectionMenu({ @@ -3061,6 +3069,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib const configureNode = useCallback((nodeId: string) => { setSelectedNodeId(nodeId); + setInspectorNodeId(nodeId); setNodeContextMenu(null); setConnectionMenu(null); }, []); @@ -3262,6 +3271,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib setNodes((current) => current.filter((node) => node.id !== nodeId)); setEdges((current) => current.filter((edge) => edge.source !== nodeId && edge.target !== nodeId)); setSelectedNodeId((current) => (current === nodeId ? null : current)); + setInspectorNodeId((current) => (current === nodeId ? null : current)); setNodeContextMenu(null); setConnectionMenu(null); toast.success("节点已删除"); @@ -3308,17 +3318,18 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib const updateNodeDraft = useCallback((key: string, value: unknown) => { setNodes((current) => current.map((node) => - node.id === selectedNodeId + node.id === inspectorNodeId ? { ...node, draftValues: { ...(node.draftValues || {}), [key]: value } } : node ) ); - }, [selectedNodeId]); + }, [inspectorNodeId]); const startNodeDrag = useCallback((event: ReactPointerEvent, node: CloneNode) => { event.stopPropagation(); event.currentTarget.setPointerCapture(event.pointerId); setSelectedNodeId(node.id); + setInspectorNodeId(null); setCanvasCommand(null); setNodeContextMenu(null); dragRef.current = { @@ -3335,6 +3346,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib if (event.button !== 0) return; if ((event.target as HTMLElement).closest("[data-canvas-overlay]")) return; setSelectedNodeId(null); + setInspectorNodeId(null); setCanvasCommand(null); setNodeContextMenu(null); setConnectionMenu(null); @@ -3488,6 +3500,7 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib setCanvasCommand(null); setNodeContextMenu(null); setConnectionMenu(null); + setInspectorNodeId(null); setActivePanel((current) => (current === panel ? null : panel)); }, []); @@ -3729,11 +3742,11 @@ export function LiblibVideoCanvasReplica({ canvasId, isLoading = false }: Liblib /> ) : null} - {selectedNode && !selectedPresetControlNode && !selectedTargetModuleKind && !selectedTextResourceNode ? ( + {inspectorNode ? ( setSelectedNodeId(null)} + onClose={() => setInspectorNodeId(null)} /> ) : null}