diff --git a/.memory/worklog.json b/.memory/worklog.json
index 9b053fb..2ec8e30 100644
--- a/.memory/worklog.json
+++ b/.memory/worklog.json
@@ -1,26 +1,5 @@
{
"entries": [
- {
- "files_changed": 1,
- "hash": "9279e55",
- "message": "auto-save 2026-05-12 22:47 (~1)",
- "ts": "2026-05-12T22:47:55+08:00",
- "type": "commit"
- },
- {
- "files_changed": 1,
- "hash": "e731a7c",
- "message": "auto-save 2026-05-12 22:53 (~1)",
- "ts": "2026-05-12T22:53:47+08:00",
- "type": "commit"
- },
- {
- "files_changed": 1,
- "hash": "586f399",
- "message": "auto-save 2026-05-12 22:59 (~1)",
- "ts": "2026-05-12T22:59:40+08:00",
- "type": "commit"
- },
{
"files_changed": 1,
"hash": "020dfc9",
@@ -3330,6 +3309,25 @@
"type": "session-heartbeat",
"message": "Claude 会话活跃 · 最近命令:claude · 1 项未提交变更 · 最近提交:auto-save 2026-05-14 09:19 (~2)",
"files_changed": 1
+ },
+ {
+ "ts": "2026-05-14T09:25:05+08:00",
+ "type": "commit",
+ "message": "auto-save 2026-05-14 09:24 (~2)",
+ "hash": "521c142",
+ "files_changed": 2
+ },
+ {
+ "ts": "2026-05-14T01:26:09Z",
+ "type": "session-heartbeat",
+ "message": "Codex 会话活跃 · 最近命令:codex · 2 项未提交变更 · 最近提交:auto-save 2026-05-14 09:24 (~2)",
+ "files_changed": 2
+ },
+ {
+ "ts": "2026-05-14T01:30:31Z",
+ "type": "session-heartbeat",
+ "message": "Claude 会话活跃 · 最近命令:claude · 2 项未提交变更 · 最近提交:auto-save 2026-05-14 09:24 (~2)",
+ "files_changed": 2
}
]
}
diff --git a/docs/source-analysis.html b/docs/source-analysis.html
index fb2e876..692ea1f 100644
--- a/docs/source-analysis.html
+++ b/docs/source-analysis.html
@@ -556,7 +556,7 @@
3
清洗水印
对关键帧做全图或区域清洗,必要时应用为当前参考图。
4
主体识别
识别场景和主体候选,只是候选,不应锁死。
5
素材准备
清洗关键帧,把多张关键帧作为同一主体的参考,先重绘六张标准站立主体资产图,再按关键帧生成多个去主体、相似或换风格场景图。
- 6
分镜改造
把参考主体、场景、动作和 SKG 产品放入分镜结构;产品融合使用 6 行镜头组,每行绑定产品图、白底人物图、产品区域、场景图、描述词和秒数。
+ 6
分镜改造
把参考主体、场景、动作和 SKG 产品放入分镜结构;产品融合使用纵向 6 行镜头工作表,每行绑定产品图、白底人物图、产品区域、场景图、描述词、秒数和单条生成入口。
7
生成视频
普通分镜可调用 Seedance / Kling / Veo 3;产品融合固定用 GPT Image 2 生成位置引导图,再用 Seedance 按秒数生成视频,结果回写到画面工作台节点。
8
合成成品
片段、字幕、配音、转场合成最终 mp4。当前未实现。
@@ -571,7 +571,7 @@
web/app/page.tsx | 产品工作台主状态:jobs、activeJobId、selectedFrames、clipboard、ReactFlow 节点和边;负责打开/找回画布工作面板。 |
web/components/nodes/index.tsx | DAG 节点定义:Input、VisualLab、Audio、Compose,以及画布工作面板 KeyframePanel / VideoFramePanel;旧 Keyframe/Storyboard/VideoGen 组件保留但不再挂主画布。 |
- web/components/lightbox.tsx | 关键帧素材准备面板:清洗、统一主体候选、参考帧网格、六张主体重绘图、每帧去主体场景图、6 行产品融合镜头组和审核。 |
+ web/components/lightbox.tsx | 关键帧素材准备面板:清洗、统一主体候选、参考帧网格、六张主体重绘图、每帧去主体场景图、纵向 6 行产品融合镜头工作表和审核。 |
web/components/product-library-picker.tsx | SKG 内置白底产品图库选择器:搜索、品类筛选、预览尺寸,并把库内图片复制为当前 job 的 asset。 |
web/components/storyboard-bar.tsx | 顶部分镜编排条:展示选入编排的关键帧,并作为唯一分镜导航。 |
web/components/storyboard-workbench.tsx | 顶部分镜编排条下方的明细区:4 图槽、改造目标、时长、自动保存。 |
@@ -625,7 +625,7 @@ api/main.py
你看到的区域关键帧素材审核面板
-
主要源码FrameLightbox;按“原图/清洗、主体资产、场景图、产品融合、审核”五个页签组织;左侧只放主图/框选画布,但主体资产页左侧改为全部已清洗/已选参考帧网格,场景图页左侧显示全部关键帧并可勾选场景参考,产品融合页左侧改为 6 行镜头表:产品图、白底人物图、人物图上的产品区域、场景图和描述词一一对应;产品融合槽位的“粘贴”优先使用应用内 clipboard,也支持选中槽位后 Cmd+V 粘贴系统图片。右侧承载当前镜头秒数、GPT Image 2 / Seedance 固定模型、AI 描述草稿、单条生成和批量排队。主体资产页只确认一个统一主体,后端按参考重绘六张纯背景、占满画面的标准站立主体图;场景图依赖主体资产,右侧通过地点、生成方式、风格和参考要素拼出可编辑 prompt,再按当前关键帧生成去主体原场景、相似新场景或同构换风格。相关接口包括 cleanupFrame、addElement、generateSubjectAssets、generateSceneAsset、listProductLibrary、copyProductLibraryAsset、createProductFusionGuide 和 generateProductFusionDescriptions。
+
主要源码FrameLightbox;按“原图/清洗、主体资产、场景图、产品融合、审核”五个页签组织;左侧只放主图/框选画布,但主体资产页左侧改为全部已清洗/已选参考帧网格,场景图页左侧显示全部关键帧并可勾选场景参考,产品融合页左侧改为纵向 6 行镜头工作表:每行直接显示产品图、白底人物图、人物图上的产品区域、场景图、描述词、秒数和单条生成按钮,便于一次看完 6 条视频。产品融合槽位的“粘贴”优先使用应用内 clipboard,也支持选中槽位后 Cmd+V 粘贴系统图片。右侧只保留 GPT Image 2 / Seedance 固定模型、当前镜头状态、AI 描述草稿、批量排队和产品图库选用。主体资产页只确认一个统一主体,后端按参考重绘六张纯背景、占满画面的标准站立主体图;场景图依赖主体资产,右侧通过地点、生成方式、风格和参考要素拼出可编辑 prompt,再按当前关键帧生成去主体原场景、相似新场景或同构换风格。相关接口包括 cleanupFrame、addElement、generateSubjectAssets、generateSceneAsset、listProductLibrary、copyProductLibraryAsset、createProductFusionGuide 和 generateProductFusionDescriptions。
适合怎么描述“这一组关键帧如何共同生成一个统一主体包;某张关键帧的水印、去主体场景图、产品融合镜头组和质量风险应该如何审核”。
@@ -875,6 +875,18 @@ SubjectAsset {
变更记录
这个记录不是 git log 的替代品。它记录“产品理解发生了什么变化、影响了哪些源码、你以后描述需求时该怎么说”。后续每次改功能都要补一条。
+
+
+ 2026-05-14 · 产品融合镜头组改为纵向 6 行工作表
+ FrameLightbox
+ 产品融合
+
+
+
问题:产品融合要生成 6 条视频,但旧排版只在列表里显示摘要,真正编辑区只展开当前镜头,用户无法从上到下同时检查 6 条镜头的产品、人物、场景和描述是否一一对应。
+
改动:“产品融合”页左侧改为纵向 6 行镜头工作表。每行包含产品图槽、白底人物图槽、人物图内产品区域画框、场景图槽、动作描述、秒数选择和单条生成按钮;右侧只保留模型状态、当前镜头状态、AI 草拟 6 条、批量排队和当前镜头产品图库。
+
影响:web/components/lightbox.tsx、docs/source-analysis.html。
+
+
2026-05-14 · 产品融合改为 6 行区域约束镜头组
@@ -883,7 +895,7 @@ SubjectAsset {
问题:只把产品图作为参考图无法解决尺寸和位置融合,模型不知道产品应该放在人物或场景里的哪个区域。
-
改动:FrameLightbox 的“产品融合”页改为 6 行镜头组。每行绑定产品图、白底人物图、手动画出的产品区域、场景图、描述词和视频秒数;图片槽支持上传和粘贴,产品图也可从内置 SKG 白底图库选用。右侧固定显示图片模型 GPT Image 2 和视频模型 Seedance,支持 AI 草拟 6 条动作描述、单条生成和批量排队。
+
改动:FrameLightbox 的“产品融合”页改为 6 行镜头组。每行绑定产品图、白底人物图、手动画出的产品区域、场景图、描述词和视频秒数;图片槽支持上传和粘贴,产品图也可从内置 SKG 白底图库选用。右侧固定显示图片模型 GPT Image 2 和视频模型 Seedance,支持 AI 草拟 6 条动作描述和批量排队;单条生成入口放在每一行镜头内。
后端:新增 POST /jobs/{job_id}/product-fusion/guide 和 POST /jobs/{job_id}/product-fusion/descriptions。前者把产品图按 product_region 合成到白底人物图上,生成普通 asset 引导图;后者用 LLM 或本地模板生成 6 条动作描述草稿。前端再把引导图作为 Seedance 首帧,并把产品图、人物图、场景图作为参考图提交。
影响:api/main.py、web/lib/api.ts、web/app/page.tsx、web/components/lightbox.tsx、web/components/nodes/index.tsx、web/components/dashboard.tsx、docs/source-analysis.html。