图集切片模式改为必须显式声明并补齐决策要求 #408
Reference in New Issue
Block a user
Delete Branch "codex/slice-mode-explicit-decision-20260917"
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?
背景
切图新增基于连通域的切分后,LLM 仍倾向显式传
sliceMode=grid:参数只存在于部分 LLM 可见面、带默认值、没有任何决策规则,生成结果也不回显生效模式。变更
/api/editor/icon-spritesheets/generations与/api/external/v1/editor/icon-spritesheets/generations把sliceMode改为必填并移除默认值;缺失、空白或未知取值在引用解析、定价与任何 provider / OSS 副作用之前返回400,错误统一带field与决策要求。grid必须同时提供gridX/gridY,connected-components不接受网格尺寸;sliceCount只约束连通域切分,请求与响应的公开上限统一为256;OpenAPI 去掉默认值并补必填与失败语义。canvas.asset_generate暴露sliceMode/gridX/gridY/sliceCount并要求图集显式声明;生成结果回显sliceMode/gridX/gridY与slicePaths;严格图集在本地提交前校验平台回显与请求声明一致。connected-components加sliceCount=4,并在四张 canonical 切片用途映射前校验数量,禁止截断或错位。sliceMode并在本地校验声明自洽。兼容性影响
省略
sliceMode的旧调用方(含已发布但未更新的 AGC 客户端与第三方外部 API 调用方)会在图集生成上收到400;这是本次"不允许默认值"的预期结果,仓库内自有调用方已全部改为显式声明。验证
slice_mode_must_be_declared_*与 OpenAPI 契约测试通过;全量cargo test -p api-server1043 通过 / 11 失败(wallet_refund_outbox临时文件拒绝访问,已在改动前基线复现,属本机环境)。slice30、spritesheet21、direct_tools_mcp23、agent_native_tools16、canvas_generation_tests83、提示词上限与桥接门禁各 1 条、cargo check --tests全部通过。typecheck通过。cargo fmt --check(两个 workspace)、check:encoding、check:doc-index、git diff --check通过。