diff --git a/components/canvas/LiblibVideoCanvasReplica.tsx b/components/canvas/LiblibVideoCanvasReplica.tsx index 5293a4972..9b19f47f7 100644 --- a/components/canvas/LiblibVideoCanvasReplica.tsx +++ b/components/canvas/LiblibVideoCanvasReplica.tsx @@ -3154,11 +3154,11 @@ function CharacterPresetToolbar({ onToolAction: (action: ImageToolbarAction, option?: string) => void; }) { const [toolbarMenu, setToolbarMenu] = useState(null); - const iconActions: Array<{ action: ImageToolbarAction; icon: string; label: string }> = [ - { action: "annotate", icon: "⌁", label: "标注" }, - { action: "rotate", icon: "↔", label: "旋转" }, - { action: "download", icon: "↓", label: "下载" }, - { action: "preview", icon: "↗", label: "预览" }, + const iconActions: Array<{ action: Extract; label: string }> = [ + { action: "annotate", label: "标注" }, + { action: "rotate", label: "旋转" }, + { action: "download", label: "下载" }, + { action: "preview", label: "预览" }, ]; const activeToolbarMenu = toolbarMenu; @@ -3191,13 +3191,13 @@ function CharacterPresetToolbar({
{iconActions.map((item) => ( ))}
@@ -3216,6 +3216,43 @@ function CharacterPresetToolbar({ ); } +function ImageToolbarActionGlyph({ action }: { action: Extract }) { + if (action === "annotate") { + return ( + + ); + } + + if (action === "rotate") { + return ( + + ); + } + + if (action === "download") { + return ( + + ); + } + + return ( + + ); +} + function StoryScriptScene() { return (
@@ -3595,6 +3632,15 @@ function PresetComposerPanel({ function CharacterThreeViewScene() { const [toolbarMenu, setToolbarMenu] = useState(null); + const sceneActions: Array<{ + action: Extract; + message: string; + }> = [ + { action: "annotate", message: "绘制编辑待接入。" }, + { action: "rotate", message: "对比预览待接入。" }, + { action: "download", message: "下载素材待接入。" }, + { action: "preview", message: "全屏预览待接入。" }, + ]; return (
@@ -3606,14 +3652,14 @@ function CharacterThreeViewScene() { setToolbarMenu((current) => current === "hd" ? null : "hd")} /> setToolbarMenu((current) => current === "crop" ? null : "crop")} />
- {["⌁", "↔", "↓", "↗"].map((item, index) => ( + {sceneActions.map((item) => ( ))}
@@ -4424,6 +4470,21 @@ function CloneEdges({ edges, nodes }: { edges: CloneEdge[]; nodes: CloneNode[] } const nodeMap = new Map(nodes.map((node) => [node.id, node])); return ( + + + + + + + + + + + + + + + {edges.map((edge) => { const source = nodeMap.get(edge.source); const target = nodeMap.get(edge.target); @@ -4433,16 +4494,38 @@ function CloneEdges({ edges, nodes }: { edges: CloneEdge[]; nodes: CloneNode[] } const endX = target.x; const endY = target.y + target.height / 2; const curve = Math.max(90, Math.abs(endX - startX) * 0.42); + const path = `M ${startX} ${startY} C ${startX + curve} ${startY}, ${endX - curve} ${endY}, ${endX} ${endY}`; return ( - + + + + + + + ); })}