auto-save 2026-05-14 02:02 (+3, ~5)

This commit is contained in:
2026-05-14 02:03:19 +08:00
parent 11de581068
commit 75d9ec1866
8 changed files with 777 additions and 37 deletions

View File

@@ -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