diff --git a/docs/technical/【技术方案】UI编辑器自动分离工作流-2026-09-08.md b/docs/technical/【技术方案】UI编辑器自动分离工作流-2026-09-08.md index ee9635f7b..5fa60277f 100644 --- a/docs/technical/【技术方案】UI编辑器自动分离工作流-2026-09-08.md +++ b/docs/technical/【技术方案】UI编辑器自动分离工作流-2026-09-08.md @@ -27,6 +27,14 @@ - batch 成功后只把结果追加到 bound 容器,失败节点在达到返工上限后追加到 problematic 容器;树拓扑不变,流程继续消费剩余树。 - 不额外维护节点状态枚举;节点是否仍在 pending tree、`rework_count` 和 problematic 容器共同表达状态。 +### 普通文字遮罩 + +- 普通 `Text` 仍是正式 UI tree 中的独立 UI 元素,不进入 separation tree,也不参与 batch、绿色框、visual binding 或 bound 结果。 +- 构造 separation tree 时,把 Text 节点的布局矩形转换为页面像素坐标,挂到最近的未绑定图片节点(`ImageComponent.target_graphic == None`)的 `text_mask_areas`。纯容器只透传;嵌套图片下归最近图片;没有可切图片祖先的 Text 直接忽略。 +- `text_mask_areas` 只保存 `global_pos_x_px`、`global_pos_y_px`、`width_px`、`height_px`。不保存 NodeId、父节点、文字内容、字体样式,也不做 OCR、字形估算、偏差检查、合并或去重。 +- marker 阶段在 image-edit 前把当前 batch 节点自身的文字矩形填充为紫色;它与子图片区域一起绘制,绿色框随后绘制并位于最上层。文字遮罩不递归读取后代节点的 mask。 +- mask 仅是 image-edit 输入标记,未对 image-edit 残留文字增加 OCR 或视觉复核;正式文字语义仍由 `TextComponent` 保持。 + ## 图片编辑与视觉绑定 - image-edit 使用源 UI design 图片及由 Rust 生成的绿色标记/紫色重建输入。处理父节点时,紫色填充其 children 的矩形区域(包括已 problematic 的 children),再在父节点自身外围绘制绿色框和角到角的绿色交叉线;绿色标记覆盖在紫色之上。叶节点只绘制绿色框和角到角的绿色交叉线,不填充自身。