Fix/改造不可用问题 #135
Closed
k88936
wants to merge 0 commits from
fix/unexpected-options into master
pull from: fix/unexpected-options
merge into: GenarrativeAI:master
GenarrativeAI:master
GenarrativeAI:feat/agc-canvas-resource-workbench-v3
GenarrativeAI:feat/ui-editor-auto-seperation
GenarrativeAI:feat/ui-editor-v3
GenarrativeAI:fix/stroke-width-regression-from-285
GenarrativeAI:codex/agc-agent-plugins
GenarrativeAI:agent-organize
GenarrativeAI:feat/expose-image2edit
GenarrativeAI:feat/game-agent-canvas-resource-workbench-v2
GenarrativeAI:fix/ui-editor-minor-adjusts
GenarrativeAI:fix/agc-release-version-sync
GenarrativeAI:feat/agc-new-workflow
GenarrativeAI:fix/codex-session-management
GenarrativeAI:codex/shared-components-followup
GenarrativeAI:codex/agc-runtime-generation-reliability
GenarrativeAI:codex/game-agent-runtime-interaction-design
GenarrativeAI:feat/spine-sequence-export-v2
GenarrativeAI:codex/agc-platform-account-editor-api
GenarrativeAI:codex/game-agent-run
GenarrativeAI:codex/ui-spritesheet-durable-transaction-latest
GenarrativeAI:feat/art-agent-more-tools
GenarrativeAI:codex/editor-canvas-null-source-repair
GenarrativeAI:hotfix/editor-layout-2mib
GenarrativeAI:codex/showcase
Labels
Clear labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Breaking change that won't be backward compatible
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Low
4
The priority is low
Priority
Medium
3
The priority is medium
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
No Label
Milestone
No items
No Milestone
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: GenarrativeAI/Genarrative#135
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking 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