auto-save 2026-05-14 00:42 (+4, ~3)
This commit is contained in:
@@ -2678,6 +2678,19 @@
|
||||
"type": "session-heartbeat",
|
||||
"message": "Claude 会话活跃 · 最近命令:claude · 1 项未提交变更 · 最近提交:auto-save 2026-05-14 00:31 (~1)",
|
||||
"files_changed": 1
|
||||
},
|
||||
{
|
||||
"ts": "2026-05-14T00:37:35+08:00",
|
||||
"type": "commit",
|
||||
"message": "auto-save 2026-05-14 00:37 (+1, ~2)",
|
||||
"hash": "302b0ed",
|
||||
"files_changed": 3
|
||||
},
|
||||
{
|
||||
"ts": "2026-05-13T16:43:10Z",
|
||||
"type": "session-heartbeat",
|
||||
"message": "Claude 会话活跃 · 最近命令:claude · 3 项未提交变更 · 最近提交:auto-save 2026-05-14 00:37 (+1, ~2)",
|
||||
"files_changed": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
17
.playwright-mcp/page-2026-05-13T16-37-39-493Z.yml
Normal file
17
.playwright-mcp/page-2026-05-13T16-37-39-493Z.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e3]:
|
||||
- application [ref=e6]:
|
||||
- img
|
||||
- generic "Control Panel" [ref=e9]:
|
||||
- button "Zoom In" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- button "Zoom Out" [ref=e13] [cursor=pointer]:
|
||||
- img [ref=e14]
|
||||
- button "Fit View" [ref=e16] [cursor=pointer]:
|
||||
- img [ref=e17]
|
||||
- button "Toggle Interactivity" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- img "Mini Map" [ref=e23]
|
||||
- region "Notifications alt+T"
|
||||
- button "Open Next.js Dev Tools" [ref=e30] [cursor=pointer]:
|
||||
- img [ref=e31]
|
||||
430
.playwright-mcp/page-2026-05-13T16-37-41-576Z.yml
Normal file
430
.playwright-mcp/page-2026-05-13T16-37-41-576Z.yml
Normal file
@@ -0,0 +1,430 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e29] [cursor=pointer]:
|
||||
- button "Open Next.js Dev Tools" [ref=e30]:
|
||||
- img [ref=e31]
|
||||
- generic [ref=e36]:
|
||||
- button "Open issues overlay" [ref=e37]:
|
||||
- generic [ref=e38]:
|
||||
- generic [ref=e39]: "0"
|
||||
- generic [ref=e40]: "1"
|
||||
- generic [ref=e41]: Issue
|
||||
- button "Collapse issues badge" [ref=e42]:
|
||||
- img [ref=e43]
|
||||
- main [ref=e46]:
|
||||
- button "切到明亮主题" [ref=e48]:
|
||||
- img [ref=e49]
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e58]:
|
||||
- generic [ref=e59]:
|
||||
- img [ref=e60]
|
||||
- generic [ref=e65]: 分镜头编排
|
||||
- generic [ref=e66]: 0 分镜 · 0 元素
|
||||
- generic [ref=e67]: · 组织分镜画面 → 为生成视频做准备
|
||||
- button "展开编排" [disabled] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- text: 展开编排
|
||||
- application [ref=e73]:
|
||||
- generic [ref=e75]:
|
||||
- generic:
|
||||
- generic:
|
||||
- img:
|
||||
- group "Edge from input to keyframe" [ref=e76] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from input to asr" [ref=e79] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from asr to translate"
|
||||
- img:
|
||||
- group "Edge from translate to rewrite" [ref=e82] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from keyframe to storyboard" [ref=e85] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from rewrite to storyboard" [ref=e88] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from storyboard to videogen" [ref=e91] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from videogen to compose" [ref=e94] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from rewrite to compose" [ref=e97] [cursor=pointer]
|
||||
- generic:
|
||||
- group [ref=e100]:
|
||||
- generic [ref=e101]:
|
||||
- generic [ref=e102]:
|
||||
- button "再上传一个视频" [ref=e103]:
|
||||
- img [ref=e104]
|
||||
- generic [ref=e105]:
|
||||
- button "64.5s" [ref=e106]:
|
||||
- generic [ref=e108]: 64.5s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 64.5s
|
||||
- generic [ref=e109]:
|
||||
- button "72.4s" [ref=e110]:
|
||||
- generic [ref=e112]: 72.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 576×1024
|
||||
- generic: 72.4s
|
||||
- generic [ref=e113]:
|
||||
- button "64.5s" [ref=e114]:
|
||||
- generic [ref=e116]: 64.5s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 64.5s
|
||||
- generic [ref=e117]:
|
||||
- button "71.4s" [ref=e118]:
|
||||
- generic [ref=e120]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- generic [ref=e121]:
|
||||
- button "72.4s" [ref=e122]:
|
||||
- generic [ref=e124]: 72.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 576×1024
|
||||
- generic: 72.4s
|
||||
- generic [ref=e125]:
|
||||
- button "71.4s" [ref=e126]:
|
||||
- generic [ref=e128]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- generic [ref=e129]:
|
||||
- button "71.4s" [ref=e130]:
|
||||
- generic [ref=e132]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- generic [ref=e133]:
|
||||
- button "71.4s" [ref=e134]:
|
||||
- generic [ref=e136]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- generic [ref=e137]:
|
||||
- button "71.4s" [ref=e138]:
|
||||
- generic [ref=e140]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- 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 "8.0s" [ref=e146]:
|
||||
- generic [ref=e148]: 8.0s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 640×360
|
||||
- generic: 8.0s
|
||||
- generic [ref=e149]:
|
||||
- button "8.0s" [ref=e150]:
|
||||
- generic [ref=e152]: 8.0s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 640×360
|
||||
- generic: 8.0s
|
||||
- generic [ref=e153]:
|
||||
- button "8.0s" [ref=e154]:
|
||||
- generic [ref=e156]: 8.0s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 640×360
|
||||
- generic: 8.0s
|
||||
- generic [ref=e157]:
|
||||
- button "8.0s" [ref=e158]:
|
||||
- generic [ref=e160]: 8.0s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 640×360
|
||||
- generic: 8.0s
|
||||
- button "…" [ref=e162]:
|
||||
- img [ref=e164]
|
||||
- generic [ref=e166]: …
|
||||
- button "…" [ref=e168]:
|
||||
- img [ref=e170]
|
||||
- generic [ref=e172]: …
|
||||
- button "…" [ref=e174]:
|
||||
- img [ref=e176]
|
||||
- generic [ref=e178]: …
|
||||
- generic [ref=e179]:
|
||||
- generic [ref=e180]:
|
||||
- img [ref=e182]
|
||||
- generic [ref=e185]: 输入 · Input
|
||||
- img [ref=e187]
|
||||
- generic [ref=e191]:
|
||||
- generic [ref=e192]: STEP 1 · 视频就绪 · 完成
|
||||
- textbox "再加一个 TK 链接" [ref=e193]
|
||||
- generic [ref=e194]:
|
||||
- button "+ 加链接" [disabled] [ref=e195]
|
||||
- button "再传一个" [ref=e196]:
|
||||
- img [ref=e197]
|
||||
- text: 再传一个
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e201]: 1080×1920 · 64.5s
|
||||
- generic [ref=e202]: 🔗 链接
|
||||
- button "重新解析" [ref=e203]
|
||||
- generic "拖动调整宽度" [ref=e205]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e206]
|
||||
- group [ref=e207]:
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]:
|
||||
- generic [ref=e210]:
|
||||
- button "frame 9 1.7s" [ref=e211]:
|
||||
- img "frame 9" [ref=e212]
|
||||
- generic [ref=e213]: 1.7s
|
||||
- button "📋" [ref=e214]
|
||||
- button "删除该关键帧" [ref=e215]:
|
||||
- img [ref=e216]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 10
|
||||
- generic: 1.66s
|
||||
- generic [ref=e219]:
|
||||
- button "frame 0 ✨ 24.7s" [ref=e220]:
|
||||
- img "frame 0" [ref=e221]
|
||||
- generic "已清洗" [ref=e223]: ✨
|
||||
- generic [ref=e224]: 24.7s
|
||||
- button "📋" [ref=e225]
|
||||
- button "删除该关键帧" [ref=e226]:
|
||||
- img [ref=e227]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 1
|
||||
- generic: 24.73s
|
||||
- generic [ref=e230]:
|
||||
- button "frame 1 33.6s" [ref=e231]:
|
||||
- img "frame 1" [ref=e232]
|
||||
- generic [ref=e233]: 33.6s
|
||||
- button "📋" [ref=e234]
|
||||
- button "删除该关键帧" [ref=e235]:
|
||||
- img [ref=e236]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 2
|
||||
- generic: 33.61s
|
||||
- generic [ref=e239]:
|
||||
- button "frame 2 37.7s" [ref=e240]:
|
||||
- img "frame 2" [ref=e241]
|
||||
- generic [ref=e242]: 37.7s
|
||||
- button "📋" [ref=e243]
|
||||
- button "删除该关键帧" [ref=e244]:
|
||||
- img [ref=e245]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 3
|
||||
- generic: 37.70s
|
||||
- generic [ref=e248]:
|
||||
- button "frame 3 39.4s" [ref=e249]:
|
||||
- img "frame 3" [ref=e250]
|
||||
- generic [ref=e251]: 39.4s
|
||||
- button "📋" [ref=e252]
|
||||
- button "删除该关键帧" [ref=e253]:
|
||||
- img [ref=e254]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 4
|
||||
- generic: 39.42s
|
||||
- generic [ref=e257]:
|
||||
- button "frame 4 1 43.1s" [ref=e258]:
|
||||
- img "frame 4" [ref=e259]
|
||||
- generic "1 个元素已抠图" [ref=e261]: "1"
|
||||
- generic [ref=e262]: 43.1s
|
||||
- button "📋" [ref=e263]
|
||||
- button "删除该关键帧" [ref=e264]:
|
||||
- img [ref=e265]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 5
|
||||
- generic: 43.13s
|
||||
- generic [ref=e268]:
|
||||
- button "frame 5 45.0s" [ref=e269]:
|
||||
- img "frame 5" [ref=e270]
|
||||
- generic [ref=e271]: 45.0s
|
||||
- button "📋" [ref=e272]
|
||||
- button "删除该关键帧" [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 6
|
||||
- generic: 45.05s
|
||||
- generic [ref=e277]:
|
||||
- button "frame 6 53.6s" [ref=e278]:
|
||||
- img "frame 6" [ref=e279]
|
||||
- generic [ref=e280]: 53.6s
|
||||
- button "📋" [ref=e281]
|
||||
- button "删除该关键帧" [ref=e282]:
|
||||
- img [ref=e283]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 7
|
||||
- generic: 53.60s
|
||||
- generic [ref=e286]:
|
||||
- button "frame 7 56.0s" [ref=e287]:
|
||||
- img "frame 7" [ref=e288]
|
||||
- generic [ref=e289]: 56.0s
|
||||
- button "📋" [ref=e290]
|
||||
- button "删除该关键帧" [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 8
|
||||
- generic: 55.96s
|
||||
- generic [ref=e295]:
|
||||
- button "frame 8 58.4s" [ref=e296]:
|
||||
- img "frame 8" [ref=e297]
|
||||
- generic [ref=e298]: 58.4s
|
||||
- button "📋" [ref=e299]
|
||||
- button "删除该关键帧" [ref=e300]:
|
||||
- img [ref=e301]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 9
|
||||
- generic: 58.39s
|
||||
- generic [ref=e304]:
|
||||
- generic [ref=e306]:
|
||||
- img [ref=e308]
|
||||
- generic [ref=e312]: 镜头拆解 · 元素提取
|
||||
- img [ref=e314]
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: STEP 2 · 0/10 入编排 · 完成
|
||||
- generic [ref=e320]:
|
||||
- text: 自动 10 张 ·
|
||||
- generic [ref=e321]: 1 已清洗
|
||||
- text: ·
|
||||
- generic [ref=e322]: 1/2 已抠图
|
||||
- text: 点缩略图 → 清洗水印 / 提取可借鉴元素 → 改造成 SKG 画面素材
|
||||
- generic "拖动调整宽度" [ref=e324]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e325]
|
||||
- group [ref=e326]:
|
||||
- generic [ref=e327]:
|
||||
- generic [ref=e329]:
|
||||
- img [ref=e331]
|
||||
- generic [ref=e334]: 声音文案 · ASR
|
||||
- generic [ref=e337]:
|
||||
- generic [ref=e338]: STEP 3 · 可选文案轨 · 待运行
|
||||
- generic [ref=e339]: Gemini 2.5 · 英文带时间戳分段
|
||||
- generic "拖动调整宽度" [ref=e341]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e342]
|
||||
- group [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e346]:
|
||||
- img [ref=e348]
|
||||
- generic [ref=e352]: 翻译理解 · Translate
|
||||
- generic [ref=e355]:
|
||||
- generic [ref=e356]: STEP 4 · EN → ZH · 待运行
|
||||
- generic [ref=e357]: 中文翻译 · 段落级 · 实时输出
|
||||
- generic "拖动调整宽度" [ref=e359]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e360]
|
||||
- group [ref=e361]:
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e364]:
|
||||
- button "透明骷髅" [ref=e365]:
|
||||
- img "透明骷髅" [ref=e366]
|
||||
- button "📋" [ref=e367]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 5
|
||||
- generic: 43.13s
|
||||
- generic [ref=e368]:
|
||||
- generic [ref=e370]:
|
||||
- img [ref=e372]
|
||||
- generic [ref=e377]: 元素改造 · Storyboard
|
||||
- img [ref=e379]
|
||||
- generic [ref=e383]:
|
||||
- generic [ref=e384]: STEP 6 · 参考元素 → SKG 画面 · 完成
|
||||
- generic [ref=e385]:
|
||||
- text: 不是复刻原视频:先把参考图里的主体 / 场景 / 动作 / 道具拆出来,再替换成 SKG 产品画面。
|
||||
- generic [ref=e386]: 已有 1 个提取元素 · 0 个分镜进入编排
|
||||
- button "进入分镜编排" [disabled] [ref=e387]
|
||||
- generic "拖动调整宽度" [ref=e389]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e390]
|
||||
- group [ref=e391]:
|
||||
- generic [ref=e392]:
|
||||
- generic [ref=e394]:
|
||||
- img [ref=e396]
|
||||
- generic [ref=e400]: 产品文案 · Rewrite
|
||||
- generic [ref=e403]:
|
||||
- generic [ref=e404]: STEP 5 · 接 SKG 卖点 · 待运行
|
||||
- textbox "粘贴 SKG 产品信息 / 关键卖点(可作为视频脚本和镜头动作参考)" [disabled] [ref=e405]
|
||||
- generic [ref=e406]: 下一冲刺接入
|
||||
- generic "拖动调整宽度" [ref=e408]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e409]
|
||||
- group [ref=e410]:
|
||||
- generic [ref=e412]:
|
||||
- generic [ref=e414]:
|
||||
- img [ref=e416]
|
||||
- generic [ref=e418]: 生成视频 · Video Gen
|
||||
- generic [ref=e421]:
|
||||
- generic [ref=e422]: STEP 7 · 首帧 + 动作 prompt · 待运行
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: Seedance
|
||||
- generic [ref=e425]: Kling
|
||||
- generic [ref=e426]: Veo 3
|
||||
- generic "拖动调整宽度" [ref=e428]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e429]
|
||||
- group [ref=e430]:
|
||||
- generic [ref=e431]:
|
||||
- generic [ref=e433]:
|
||||
- img [ref=e435]
|
||||
- generic [ref=e439]: 合成成品 · Compose
|
||||
- generic [ref=e442]:
|
||||
- generic [ref=e443]: STEP 8 · ffmpeg + 字幕 · 待运行
|
||||
- generic [ref=e444]:
|
||||
- text: 视频片段 + 字幕 / TTS
|
||||
- text: → 最终 mp4 输出
|
||||
- generic "拖动调整宽度" [ref=e445]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e446]
|
||||
- img
|
||||
- generic "Control Panel" [ref=e447]:
|
||||
- button "Zoom In" [ref=e448] [cursor=pointer]:
|
||||
- img [ref=e449]
|
||||
- button "Zoom Out" [ref=e451] [cursor=pointer]:
|
||||
- img [ref=e452]
|
||||
- button "Fit View" [ref=e454] [cursor=pointer]:
|
||||
- img [ref=e455]
|
||||
- button "Toggle Interactivity" [ref=e457] [cursor=pointer]:
|
||||
- img [ref=e458]
|
||||
- img "Mini Map" [ref=e461]
|
||||
- region "Notifications alt+T":
|
||||
- list:
|
||||
- listitem [ref=e471]:
|
||||
- img [ref=e473]
|
||||
- generic [ref=e476]: 📥 视频已就绪 — 请点 Input 节点里的「点这里开始解析」按钮
|
||||
- alert [ref=e477]
|
||||
17
.playwright-mcp/page-2026-05-13T16-38-07-160Z.yml
Normal file
17
.playwright-mcp/page-2026-05-13T16-38-07-160Z.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- main [ref=e3]:
|
||||
- application [ref=e6]:
|
||||
- img
|
||||
- generic "Control Panel" [ref=e9]:
|
||||
- button "Zoom In" [ref=e10] [cursor=pointer]:
|
||||
- img [ref=e11]
|
||||
- button "Zoom Out" [ref=e13] [cursor=pointer]:
|
||||
- img [ref=e14]
|
||||
- button "Fit View" [ref=e16] [cursor=pointer]:
|
||||
- img [ref=e17]
|
||||
- button "Toggle Interactivity" [ref=e19] [cursor=pointer]:
|
||||
- img [ref=e20]
|
||||
- img "Mini Map" [ref=e23]
|
||||
- region "Notifications alt+T"
|
||||
- button "Open Next.js Dev Tools" [ref=e30] [cursor=pointer]:
|
||||
- img [ref=e31]
|
||||
430
.playwright-mcp/page-2026-05-13T16-38-09-677Z.yml
Normal file
430
.playwright-mcp/page-2026-05-13T16-38-09-677Z.yml
Normal file
@@ -0,0 +1,430 @@
|
||||
- generic [active] [ref=e1]:
|
||||
- generic [ref=e29] [cursor=pointer]:
|
||||
- button "Open Next.js Dev Tools" [ref=e30]:
|
||||
- img [ref=e31]
|
||||
- generic [ref=e36]:
|
||||
- button "Open issues overlay" [ref=e37]:
|
||||
- generic [ref=e38]:
|
||||
- generic [ref=e39]: "0"
|
||||
- generic [ref=e40]: "1"
|
||||
- generic [ref=e41]: Issue
|
||||
- button "Collapse issues badge" [ref=e42]:
|
||||
- img [ref=e43]
|
||||
- main [ref=e46]:
|
||||
- button "切到明亮主题" [ref=e48]:
|
||||
- img [ref=e49]
|
||||
- generic [ref=e55]:
|
||||
- generic [ref=e58]:
|
||||
- generic [ref=e59]:
|
||||
- img [ref=e60]
|
||||
- generic [ref=e65]: 分镜头编排
|
||||
- generic [ref=e66]: 0 分镜 · 0 元素
|
||||
- generic [ref=e67]: · 组织分镜画面 → 为生成视频做准备
|
||||
- button "展开编排" [disabled] [ref=e69]:
|
||||
- img [ref=e70]
|
||||
- text: 展开编排
|
||||
- application [ref=e73]:
|
||||
- generic [ref=e75]:
|
||||
- generic:
|
||||
- generic:
|
||||
- img:
|
||||
- group "Edge from input to keyframe" [ref=e76] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from input to asr" [ref=e79] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from asr to translate"
|
||||
- img:
|
||||
- group "Edge from translate to rewrite" [ref=e82] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from keyframe to storyboard" [ref=e85] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from rewrite to storyboard" [ref=e88] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from storyboard to videogen" [ref=e91] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from videogen to compose" [ref=e94] [cursor=pointer]
|
||||
- img:
|
||||
- group "Edge from rewrite to compose" [ref=e97] [cursor=pointer]
|
||||
- generic:
|
||||
- group [ref=e100]:
|
||||
- generic [ref=e101]:
|
||||
- generic [ref=e102]:
|
||||
- button "再上传一个视频" [ref=e103]:
|
||||
- img [ref=e104]
|
||||
- generic [ref=e105]:
|
||||
- button "64.5s" [ref=e106]:
|
||||
- generic [ref=e108]: 64.5s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 64.5s
|
||||
- generic [ref=e109]:
|
||||
- button "72.4s" [ref=e110]:
|
||||
- generic [ref=e112]: 72.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 576×1024
|
||||
- generic: 72.4s
|
||||
- generic [ref=e113]:
|
||||
- button "64.5s" [ref=e114]:
|
||||
- generic [ref=e116]: 64.5s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 64.5s
|
||||
- generic [ref=e117]:
|
||||
- button "71.4s" [ref=e118]:
|
||||
- generic [ref=e120]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- generic [ref=e121]:
|
||||
- button "72.4s" [ref=e122]:
|
||||
- generic [ref=e124]: 72.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 576×1024
|
||||
- generic: 72.4s
|
||||
- generic [ref=e125]:
|
||||
- button "71.4s" [ref=e126]:
|
||||
- generic [ref=e128]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- generic [ref=e129]:
|
||||
- button "71.4s" [ref=e130]:
|
||||
- generic [ref=e132]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- generic [ref=e133]:
|
||||
- button "71.4s" [ref=e134]:
|
||||
- generic [ref=e136]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- generic [ref=e137]:
|
||||
- button "71.4s" [ref=e138]:
|
||||
- generic [ref=e140]: 71.4s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 1080×1920
|
||||
- generic: 71.4s
|
||||
- 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 "8.0s" [ref=e146]:
|
||||
- generic [ref=e148]: 8.0s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 640×360
|
||||
- generic: 8.0s
|
||||
- generic [ref=e149]:
|
||||
- button "8.0s" [ref=e150]:
|
||||
- generic [ref=e152]: 8.0s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 640×360
|
||||
- generic: 8.0s
|
||||
- generic [ref=e153]:
|
||||
- button "8.0s" [ref=e154]:
|
||||
- generic [ref=e156]: 8.0s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 640×360
|
||||
- generic: 8.0s
|
||||
- generic [ref=e157]:
|
||||
- button "8.0s" [ref=e158]:
|
||||
- generic [ref=e160]: 8.0s
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 640×360
|
||||
- generic: 8.0s
|
||||
- button "…" [ref=e162]:
|
||||
- img [ref=e164]
|
||||
- generic [ref=e166]: …
|
||||
- button "…" [ref=e168]:
|
||||
- img [ref=e170]
|
||||
- generic [ref=e172]: …
|
||||
- button "…" [ref=e174]:
|
||||
- img [ref=e176]
|
||||
- generic [ref=e178]: …
|
||||
- generic [ref=e179]:
|
||||
- generic [ref=e180]:
|
||||
- img [ref=e182]
|
||||
- generic [ref=e185]: 输入 · Input
|
||||
- img [ref=e187]
|
||||
- generic [ref=e191]:
|
||||
- generic [ref=e192]: STEP 1 · 视频就绪 · 完成
|
||||
- textbox "再加一个 TK 链接" [ref=e193]
|
||||
- generic [ref=e194]:
|
||||
- button "+ 加链接" [disabled] [ref=e195]
|
||||
- button "再传一个" [ref=e196]:
|
||||
- img [ref=e197]
|
||||
- text: 再传一个
|
||||
- generic [ref=e200]:
|
||||
- generic [ref=e201]: 1080×1920 · 64.5s
|
||||
- generic [ref=e202]: 🔗 链接
|
||||
- button "重新解析" [ref=e203]
|
||||
- generic "拖动调整宽度" [ref=e205]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e206]
|
||||
- group [ref=e207]:
|
||||
- generic [ref=e208]:
|
||||
- generic [ref=e209]:
|
||||
- generic [ref=e210]:
|
||||
- button "frame 9 1.7s" [ref=e211]:
|
||||
- img "frame 9" [ref=e212]
|
||||
- generic [ref=e213]: 1.7s
|
||||
- button "📋" [ref=e214]
|
||||
- button "删除该关键帧" [ref=e215]:
|
||||
- img [ref=e216]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 10
|
||||
- generic: 1.66s
|
||||
- generic [ref=e219]:
|
||||
- button "frame 0 ✨ 24.7s" [ref=e220]:
|
||||
- img "frame 0" [ref=e221]
|
||||
- generic "已清洗" [ref=e223]: ✨
|
||||
- generic [ref=e224]: 24.7s
|
||||
- button "📋" [ref=e225]
|
||||
- button "删除该关键帧" [ref=e226]:
|
||||
- img [ref=e227]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 1
|
||||
- generic: 24.73s
|
||||
- generic [ref=e230]:
|
||||
- button "frame 1 33.6s" [ref=e231]:
|
||||
- img "frame 1" [ref=e232]
|
||||
- generic [ref=e233]: 33.6s
|
||||
- button "📋" [ref=e234]
|
||||
- button "删除该关键帧" [ref=e235]:
|
||||
- img [ref=e236]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 2
|
||||
- generic: 33.61s
|
||||
- generic [ref=e239]:
|
||||
- button "frame 2 37.7s" [ref=e240]:
|
||||
- img "frame 2" [ref=e241]
|
||||
- generic [ref=e242]: 37.7s
|
||||
- button "📋" [ref=e243]
|
||||
- button "删除该关键帧" [ref=e244]:
|
||||
- img [ref=e245]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 3
|
||||
- generic: 37.70s
|
||||
- generic [ref=e248]:
|
||||
- button "frame 3 39.4s" [ref=e249]:
|
||||
- img "frame 3" [ref=e250]
|
||||
- generic [ref=e251]: 39.4s
|
||||
- button "📋" [ref=e252]
|
||||
- button "删除该关键帧" [ref=e253]:
|
||||
- img [ref=e254]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 4
|
||||
- generic: 39.42s
|
||||
- generic [ref=e257]:
|
||||
- button "frame 4 1 43.1s" [ref=e258]:
|
||||
- img "frame 4" [ref=e259]
|
||||
- generic "1 个元素已抠图" [ref=e261]: "1"
|
||||
- generic [ref=e262]: 43.1s
|
||||
- button "📋" [ref=e263]
|
||||
- button "删除该关键帧" [ref=e264]:
|
||||
- img [ref=e265]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 5
|
||||
- generic: 43.13s
|
||||
- generic [ref=e268]:
|
||||
- button "frame 5 45.0s" [ref=e269]:
|
||||
- img "frame 5" [ref=e270]
|
||||
- generic [ref=e271]: 45.0s
|
||||
- button "📋" [ref=e272]
|
||||
- button "删除该关键帧" [ref=e273]:
|
||||
- img [ref=e274]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 6
|
||||
- generic: 45.05s
|
||||
- generic [ref=e277]:
|
||||
- button "frame 6 53.6s" [ref=e278]:
|
||||
- img "frame 6" [ref=e279]
|
||||
- generic [ref=e280]: 53.6s
|
||||
- button "📋" [ref=e281]
|
||||
- button "删除该关键帧" [ref=e282]:
|
||||
- img [ref=e283]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 7
|
||||
- generic: 53.60s
|
||||
- generic [ref=e286]:
|
||||
- button "frame 7 56.0s" [ref=e287]:
|
||||
- img "frame 7" [ref=e288]
|
||||
- generic [ref=e289]: 56.0s
|
||||
- button "📋" [ref=e290]
|
||||
- button "删除该关键帧" [ref=e291]:
|
||||
- img [ref=e292]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 8
|
||||
- generic: 55.96s
|
||||
- generic [ref=e295]:
|
||||
- button "frame 8 58.4s" [ref=e296]:
|
||||
- img "frame 8" [ref=e297]
|
||||
- generic [ref=e298]: 58.4s
|
||||
- button "📋" [ref=e299]
|
||||
- button "删除该关键帧" [ref=e300]:
|
||||
- img [ref=e301]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 9
|
||||
- generic: 58.39s
|
||||
- generic [ref=e304]:
|
||||
- generic [ref=e306]:
|
||||
- img [ref=e308]
|
||||
- generic [ref=e312]: 镜头拆解 · 元素提取
|
||||
- img [ref=e314]
|
||||
- generic [ref=e318]:
|
||||
- generic [ref=e319]: STEP 2 · 0/10 入编排 · 完成
|
||||
- generic [ref=e320]:
|
||||
- text: 自动 10 张 ·
|
||||
- generic [ref=e321]: 1 已清洗
|
||||
- text: ·
|
||||
- generic [ref=e322]: 1/2 已抠图
|
||||
- text: 点缩略图 → 清洗水印 / 提取可借鉴元素 → 改造成 SKG 画面素材
|
||||
- generic "拖动调整宽度" [ref=e324]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e325]
|
||||
- group [ref=e326]:
|
||||
- generic [ref=e327]:
|
||||
- generic [ref=e329]:
|
||||
- img [ref=e331]
|
||||
- generic [ref=e334]: 声音文案 · ASR
|
||||
- generic [ref=e337]:
|
||||
- generic [ref=e338]: STEP 3 · 可选文案轨 · 待运行
|
||||
- generic [ref=e339]: Gemini 2.5 · 英文带时间戳分段
|
||||
- generic "拖动调整宽度" [ref=e341]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e342]
|
||||
- group [ref=e343]:
|
||||
- generic [ref=e344]:
|
||||
- generic [ref=e346]:
|
||||
- img [ref=e348]
|
||||
- generic [ref=e352]: 翻译理解 · Translate
|
||||
- generic [ref=e355]:
|
||||
- generic [ref=e356]: STEP 4 · EN → ZH · 待运行
|
||||
- generic [ref=e357]: 中文翻译 · 段落级 · 实时输出
|
||||
- generic "拖动调整宽度" [ref=e359]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e360]
|
||||
- group [ref=e361]:
|
||||
- generic [ref=e362]:
|
||||
- generic [ref=e364]:
|
||||
- button "透明骷髅" [ref=e365]:
|
||||
- img "透明骷髅" [ref=e366]
|
||||
- button "📋" [ref=e367]
|
||||
- generic:
|
||||
- generic:
|
||||
- generic:
|
||||
- generic: 分镜 5
|
||||
- generic: 43.13s
|
||||
- generic [ref=e368]:
|
||||
- generic [ref=e370]:
|
||||
- img [ref=e372]
|
||||
- generic [ref=e377]: 元素改造 · Storyboard
|
||||
- img [ref=e379]
|
||||
- generic [ref=e383]:
|
||||
- generic [ref=e384]: STEP 6 · 参考元素 → SKG 画面 · 完成
|
||||
- generic [ref=e385]:
|
||||
- text: 不是复刻原视频:先把参考图里的主体 / 场景 / 动作 / 道具拆出来,再替换成 SKG 产品画面。
|
||||
- generic [ref=e386]: 已有 1 个提取元素 · 0 个分镜进入编排
|
||||
- button "进入分镜编排" [disabled] [ref=e387]
|
||||
- generic "拖动调整宽度" [ref=e389]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e390]
|
||||
- group [ref=e391]:
|
||||
- generic [ref=e392]:
|
||||
- generic [ref=e394]:
|
||||
- img [ref=e396]
|
||||
- generic [ref=e400]: 产品文案 · Rewrite
|
||||
- generic [ref=e403]:
|
||||
- generic [ref=e404]: STEP 5 · 接 SKG 卖点 · 待运行
|
||||
- textbox "粘贴 SKG 产品信息 / 关键卖点(可作为视频脚本和镜头动作参考)" [disabled] [ref=e405]
|
||||
- generic [ref=e406]: 下一冲刺接入
|
||||
- generic "拖动调整宽度" [ref=e408]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e409]
|
||||
- group [ref=e410]:
|
||||
- generic [ref=e412]:
|
||||
- generic [ref=e414]:
|
||||
- img [ref=e416]
|
||||
- generic [ref=e418]: 生成视频 · Video Gen
|
||||
- generic [ref=e421]:
|
||||
- generic [ref=e422]: STEP 7 · 首帧 + 动作 prompt · 待运行
|
||||
- generic [ref=e423]:
|
||||
- generic [ref=e424]: Seedance
|
||||
- generic [ref=e425]: Kling
|
||||
- generic [ref=e426]: Veo 3
|
||||
- generic "拖动调整宽度" [ref=e428]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e429]
|
||||
- group [ref=e430]:
|
||||
- generic [ref=e431]:
|
||||
- generic [ref=e433]:
|
||||
- img [ref=e435]
|
||||
- generic [ref=e439]: 合成成品 · Compose
|
||||
- generic [ref=e442]:
|
||||
- generic [ref=e443]: STEP 8 · ffmpeg + 字幕 · 待运行
|
||||
- generic [ref=e444]:
|
||||
- text: 视频片段 + 字幕 / TTS
|
||||
- text: → 最终 mp4 输出
|
||||
- generic "拖动调整宽度" [ref=e445]
|
||||
- generic "拖动调整大小(宽 × 高)" [ref=e446]
|
||||
- img
|
||||
- generic "Control Panel" [ref=e447]:
|
||||
- button "Zoom In" [ref=e448] [cursor=pointer]:
|
||||
- img [ref=e449]
|
||||
- button "Zoom Out" [ref=e451] [cursor=pointer]:
|
||||
- img [ref=e452]
|
||||
- button "Fit View" [ref=e454] [cursor=pointer]:
|
||||
- img [ref=e455]
|
||||
- button "Toggle Interactivity" [ref=e457] [cursor=pointer]:
|
||||
- img [ref=e458]
|
||||
- img "Mini Map" [ref=e461]
|
||||
- region "Notifications alt+T":
|
||||
- list:
|
||||
- listitem [ref=e471]:
|
||||
- img [ref=e473]
|
||||
- generic [ref=e476]: 📥 视频已就绪 — 请点 Input 节点里的「点这里开始解析」按钮
|
||||
- alert [ref=e477]
|
||||
@@ -118,7 +118,7 @@ export function InputNode({ data, selected }: NodeProps<{ data: NodeData }> | an
|
||||
onClick={(e) => { e.stopPropagation(); fileRef.current?.click() }}
|
||||
title="再上传一个视频"
|
||||
className="shrink-0 rounded-md border border-dashed border-white/30 hover:border-white/50 bg-white/[0.04] hover:bg-white/[0.08] inline-flex items-center justify-center text-white/60 hover:text-white transition"
|
||||
style={{ width: 36, height: 64 }}
|
||||
style={{ width: 44, height: 80 }}
|
||||
>
|
||||
<Plus className="h-4 w-4" />
|
||||
</button>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client"
|
||||
import { type ReactNode } from "react"
|
||||
import { Handle, Position } from "@xyflow/react"
|
||||
import { CheckCircle2, Loader2, AlertCircle } from "lucide-react"
|
||||
import { CheckCircle2, Loader2, AlertCircle, Pin } from "lucide-react"
|
||||
import { ResizeRight, ResizeBR } from "./resize-handle"
|
||||
|
||||
export type NodeKind = "input" | "process" | "ai" | "output"
|
||||
@@ -17,6 +17,8 @@ interface Props {
|
||||
selected?: boolean
|
||||
hasTarget?: boolean
|
||||
hasSource?: boolean
|
||||
pinned?: boolean // 钉下 → 锁定位置与尺寸,不可拖动、不显示 resize 把手
|
||||
onTogglePin?: () => void
|
||||
children?: ReactNode
|
||||
}
|
||||
|
||||
@@ -44,11 +46,13 @@ export function NodeShell({
|
||||
selected,
|
||||
hasTarget = true,
|
||||
hasSource = true,
|
||||
pinned = false,
|
||||
onTogglePin,
|
||||
children,
|
||||
}: Props) {
|
||||
return (
|
||||
<div
|
||||
className={`glass-node ${selected ? "glass-node--selected" : ""} ${status === "running" ? "glass-node--running" : ""}`}
|
||||
className={`glass-node ${selected ? "glass-node--selected" : ""} ${status === "running" ? "glass-node--running" : ""} ${pinned ? "glass-node--pinned" : ""}`}
|
||||
data-type={type}
|
||||
style={{ width, height: "100%" }}
|
||||
>
|
||||
@@ -62,6 +66,21 @@ export function NodeShell({
|
||||
status === "done" ? <CheckCircle2 className="h-3 w-3" /> :
|
||||
status === "failed" ? <AlertCircle className="h-3 w-3" /> : null}
|
||||
<span className={STATUS_DOT[status]} />
|
||||
{onTogglePin && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={(e) => { e.stopPropagation(); onTogglePin() }}
|
||||
onMouseDown={(e) => e.stopPropagation()}
|
||||
title={pinned ? "已钉住 · 点击取消(恢复可拖、可缩放)" : "钉住 · 锁定位置与尺寸"}
|
||||
className={`nodrag inline-flex h-5 w-5 items-center justify-center rounded transition ${
|
||||
pinned
|
||||
? "bg-violet-500/85 text-white shadow"
|
||||
: "text-white/55 hover:bg-white/15 hover:text-white"
|
||||
}`}
|
||||
>
|
||||
<Pin className={`h-3 w-3 ${pinned ? "" : "rotate-45"}`} />
|
||||
</button>
|
||||
)}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -75,8 +94,8 @@ export function NodeShell({
|
||||
</div>
|
||||
|
||||
{hasSource && <Handle type="source" position={Position.Right} />}
|
||||
<ResizeRight />
|
||||
<ResizeBR />
|
||||
{!pinned && <ResizeRight />}
|
||||
{!pinned && <ResizeBR />}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user