## 问题与影响 视频配置直接使用固定素材作为首帧或尾帧时,生成面板的首尾帧槽位不能正确还原它:图片仅显示为正文参考标签,槽位仍为空。槽位操作无法完整管理这类引用;切换生成模式后,还可能出现标签仍在、图片却不再作为首帧传入模型的情况。 ## 复现步骤 1. 登记一张可用图片素材,不要求创建来源画布节点。 2. 使用支持首帧和参考模式的视频模型,创建 `videoMode=first_frame` 的配置,添加 `binding=pinned, role=first_frame` 的素材参考。 3. 打开视频生成面板,比较首帧槽位、正文参考标签与后端参考角色。 4. 清空首帧槽位,检查是否产生参考修改。 5. 切换到“参考模式”并保存,再切回“首尾帧”并保存。检查参考角色及后端输入解析结果,无需实际提交生成。 ## 预期与实际 - 预期:固定素材与跟随节点的首尾帧都能准确显示和编辑;槽位操作、保存角色和实际模型输入一致。模式切换不能在保留图片标签的同时静默丢失首帧用途。 - 实际:固定首帧的槽位为空,标签仍在。对空槽执行清空不会产生移除参考的操作。上述模式切换往返后,角色停留在 `reference`,输入解析由 `content` 变为 `context_only`,图片不再作为首帧内容传入。 ## 定位与证据 基线:[`6c83d43f32b335c63a0a1bb314967d6da91ec7d3`](https://github.com/ThinkFlowLab/OpenDirector/commit/6c83d43f32b335c63a0a1bb314967d6da91ec7d3),Linux,Node.js v24.14.0、Python 3.12。 使用内存副本调用真实 `CreationProjection.read/prepare`,检查产生的保存操作,再调用后端 `resolved_inputs`。未写入用户工程、未提交模型任务;本轮未新增浏览器端到端复现。 ```text 首次还原:固定素材标签 1;firstFrameNodeId=null;后端角色 first_frame 清空空槽:没有参考修改操作 切换到参考模式:reference.update 将角色改为 reference 切回首尾帧:仅更新生成参数,未恢复 first_frame 输入解析:first_frame/content → reference/context_only ``` - [首尾帧还原](https://github.com/ThinkFlowLab/OpenDirector/blob/6c83d43f32b335c63a0a1bb314967d6da91ec7d3/src/backend/creationProjection.ts#L678-L691) 仅处理 `follow_current`,忽略固定素材参考。 - [槽位候选](https://github.com/ThinkFlowLab/OpenDirector/blob/6c83d43f32b335c63a0a1bb314967d6da91ec7d3/src/canvas/NodeComposer.tsx#L216-L218) 来自节点输入;[固定素材标签](https://github.com/ThinkFlowLab/OpenDirector/blob/6c83d43f32b335c63a0a1bb314967d6da91ec7d3/src/backend/creationProjection.ts#L577-L614) 则通过另一条路径还原。 - [保存时角色计算](https://github.com/ThinkFlowLab/OpenDirector/blob/6c83d43f32b335c63a0a1bb314967d6da91ec7d3/src/backend/creationProjection.ts#L1600-L1623) 在参考模式将首帧降为普通参考,回到首尾帧时只能保留仍带首帧角色的固定参考,无法恢复已降级的角色。 - [后端输入策略](https://github.com/ThinkFlowLab/OpenDirector/blob/6c83d43f32b335c63a0a1bb314967d6da91ec7d3/packages/core/src/opendirector/application/creation_canvas.py#L128-L145) 在首尾帧模式中不会将普通图片参考当作首帧发送。 与 #83 的区别:该 Issue 针对直接绑定固定素材的槽位及角色往返;#83 针对两张画布图片拖线后的尾帧自动分配。 相关查询缺陷见 #120;本 Issue 聚焦首尾帧的展示、编辑与实际输入角色。 ## 验收标准 - [ ] 固定素材与跟随节点的首尾帧均能在槽位中准确显示,重开工程后状态一致。 - [ ] 清空、替换及模型支持时的互换操作修改真实参考关系和角色,不能只改变界面。 - [ ] 模式切换后角色与界面一致;切回首尾帧时恢复明确选择,或明确要求重选,不保留误导性状态。 - [ ] 检查保存对象、后端解析和模拟请求中的首尾帧内容,覆盖 UI 与 Agent 设置的同等输入。 - [ ] 保留固定素材身份、来源记录、模型帧能力校验及旧任务快照;普通提示词、时长修改不意外移除参考。
Activity