From a8edb6f27fbe2ad73c817063d559663d07a0b2eb Mon Sep 17 00:00:00 2001 From: ddcat666 <26564566+ddcat666@users.noreply.github.com> Date: Sun, 11 Oct 2026 22:20:33 +0800 Subject: [PATCH] =?UTF-8?q?perf(canvas):=20=E7=94=BB=E5=B8=83=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=20-=20=E5=A2=9E=E5=8A=A0=E8=8A=82=E7=82=B9=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E9=A2=84=E7=AE=97=E4=B8=8E=E6=80=A7=E8=83=BD=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/canvas-focus-mode-bar.tsx | 24 ++------- .../components/canvas/canvas-node-content.tsx | 4 +- .../canvas/canvas-node-media-content.tsx | 10 ++-- web/src/components/canvas/canvas-node.tsx | 33 +++--------- .../components/canvas/nodes/panorama-node.tsx | 14 +++--- web/src/lib/canvas/canvas-performance-mode.ts | 50 ------------------- web/src/lib/canvas/canvas-render-budget.ts | 12 +++++ .../canvas/canvas-project-world-layers.tsx | 5 +- web/src/pages/canvas/use-canvas-keyboard.ts | 4 +- .../pages/canvas/use-canvas-render-model.ts | 25 +++------- web/test/canvas-connection-tilt.test.ts | 2 +- web/test/canvas-media-performance.test.ts | 30 ++++------- 12 files changed, 57 insertions(+), 156 deletions(-) delete mode 100644 web/src/lib/canvas/canvas-performance-mode.ts create mode 100644 web/src/lib/canvas/canvas-render-budget.ts diff --git a/web/src/components/canvas/canvas-focus-mode-bar.tsx b/web/src/components/canvas/canvas-focus-mode-bar.tsx index ced941ac4..f911a7ff4 100644 --- a/web/src/components/canvas/canvas-focus-mode-bar.tsx +++ b/web/src/components/canvas/canvas-focus-mode-bar.tsx @@ -1,17 +1,14 @@ import { Tooltip } from "@/components/ui/base/tooltip"; import type { ReactNode } from "react"; import { motion, useReducedMotion } from "motion/react"; -import { History, PanelBottom, X, ZoomIn, ZoomOut } from "lucide-react"; - +import { PanelBottom, X, ZoomIn, ZoomOut } from "lucide-react"; import { aceternityMotion } from "@/lib/aceternity-motion"; import { canvasThemes } from "@/lib/canvas-theme"; import { useActiveTheme } from "@/stores/canvas/use-canvas-theme-store"; type CanvasFocusModeBarProps = { - versionsOpen: boolean; - onToggleVersions: () => void; - syncStatus?: ReactNode; + syncIcon?: ReactNode; dockRevealed: boolean; zoomPercent: number; onToggleDock: () => void; @@ -21,7 +18,7 @@ type CanvasFocusModeBarProps = { onFit: () => void; }; -export function CanvasFocusModeBar({ versionsOpen, onToggleVersions, syncStatus, dockRevealed, zoomPercent, onToggleDock, onExit, onZoomIn, onZoomOut, onFit }: CanvasFocusModeBarProps) { +export function CanvasFocusModeBar({ syncIcon, dockRevealed, zoomPercent, onToggleDock, onExit, onZoomIn, onZoomOut, onFit }: CanvasFocusModeBarProps) { const theme = canvasThemes[useActiveTheme()]; const reducedMotion = useReducedMotion(); @@ -36,22 +33,11 @@ export function CanvasFocusModeBar({ versionsOpen, onToggleVersions, syncStatus, >