auto-save 2026-05-14 02:02 (+3, ~5)
This commit is contained in:
@@ -9,8 +9,8 @@ import {
|
||||
import { Toaster, toast } from "sonner"
|
||||
import { LayoutGrid } from "lucide-react"
|
||||
import {
|
||||
InputNode, KeyframeNode, ASRNode,
|
||||
TranslateNode, RewriteNode, StoryboardNode, VideoGenNode, ComposeNode, KeyframePanelNode,
|
||||
InputNode, KeyframeNode, AudioNode,
|
||||
StoryboardNode, VideoGenNode, ComposeNode, KeyframePanelNode,
|
||||
type NodeData,
|
||||
} from "@/components/nodes"
|
||||
import { ThemeToggle } from "@/components/theme-toggle"
|
||||
@@ -26,9 +26,7 @@ import { VideoLightbox } from "@/components/video-lightbox"
|
||||
const NODE_TYPES = {
|
||||
input: InputNode,
|
||||
keyframe: KeyframeNode,
|
||||
asr: ASRNode,
|
||||
translate: TranslateNode,
|
||||
rewrite: RewriteNode,
|
||||
audio: AudioNode,
|
||||
storyboard: StoryboardNode,
|
||||
videogen: VideoGenNode,
|
||||
compose: ComposeNode,
|
||||
@@ -39,14 +37,12 @@ const KEYFRAME_PANEL_ID = "keyframe-detail-panel"
|
||||
|
||||
// 合并 input + download + split 为一个节点
|
||||
// 分叉:上路 input → keyframe → storyboard → videogen ↘
|
||||
// 下路 input → asr → translate → rewrite ──────→ storyboard / compose
|
||||
// 下路 input → audio ──────────────────────────→ compose
|
||||
const LAYOUT: Array<{ id: string; type: keyof typeof NODE_TYPES; x: number; y: number; w: number }> = [
|
||||
{ id: "input", type: "input", x: 40, y: 240, w: 320 },
|
||||
{ id: "keyframe", type: "keyframe", x: 460, y: 60, w: 360 },
|
||||
{ id: "asr", type: "asr", x: 460, y: 440, w: 320 },
|
||||
{ id: "translate", type: "translate", x: 840, y: 440, w: 320 },
|
||||
{ id: "audio", type: "audio", x: 460, y: 440, w: 320 },
|
||||
{ id: "storyboard", type: "storyboard", x: 880, y: 60, w: 360 },
|
||||
{ id: "rewrite", type: "rewrite", x: 1220, y: 440, w: 320 },
|
||||
{ id: "videogen", type: "videogen", x: 1260, y: 60, w: 280 },
|
||||
{ id: "compose", type: "compose", x: 1640, y: 240, w: 320 },
|
||||
]
|
||||
@@ -79,13 +75,11 @@ function loadNodePins(): string[] {
|
||||
|
||||
const EDGES_RAW: Array<[string, string]> = [
|
||||
["input", "keyframe"],
|
||||
["input", "asr"],
|
||||
["asr", "translate"],
|
||||
["translate", "rewrite"],
|
||||
["input", "audio"],
|
||||
["keyframe", "storyboard"],
|
||||
["storyboard", "videogen"],
|
||||
["videogen", "compose"],
|
||||
["rewrite", "compose"],
|
||||
["audio", "compose"],
|
||||
]
|
||||
|
||||
export default function Home() {
|
||||
@@ -527,9 +521,9 @@ export default function Home() {
|
||||
// 按管线列分组(顶 → 底):图层 1 输入 → 5 合成
|
||||
const COLUMNS: string[][] = [
|
||||
["input"],
|
||||
["keyframe", "asr"],
|
||||
["storyboard", "translate"],
|
||||
["videogen", "rewrite"],
|
||||
["keyframe", "audio"],
|
||||
["storyboard"],
|
||||
["videogen"],
|
||||
["compose"],
|
||||
]
|
||||
const GAP_X = 80
|
||||
|
||||
Reference in New Issue
Block a user