feat(canvas): 画布工作台 - 新增生成副本并修复大型画布性能、素材同步与删除校验
统一图片与视频副本的生成落点并保留参考连接。\n优化大型画布节点虚拟化、媒体懒加载、拖拽与详情进入路径。\n修复素材主版本 ID 同步及删除时的画布独立引用校验。
This commit is contained in:
1 parent
434f63e153
commit
3f4a9ea3d0
45 files changed
+1348
-286
No files matched your search
@@ -10,7 +10,15 @@ const BATCH_CHILD_GAP = 36;
|
||||
const NODE_CLEARANCE = 36;
|
||||
|
||||
export function canGenerateImageInPlace(sourceNode: CanvasNodeData | undefined) {
|
||||
return sourceNode?.type === CanvasNodeType.Image && !sourceNode.metadata?.content;
|
||||
return canGenerateMediaInPlace(sourceNode, CanvasNodeType.Image);
|
||||
}
|
||||
|
||||
export function canGenerateMediaInPlace(sourceNode: CanvasNodeData | undefined, mediaType: typeof CanvasNodeType.Image | typeof CanvasNodeType.Video | typeof CanvasNodeType.Audio) {
|
||||
if (sourceNode?.type !== mediaType) return false;
|
||||
if (sourceNode.metadata?.generationResultPlacement) return sourceNode.metadata.generationResultPlacement === "replace-node";
|
||||
if (!sourceNode.metadata?.content) return true;
|
||||
// 兼容显式落点字段引入前创建的复制节点和版本节点。
|
||||
return Boolean(sourceNode.metadata?.copiedFromNodeId || sourceNode.metadata?.versionOfNodeId);
|
||||
}
|
||||
|
||||
export function imageGenerationGroupSize(rootSize: Size, imageSize: Size, childCount: number): Size {
|
||||
|
||||
Reference in new issue
Block a user