auto-save 2026-05-14 07:28 (~6)

This commit is contained in:
2026-05-14 07:28:52 +08:00
parent a6773a8690
commit 4a1e6d3137
6 changed files with 208 additions and 58 deletions

View File

@@ -17,7 +17,7 @@ import { toast } from "sonner"
import { NodeShell, type NodeStatus, type NodeKind } from "./node-shell"
import { HoverPreview } from "./hover-preview"
import {
type Job, type ImageRef, type FrameExtractMode, type FrameExtractQuality, type FrameExtractTarget,
type Job, type ImageRef, type ProductFusionShot, type FrameExtractMode, type FrameExtractQuality, type FrameExtractTarget,
apiAssetUrl, effectiveFrameUrl, videoUrl, hasCutout, representativeCutoutUrl,
} from "@/lib/api"
import { FrameLightbox } from "@/components/lightbox"
@@ -73,6 +73,7 @@ export interface NodeData {
onOpenStoryboard?: (frameIdx: number) => void // 打开分镜头编排专属面板
onOpenWorkbench?: (frameIdx?: number) => void // 展开顶部分镜编排内嵌面板
onCopyImage?: (ref: ImageRef) => void // 复制图片到全局剪贴板(粘贴到分镜头编排插槽)
onGenerateProductFusionVideo?: (frameIdx: number, shot: ProductFusionShot) => Promise<void> | void
pinnedNodes?: Set<string> // 已钉住的节点 id 集合 — 钉住后位置 + 尺寸锁定
onToggleNodePin?: (id: string) => void
}
@@ -1957,6 +1958,7 @@ export function KeyframePanelNode({ data }: any) {
onToggleSelect={d.onToggleFrame}
onJobUpdate={d.onJobUpdate}
onCopyImage={d.onCopyImage}
onGenerateProductFusionVideo={d.onGenerateProductFusionVideo}
/>
</div>
<button