Feat/pixel art #119
Reference in New Issue
Block a user
Delete Branch "feat/pixel_art"
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?
1 添加完美像素功能
2 修复自动拆分素材的功能漂移
generate_editor_image_for_owner 的角色透明图尺寸恢复失败分支直接返回 warning: Some(...),没有合并 generation_warning,导致 style 为未知值时 契约承诺的 unsupported-image-style 告警在该降级路径上消失。 改为经 merge_editor_generation_warnings 合并,与该函数另外两个返回点一致。 新增结构断言固定"普通图片与图标生成的所有返回点都不得出现裸 warning: Some(", 并同步角色降级断言到合并后的形状。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>结论:发现 2 个 P1、5 个 P2,暂不建议合并。审查基于最新 head
414735ef,base/merge-base 为3a64411e。主要问题
[P1] 图标像素模式忽略尺寸安全降级错误
server-rs/crates/api-server/src/editor_project.rs:4738-4781尺寸/比例恢复失败后仅记录日志,随后仍持久化并切分错误尺寸的 BgFilter 输出。角色路径会退回已保存原图,图标路径没有,可能生成错比例图集和切片。
[P1] 64 片上限挡不住连通域算法的平方级计算
server-rs/crates/platform-image/src/generated_asset_sheets/sheet.rs:345-400合并阶段先对全部连通域执行双重遍历,API 到
editor_project.rs:5083才检查 64 片上限。合法 2048² 图集可构造约 16.8 万个 4×4 独立块,首次遍历即约 282 亿次比较,而且同步运行在 async handler 上,存在 CPU 耗尽风险。[P2] 同源重绘丢失
pixelArt选项src/components/image-editor/ImageCanvasGenerationDialogModel.ts:746-791restoreSharedImageOptions()只恢复模型、比例和尺寸,没有恢复sourceDialog.style。普通图、角色和图标再次生成时会静默回到none。测试第613-624行甚至把这一错误行为固定成了预期。[P2] 像素处理超时后可能再次无 deadline 读取 OSS
editor_project.rs:3262-3290第一次原图读取超时后进入尺寸守卫;若 BgFilter 图尺寸漂移,守卫在
3119-3124再发起一次无绝对 deadline 的 GET,突破 30 秒预算并重复请求同一对象。[P2] 像素规整专题文档仍描述旧执行顺序
docs/【编辑器】画板角色形象生成入口设计-2026-06-15.md:68-71、docs/technical/【前端架构】图片画布编辑器MVP接入方案-2026-06-11.md:39-42文档仍称在最终尺寸处理前规整、之后 nearest 恢复且不经 Lanczos;当前代码已先用 Lanczos 收口交付尺寸,再去背和规整。
[P2] 外部 API 文档仍称 warning 只有一个稳定 code
docs/【后端架构】外部OpenAPI与APIKey接入方案-2026-06-19.md:45实际 OpenAPI 已公开四个 code,包括
dimension-restore-fallback、unsupported-image-style和multiple-generation-warnings。[P2] 外部编辑器 skill 漏掉新增
style参数.codex/skills/genarrative-external-editor-api/references/api-selection.md:70,72图片、图标生成端点的可选字段和示例都没有
style,按仓库强制 skill 接入的 Agent 无法得知如何启用确定性像素规整。状态与验证
platform-image全部测试、api-servergeneration/editor_project 相关测试、Rustfmt、编码检查和git diff --check。[P1] 64 片上限挡不住连通域算法的平方级计算
server-rs/crates/platform-image/src/generated_asset_sheets/sheet.rs:345-400
合并阶段先对全部连通域执行双重遍历,API 到 editor_project.rs:5083 才检查 64 片上限。合法 2048² 图集可构造约 16.8 万个 4×4 独立块,首次遍历即约 282 亿次比较,而且同步运行在 async handler 上,存在 CPU 耗尽风险。
[P1] 图标像素模式忽略尺寸安全降级错误
server-rs/crates/api-server/src/editor_project.rs:4738-4781
尺寸/比例恢复失败后仅记录日志,随后仍持久化并切分错误尺寸的 BgFilter 输出。角色路径会退回已保存原图,图标路径没有,可能生成错比例图集和切片。
Master即存在
[P2] 同源重绘丢失 pixelArt 选项
src/components/image-editor/ImageCanvasGenerationDialogModel.ts:746-791
restoreSharedImageOptions() 只恢复模型、比例和尺寸,没有恢复 sourceDialog.style。普通图、角色和图标再次生成时会静默回到 none。测试第 613-624 行甚至把这一错误行为固定成了预期。
非BUG
测试验的是代码形状不是真实 GET 次数,要验真实次数需要可注入的 OSS 测试替身,仓库目前没有这套基建。