refactor(canvas): 分镜脚本节点 - 按方案 A 信息分层重构(头部瘦身 + 4 步迷你流程条) (#171)

* feat(canvas): 分镜脚本节点 - 新增表格/卡片视图切换与镜头卡片流

* fix(canvas): 分镜卡片 - 缩略图尺寸改用标准间距类

* fix(canvas): 分镜脚本节点 - 头部视图切换 Segmented 补齐事件隔离

* refactor(canvas): 分镜脚本节点 - 按方案 A 信息分层重构,头部瘦身为全屏编辑+更多菜单并启用 4 步迷你流程条

* fix(canvas): 分镜脚本节点 - 迷你流程条改为步骤水平分布,连接线拉伸填充整行宽度

* fix(canvas): 分镜脚本节点 - 迷你流程条改为水平居中分布,连接线限宽不拉伸

---------

Co-authored-by: zhaoyue <zhaoyue@rongshantech.com>
This commit is contained in:
爱笑的毛毛虫andzhaoyue authored and GitHub committed 2026-08-07 18:46:23 +08:00
1 parent bbb4d8cf6c
commit 4c52702b41
2 files changed
+85 -114

No files matched your search

+2 -3
View File
@@ -1188,7 +1188,6 @@ function InfiniteCanvasPage() {
}
if (contentNode.type === CanvasNodeType.Script) {
const pipeline = deriveStoryboardPipelineProgress(contentNode, nodesRef.current, connectionsRef.current);
const rowIds = pipeline.rows.map((item) => item.row.id);
return (
<CanvasScriptNodeContent
node={contentNode}
@@ -1199,8 +1198,8 @@ function InfiniteCanvasPage() {
onOpen={() => setScriptEditorNodeId(contentNode.id)}
onCreateImageNodes={() => createScriptImageNodes(contentNode.id)}
onCreateVideoNodes={() => createScriptVideoNodes(contentNode.id)}
onGenerateImages={() => void generateScriptImages(contentNode.id, rowIds)}
onGenerateVideos={() => (contentNode.metadata?.storyboardVideoInputMode === "keyframe" ? void generateScriptVideos(contentNode.id, rowIds) : void createAndGenerateScriptVideos(contentNode.id, rowIds))}
onGenerateImages={(rowIds) => void generateScriptImages(contentNode.id, rowIds)}
onGenerateVideos={(rowIds) => (contentNode.metadata?.storyboardVideoInputMode === "keyframe" ? void generateScriptVideos(contentNode.id, rowIds) : void createAndGenerateScriptVideos(contentNode.id, rowIds))}
onVideoInputModeChange={(storyboardVideoInputMode) => handleConfigNodeChange(contentNode.id, { storyboardVideoInputMode })}
onMergeVideos={() => void mergeVideosByIds(pipeline.successfulVideoNodeIds)}
onCreateActionBoards={() => void createScriptActionBoards(contentNode.id)}