feat(canvas): 画布工作台 - 新增生成副本并修复大型画布性能、素材同步与删除校验
统一图片与视频副本的生成落点并保留参考连接。\n优化大型画布节点虚拟化、媒体懒加载、拖拽与详情进入路径。\n修复素材主版本 ID 同步及删除时的画布独立引用校验。
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { resetGenerationTaskMetadata } from "@/lib/canvas/canvas-project-generation";
|
||||
import type { CanvasNodeData, CanvasNodeMetadata, StoryboardRow } from "@/types/canvas";
|
||||
import { CanvasNodeType, type CanvasNodeData, type CanvasNodeMetadata, type StoryboardRow } from "@/types/canvas";
|
||||
|
||||
const COPY_TITLE_SUFFIX = /^(.*)_copy(\d+)$/i;
|
||||
|
||||
@@ -62,6 +62,9 @@ export function isolateCopiedNodeMetadata(node: CanvasNodeData, idMap: ReadonlyM
|
||||
delete metadata.versionPrimary;
|
||||
|
||||
metadata.copiedFromNodeId = node.id;
|
||||
if (node.type === CanvasNodeType.Image || node.type === CanvasNodeType.Video || node.type === CanvasNodeType.Audio) {
|
||||
metadata.generationResultPlacement = "replace-node";
|
||||
}
|
||||
metadata.frame = node.metadata?.frame ? { ...node.metadata.frame } : undefined;
|
||||
metadata.referenceSetId = remapOwnedNodeId(node.metadata?.referenceSetId, idMap);
|
||||
metadata.referenceAssetNodeIds = node.metadata?.referenceAssetNodeIds
|
||||
|
||||
Reference in New Issue
Block a user