从已保存标注恢复项目模板

- 工作区加载项目标注时,若当前会话没有该项目模板记忆,则从已保存 mask 的 templateId 推断激活模板。

- 新增模板推断工具函数,按有效模板引用的出现次数选择项目模板,并忽略无效模板引用。

- 增加 templateSelection 回归测试覆盖模板推断和无效引用过滤。

- 更新前端审计和交互状态机文档,记录项目模板推断兜底规则。
This commit is contained in:
2026-05-09 15:16:43 +08:00
parent a71c622df4
commit 0ca1fed9d4
5 changed files with 65 additions and 3 deletions

View File

@@ -139,7 +139,7 @@
| 元素 | 状态 | 说明 |
|------|------|------|
| 模板选择 | 真实可用 | 读取全局 templates可切换当前项目的 activeTemplateId并会驱动分类树、mask 分类和导出类别信息;不同项目的激活模板在前端 store 中按项目 ID 独立保存,切换项目时不会沿用上一个项目的模板 |
| 模板选择 | 真实可用 | 读取全局 templates可切换当前项目的 activeTemplateId并会驱动分类树、mask 分类和导出类别信息;不同项目的激活模板在前端 store 中按项目 ID 独立保存,切换项目时不会沿用上一个项目的模板;若本会话没有项目模板记忆,会从已保存 mask 的 `templateId` 推断当前项目模板 |
| 面板滚动条 | 真实可用 | 右侧本体/语义分类面板内容过长时自身滚动;滚动条使用 `seg-scrollbar`默认低对比融入深色侧栏hover/focus 时才增强显示 |
| 面板标题 | 已简化 | 原“本体论与属性分类管理树”固定说明栏已移除,右侧面板直接展示模板、透明度和语义分类树 |
| 分类树展示 / 换标签 | 真实可用 | 显示当前模板 classes点击分类会设为后续新 mask 的 activeClass如果 Canvas 无选中 mask则不会改变已有 mask如果 Canvas 已选 mask则同步更新已选 mask 及同一传播链前后帧对应 mask 的标签、颜色和 class 元数据,并把已选 mask 移到前端渲染最上层;当用户在 Canvas 点击已有 mask 时,本面板会按 mask 的 class id / 名称自动切换模板、设置 active class并滚动/聚焦到对应分类按钮 |