From d3cbb57956d955a9ab91d6eb500ec0dd72da4518 Mon Sep 17 00:00:00 2001 From: dlh <2773843782@qq.com> Date: Sat, 22 Aug 2026 11:14:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(canvas):=20=E7=94=BB=E5=B8=83=E8=83=8C?= =?UTF-8?q?=E6=99=AF=20-=20=E9=BB=98=E8=AE=A4=E7=BD=91=E6=A0=BC=E7=94=B1?= =?UTF-8?q?=E7=82=B9=E9=98=B5=E6=94=B9=E4=B8=BA=E7=BA=BF=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新建画布、读取未指定背景的画布、公开分享页,以及 InfiniteCanvas 组件自身的 prop 默认值,统一改为 lines。 四处默认值必须一起改:store 的新建与恢复分支各一份、分享页一份、组件 prop 默认一份。 漏掉任意一处就会出现「自己的画布是线条、分享出去变点阵」这类不报错的不一致。 Co-Authored-By: Claude Fable 5 --- web/src/components/canvas/infinite-canvas.tsx | 2 +- web/src/pages/canvas/shared.tsx | 4 ++-- web/src/stores/canvas/use-canvas-store.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/src/components/canvas/infinite-canvas.tsx b/web/src/components/canvas/infinite-canvas.tsx index f1ee4aaed..09e0bc452 100644 --- a/web/src/components/canvas/infinite-canvas.tsx +++ b/web/src/components/canvas/infinite-canvas.tsx @@ -39,7 +39,7 @@ type PinchState = { initialScale: number; }; -export function InfiniteCanvas({ containerRef, viewport, backgroundMode = "dots", onViewportChange, onViewportPreviewChange, onCanvasMouseDown, boxSelectEnabled = false, onCanvasDoubleClick, onCanvasDeselect, onContextMenu, onDrop, onFileDragEnter, onFileDragLeave, onFileDragOver, graphicsLayer, children }: InfiniteCanvasProps) { +export function InfiniteCanvas({ containerRef, viewport, backgroundMode = "lines", onViewportChange, onViewportPreviewChange, onCanvasMouseDown, boxSelectEnabled = false, onCanvasDoubleClick, onCanvasDeselect, onContextMenu, onDrop, onFileDragEnter, onFileDragLeave, onFileDragOver, graphicsLayer, children }: InfiniteCanvasProps) { const theme = canvasThemes[useThemeStore((state) => state.theme)]; const panState = useRef({ isPanning: false, diff --git a/web/src/pages/canvas/shared.tsx b/web/src/pages/canvas/shared.tsx index c869ccaff..7f30a6cb3 100644 --- a/web/src/pages/canvas/shared.tsx +++ b/web/src/pages/canvas/shared.tsx @@ -34,7 +34,7 @@ export default function SharedCanvasPage() { const [title, setTitle] = useState("共享画布"); const [nodes, setNodes] = useState([]); const [connections, setConnections] = useState>["project"]["connections"]>([]); - const [backgroundMode, setBackgroundMode] = useState<"lines" | "dots" | "blank">("dots"); + const [backgroundMode, setBackgroundMode] = useState<"lines" | "dots" | "blank">("lines"); const [viewport, setViewport] = useState({ x: 0, y: 0, k: 1 }); const [selectedNodeId, setSelectedNodeId] = useState(null); const [infoNodeId, setInfoNodeId] = useState(null); @@ -80,7 +80,7 @@ export default function SharedCanvasPage() { setTitle(project.title || "共享画布"); setNodes((project.nodes || []).map(ensureMediaNodeMinimumSize)); setConnections(project.connections || []); - setBackgroundMode(project.backgroundMode || "dots"); + setBackgroundMode(project.backgroundMode || "lines"); const initial = project.viewport || { x: 0, y: 0, k: 1 }; viewportRef.current = initial; setViewport(initial); diff --git a/web/src/stores/canvas/use-canvas-store.ts b/web/src/stores/canvas/use-canvas-store.ts index f06ae1fbb..3c64293dd 100644 --- a/web/src/stores/canvas/use-canvas-store.ts +++ b/web/src/stores/canvas/use-canvas-store.ts @@ -328,7 +328,7 @@ export const useCanvasStore = create()( connections: [], chatSessions: [], activeChatId: null, - backgroundMode: "dots", + backgroundMode: "lines", showImageInfo: false, viewport: initialViewport, directorScenes: [], @@ -348,7 +348,7 @@ export const useCanvasStore = create()( connections: source.connections || [], chatSessions: source.chatSessions || [], activeChatId: source.activeChatId || null, - backgroundMode: source.backgroundMode || "dots", + backgroundMode: source.backgroundMode || "lines", showImageInfo: source.showImageInfo || false, viewport: source.viewport || initialViewport, directorScenes: source.directorScenes || [],