feat(canvas): 创作体验 - 合并 PR #282 并优化引用、风格与素材文件夹

This commit is contained in:
ddCat committed 2026-08-21 09:23:31 +08:00
commit 0df4b65e70
42 files changed
+2795 -153

No files matched your search

@@ -1,4 +1,4 @@
import { FolderOpen, Layers3, Palette, UploadCloud, UserRound } from "lucide-react";
import { Clapperboard, Folder, FolderOpen, Image as ImageIcon, Layers3, Music2, Palette, PanelTop, Pencil, Type, UploadCloud, UserRound, Video } from "lucide-react";
import { getNodeIcon, getNodeLabel } from "@/lib/canvas/node-registry";
import { registerAddNodeMenuCommands, type AddNodeMenuCommand } from "@/lib/canvas/tool-registry";
@@ -17,6 +17,7 @@ export const addNodeMenuCommands: AddNodeMenuCommand[] = [
nodeCommand(CanvasNodeType.Drawing, { defaultOrder: 20, run: (ctx) => ctx.handlers.onAddDrawing() }),
nodeCommand(CanvasNodeType.Script, { badge: "核心", defaultOrder: 30, run: (ctx) => ctx.handlers.onAddScript() }),
nodeCommand(CanvasNodeType.Frame, { defaultOrder: 40, applicable: (ctx) => ctx.workspaceMode !== "simple", run: (ctx) => ctx.handlers.onAddFrame() }),
{ id: "folder", label: "文件夹", icon: <Folder />, badge: "6 款", section: "node", defaultOrder: 45, run: (ctx) => ctx.handlers.onAddFolder() },
nodeCommand(CanvasNodeType.Image, { defaultOrder: 50, run: (ctx) => ctx.handlers.onAddImage() }),
nodeCommand(CanvasNodeType.Video, { defaultOrder: 60, run: (ctx) => ctx.handlers.onAddVideo() }),
// 导演台落在节点分区,但它开的是导演工作台、不是某种画布节点,故不走注册表。
@@ -36,6 +36,7 @@ export type ToolbarHandlers = {
onAddAudio: () => void;
onAddScript: () => void;
onAddFrame: () => void;
onAddFolder: () => void;
onAddDrawing: () => void;
onChooseStyle: () => void;
onOpenDirector: () => void;
@@ -131,6 +132,7 @@ export type AddNodeMenuContext = {
| "onAddAudio"
| "onAddScript"
| "onAddFrame"
| "onAddFolder"
| "onAddDrawing"
| "onChooseStyle"
| "onOpenDirector"