补充自动分离 sidecar 并发边界约束
记录前端单次运行与 runWithStateLocked 的并发前提 明确 sidecar 不参与正式资产写入和项目 revision 补充未来多窗口多进程场景的进程级锁 TODO 记录图像本地处理使用 spawn_blocking 的执行边界
This commit is contained in:
@@ -29,6 +29,8 @@
|
||||
|
||||
- image-edit 使用源 UI design 图片及由 Rust 生成的绿色标记/紫色重建输入。
|
||||
- 请求尺寸始终使用源 UI design 尺寸;Raw GPT Image 2 API 保证返回相同尺寸,客户端不额外做尺寸拒绝检查。
|
||||
- 标记图构建、处理图解码/写入和 cut 裁切属于本地 CPU/文件操作,放入独立的
|
||||
`spawn_blocking` 任务;image-edit 与 visual binding 网络请求仍运行在 async future 中。
|
||||
- 视觉 binding 输入源图与处理图,必须为当前 batch 每个节点恰好返回一次 `Ok` 或 `NeedRework`。
|
||||
- `Ok` 返回 `NodeId + BindingArea`;Rust 仅校验 NodeId、区域边界和非零尺寸,不检查与原节点框的偏差,也不要求区域不重叠。
|
||||
- `NeedRework` 携带短问题描述。结构化工具调用失败时使用可复用 repair harness,把错误反馈给模型并额外请求一次;image-edit 不使用该 harness。
|
||||
@@ -44,6 +46,10 @@
|
||||
- sidecar 只在 separation 未完成期间存在;完成后删除 state JSON。
|
||||
- 当前只持久化已经完成的 batch;正在执行 batch 的恢复语义列 TODO。
|
||||
- 临时图片可跨重启保留。raw image-edit 返回图、绿色/紫色标记图、处理图和 cut 图片当前都保留用于 debug;理论上只应在内存中,清理/归档策略列 TODO。
|
||||
- 并发边界:当前由前端 `isSeparating` 与 `runWithStateLocked` 保证同一 UI 编辑会话
|
||||
同时只有一次 separation。sidecar 是临时恢复状态,不是正式 UI 资产真相,不参与
|
||||
manifest 或项目 revision,因此当前不额外持有项目写锁;若未来支持多窗口/多进程并发,
|
||||
再增加按 UI asset 的 sidecar 进程级锁。
|
||||
|
||||
## bound 与 problematic
|
||||
|
||||
|
||||
Reference in New Issue
Block a user