ad5b44b93c
完美像素按钮自新增之日起未接入 isPersistingAssetKind,handler 也未复用 persistingAssetKindLayerIdsRef 同步守卫。把图层的非空 assetKind 改成另一个 非空值后,在异步资源保存完成前点击该按钮,请求会同时带上新 assetKind 和旧 sourceResourceId,后端 resolve_editor_pixel_art_snap_asset_kind 检出两者不一致 直接返回 400。 两道防护与相邻的拆分图集按钮在完美像素按钮加入前就已存在,属于新入口漏配既有 约定。disabled 只挡下一帧,同步 ref 才挡得住 setState 生效前的那一次点击,两者 缺一不可。 保存态的无障碍名称没有直接复用拆分图集的「素材类型保存中」:icon-spritesheet 图层会同时渲染两个按钮,撞名后读屏用户无法区分控件,既有的拆分测试也会因 getByRole 命中多个元素而失败。完美像素改用与「完美像素处理中」同构的 「完美像素等待素材类型保存」。 影响边界:400 发生在纯函数前置校验阶段,尚无 OSS PUT 与资源创建,不写坏数据; 用户可在资源保存完成后重试成功,代价是需要手动清理失败占位。仅当「非空类型改为 另一个非空类型」时触发。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>