auto-save 2026-05-14 00:54 (+4, ~2)
This commit is contained in:
@@ -2698,6 +2698,19 @@
|
|||||||
"message": "auto-save 2026-05-14 00:42 (+4, ~3)",
|
"message": "auto-save 2026-05-14 00:42 (+4, ~3)",
|
||||||
"hash": "042efdc",
|
"hash": "042efdc",
|
||||||
"files_changed": 7
|
"files_changed": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ts": "2026-05-14T00:48:59+08:00",
|
||||||
|
"type": "commit",
|
||||||
|
"message": "auto-save 2026-05-14 00:48 (+4, ~3)",
|
||||||
|
"hash": "e8a653e",
|
||||||
|
"files_changed": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ts": "2026-05-13T16:53:10Z",
|
||||||
|
"type": "session-heartbeat",
|
||||||
|
"message": "Claude 会话活跃 · 最近命令:claude · 2 项未提交变更 · 最近提交:auto-save 2026-05-14 00:48 (+4, ~3)",
|
||||||
|
"files_changed": 2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
46
.playwright-mcp/page-2026-05-13T16-50-40-160Z.yml
Normal file
46
.playwright-mcp/page-2026-05-13T16-50-40-160Z.yml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
- generic [active] [ref=e1]:
|
||||||
|
- generic [ref=e6] [cursor=pointer]:
|
||||||
|
- button "Open Next.js Dev Tools" [ref=e7]:
|
||||||
|
- img [ref=e8]
|
||||||
|
- generic [ref=e13]:
|
||||||
|
- button "Open issues overlay" [ref=e14]:
|
||||||
|
- generic [ref=e15]:
|
||||||
|
- generic [ref=e16]: "0"
|
||||||
|
- generic [ref=e17]: "1"
|
||||||
|
- generic [ref=e18]: Issue
|
||||||
|
- button "Collapse issues badge" [ref=e19]:
|
||||||
|
- img [ref=e20]
|
||||||
|
- main [ref=e23]:
|
||||||
|
- button "自动整理 · 所有节点回默认位置 / 宽度(保留钉子状态)" [ref=e25]:
|
||||||
|
- img [ref=e26]
|
||||||
|
- button "切到明亮主题" [ref=e32]:
|
||||||
|
- img [ref=e33]
|
||||||
|
- application [ref=e41]:
|
||||||
|
- group [ref=e44] [cursor=pointer]:
|
||||||
|
- generic [ref=e46]:
|
||||||
|
- generic [ref=e47]:
|
||||||
|
- img [ref=e49]
|
||||||
|
- generic [ref=e52]: 输入 · Input
|
||||||
|
- button "已钉住 · 点击取消(恢复可拖、可缩放)" [ref=e55]:
|
||||||
|
- img [ref=e56]
|
||||||
|
- generic [ref=e58]:
|
||||||
|
- generic [ref=e59]: STEP 1 · 待运行
|
||||||
|
- textbox "粘贴 TikTok 链接" [ref=e60]
|
||||||
|
- generic [ref=e61]:
|
||||||
|
- button "提交链接" [disabled] [ref=e62]
|
||||||
|
- button "上传" [ref=e63]:
|
||||||
|
- img [ref=e64]
|
||||||
|
- text: 上传
|
||||||
|
- img
|
||||||
|
- generic "Control Panel" [ref=e68]:
|
||||||
|
- button "Zoom In" [ref=e69] [cursor=pointer]:
|
||||||
|
- img [ref=e70]
|
||||||
|
- button "Zoom Out" [ref=e72] [cursor=pointer]:
|
||||||
|
- img [ref=e73]
|
||||||
|
- button "Fit View" [ref=e75] [cursor=pointer]:
|
||||||
|
- img [ref=e76]
|
||||||
|
- button "Toggle Interactivity" [ref=e78] [cursor=pointer]:
|
||||||
|
- img [ref=e79]
|
||||||
|
- img "Mini Map" [ref=e82]
|
||||||
|
- region "Notifications alt+T"
|
||||||
|
- alert [ref=e85]
|
||||||
449
.playwright-mcp/page-2026-05-13T16-50-42-256Z.yml
Normal file
449
.playwright-mcp/page-2026-05-13T16-50-42-256Z.yml
Normal file
@@ -0,0 +1,449 @@
|
|||||||
|
- generic [active] [ref=e1]:
|
||||||
|
- generic [ref=e6] [cursor=pointer]:
|
||||||
|
- button "Open Next.js Dev Tools" [ref=e7]:
|
||||||
|
- img [ref=e8]
|
||||||
|
- generic [ref=e13]:
|
||||||
|
- button "Open issues overlay" [ref=e14]:
|
||||||
|
- generic [ref=e15]:
|
||||||
|
- generic [ref=e16]: "0"
|
||||||
|
- generic [ref=e17]: "1"
|
||||||
|
- generic [ref=e18]: Issue
|
||||||
|
- button "Collapse issues badge" [ref=e19]:
|
||||||
|
- img [ref=e20]
|
||||||
|
- main [ref=e23]:
|
||||||
|
- button "自动整理 · 所有节点回默认位置 / 宽度(保留钉子状态)" [ref=e25]:
|
||||||
|
- img [ref=e26]
|
||||||
|
- button "切到明亮主题" [ref=e32]:
|
||||||
|
- img [ref=e33]
|
||||||
|
- generic [ref=e39]:
|
||||||
|
- generic [ref=e88]:
|
||||||
|
- generic [ref=e89]:
|
||||||
|
- img [ref=e90]
|
||||||
|
- generic [ref=e95]: 分镜头编排
|
||||||
|
- generic [ref=e96]: 0 分镜 · 0 元素
|
||||||
|
- generic [ref=e97]: · 组织分镜画面 → 为生成视频做准备
|
||||||
|
- button "展开编排" [disabled] [ref=e99]:
|
||||||
|
- img [ref=e100]
|
||||||
|
- text: 展开编排
|
||||||
|
- application [ref=e41]:
|
||||||
|
- generic [ref=e43]:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- img:
|
||||||
|
- group "Edge from input to keyframe" [ref=e102] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from input to asr" [ref=e105] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from asr to translate"
|
||||||
|
- img:
|
||||||
|
- group "Edge from translate to rewrite" [ref=e108] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from keyframe to storyboard" [ref=e111] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from rewrite to storyboard" [ref=e114] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from storyboard to videogen" [ref=e117] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from videogen to compose" [ref=e120] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from rewrite to compose" [ref=e123] [cursor=pointer]
|
||||||
|
- generic:
|
||||||
|
- group [ref=e44] [cursor=pointer]:
|
||||||
|
- generic [ref=e45]:
|
||||||
|
- generic [ref=e126]:
|
||||||
|
- button "再上传一个视频" [ref=e127]:
|
||||||
|
- img [ref=e128]
|
||||||
|
- generic [ref=e129]:
|
||||||
|
- button "64.5s" [ref=e130]:
|
||||||
|
- generic [ref=e132]: 64.5s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 64.5s
|
||||||
|
- generic [ref=e133]:
|
||||||
|
- button "72.4s" [ref=e134]:
|
||||||
|
- generic [ref=e136]: 72.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 576×1024
|
||||||
|
- generic: 72.4s
|
||||||
|
- generic [ref=e137]:
|
||||||
|
- button "64.5s" [ref=e138]:
|
||||||
|
- generic [ref=e140]: 64.5s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 64.5s
|
||||||
|
- generic [ref=e141]:
|
||||||
|
- button "71.4s" [ref=e142]:
|
||||||
|
- generic [ref=e144]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e145]:
|
||||||
|
- button "72.4s" [ref=e146]:
|
||||||
|
- generic [ref=e148]: 72.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 576×1024
|
||||||
|
- generic: 72.4s
|
||||||
|
- generic [ref=e149]:
|
||||||
|
- button "71.4s" [ref=e150]:
|
||||||
|
- generic [ref=e152]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e153]:
|
||||||
|
- button "71.4s" [ref=e154]:
|
||||||
|
- generic [ref=e156]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e157]:
|
||||||
|
- button "71.4s" [ref=e158]:
|
||||||
|
- generic [ref=e160]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e161]:
|
||||||
|
- button "71.4s" [ref=e162]:
|
||||||
|
- generic [ref=e164]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e165]:
|
||||||
|
- button "71.4s" [ref=e166]:
|
||||||
|
- generic [ref=e168]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e169]:
|
||||||
|
- button "8.0s" [ref=e170]:
|
||||||
|
- generic [ref=e172]: 8.0s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 640×360
|
||||||
|
- generic: 8.0s
|
||||||
|
- generic [ref=e173]:
|
||||||
|
- button "8.0s" [ref=e174]:
|
||||||
|
- generic [ref=e176]: 8.0s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 640×360
|
||||||
|
- generic: 8.0s
|
||||||
|
- generic [ref=e177]:
|
||||||
|
- button "8.0s" [ref=e178]:
|
||||||
|
- generic [ref=e180]: 8.0s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 640×360
|
||||||
|
- generic: 8.0s
|
||||||
|
- generic [ref=e181]:
|
||||||
|
- button "8.0s" [ref=e182]:
|
||||||
|
- generic [ref=e184]: 8.0s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 640×360
|
||||||
|
- generic: 8.0s
|
||||||
|
- button "…" [ref=e186]:
|
||||||
|
- img [ref=e188]
|
||||||
|
- generic [ref=e190]: …
|
||||||
|
- button "…" [ref=e192]:
|
||||||
|
- img [ref=e194]
|
||||||
|
- generic [ref=e196]: …
|
||||||
|
- button "…" [ref=e198]:
|
||||||
|
- img [ref=e200]
|
||||||
|
- generic [ref=e202]: …
|
||||||
|
- generic [ref=e46]:
|
||||||
|
- generic [ref=e47]:
|
||||||
|
- img [ref=e49]
|
||||||
|
- generic [ref=e52]: 输入 · Input
|
||||||
|
- generic [ref=e53]:
|
||||||
|
- img [ref=e203]
|
||||||
|
- button "已钉住 · 点击取消(恢复可拖、可缩放)" [ref=e55]:
|
||||||
|
- img [ref=e56]
|
||||||
|
- generic [ref=e58]:
|
||||||
|
- generic [ref=e59]: STEP 1 · 视频就绪 · 完成
|
||||||
|
- textbox "再加一个 TK 链接" [ref=e206]
|
||||||
|
- generic [ref=e61]:
|
||||||
|
- button "+ 加链接" [disabled] [ref=e207]
|
||||||
|
- button "再传一个" [ref=e208]:
|
||||||
|
- img [ref=e64]
|
||||||
|
- text: 再传一个
|
||||||
|
- generic [ref=e209]:
|
||||||
|
- generic [ref=e210]: 1080×1920 · 64.5s
|
||||||
|
- generic [ref=e211]: 🔗 链接
|
||||||
|
- button "重新解析" [ref=e212]
|
||||||
|
- group [ref=e213]:
|
||||||
|
- generic [ref=e214]:
|
||||||
|
- generic [ref=e215]:
|
||||||
|
- generic [ref=e216]:
|
||||||
|
- button "frame 9 1.7s" [ref=e217]:
|
||||||
|
- img "frame 9" [ref=e218]
|
||||||
|
- generic [ref=e219]: 1.7s
|
||||||
|
- button "📋" [ref=e220]
|
||||||
|
- button "删除该关键帧" [ref=e221]:
|
||||||
|
- img [ref=e222]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 10
|
||||||
|
- generic: 1.66s
|
||||||
|
- generic [ref=e225]:
|
||||||
|
- button "frame 0 ✨ 24.7s" [ref=e226]:
|
||||||
|
- img "frame 0" [ref=e227]
|
||||||
|
- generic "已清洗" [ref=e229]: ✨
|
||||||
|
- generic [ref=e230]: 24.7s
|
||||||
|
- button "📋" [ref=e231]
|
||||||
|
- button "删除该关键帧" [ref=e232]:
|
||||||
|
- img [ref=e233]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 1
|
||||||
|
- generic: 24.73s
|
||||||
|
- generic [ref=e236]:
|
||||||
|
- button "frame 1 33.6s" [ref=e237]:
|
||||||
|
- img "frame 1" [ref=e238]
|
||||||
|
- generic [ref=e239]: 33.6s
|
||||||
|
- button "📋" [ref=e240]
|
||||||
|
- button "删除该关键帧" [ref=e241]:
|
||||||
|
- img [ref=e242]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 2
|
||||||
|
- generic: 33.61s
|
||||||
|
- generic [ref=e245]:
|
||||||
|
- button "frame 2 37.7s" [ref=e246]:
|
||||||
|
- img "frame 2" [ref=e247]
|
||||||
|
- generic [ref=e248]: 37.7s
|
||||||
|
- button "📋" [ref=e249]
|
||||||
|
- button "删除该关键帧" [ref=e250]:
|
||||||
|
- img [ref=e251]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 3
|
||||||
|
- generic: 37.70s
|
||||||
|
- generic [ref=e254]:
|
||||||
|
- button "frame 3 39.4s" [ref=e255]:
|
||||||
|
- img "frame 3" [ref=e256]
|
||||||
|
- generic [ref=e257]: 39.4s
|
||||||
|
- button "📋" [ref=e258]
|
||||||
|
- button "删除该关键帧" [ref=e259]:
|
||||||
|
- img [ref=e260]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 4
|
||||||
|
- generic: 39.42s
|
||||||
|
- generic [ref=e263]:
|
||||||
|
- button "frame 4 1 43.1s" [ref=e264]:
|
||||||
|
- img "frame 4" [ref=e265]
|
||||||
|
- generic "1 个元素已抠图" [ref=e267]: "1"
|
||||||
|
- generic [ref=e268]: 43.1s
|
||||||
|
- button "📋" [ref=e269]
|
||||||
|
- button "删除该关键帧" [ref=e270]:
|
||||||
|
- img [ref=e271]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 5
|
||||||
|
- generic: 43.13s
|
||||||
|
- generic [ref=e274]:
|
||||||
|
- button "frame 5 45.0s" [ref=e275]:
|
||||||
|
- img "frame 5" [ref=e276]
|
||||||
|
- generic [ref=e277]: 45.0s
|
||||||
|
- button "📋" [ref=e278]
|
||||||
|
- button "删除该关键帧" [ref=e279]:
|
||||||
|
- img [ref=e280]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 6
|
||||||
|
- generic: 45.05s
|
||||||
|
- generic [ref=e283]:
|
||||||
|
- button "frame 6 53.6s" [ref=e284]:
|
||||||
|
- img "frame 6" [ref=e285]
|
||||||
|
- generic [ref=e286]: 53.6s
|
||||||
|
- button "📋" [ref=e287]
|
||||||
|
- button "删除该关键帧" [ref=e288]:
|
||||||
|
- img [ref=e289]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 7
|
||||||
|
- generic: 53.60s
|
||||||
|
- generic [ref=e292]:
|
||||||
|
- button "frame 7 56.0s" [ref=e293]:
|
||||||
|
- img "frame 7" [ref=e294]
|
||||||
|
- generic [ref=e295]: 56.0s
|
||||||
|
- button "📋" [ref=e296]
|
||||||
|
- button "删除该关键帧" [ref=e297]:
|
||||||
|
- img [ref=e298]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 8
|
||||||
|
- generic: 55.96s
|
||||||
|
- generic [ref=e301]:
|
||||||
|
- button "frame 8 58.4s" [ref=e302]:
|
||||||
|
- img "frame 8" [ref=e303]
|
||||||
|
- generic [ref=e304]: 58.4s
|
||||||
|
- button "📋" [ref=e305]
|
||||||
|
- button "删除该关键帧" [ref=e306]:
|
||||||
|
- img [ref=e307]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 9
|
||||||
|
- generic: 58.39s
|
||||||
|
- generic [ref=e310]:
|
||||||
|
- generic [ref=e312]:
|
||||||
|
- img [ref=e314]
|
||||||
|
- generic [ref=e318]: 镜头拆解 · 元素提取
|
||||||
|
- generic [ref=e319]:
|
||||||
|
- img [ref=e320]
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e324]:
|
||||||
|
- img [ref=e325]
|
||||||
|
- generic [ref=e328]:
|
||||||
|
- generic [ref=e329]: STEP 2 · 0/10 入编排 · 完成
|
||||||
|
- generic [ref=e330]:
|
||||||
|
- text: 自动 10 张 ·
|
||||||
|
- generic [ref=e331]: 1 已清洗
|
||||||
|
- text: ·
|
||||||
|
- generic [ref=e332]: 1/2 已抠图
|
||||||
|
- text: 点缩略图 → 清洗水印 / 提取可借鉴元素 → 改造成 SKG 画面素材
|
||||||
|
- generic "拖动调整宽度" [ref=e334]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e335]
|
||||||
|
- group [ref=e336]:
|
||||||
|
- generic [ref=e337]:
|
||||||
|
- generic [ref=e339]:
|
||||||
|
- img [ref=e341]
|
||||||
|
- generic [ref=e344]: 声音文案 · ASR
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e347]:
|
||||||
|
- img [ref=e348]
|
||||||
|
- generic [ref=e351]:
|
||||||
|
- generic [ref=e352]: STEP 3 · 可选文案轨 · 待运行
|
||||||
|
- generic [ref=e353]: Gemini 2.5 · 英文带时间戳分段
|
||||||
|
- generic "拖动调整宽度" [ref=e355]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e356]
|
||||||
|
- group [ref=e357]:
|
||||||
|
- generic [ref=e358]:
|
||||||
|
- generic [ref=e360]:
|
||||||
|
- img [ref=e362]
|
||||||
|
- generic [ref=e366]: 翻译理解 · Translate
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e369]:
|
||||||
|
- img [ref=e370]
|
||||||
|
- generic [ref=e373]:
|
||||||
|
- generic [ref=e374]: STEP 4 · EN → ZH · 待运行
|
||||||
|
- generic [ref=e375]: 中文翻译 · 段落级 · 实时输出
|
||||||
|
- generic "拖动调整宽度" [ref=e377]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e378]
|
||||||
|
- group [ref=e379]:
|
||||||
|
- generic [ref=e380]:
|
||||||
|
- generic [ref=e382]:
|
||||||
|
- button "透明骷髅" [ref=e383]:
|
||||||
|
- img "透明骷髅" [ref=e384]
|
||||||
|
- button "📋" [ref=e385]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 5
|
||||||
|
- generic: 43.13s
|
||||||
|
- generic [ref=e386]:
|
||||||
|
- generic [ref=e388]:
|
||||||
|
- img [ref=e390]
|
||||||
|
- generic [ref=e395]: 元素改造 · Storyboard
|
||||||
|
- generic [ref=e396]:
|
||||||
|
- img [ref=e397]
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e401]:
|
||||||
|
- img [ref=e402]
|
||||||
|
- generic [ref=e405]:
|
||||||
|
- generic [ref=e406]: STEP 6 · 参考元素 → SKG 画面 · 完成
|
||||||
|
- generic [ref=e407]:
|
||||||
|
- text: 不是复刻原视频:先把参考图里的主体 / 场景 / 动作 / 道具拆出来,再替换成 SKG 产品画面。
|
||||||
|
- generic [ref=e408]: 已有 1 个提取元素 · 0 个分镜进入编排
|
||||||
|
- button "进入分镜编排" [disabled] [ref=e409]
|
||||||
|
- generic "拖动调整宽度" [ref=e411]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e412]
|
||||||
|
- group [ref=e413]:
|
||||||
|
- generic [ref=e414]:
|
||||||
|
- generic [ref=e416]:
|
||||||
|
- img [ref=e418]
|
||||||
|
- generic [ref=e422]: 产品文案 · Rewrite
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e425]:
|
||||||
|
- img [ref=e426]
|
||||||
|
- generic [ref=e429]:
|
||||||
|
- generic [ref=e430]: STEP 5 · 接 SKG 卖点 · 待运行
|
||||||
|
- textbox "粘贴 SKG 产品信息 / 关键卖点(可作为视频脚本和镜头动作参考)" [disabled] [ref=e431]
|
||||||
|
- generic [ref=e432]: 下一冲刺接入
|
||||||
|
- generic "拖动调整宽度" [ref=e434]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e435]
|
||||||
|
- group [ref=e436]:
|
||||||
|
- generic [ref=e438]:
|
||||||
|
- generic [ref=e440]:
|
||||||
|
- img [ref=e442]
|
||||||
|
- generic [ref=e444]: 生成视频 · Video Gen
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e447]:
|
||||||
|
- img [ref=e448]
|
||||||
|
- generic [ref=e451]:
|
||||||
|
- generic [ref=e452]: STEP 7 · 首帧 + 动作 prompt · 待运行
|
||||||
|
- generic [ref=e453]:
|
||||||
|
- generic [ref=e454]: Seedance
|
||||||
|
- generic [ref=e455]: Kling
|
||||||
|
- generic [ref=e456]: Veo 3
|
||||||
|
- generic "拖动调整宽度" [ref=e458]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e459]
|
||||||
|
- group [ref=e460]:
|
||||||
|
- generic [ref=e461]:
|
||||||
|
- generic [ref=e463]:
|
||||||
|
- img [ref=e465]
|
||||||
|
- generic [ref=e469]: 合成成品 · Compose
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e472]:
|
||||||
|
- img [ref=e473]
|
||||||
|
- generic [ref=e476]:
|
||||||
|
- generic [ref=e477]: STEP 8 · ffmpeg + 字幕 · 待运行
|
||||||
|
- generic [ref=e478]:
|
||||||
|
- text: 视频片段 + 字幕 / TTS
|
||||||
|
- text: → 最终 mp4 输出
|
||||||
|
- generic "拖动调整宽度" [ref=e479]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e480]
|
||||||
|
- img
|
||||||
|
- generic "Control Panel" [ref=e68]:
|
||||||
|
- button "Zoom In" [ref=e69] [cursor=pointer]:
|
||||||
|
- img [ref=e70]
|
||||||
|
- button "Zoom Out" [ref=e72] [cursor=pointer]:
|
||||||
|
- img [ref=e73]
|
||||||
|
- button "Fit View" [ref=e75] [cursor=pointer]:
|
||||||
|
- img [ref=e76]
|
||||||
|
- button "Toggle Interactivity" [ref=e78] [cursor=pointer]:
|
||||||
|
- img [ref=e79]
|
||||||
|
- img "Mini Map" [ref=e82]
|
||||||
|
- region "Notifications alt+T":
|
||||||
|
- list:
|
||||||
|
- listitem [ref=e488]:
|
||||||
|
- img [ref=e490]
|
||||||
|
- generic [ref=e493]: 📥 视频已就绪 — 请点 Input 节点里的「点这里开始解析」按钮
|
||||||
|
- alert [ref=e85]
|
||||||
31
.playwright-mcp/page-2026-05-13T16-53-25-437Z.yml
Normal file
31
.playwright-mcp/page-2026-05-13T16-53-25-437Z.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
- generic [active] [ref=e1]:
|
||||||
|
- generic [ref=e6] [cursor=pointer]:
|
||||||
|
- button "Open Next.js Dev Tools" [ref=e7]:
|
||||||
|
- img [ref=e8]
|
||||||
|
- generic [ref=e13]:
|
||||||
|
- button "Open issues overlay" [ref=e14]:
|
||||||
|
- generic [ref=e15]:
|
||||||
|
- generic [ref=e16]: "0"
|
||||||
|
- generic [ref=e17]: "1"
|
||||||
|
- generic [ref=e18]: Issue
|
||||||
|
- button "Collapse issues badge" [ref=e19]:
|
||||||
|
- img [ref=e20]
|
||||||
|
- main [ref=e23]:
|
||||||
|
- button "自动排版 · 保留每个节点的尺寸,重新排好间距和列布局" [ref=e25]:
|
||||||
|
- img [ref=e26]
|
||||||
|
- button "切到明亮主题" [ref=e32]:
|
||||||
|
- img [ref=e33]
|
||||||
|
- application [ref=e41]:
|
||||||
|
- img
|
||||||
|
- generic "Control Panel" [ref=e44]:
|
||||||
|
- button "Zoom In" [ref=e45] [cursor=pointer]:
|
||||||
|
- img [ref=e46]
|
||||||
|
- button "Zoom Out" [ref=e48] [cursor=pointer]:
|
||||||
|
- img [ref=e49]
|
||||||
|
- button "Fit View" [ref=e51] [cursor=pointer]:
|
||||||
|
- img [ref=e52]
|
||||||
|
- button "Toggle Interactivity" [ref=e54] [cursor=pointer]:
|
||||||
|
- img [ref=e55]
|
||||||
|
- img "Mini Map" [ref=e58]
|
||||||
|
- region "Notifications alt+T"
|
||||||
|
- alert [ref=e60]
|
||||||
449
.playwright-mcp/page-2026-05-13T16-53-27-783Z.yml
Normal file
449
.playwright-mcp/page-2026-05-13T16-53-27-783Z.yml
Normal file
@@ -0,0 +1,449 @@
|
|||||||
|
- generic [active] [ref=e1]:
|
||||||
|
- generic [ref=e6] [cursor=pointer]:
|
||||||
|
- button "Open Next.js Dev Tools" [ref=e7]:
|
||||||
|
- img [ref=e8]
|
||||||
|
- generic [ref=e13]:
|
||||||
|
- button "Open issues overlay" [ref=e14]:
|
||||||
|
- generic [ref=e15]:
|
||||||
|
- generic [ref=e16]: "0"
|
||||||
|
- generic [ref=e17]: "1"
|
||||||
|
- generic [ref=e18]: Issue
|
||||||
|
- button "Collapse issues badge" [ref=e19]:
|
||||||
|
- img [ref=e20]
|
||||||
|
- main [ref=e23]:
|
||||||
|
- button "自动排版 · 保留每个节点的尺寸,重新排好间距和列布局" [ref=e25]:
|
||||||
|
- img [ref=e26]
|
||||||
|
- button "切到明亮主题" [ref=e32]:
|
||||||
|
- img [ref=e33]
|
||||||
|
- generic [ref=e39]:
|
||||||
|
- generic [ref=e63]:
|
||||||
|
- generic [ref=e64]:
|
||||||
|
- img [ref=e65]
|
||||||
|
- generic [ref=e70]: 分镜头编排
|
||||||
|
- generic [ref=e71]: 0 分镜 · 0 元素
|
||||||
|
- generic [ref=e72]: · 组织分镜画面 → 为生成视频做准备
|
||||||
|
- button "展开编排" [disabled] [ref=e74]:
|
||||||
|
- img [ref=e75]
|
||||||
|
- text: 展开编排
|
||||||
|
- application [ref=e41]:
|
||||||
|
- generic [ref=e43]:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- img:
|
||||||
|
- group "Edge from input to keyframe" [ref=e77] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from input to asr" [ref=e80] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from asr to translate"
|
||||||
|
- img:
|
||||||
|
- group "Edge from translate to rewrite" [ref=e83] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from keyframe to storyboard" [ref=e86] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from rewrite to storyboard" [ref=e89] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from storyboard to videogen" [ref=e92] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from videogen to compose" [ref=e95] [cursor=pointer]
|
||||||
|
- img:
|
||||||
|
- group "Edge from rewrite to compose" [ref=e98] [cursor=pointer]
|
||||||
|
- generic:
|
||||||
|
- group [ref=e101] [cursor=pointer]:
|
||||||
|
- generic [ref=e102]:
|
||||||
|
- generic [ref=e103]:
|
||||||
|
- button "再上传一个视频" [ref=e104]:
|
||||||
|
- img [ref=e105]
|
||||||
|
- generic [ref=e106]:
|
||||||
|
- button "64.5s" [ref=e107]:
|
||||||
|
- generic [ref=e109]: 64.5s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 64.5s
|
||||||
|
- generic [ref=e110]:
|
||||||
|
- button "72.4s" [ref=e111]:
|
||||||
|
- generic [ref=e113]: 72.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 576×1024
|
||||||
|
- generic: 72.4s
|
||||||
|
- generic [ref=e114]:
|
||||||
|
- button "64.5s" [ref=e115]:
|
||||||
|
- generic [ref=e117]: 64.5s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 64.5s
|
||||||
|
- generic [ref=e118]:
|
||||||
|
- button "71.4s" [ref=e119]:
|
||||||
|
- generic [ref=e121]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e122]:
|
||||||
|
- button "72.4s" [ref=e123]:
|
||||||
|
- generic [ref=e125]: 72.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 576×1024
|
||||||
|
- generic: 72.4s
|
||||||
|
- generic [ref=e126]:
|
||||||
|
- button "71.4s" [ref=e127]:
|
||||||
|
- generic [ref=e129]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e130]:
|
||||||
|
- button "71.4s" [ref=e131]:
|
||||||
|
- generic [ref=e133]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e134]:
|
||||||
|
- button "71.4s" [ref=e135]:
|
||||||
|
- generic [ref=e137]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e138]:
|
||||||
|
- button "71.4s" [ref=e139]:
|
||||||
|
- generic [ref=e141]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e142]:
|
||||||
|
- button "71.4s" [ref=e143]:
|
||||||
|
- generic [ref=e145]: 71.4s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 1080×1920
|
||||||
|
- generic: 71.4s
|
||||||
|
- generic [ref=e146]:
|
||||||
|
- button "8.0s" [ref=e147]:
|
||||||
|
- generic [ref=e149]: 8.0s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 640×360
|
||||||
|
- generic: 8.0s
|
||||||
|
- generic [ref=e150]:
|
||||||
|
- button "8.0s" [ref=e151]:
|
||||||
|
- generic [ref=e153]: 8.0s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 640×360
|
||||||
|
- generic: 8.0s
|
||||||
|
- generic [ref=e154]:
|
||||||
|
- button "8.0s" [ref=e155]:
|
||||||
|
- generic [ref=e157]: 8.0s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 640×360
|
||||||
|
- generic: 8.0s
|
||||||
|
- generic [ref=e158]:
|
||||||
|
- button "8.0s" [ref=e159]:
|
||||||
|
- generic [ref=e161]: 8.0s
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 640×360
|
||||||
|
- generic: 8.0s
|
||||||
|
- button "…" [ref=e163]:
|
||||||
|
- img [ref=e165]
|
||||||
|
- generic [ref=e167]: …
|
||||||
|
- button "…" [ref=e169]:
|
||||||
|
- img [ref=e171]
|
||||||
|
- generic [ref=e173]: …
|
||||||
|
- button "…" [ref=e175]:
|
||||||
|
- img [ref=e177]
|
||||||
|
- generic [ref=e179]: …
|
||||||
|
- generic [ref=e180]:
|
||||||
|
- generic [ref=e181]:
|
||||||
|
- img [ref=e183]
|
||||||
|
- generic [ref=e186]: 输入 · Input
|
||||||
|
- generic [ref=e187]:
|
||||||
|
- img [ref=e188]
|
||||||
|
- button "已钉住 · 点击取消(恢复可拖、可缩放)" [ref=e192]:
|
||||||
|
- img [ref=e193]
|
||||||
|
- generic [ref=e195]:
|
||||||
|
- generic [ref=e196]: STEP 1 · 视频就绪 · 完成
|
||||||
|
- textbox "再加一个 TK 链接" [ref=e197]
|
||||||
|
- generic [ref=e198]:
|
||||||
|
- button "+ 加链接" [disabled] [ref=e199]
|
||||||
|
- button "再传一个" [ref=e200]:
|
||||||
|
- img [ref=e201]
|
||||||
|
- text: 再传一个
|
||||||
|
- generic [ref=e204]:
|
||||||
|
- generic [ref=e205]: 1080×1920 · 64.5s
|
||||||
|
- generic [ref=e206]: 🔗 链接
|
||||||
|
- button "重新解析" [ref=e207]
|
||||||
|
- group [ref=e209]:
|
||||||
|
- generic [ref=e210]:
|
||||||
|
- generic [ref=e211]:
|
||||||
|
- generic [ref=e212]:
|
||||||
|
- button "frame 9 1.7s" [ref=e213]:
|
||||||
|
- img "frame 9" [ref=e214]
|
||||||
|
- generic [ref=e215]: 1.7s
|
||||||
|
- button "📋" [ref=e216]
|
||||||
|
- button "删除该关键帧" [ref=e217]:
|
||||||
|
- img [ref=e218]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 10
|
||||||
|
- generic: 1.66s
|
||||||
|
- generic [ref=e221]:
|
||||||
|
- button "frame 0 ✨ 24.7s" [ref=e222]:
|
||||||
|
- img "frame 0" [ref=e223]
|
||||||
|
- generic "已清洗" [ref=e225]: ✨
|
||||||
|
- generic [ref=e226]: 24.7s
|
||||||
|
- button "📋" [ref=e227]
|
||||||
|
- button "删除该关键帧" [ref=e228]:
|
||||||
|
- img [ref=e229]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 1
|
||||||
|
- generic: 24.73s
|
||||||
|
- generic [ref=e232]:
|
||||||
|
- button "frame 1 33.6s" [ref=e233]:
|
||||||
|
- img "frame 1" [ref=e234]
|
||||||
|
- generic [ref=e235]: 33.6s
|
||||||
|
- button "📋" [ref=e236]
|
||||||
|
- button "删除该关键帧" [ref=e237]:
|
||||||
|
- img [ref=e238]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 2
|
||||||
|
- generic: 33.61s
|
||||||
|
- generic [ref=e241]:
|
||||||
|
- button "frame 2 37.7s" [ref=e242]:
|
||||||
|
- img "frame 2" [ref=e243]
|
||||||
|
- generic [ref=e244]: 37.7s
|
||||||
|
- button "📋" [ref=e245]
|
||||||
|
- button "删除该关键帧" [ref=e246]:
|
||||||
|
- img [ref=e247]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 3
|
||||||
|
- generic: 37.70s
|
||||||
|
- generic [ref=e250]:
|
||||||
|
- button "frame 3 39.4s" [ref=e251]:
|
||||||
|
- img "frame 3" [ref=e252]
|
||||||
|
- generic [ref=e253]: 39.4s
|
||||||
|
- button "📋" [ref=e254]
|
||||||
|
- button "删除该关键帧" [ref=e255]:
|
||||||
|
- img [ref=e256]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 4
|
||||||
|
- generic: 39.42s
|
||||||
|
- generic [ref=e259]:
|
||||||
|
- button "frame 4 1 43.1s" [ref=e260]:
|
||||||
|
- img "frame 4" [ref=e261]
|
||||||
|
- generic "1 个元素已抠图" [ref=e263]: "1"
|
||||||
|
- generic [ref=e264]: 43.1s
|
||||||
|
- button "📋" [ref=e265]
|
||||||
|
- button "删除该关键帧" [ref=e266]:
|
||||||
|
- img [ref=e267]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 5
|
||||||
|
- generic: 43.13s
|
||||||
|
- generic [ref=e270]:
|
||||||
|
- button "frame 5 45.0s" [ref=e271]:
|
||||||
|
- img "frame 5" [ref=e272]
|
||||||
|
- generic [ref=e273]: 45.0s
|
||||||
|
- button "📋" [ref=e274]
|
||||||
|
- button "删除该关键帧" [ref=e275]:
|
||||||
|
- img [ref=e276]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 6
|
||||||
|
- generic: 45.05s
|
||||||
|
- generic [ref=e279]:
|
||||||
|
- button "frame 6 53.6s" [ref=e280]:
|
||||||
|
- img "frame 6" [ref=e281]
|
||||||
|
- generic [ref=e282]: 53.6s
|
||||||
|
- button "📋" [ref=e283]
|
||||||
|
- button "删除该关键帧" [ref=e284]:
|
||||||
|
- img [ref=e285]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 7
|
||||||
|
- generic: 53.60s
|
||||||
|
- generic [ref=e288]:
|
||||||
|
- button "frame 7 56.0s" [ref=e289]:
|
||||||
|
- img "frame 7" [ref=e290]
|
||||||
|
- generic [ref=e291]: 56.0s
|
||||||
|
- button "📋" [ref=e292]
|
||||||
|
- button "删除该关键帧" [ref=e293]:
|
||||||
|
- img [ref=e294]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 8
|
||||||
|
- generic: 55.96s
|
||||||
|
- generic [ref=e297]:
|
||||||
|
- button "frame 8 58.4s" [ref=e298]:
|
||||||
|
- img "frame 8" [ref=e299]
|
||||||
|
- generic [ref=e300]: 58.4s
|
||||||
|
- button "📋" [ref=e301]
|
||||||
|
- button "删除该关键帧" [ref=e302]:
|
||||||
|
- img [ref=e303]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 9
|
||||||
|
- generic: 58.39s
|
||||||
|
- generic [ref=e306]:
|
||||||
|
- generic [ref=e308]:
|
||||||
|
- img [ref=e310]
|
||||||
|
- generic [ref=e314]: 镜头拆解 · 元素提取
|
||||||
|
- generic [ref=e315]:
|
||||||
|
- img [ref=e316]
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e320]:
|
||||||
|
- img [ref=e321]
|
||||||
|
- generic [ref=e324]:
|
||||||
|
- generic [ref=e325]: STEP 2 · 0/10 入编排 · 完成
|
||||||
|
- generic [ref=e326]:
|
||||||
|
- text: 自动 10 张 ·
|
||||||
|
- generic [ref=e327]: 1 已清洗
|
||||||
|
- text: ·
|
||||||
|
- generic [ref=e328]: 1/2 已抠图
|
||||||
|
- text: 点缩略图 → 清洗水印 / 提取可借鉴元素 → 改造成 SKG 画面素材
|
||||||
|
- generic "拖动调整宽度" [ref=e330]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e331]
|
||||||
|
- group [ref=e332]:
|
||||||
|
- generic [ref=e333]:
|
||||||
|
- generic [ref=e335]:
|
||||||
|
- img [ref=e337]
|
||||||
|
- generic [ref=e340]: 声音文案 · ASR
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e343]:
|
||||||
|
- img [ref=e344]
|
||||||
|
- generic [ref=e347]:
|
||||||
|
- generic [ref=e348]: STEP 3 · 可选文案轨 · 待运行
|
||||||
|
- generic [ref=e349]: Gemini 2.5 · 英文带时间戳分段
|
||||||
|
- generic "拖动调整宽度" [ref=e351]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e352]
|
||||||
|
- group [ref=e353]:
|
||||||
|
- generic [ref=e354]:
|
||||||
|
- generic [ref=e356]:
|
||||||
|
- img [ref=e358]
|
||||||
|
- generic [ref=e362]: 翻译理解 · Translate
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e365]:
|
||||||
|
- img [ref=e366]
|
||||||
|
- generic [ref=e369]:
|
||||||
|
- generic [ref=e370]: STEP 4 · EN → ZH · 待运行
|
||||||
|
- generic [ref=e371]: 中文翻译 · 段落级 · 实时输出
|
||||||
|
- generic "拖动调整宽度" [ref=e373]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e374]
|
||||||
|
- group [ref=e375]:
|
||||||
|
- generic [ref=e376]:
|
||||||
|
- generic [ref=e378]:
|
||||||
|
- button "透明骷髅" [ref=e379]:
|
||||||
|
- img "透明骷髅" [ref=e380]
|
||||||
|
- button "📋" [ref=e381]
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic:
|
||||||
|
- generic: 分镜 5
|
||||||
|
- generic: 43.13s
|
||||||
|
- generic [ref=e382]:
|
||||||
|
- generic [ref=e384]:
|
||||||
|
- img [ref=e386]
|
||||||
|
- generic [ref=e391]: 元素改造 · Storyboard
|
||||||
|
- generic [ref=e392]:
|
||||||
|
- img [ref=e393]
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e397]:
|
||||||
|
- img [ref=e398]
|
||||||
|
- generic [ref=e401]:
|
||||||
|
- generic [ref=e402]: STEP 6 · 参考元素 → SKG 画面 · 完成
|
||||||
|
- generic [ref=e403]:
|
||||||
|
- text: 不是复刻原视频:先把参考图里的主体 / 场景 / 动作 / 道具拆出来,再替换成 SKG 产品画面。
|
||||||
|
- generic [ref=e404]: 已有 1 个提取元素 · 0 个分镜进入编排
|
||||||
|
- button "进入分镜编排" [disabled] [ref=e405]
|
||||||
|
- generic "拖动调整宽度" [ref=e407]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e408]
|
||||||
|
- group [ref=e409]:
|
||||||
|
- generic [ref=e410]:
|
||||||
|
- generic [ref=e412]:
|
||||||
|
- img [ref=e414]
|
||||||
|
- generic [ref=e418]: 产品文案 · Rewrite
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e421]:
|
||||||
|
- img [ref=e422]
|
||||||
|
- generic [ref=e425]:
|
||||||
|
- generic [ref=e426]: STEP 5 · 接 SKG 卖点 · 待运行
|
||||||
|
- textbox "粘贴 SKG 产品信息 / 关键卖点(可作为视频脚本和镜头动作参考)" [disabled] [ref=e427]
|
||||||
|
- generic [ref=e428]: 下一冲刺接入
|
||||||
|
- generic "拖动调整宽度" [ref=e430]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e431]
|
||||||
|
- group [ref=e432]:
|
||||||
|
- generic [ref=e434]:
|
||||||
|
- generic [ref=e436]:
|
||||||
|
- img [ref=e438]
|
||||||
|
- generic [ref=e440]: 生成视频 · Video Gen
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e443]:
|
||||||
|
- img [ref=e444]
|
||||||
|
- generic [ref=e447]:
|
||||||
|
- generic [ref=e448]: STEP 7 · 首帧 + 动作 prompt · 待运行
|
||||||
|
- generic [ref=e449]:
|
||||||
|
- generic [ref=e450]: Seedance
|
||||||
|
- generic [ref=e451]: Kling
|
||||||
|
- generic [ref=e452]: Veo 3
|
||||||
|
- generic "拖动调整宽度" [ref=e454]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e455]
|
||||||
|
- group [ref=e456]:
|
||||||
|
- generic [ref=e457]:
|
||||||
|
- generic [ref=e459]:
|
||||||
|
- img [ref=e461]
|
||||||
|
- generic [ref=e465]: 合成成品 · Compose
|
||||||
|
- button "钉住 · 锁定位置与尺寸" [ref=e468]:
|
||||||
|
- img [ref=e469]
|
||||||
|
- generic [ref=e472]:
|
||||||
|
- generic [ref=e473]: STEP 8 · ffmpeg + 字幕 · 待运行
|
||||||
|
- generic [ref=e474]:
|
||||||
|
- text: 视频片段 + 字幕 / TTS
|
||||||
|
- text: → 最终 mp4 输出
|
||||||
|
- generic "拖动调整宽度" [ref=e475]
|
||||||
|
- generic "拖动调整大小(宽 × 高)" [ref=e476]
|
||||||
|
- img
|
||||||
|
- generic "Control Panel" [ref=e44]:
|
||||||
|
- button "Zoom In" [ref=e45] [cursor=pointer]:
|
||||||
|
- img [ref=e46]
|
||||||
|
- button "Zoom Out" [ref=e48] [cursor=pointer]:
|
||||||
|
- img [ref=e49]
|
||||||
|
- button "Fit View" [ref=e51] [cursor=pointer]:
|
||||||
|
- img [ref=e52]
|
||||||
|
- button "Toggle Interactivity" [ref=e54] [cursor=pointer]:
|
||||||
|
- img [ref=e55]
|
||||||
|
- img "Mini Map" [ref=e58]
|
||||||
|
- region "Notifications alt+T":
|
||||||
|
- list:
|
||||||
|
- listitem [ref=e485]:
|
||||||
|
- img [ref=e487]
|
||||||
|
- generic [ref=e490]: 📥 视频已就绪 — 请点 Input 节点里的「点这里开始解析」按钮
|
||||||
|
- alert [ref=e60]
|
||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
type Node, type Edge,
|
type Node, type Edge,
|
||||||
} from "@xyflow/react"
|
} from "@xyflow/react"
|
||||||
import { Toaster, toast } from "sonner"
|
import { Toaster, toast } from "sonner"
|
||||||
|
import { LayoutGrid } from "lucide-react"
|
||||||
import {
|
import {
|
||||||
InputNode, KeyframeNode, ASRNode,
|
InputNode, KeyframeNode, ASRNode,
|
||||||
TranslateNode, RewriteNode, StoryboardNode, VideoGenNode, ComposeNode, KeyframePanelNode,
|
TranslateNode, RewriteNode, StoryboardNode, VideoGenNode, ComposeNode, KeyframePanelNode,
|
||||||
@@ -498,6 +499,54 @@ export default function Home() {
|
|||||||
))
|
))
|
||||||
}, [pinnedNodes, setNodes])
|
}, [pinnedNodes, setNodes])
|
||||||
|
|
||||||
|
// 自动排版:保留每个节点的当前宽高(用户为方便看而调过的尺寸),只重新计算 position
|
||||||
|
// 让卡片按管线列分组、列间和列内留出统一间距,不重叠。
|
||||||
|
const handleResetLayout = useCallback(() => {
|
||||||
|
const zoom = flowRef.current?.getZoom?.() ?? 1
|
||||||
|
const measure = (id: string): { w: number; h: number } => {
|
||||||
|
const el = document.querySelector(`.react-flow__node[data-id="${id}"]`) as HTMLElement | null
|
||||||
|
if (!el) return { w: 320, h: 220 }
|
||||||
|
const r = el.getBoundingClientRect()
|
||||||
|
return { w: r.width / zoom, h: r.height / zoom }
|
||||||
|
}
|
||||||
|
|
||||||
|
// 按管线列分组(顶 → 底):图层 1 输入 → 5 合成
|
||||||
|
const COLUMNS: string[][] = [
|
||||||
|
["input"],
|
||||||
|
["keyframe", "asr"],
|
||||||
|
["storyboard", "translate"],
|
||||||
|
["videogen", "rewrite"],
|
||||||
|
["compose"],
|
||||||
|
]
|
||||||
|
const GAP_X = 80
|
||||||
|
const GAP_Y = 56
|
||||||
|
const START_X = 40
|
||||||
|
const START_Y = 60
|
||||||
|
|
||||||
|
const positions: Record<string, { x: number; y: number }> = {}
|
||||||
|
let cursorX = START_X
|
||||||
|
for (const col of COLUMNS) {
|
||||||
|
let cursorY = START_Y
|
||||||
|
let colMaxW = 0
|
||||||
|
for (const id of col) {
|
||||||
|
const { w, h } = measure(id)
|
||||||
|
positions[id] = { x: cursorX, y: cursorY }
|
||||||
|
cursorY += h + GAP_Y
|
||||||
|
if (w > colMaxW) colMaxW = w
|
||||||
|
}
|
||||||
|
cursorX += colMaxW + GAP_X
|
||||||
|
}
|
||||||
|
|
||||||
|
setNodes((prev) => prev.map((n) => {
|
||||||
|
if (n.id === KEYFRAME_PANEL_ID) return n
|
||||||
|
const p = positions[n.id]
|
||||||
|
if (!p) return n
|
||||||
|
return { ...n, position: { x: p.x, y: p.y } }
|
||||||
|
}))
|
||||||
|
setTimeout(() => flowRef.current?.fitView?.({ padding: 0.12, duration: 400 }), 30)
|
||||||
|
toast.success("已自动排版 · 保留每个节点的尺寸")
|
||||||
|
}, [setNodes])
|
||||||
|
|
||||||
// 持久化每个节点宽 / 高到 localStorage(KeyframePanelNode 自己管尺寸,不写回)
|
// 持久化每个节点宽 / 高到 localStorage(KeyframePanelNode 自己管尺寸,不写回)
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const sizes: Record<string, NodeSize> = {}
|
const sizes: Record<string, NodeSize> = {}
|
||||||
@@ -591,6 +640,18 @@ export default function Home() {
|
|||||||
<>
|
<>
|
||||||
<div className="canvas-bg" />
|
<div className="canvas-bg" />
|
||||||
<main className="relative h-screen w-screen overflow-hidden flex">
|
<main className="relative h-screen w-screen overflow-hidden flex">
|
||||||
|
{/* 自动整理布局 — 主题切换上方,一键恢复默认位置和宽度 */}
|
||||||
|
<div className="absolute z-30 pointer-events-auto" style={{ bottom: 228, left: 12 }}>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={handleResetLayout}
|
||||||
|
className="glass-node h-9 w-9 inline-flex items-center justify-center rounded-xl"
|
||||||
|
style={{ width: 36, height: 36, padding: 0, borderRadius: 12 }}
|
||||||
|
title="自动排版 · 保留每个节点的尺寸,重新排好间距和列布局"
|
||||||
|
>
|
||||||
|
<LayoutGrid className="h-4 w-4" />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
{/* 主题切换 — 左下角 Controls 上方(错开) */}
|
{/* 主题切换 — 左下角 Controls 上方(错开) */}
|
||||||
<div className="absolute z-30 pointer-events-auto" style={{ bottom: 180, left: 12 }}>
|
<div className="absolute z-30 pointer-events-auto" style={{ bottom: 180, left: 12 }}>
|
||||||
<ThemeToggle />
|
<ThemeToggle />
|
||||||
|
|||||||
Reference in New Issue
Block a user