Fix/改造不可用问题 #135
Reference in New Issue
Block a user
Delete Branch "fix/unexpected-options"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题:
fix:
在 generation_input的每个field新增id字段, 用于稳定恢复参数, 对于legacy有基于title和默认值的fallback.(相应会有UI提示)
generation_input本身新增action 字段, 用于改造时找到原工具
只有引用等不可被手动替换的生成来源(如
快速编辑) , 且对应字段缺失, 才会拒绝改造, 其他情况都会尽力恢复当前的快速编辑的原地替换实现是: 原地替换一个layer的rescource, 但generate_input_json并没迁移到新resource中, 如果尝试改造会稳定在画布上找不到旧引用, 因此对快速编辑结果不提供改造
仍存在的问题:
动作视频改造会错误地把本身作为一个引用. see #117在117里的处理: 预览视频作为副产品, 不记录对应的生成参数, 没有改造效果WIP: Fix/unexpected optionsto WIP: Fix/快速编辑, 改造 UI和可用不一致WIP: Fix/快速编辑, 改造 UI和可用不一致to WIP: Fix/改造不可用问题ed65cc1020to267bc1c678剔除了快速编辑白名单的change, 移到另一个pr
08320e4e22toe2e5993a52e2e5993a52toca20799bc4当前审查基于 head
f9d4af5cfdd9913426ddbbfb0b5983e578724653、base9dab1f53b91c8707b9d02c0f8c2c1939850e72c8。Gitea Actions run 758 的 Repository checks、Frontend、Backend、Native shell 四项均成功;PR 当前可合并,且本地git merge-tree --write-tree无冲突。但以下两个 P1 会让本次 V2 改造配方在刷新/完美像素恢复链路失真或失效,另有一个 P2 会把布尔输入显示为空,因此请求修改。请统一 V2generationInputs的持久化水合与完美像素账本白名单,保留 legacy 兼容,并补齐刷新恢复、数字/布尔值、无标签引用及布尔元数据显示的回归测试。[P1] V2 生成配方在项目/素材水合时被降级
这里仍把字段值交给
stringOrNull,并只重建{ title, value };整个函数还会丢掉顶层version/action、字段与引用的id,并要求引用必须有label。本 PR 新增的 V2 合同允许数字、布尔值和无标签引用,同时decodeCanvasGenerationInputs又要求version: 2、action和稳定id,所以项目资源或素材库刷新后会退化为 legacy,video.generate等配方无法按原工具和原参数准确“改造”。请让水合逻辑严格识别并完整保留 V2 结构,同时继续兼容 legacy;补项目资源、素材库、数字/布尔字段和无标签引用的刷新测试。@@ -62,5 +62,5 @@</>) : ('-')}</dd>[P2] 布尔生成输入在元数据弹窗中显示为空
本 PR 已把生成输入值扩展为
string | number | boolean,但这里仍把field.value直接作为 React child;React 不渲染布尔 child,所以视频“联网搜索”等true/false参数会显示为空。请使用已有的formatGenerationInputValue(或等价字符串化)统一格式化,并补充 true/false 的弹窗渲染测试。@@ -2571,5 +2571,5 @@normalizedProjectId,perfectPixelDialogId,);}}[P1] 完美像素账本无法恢复 V2 generationInputs
这里会把当前 V2
generationInputs原样写进完美像素 request/本机账本;但读取端hydratePerfectPixelGenerationInputs的顶层白名单只允许fields/references,字段只允许title/value且 value 必须是字符串,引用也不允许id。因此刷新一个generating或pending-confirmation的 V2 操作时,账本会被判无效并丢弃,随后占位收口为failed + invalid,GET-only 对账和同 identity 重试都无法继续。请让账本的严格白名单/重建逻辑支持并保留 V2version/action/id及数字、布尔值,并增加刷新恢复回归测试。f9d4af5cfdto87a85e5ef4fb83440e90tof33f5731ec请求修改。当前 head 已修复旧 review 中的 V2 水合、完美像素账本、布尔值显示和场景输入类型问题,且四项 CI 全绿;但本 PR 内两份现役设计文档对“必需 source 已移出画布”给出相反合同:Lovart 方案要求隐藏改造入口,MVP 方案与当前实现/测试却要求继续显示并在点击后报错。该矛盾直接影响角色动作与 UI 素材提取的正常入口验收,请先明确产品选择并同步文档、实现和测试。另请补齐提交
dcdc5f469(修复lint问题)的正文,满足仓库提交规范后重新请求 review。@@ -115,2 +116,2 @@- 角色动作结果图层点击“改造”时,必须通过 `sourceResourceId` 找回原角色图层并重新打开角色动作生成器;关联原角色已不存在时应显示明确提示,不得无响应或降级成图片生成器。- 恢复已生成图层的来源生成器时,角色、动作、规范、图标、UI、宣发、视频、音效和背景音乐必须按 `assetKind / mediaType` 恢复对应面板;去背景或快速编辑产生的派生 `quick-edit` 对话框不得遮住图层原有来源生成器。- 角色动作结果图层点击“改造”时,V2 必须通过 `references[id="source"]` 找回原角色图层,legacy 数据才允许以 `sourceResourceId` 回退;关联原角色已不存在时应显示明确提示,不得无响应或降级成图片生成器。- `改造` 覆盖图片、规范、角色、图标、UI、宣发、游戏场景、视频、音效、背景音乐、角色动作和生成型图片编辑。有效 V2 只按 `action + fields[].id + references[].id` 恢复,引用只匹配当前画布图层;面板直接上传引用和已移出画布的引用不恢复。V2 不新增后续版本,读取时统一经 action 级 runtime decoder 原地收紧:已存在但未知、非法、已下线或与当前模型能力不兼容的参数统一回落到该 action 当前默认值,历史 Veo 也回落到当前默认视频模型;图片比例 / 尺寸按回落后的模型联动校验,角色动作帧数 / 时长按完整档位成对校验。发生参数回落时显示明确告警,再次提交和新快照只使用规范值并继续保存为 `version: 2`。可重新选择的引用缺失时打开面板、留空槽位并提示,提交门禁继续校验必填槽位;必须依赖原 `source` 图层才能构造面板的动作在 source 缺失时不显示改造入口,运行期间来源变化时仍拒绝改造。有效 V2 不得因引用缺失降级到 legacy。生成型图片编辑 V2 中已持久化的附加 `reference` 应恢复到可见参考槽,并让再次提交的模型、比例、尺寸、像素尺寸、参考图和新快照保持一致;普通快速编辑仍不得提交未展示的隐藏参考图。视频 V2 同步保存并恢复 `webSearchEnabled`。历史对话框和 legacy 数据保留 `assetKind/mediaType`、标题别名、资源尺寸 / 模型 / 时长 / `sourceResourceId` 回退,并对默认值恢复显示告警。V2 结构水合必须完整保留 `version/action`、字段与引用 `id`、有限数字、布尔值和无标签引用;一旦出现 `version` 或 `action` 却不满足 V2 合同,必须失败关闭,禁止降级成 legacy。[P2] 请统一必需 source 丢失时的改造入口合同
这里要求 source 缺失时“不显示改造入口”,但本 PR 同时把 MVP 方案和
canOpenRedrawPanel改成“仍显示按钮、点击后报错”,测试也明确锁定后者。两份现役设计文档因此互相冲突,无法确定验收语义。请明确产品选择,并同步统一两份文档、按钮实现与测试;若仍要求隐藏,需让工具栏按当前画布图层判断character-animation.generate/ui-design.extract-assets的 source 是否存在,并保留点击后的竞态复检。84cf70774atoef7f40614a1e4cdfbbdatoc2c539cc98c2c539cc98to84cf70774a请求修改。当前复审绑定 head
7d59c54e18ba28023a2017b1dcfe950b5e2f09ce、base6cb13b3884e66460885d78bbc672b0f145e954a0。新增提交已修复媒体 V2durationSeconds字段和视频快速编辑videoReference来源配方,旧 review 中的 V2 水合、完美像素账本及布尔显示问题也已修复;run 911 四项 CI 全绿,merge-tree 无冲突。但两份现役设计文档仍对不可替换 source 丢失时“隐藏改造入口”还是“保留按钮并点击报错”给出相反合同,且当前实现与测试只锁定后者。请先明确产品选择并同步文档、实现和测试。
提交历史规范问题也尚未清理:例如
bb4484f3c使用英文 merge 标题,dcdc5f469以及多笔“合并主分支”提交仍无正文,不符合仓库中文标题、逐行正文要求。@@ -115,2 +116,2 @@- 角色动作结果图层点击“改造”时,必须通过 `sourceResourceId` 找回原角色图层并重新打开角色动作生成器;关联原角色已不存在时应显示明确提示,不得无响应或降级成图片生成器。- 恢复已生成图层的来源生成器时,角色、动作、规范、图标、UI、宣发、视频、音效和背景音乐必须按 `assetKind / mediaType` 恢复对应面板;去背景或快速编辑产生的派生 `quick-edit` 对话框不得遮住图层原有来源生成器。- 角色动作结果图层点击“改造”时,V2 必须通过 `references[id="source"]` 找回原角色图层,legacy 数据才允许以 `sourceResourceId` 回退;关联原角色已不存在时应显示明确提示,不得无响应或降级成图片生成器。- `改造` 覆盖图片、规范、角色、图标、UI、宣发、游戏场景、视频、音效、背景音乐、角色动作和生成型图片编辑。有效 V2 只按 `action + fields[].id + references[].id` 恢复,引用只匹配当前画布图层;面板直接上传引用和已移出画布的引用不恢复。V2 不新增后续版本,读取时统一经 action 级 runtime decoder 原地收紧:已存在但未知、非法、已下线或与当前模型能力不兼容的参数统一回落到该 action 当前默认值,历史 Veo 也回落到当前默认视频模型;图片比例 / 尺寸按回落后的模型联动校验,角色动作帧数 / 时长按完整档位成对校验。发生参数回落时显示明确告警,再次提交和新快照只使用规范值并继续保存为 `version: 2`。服务端以实际媒体时长覆盖 V2 配方时必须保留 `fields[id="durationSeconds"]`,并写入归一后的有限数值,不能改写为无 `id` 的 legacy 展示字符串。可重新选择的引用缺失时打开面板、留空槽位并提示,提交门禁继续校验必填槽位;必须依赖原 `source` 图层才能构造面板的动作在 source 缺失时不显示改造入口,运行期间来源变化时仍拒绝改造。有效 V2 不得因引用缺失降级到 legacy。生成型图片编辑 V2 中已持久化的附加 `reference` 应恢复到可见参考槽,并让再次提交的模型、比例、尺寸、像素尺寸、参考图和新快照保持一致;普通快速编辑仍不得提交未展示的隐藏参考图。视频快速编辑必须把实际送入请求的源视频同步保存为 `references[id="videoReference"]`,不能只依赖 `sourceResourceId`;视频 V2 同步保存并恢复 `webSearchEnabled`。历史对话框和 legacy 数据保留 `assetKind/mediaType`、标题别名、资源尺寸 / 模型 / 时长 / `sourceResourceId` 回退,并对默认值恢复显示告警。V2 结构水合必须完整保留 `version/action`、字段与引用 `id`、有限数字、布尔值和无标签引用;一旦出现 `version` 或 `action` 却不满足 V2 合同,必须失败关闭,禁止降级成 legacy。[P2] 请统一不可替换 source 丢失时的改造入口合同
这里仍要求 source 缺失时“不显示改造入口”,但本 PR 同时在 MVP 方案中规定支持改造的 action 即使必需来源丢失也保留按钮,当前
canOpenRedrawPanel和回归测试也锁定了“点击后报错”的实现。两份现役文档因此仍给出相反验收口径。请明确产品选择,并同步统一两份文档、按钮实现与测试;若选择隐藏,还需让工具栏按当前画布引用状态判断character-animation.generate/ui-design.extract-assets,同时保留点击后的竞态复检。a17059ddaato9a326c940a已与 PR #137 一并手工集成到 master。master 提交:2412700e665ecb90e93575670399a46f72a728d7;已保留本 PR head
9a326c940a的完整历史,并在集成分支解决与 #137、master 的冲突。Pull request closed