fix(canvas): 画布交互 - 优化节点视觉、分镜列与滑动性能
This commit is contained in:
@@ -71,8 +71,8 @@ export const canvasThemes = {
|
||||
dark: {
|
||||
canvas: {
|
||||
background: "#0b0b0b",
|
||||
dot: "rgba(170,170,170,.22)",
|
||||
line: "rgba(170,170,170,.10)",
|
||||
dot: "rgba(178,178,178,.27)",
|
||||
line: "rgba(178,178,178,.14)",
|
||||
selectionFill: "rgba(255,255,255,.12)",
|
||||
},
|
||||
node: {
|
||||
|
||||
@@ -45,7 +45,7 @@ export function createCanvasNode(type: CanvasNodeType, position: Position, metad
|
||||
width: spec.width,
|
||||
height: spec.height,
|
||||
metadata: type === CanvasNodeType.Script
|
||||
? { ...spec.metadata, ...metadata, storyboard: metadata?.storyboard || { rows: [1, 2, 3].map((shotNumber) => createStoryboardRow(shotNumber)), visibleColumns: ["shotNumber", "durationSeconds", "plotDescription", "dialogue"], referenceNodeIds: [] } }
|
||||
? { ...spec.metadata, ...metadata, storyboard: metadata?.storyboard || { rows: [1, 2, 3].map((shotNumber) => createStoryboardRow(shotNumber)), visibleColumns: ["shotNumber", "plotDescription", "videoMotionPrompt", "dialogue"], referenceNodeIds: [] } }
|
||||
: { ...spec.metadata, ...metadata, ...(type === CanvasNodeType.Drawing ? { drawingId: metadata?.drawingId || `${id}-document` } : {}) },
|
||||
};
|
||||
}
|
||||
@@ -90,7 +90,7 @@ export function storyboardPromptTemplateMetadata(row: StoryboardRow, kind: "imag
|
||||
|
||||
export function cinematicStoryboardColumns(columns?: StoryboardColumn[]): StoryboardColumn[] {
|
||||
return Array.from(new Set([
|
||||
...(columns || ["shotNumber", "durationSeconds", "plotDescription", "dialogue"]),
|
||||
...(columns || ["shotNumber", "plotDescription", "videoMotionPrompt", "dialogue"]),
|
||||
"shotSize",
|
||||
"narrativeIntent",
|
||||
"viewerPOV",
|
||||
@@ -240,7 +240,7 @@ export function attachNodeToStoryboardRow(nodes: CanvasNodeData[], connection: P
|
||||
rows: (storyboard?.rows || []).map((item) => item.id !== rowId ? item : scriptNodeId === connection.fromNodeId
|
||||
? { ...item, imageNodeId: linkedNode.type === CanvasNodeType.Image ? linkedNode.id : item.imageNodeId, videoNodeId: linkedNode.type === CanvasNodeType.Video ? linkedNode.id : item.videoNodeId }
|
||||
: { ...item, referenceNodeIds: Array.from(new Set([...(item.referenceNodeIds || []), linkedNode.id])) }),
|
||||
visibleColumns: storyboard?.visibleColumns || ["shotNumber", "durationSeconds", "plotDescription", "dialogue"],
|
||||
visibleColumns: storyboard?.visibleColumns || ["shotNumber", "plotDescription", "videoMotionPrompt", "dialogue"],
|
||||
referenceNodeIds: handleId === "storyboard:context" ? Array.from(new Set([...(storyboard?.referenceNodeIds || []), linkedNode.id])) : storyboard?.referenceNodeIds || [],
|
||||
},
|
||||
},
|
||||
|
||||
@@ -53,7 +53,7 @@ export function createShortDramaPipeline(center: Position) {
|
||||
workflowTitle: "分镜脚本",
|
||||
storyboard: {
|
||||
rows: [],
|
||||
visibleColumns: ["shotNumber", "durationSeconds", "plotDescription", "dialogue"],
|
||||
visibleColumns: ["shotNumber", "plotDescription", "videoMotionPrompt", "dialogue"],
|
||||
referenceNodeIds: [],
|
||||
},
|
||||
});
|
||||
|
||||
@@ -22,7 +22,7 @@ export function upsertProjectChapterStoryboard(
|
||||
|
||||
const storyboard: StoryboardData = {
|
||||
rows,
|
||||
visibleColumns: existing?.metadata?.storyboard?.visibleColumns || ["shotNumber", "durationSeconds", "plotDescription", "dialogue"],
|
||||
visibleColumns: existing?.metadata?.storyboard?.visibleColumns || ["shotNumber", "plotDescription", "videoMotionPrompt", "dialogue"],
|
||||
referenceNodeIds: existing?.metadata?.storyboard?.referenceNodeIds || [],
|
||||
};
|
||||
const scriptNode: CanvasNodeData = existing
|
||||
@@ -75,7 +75,7 @@ function createChapterStoryboardNode(nodes: CanvasNodeData[], unit: Pick<Project
|
||||
chapterTitle: unit.title,
|
||||
storyboard: {
|
||||
rows,
|
||||
visibleColumns: ["shotNumber", "durationSeconds", "plotDescription", "dialogue"],
|
||||
visibleColumns: ["shotNumber", "plotDescription", "videoMotionPrompt", "dialogue"],
|
||||
referenceNodeIds: [],
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user