6f4d4efeaf
统一使用 public logo 资源
...
- 登录页、侧栏和 favicon 统一引用 public/logo.png 暴露的 /logo.png。
- 删除根目录 logo_square.png 和 Express 中单独提供该文件的路由。
- 同步更新组件测试、项目文档和历史工程分析说明,避免继续引用旧 logo_square。
- 同步整理 ../Seg_Server_Docker 部署包,仅保留 public/logo.png 并更新前端 Docker 构建配置。
2026-05-07 15:51:45 +08:00
d583b32221
更新品牌文案与演示项目名称
...
- 登录页和侧栏统一使用根目录 logo_square.png,并更新登录系统名称与副标题。
- 更新 Dashboard、项目库和工作区时间轴文案,移除底层时序视频图层说明。
- 演示视频项目显示名改为“演视LC视频序列”,启动时兼容迁移旧 Data_MyVideo_1 名称,恢复出厂设置使用新名。
- 调整侧栏用户管理入口为用户图标,底部当前用户入口为退出图标,并让退出提示不接收鼠标事件。
- 补充前端组件测试、后端演示重置测试和文档说明。
2026-05-07 15:14:53 +08:00
f6ee9fa924
修正GT未知类别舍弃模板传递
...
- GT Mask 导入请求改用与预览一致的 GT 模板 id,避免未激活模板时后端无法识别未知 maskid。
- 补充回归测试覆盖未显式激活模板但模板列表存在时,舍弃未知类别仍传入模板 id。
2026-05-04 06:13:36 +08:00
10fe17476d
修正GT未知类别导入为待分类
...
- GT Mask 未知 maskid 选择保留时落到黑色 maskid:0 的待分类类别,而不是绿色未定义类别。
- 前端导入预览中未知 maskid 使用黑色待分类覆盖色,并把按钮文案改为导入为待分类。
- 待分类兜底颜色统一为 #000000,和模板保留类、GT_label/Pro_label 导出规则一致。
- 补充后端回归断言并更新 AGENTS 与文档说明,保留 gt_unknown_class 和原始 gt_label_value 供后续重命名追溯。
2026-05-04 06:06:04 +08:00
5d73eacefe
引入实例ID驱动传播链匹配
...
- 前端保存标注写入并保留 instance_id,AI 自动推理 seed 携带 source_instance_id,避免同类多 mask 只按语义混在一起。
- 后端传播任务优先用 source_instance_id/instance_id 做幂等、替换和写入前清理,并保留 source_annotation_id/source_mask_id/legacy 兼容路径。
- 前端传播链匹配、删除/分类同步和布尔合并/去重加入实例 token,保持旧 lineage 和空间最近 legacy fallback。
- 补充前后端回归测试,覆盖同类别多实例传播、重传、布尔同步、断开多区域和保存/回显 metadata。
- 更新 AGENTS 与 doc 事实文档,明确 maskid 仍只用于语义分类、GT_label 和导出,不参与实例追踪。
2026-05-04 05:54:23 +08:00
1ff757e2fa
收紧传播帧布尔同步实例匹配
...
- 区域合并/去除同步传播帧时改用严格实例匹配,优先可靠 source_annotation_id/source_mask_id lineage。
- 旧传播结果缺少可靠 lineage 时,每个已选 mask 只匹配空间最近的一个同语义传播实例,避免同类别其它 mask 被一起合并或扣除。
- 保留点选高亮的宽松 legacy 分组,避免破坏同一传播 mask 不连通片段联动高亮体验。
- 新增 CanvasArea 回归测试,覆盖同类别多个 legacy 传播实例只合并目标实例。
- 更新 AGENTS、设计冻结和测试计划文档,明确布尔同步和高亮匹配策略的差异。
2026-05-04 05:35:04 +08:00
ee27f29495
校准系统默认配置
...
- 将 User ORM 默认角色改为 annotator,避免脚本直建用户时绕出第二个管理员。
- 启动默认 seed 不再把历史无 owner 项目改写归属 admin,保持共享项目库的历史元数据语义。
- 将 SAM 默认配置和环境模板统一到 SAM 2.1 tiny,并默认关闭历史 SAM3 外部 worker。
- 更新安装/实现文档,并补充默认角色、默认模型和 legacy 项目 owner 不改写的后端测试。
2026-05-04 05:24:46 +08:00
523beeb446
收敛用户角色并共享项目库
...
- 后端限制系统只保留默认 admin 管理员,新建用户固定为标注员,并拒绝观察员或额外管理员角色。
- 将项目、帧、媒体解析、AI 标注、任务、Dashboard 和导出接口改为共享项目库访问,标注员具备同等项目管理和标注能力。
- 前端用户管理移除角色选择和观察员入口,只展示唯一管理员与标注员状态。
- 更新后端/前端测试,覆盖唯一 admin、旧 viewer 归一为标注员、用户删除和共享项目库访问。
- 同步更新 AGENTS 与 doc 文档中的角色权限、共享项目库和测试计划说明。
2026-05-04 05:20:28 +08:00
02635abab1
生成帧完成后自动刷新项目封面
...
- 项目库生成帧任务入队后继续轮询任务进度,解析成功后重新拉取项目列表和当前项目对象。
- 成功后显示视频帧生成完成提示,并让后端写入的 thumbnail_url 立即刷新到项目卡片封面。
- 补充 ProjectLibrary 回归测试,覆盖生成帧完成后自动显示新封面。
- 更新前端审计、设计冻结、测试计划、状态机和项目指南文档。
2026-05-04 05:07:22 +08:00
85de1ffbb2
让新建绘制并入选中遮罩
...
- 多边形、矩形、圆和画笔在当前已有选中 mask 时,将新几何 union 并入选中 mask,即使区域不重叠也保持为同一个多 polygon mask。
- 无选中 mask 时仍按原新建流程创建并自动选中新 mask;画笔无选区时仍要求右侧语义分类树有选中类别。
- 补充 CanvasArea 回归测试,覆盖创建工具保留选区、分离矩形并入选中 mask、画笔无 active class 时并入选中 mask。
- 更新前端审计、需求冻结、设计冻结、状态机、测试计划和项目指南文档。
2026-05-04 04:57:53 +08:00
1971640a67
隐藏传播进度重复提示
...
- 传播进度蓝色面板显示任务 message 时隐藏顶栏左侧灰色 statusMessage,避免同一传播文字重复出现。
- 补充 VideoWorkspace 回归测试,确认传播运行提示只出现一次且位于进度面板内。
- 更新前端审计、设计冻结、测试计划和项目指南文档。
2026-05-04 04:44:32 +08:00
84895bd9bd
显示新建图形边界点并验证中空画笔
...
- 让多边形、矩形和圆创建完成后即使仍处于创建工具,也显示已选 mask 的边界顶点。
- 保持创建工具下的边界点为只读提示,不改变继续创建新 mask 的交互。
- 补充 Canvas 回归测试,覆盖矩形、圆、多边形创建后的边界点显示。
- 补充中空画笔回归测试,验证闭合画笔区域保留 hasHoles/polygonRingCounts、evenodd 渲染和内外圈顶点显示。
- 更新 README、AGENTS、前端审计、需求冻结、设计冻结、测试计划和交互状态机文档。
2026-05-04 04:36:53 +08:00
7fc4949677
调整AI自动推理入口文案和图标
...
- 将左侧工具栏传播入口的可访问名称和 tooltip 从“自动传播”改为“AI自动推理”。
- 新增 AI 大脑样式的 AiAutoInferenceIcon,并替换该入口原本的 AI 智能分割机器人图标。
- 更新 ToolsPalette 和 VideoWorkspace 测试,覆盖新按钮名称和 AI 大脑图标。
- 同步 README、AGENTS、前端审计、API 契约、设计冻结和测试计划文档中的入口描述。
2026-05-04 04:16:05 +08:00
87b82b882f
添加取消选中实体按钮
...
- 在左侧工具栏拖拽/选择下方新增“取消选中”按钮,提供等同 Esc 的可点击入口。
- 将 VideoWorkspace 的取消选中信号传入 CanvasArea,统一清空 mask 选区、临时绘制状态和顶点选择。
- 修正 Canvas 本地选区与全局 selectedMaskIds 的同步,避免取消后旧本地选区被重新发布。
- 补充 ToolsPalette、CanvasArea 回归测试,覆盖实体按钮位置、回调和 clearSelectionSignal 行为。
- 更新 README、AGENTS 与前端审计/需求冻结/设计冻结/测试计划/交互状态机文档。
2026-05-04 04:09:32 +08:00
141dd4ce4b
校正文档中的前端交互细节
...
- 更新设计冻结文档中 Canvas 工具状态、Esc 行为、画笔独立新建和语义树无选区逻辑,移除过宽的旧描述。
- 更新当前实现映射,补充手工绘制新建后自动选中、画笔不自动合并和 Esc 取消交互状态。
- 更新测试计划,记录本次文档一致性回查。
2026-05-04 03:59:52 +08:00
56665283aa
补充前端交互状态机文档和Esc测试
...
- 新增前端交互状态机文档,梳理全局状态、工作区工具、语义分类树、键盘快捷键、范围选择、AI页、模板确认和导入导出交互。
- 明确记录 Esc 行为:只取消当前 mask 选区和临时绘制状态,不删除已有 mask,也不清空 active class。
- 补充 CanvasArea 测试,覆盖 Esc 取消选中 mask 但保留 mask/active class,以及 Esc 取消进行中的多边形绘制。
- 更新文档索引、AGENTS 和测试计划,把前端交互状态机纳入事实文档和 R13 文档测试覆盖。
2026-05-04 03:55:39 +08:00
b1bb792b71
取消画笔自动合并选中遮罩
...
- 移除画笔与选中 mask 连通或重叠时自动 union 到旧 mask 的逻辑,画笔每次松手都生成新的独立 mask。
- 更新画笔工具提示,明确画笔会生成新的独立 mask。
- 调整 CanvasArea 回归测试,验证画笔触碰选中 mask 时仍保留旧 mask 并新建独立 mask。
- 更新 README、AGENTS、前端审计、需求冻结和测试计划文档,移除画笔自动合并描述。
2026-05-04 03:51:22 +08:00
b7de163054
修复绘制工具选区和分类应用逻辑
...
- 切换到创建多边形、创建矩形或创建圆时同步清空本地和全局 mask 选区,避免右侧语义分类树误改旧 mask。
- 手工创建多边形、矩形、圆后自动选中新创建的 mask,方便继续改类、编辑或保存。
- Esc 统一清空当前 mask 选区和临时绘制状态,让画笔可以在无选区状态下新建独立 mask。
- 画笔合并、新建和橡皮擦扣除后同步更新全局选区,保持右侧面板状态一致。
- 补充 CanvasArea 和 OntologyInspector 回归测试,覆盖创建工具清选区、新建自动选中、Esc 后画笔新建、无选区分类不改已有 mask。
- 更新前端审计、需求冻结、测试计划和 AGENTS 文档,记录无选区语义分类与绘制选区规则。
2026-05-04 03:45:51 +08:00
b943f5e184
强化分割结果导出按钮样式
...
- 为工作区分割结果导出按钮增加 FileDown 图标,让导出入口更容易识别。
- 将导出按钮从灰色弱背景调整为绿色强调背景、边框和文字样式,提升在顶栏中的区分度。
- 补充 VideoWorkspace 测试,覆盖导出按钮图标和强调背景样式。
- 更新前端元素审计、测试计划和 AGENTS 文档,记录导出按钮视觉规范。
2026-05-04 03:38:48 +08:00
f558f3b3c7
登录后默认进入总体概况页
...
- 将 Zustand 默认 activeModule 从 workspace 调整为 dashboard,登录后默认展示总体概况页。
- 同步测试 resetStore 的默认模块,避免测试环境与真实默认入口不一致。
- 补充 useStore 默认模块回归测试,固定 dashboard 初始入口行为。
- 更新 AGENTS 和前端实现文档,记录登录后的默认模块。
2026-05-04 03:19:12 +08:00
628bce23e0
修复画笔橡皮擦选区提示与越界绘制
...
- 画笔和橡皮擦模式下保留当前选中 mask 的顶点提示,并将顶点设为只读,方便确认正在处理的区域。
- 画笔和橡皮擦采样改为图像范围外不落点,离开图像再进入时不会连出跨越边界的笔触。
- 画笔/橡皮擦最终 stroke geometry 按当前帧图像边界裁剪,避免边缘笔触生成图外 polygon。
- 补充 CanvasArea 回归测试,覆盖顶点提示、图外落笔不创建 mask、靠边笔触坐标不越界。
- 更新需求冻结和测试计划文档,记录笔触边界与只读顶点提示行为。
2026-05-04 03:15:47 +08:00
94abad2794
支持跨语义传播链区域合并
...
- 区域合并同步时允许 A 语义传播链并入 B 语义传播链
- 传播帧同时存在 B/A 对应结果时,将 A 合并进 B 并删除 A 对应标注
- 传播帧缺少 B 对应结果但存在 A 对应结果时,将 A 结果转换为 B 语义并标记为 dirty
- 保持稳定 lineage 匹配优先,旧传播结果继续用来源帧、语义/颜色和空间最近候选兜底
- 补充 CanvasArea 回归测试覆盖跨语义 B 吸收 A 以及缺少 B 对应结果场景
- 更新项目指南和设计冻结文档
2026-05-04 03:08:41 +08:00
46b055eba8
修复旧传播帧区域合并同步
...
- 为缺少稳定 lineage 的旧传播结果增加参考帧到传播帧的实例匹配
- 区域合并/去除同步时按来源帧、语义/颜色和空间最近候选定位对应传播 mask
- 保持稳定 source_annotation/source_mask/seed 匹配优先,避免同类不同实例误合并
- 补充 CanvasArea 回归测试覆盖旧传播帧合并时删除对应次级 mask
- 更新项目指南和设计冻结文档
2026-05-04 02:52:38 +08:00
2f55ecfe6a
限定DEL人工帧删除范围
...
- 为清空/删除传播链确认区分 clear 与 delete 操作来源
- DEL/Delete 确认删除人工或 AI 帧时只删除选中或同传播链对应 mask
- 保持清空遮罩操作确认后可按原逻辑清空人工/AI 帧范围
- 调整人工/AI 帧确认弹窗文案,避免误导为 DEL 会整帧清空
- 补充 VideoWorkspace 回归测试,覆盖同一人工帧其它 mask 不被 DEL 删除
- 更新项目指南和设计冻结文档
2026-05-04 02:36:10 +08:00
0485ce4d92
保持传播多区域结果为单个遮罩
...
- 后端传播落库时将同一 seed 在同一目标帧的多个不连通 polygon 保存到同一 annotation
- 同步任务传播和兼容同步传播接口的多 polygon 保存逻辑
- 传播结果 bbox 改为覆盖全部不连通 polygon,并保留多 polygon scores 与 holes
- 前端回显单条多 polygon annotation 时使用组合 bbox 和真实 polygon 面积
- 补充后端传播 worker 回归测试,验证不连通结果只生成一个 annotation
- 补充前端 API 回归测试,验证多 polygon annotation 回显为一个 mask
- 更新项目指南和设计冻结文档
2026-05-04 02:32:31 +08:00
5e570f789b
修复清空所有传播帧人工帧确认
...
- 清空所有传播帧时按传播链 seed 到传播结果的完整帧段检查人工/AI 标注帧
- 从传播结果帧触发清空时也会弹出是否删除人工/AI 标注帧确认
- 用户确认删除人工帧时同步删除该跨度内人工/AI 帧的全部遮罩
- 补充 VideoWorkspace 回归测试覆盖中间 AI 标注帧场景
- 更新项目指南和设计冻结文档
2026-05-04 02:06:08 +08:00
07f3364718
修复旧传播分离片段联动选择
...
- 为缺少稳定 lineage 的旧传播结果增加兼容分组 token
- 同一传播来源、来源帧、方向、分类/标签/颜色的分离片段可联动选中高亮
- 同步 Canvas 和工作区传播链 token 逻辑,保持选择和清空链路一致
- 补充 CanvasArea 回归测试覆盖旧传播结果的不连通片段选中
- 更新项目指南和设计冻结文档
2026-05-04 02:01:49 +08:00
81a47cd405
补强传播帧清空识别
...
- 按帧范围清空时检查完整选择帧段,确保范围内人工/AI 标注帧会触发确认
- 将 propagation_seed_signature 和 legacy propagation source 纳入传播 mask 识别
- 同步 Canvas、时间轴和工作区的传播帧判断,避免传播帧误判为人工帧
- 更新项目指南、需求冻结和设计冻结文档中的传播链识别字段
2026-05-04 01:42:48 +08:00
3dc6c3402e
修正清空范围人工帧确认
...
- 按帧范围清空时检查完整用户选择帧段,确保人工/AI 标注帧会触发二次确认
- 选择删除人工帧时删除这些帧中的全部 mask,选择保留时整帧保留
- 补充人工-only 帧触发弹窗、保留人工帧和删除人工帧的回归测试
- 更新需求冻结和设计冻结文档中的人工帧清空语义
2026-05-04 01:38:18 +08:00
a680510db8
修复分离传播结果联动高亮
...
- 将 propagation_seed_signature 纳入传播链选择 token
- 修复合并后的分离 mask 传播到同一帧后点击一个片段另一个不联动高亮的问题
- 同步 VideoWorkspace 的传播链 token 逻辑,保持删除和清空链路一致
- 补充 CanvasArea 回归测试,覆盖同 seed signature 的分离传播片段联动选中
- 更新项目指南和设计冻结文档中的联动规则
2026-05-04 01:32:18 +08:00
45839a2e4c
增加清空传播帧人工帧确认
...
- DEL 和清空遮罩在清空所有传播帧时检测人工/AI 标注帧并二次确认
- 按帧范围清空传播链时检测范围内人工/AI 标注帧,支持选择否后整帧保留
- 保留人工帧时只清其它自动传播帧,避免人工帧被局部掏空
- 补充清空所有传播帧和范围清空的人工帧保留回归测试
- 更新项目指南、实现地图、前端审计、需求冻结、设计冻结和测试计划文档
2026-05-04 01:26:42 +08:00
5603872821
修复布尔范围操作重复执行
...
- 重新开始区域合并或重叠区域去除时取消旧的顶栏按帧范围请求
- 防止先选择按帧范围、再处理当前帧后还能继续执行旧范围合并
- 补充 VideoWorkspace 回归测试覆盖旧范围请求被取消的路径
- 更新项目指南、设计冻结和测试计划中的互斥交互说明
2026-05-04 01:04:13 +08:00
f42bf42989
优化传播范围清空交互
...
- 将布尔操作的选择范围弹窗改为四个操作按钮同一行展示
- 将 DEL 和清空遮罩的传播链确认改为单层弹窗,提供取消、只清当前帧、按帧范围选择和清空所有传播帧
- 为传播链清空新增时间轴范围选择、顶栏确认清空和最终确认流程,只删除所选范围内同传播链遮罩
- 补充 Canvas 和 VideoWorkspace 回归测试,覆盖按钮布局和按帧范围清空传播链
- 更新前端审计、需求冻结、设计冻结、测试计划和项目指南文档
2026-05-04 00:57:55 +08:00
2fe4623cae
修复同类多实例传播结果被清理
...
- 在传播结果写入前的空间清理中识别同一任务里的其它 seed,避免后续同类 seed 删除前面刚写入的传播结果。
- 保留旧结果替换逻辑:不属于本次其它 seed 的旧传播结果仍可按语义和空间重叠被新 seed 替换。
- 将同类多实例传播回归测试改为重叠输出场景,覆盖此前两个同类方块只保留一个的问题。
2026-05-04 00:44:11 +08:00
093ef6c63a
优化工作区传播和清空交互
...
- 手工多边形、矩形和圆在未选语义分类时默认归入 maskid:0 的待分类类别。
- 后端自动传播按来源 annotation/mask/seed key 区分同类多实例,避免多个同类型 mask 传播时互相清理。
- 左侧工具栏在橡皮擦下方新增彩色 AI 自动传播入口,传播权重和范围控件只在进入传播后显示。
- 移除顶栏重复的清空片段遮罩入口,并取消当前清空/DEL 弹窗中的按帧范围清空路径。
- Canvas 右下角显示当前帧:XX/XXX,并调整布尔操作浮层位置避免重叠。
- 更新前端和后端回归测试,覆盖待分类默认、工具栏自动传播和同类多实例传播。
- 同步 AGENTS 与 doc 文档,说明新的工具栏、清空和传播行为。
2026-05-04 00:26:11 +08:00
061f4ed25b
移除工作区顶栏模型状态徽标
...
- 删除分割工作区顶栏重复的紧凑 GPU/CPU 状态徽标
- 保留左侧 Sidebar 底部的模型状态显示,顶栏只保留传播权重和范围摘要
- 更新前端审计、设计冻结和 AGENTS 文档
2026-05-03 23:35:02 +08:00
b97c00900c
支持布尔操作按帧范围执行
...
- 区域合并和重叠区域去除新增“按帧范围选择”,复用底部时间轴范围选择并在执行前二次确认
- 布尔操作范围只处理所选帧内存在对应传播链的区域,范围外传播 mask 保持不变
- 自动传播范围选择时在顶栏显示传播权重,以及相对参考帧的向前/向后传播帧数
- Canvas 将传播链布尔操作委托给工作区统一处理范围选择,同时保留当前帧/所有传播帧快捷操作
- 增加 CanvasArea、VideoWorkspace 回归测试,覆盖布尔操作范围选择、范围执行和自动传播方向摘要
- 更新 AGENTS 与前端审计、需求冻结、设计冻结、测试计划文档
2026-05-03 23:30:47 +08:00
5ae1d15336
完善遮罩删除范围选择
...
- 删除/清空已保存标注前预检后端 annotation id,跳过本地陈旧 id,避免重复 DELETE 产生 404 控制台红字
- 左侧工具栏新增 DEL 删除选中遮罩入口,调整清空遮罩弹窗文案为“清空所有传播帧”,并加入按帧范围选择入口
- 区域合并和重叠区域去除在存在传播帧时弹出当前帧/所有传播帧选择,传播帧同步后保留原 lineage metadata
- 多 polygon 或分离区域组成的 mask 选中后显示全部顶点与插点手柄,同帧传播链分散 mask 点选时联动高亮
- 调整工具栏分组分隔线位置,只在清空遮罩下方保留 tool-group-separator 测试标记
- 更新 VideoWorkspace、CanvasArea、ToolsPalette 回归测试和相关项目文档
2026-05-03 22:14:00 +08:00
275be62db5
修复工作区撤销重做快捷键
...
- 抽出 keyboardShortcuts helper,统一识别 Ctrl/Cmd+Z、Ctrl/Cmd+Shift+Z 和 Ctrl/Cmd+Y
- 快捷键监听改为 window capture 阶段,减少 Canvas/Konva 焦点或冒泡拦截导致的失效
- 兼容 event.code=KeyZ/KeyY,覆盖输入法或键盘布局下 event.key 不可靠的情况
- 保持输入框、文本域、下拉框和可编辑文本聚焦时不拦截撤销/重做
- 增加快捷键 helper 与 VideoWorkspace 回归测试,并更新需求、设计、测试计划和 AGENTS 文档
2026-05-03 21:10:38 +08:00
a22af5f7c8
统一工作区清空遮罩入口
...
- 移除 Canvas 右下角旧清空遮罩和应用分类按钮,清空入口统一到左侧工具栏
- 清空遮罩优先作用于当前帧选中 mask,无选中时作用于当前帧全部 mask
- 目标 mask 无传播链结果时直接清当前帧,有传播链结果时弹窗选择只清当前帧、清空传播所有帧或取消
- 保留布尔工具右下角合并/去除操作区,避免旧分类按钮误改整帧
- 更新 Canvas、工具栏、工作区测试,覆盖直接清空、传播链范围选择和取消路径
- 同步更新前端审计、需求冻结、设计冻结、测试计划和 AGENTS 说明
2026-05-03 21:06:03 +08:00
3e998b9d6b
保存标注前预检陈旧id
...
- dirty 标注保存前拉取后端标注 id 列表,已缺失的本地旧 annotationId 直接重新创建
- 保留 PATCH 404 兜底,覆盖预检后并发删除的情况
- 扩充分割工作区测试,区分预检缺失和 PATCH 后缺失两条路径
- 同步更新接口契约、需求冻结、设计冻结、测试计划和 AGENTS 说明
2026-05-03 19:29:36 +08:00
0ba5a8c094
修复陈旧标注保存404
...
- dirty 标注 PATCH 404 时改用 POST 重新创建,保留几何、分类和传播 lineage metadata
- 保存后回显替换本地旧 annotationId,避免保存改动和开始传播被陈旧 id 中断
- 增加工作区回归测试,覆盖本地旧 annotationId 重新创建流程
- 更新接口契约、需求冻结、设计冻结、测试计划和 AGENTS 说明
2026-05-03 19:26:07 +08:00
4d6bbf2b80
同步传播链编辑并保护模板切换
...
- 修改激活模板时,如果当前项目已有 mask,先提示确认并清空所有本地 mask 和已保存后端标注;无 mask 项目可直接切换。
- 模板库详情页将“+ 新建分类”改为带编辑图标的“编辑模板”,并打开完整模板编辑弹窗。
- 区域合并会按 propagation lineage 找到其它传播帧的对应主区域和参与区域,逐帧执行 union,只删除实际参与合并的对应 mask。
- 重叠区域去除会按 propagation lineage 同步到其它传播帧的对应区域,保留参与扣除 mask,不再只改当前帧。
- 当前帧清空遮罩会同步删除这些 mask 的关联自动传播结果,并新增左侧工具栏清空入口。
- 传播链同步编辑保留 source、source_annotation_id、source_mask_id、propagation_seed_key 等 metadata,避免时间轴帧属性变色。
- 补充模板切换确认、模板编辑按钮、左侧清空入口、传播链合并/去除和清空传播链的前端回归测试。
- 更新 AGENTS、接口契约、冻结需求、设计冻结和测试计划文档。
2026-05-03 19:10:12 +08:00
2da73f9acd
修复3000白屏的Logo加载
...
- 将侧边栏 logo_square.png 从 Vite 模块 import 改为 /logo_square.png 静态路径,避免浏览器把图片按 JS module 加载。
- 验证 3000 页面可挂载登录页 DOM,Sidebar 测试、类型检查、生产构建和 diff 检查通过。
2026-05-03 18:31:06 +08:00
f88f9bdbb9
支持中空mask编辑和传播保洞
...
- 前端按 polygonRingCounts 维护外圈/内洞 ring 分组,中空 mask 在调整多边形时显示内洞顶点和插点手柄。
- 保存与回显标注时将中空结构拆分为 mask_data.polygons 和 mask_data.holes,导入/普通 mask 共享同一编辑体验。
- 自动传播 seed 携带 holes,SAM 2 seed 栅格化时扣除内洞,避免中空 mask 以实心形式传播。
- 传播结果轮廓提取改为保留层级内洞,并在同步传播和 Celery 传播落库时写回 holes 与 hasHoles。
- 传播 seed 签名纳入 holes,并加固保存结果时 holes 与原始 polygon 索引对齐。
- 补充前端保存/回显、Canvas 内洞编辑和后端 SAM 2 hole 处理测试。
- 更新 AGENTS、接口契约、需求冻结、设计冻结和测试计划文档,移除中空结构未实现的旧描述。
2026-05-03 18:28:46 +08:00
739953bc13
更新方形Logo和头颈部CT默认分类
...
- 侧边栏 Logo 改为导入根目录 logo_square.png,favicon 也切换为 /logo_square.png,并让前端服务显式提供该根目录图片。
- 头颈部CT分割默认模板分类名改为纯中文,去掉括号英文翻译,颜色和 maskid 保持用户给定顺序。
- 增加旧版头颈部CT英文括号 label 的窄迁移,启动 seed 时自动把旧默认系统模板更新为纯中文默认。
- 更新前端 Logo 测试、后端默认模板和恢复出厂设置测试,覆盖纯中文分类和根目录方形 Logo。
- 更新 AGENTS、README、前端审计、需求冻结和测试计划文档,记录根目录 Logo 和头颈部CT纯中文默认分类。
2026-05-03 18:11:21 +08:00
d559cda2cb
移除模板分类编辑来源字段
...
- 删除编辑模板弹窗中分类编辑态的旧 category 来源文本框,避免显示未分类、批量导入或模板名等干扰信息。
- 保留分类名称编辑、颜色、maskid 和拖拽层级能力,旧 category 元数据仅作为兼容数据继续随记录保留。
- 为模板分类编辑补充回归测试,确保点击分类后不再暴露旧 category 来源字段。
- 更新 AGENTS、需求冻结、设计冻结和测试计划文档,明确编辑弹窗不展示或编辑 category 来源元信息。
2026-05-03 18:04:02 +08:00
cadacef04d
修复演示恢复默认模板覆盖逻辑
...
- 新增后端默认模板服务,集中维护腹腔镜胆囊切除术和头颈部CT分割的权威分类树、颜色、maskid 和层级定义。
- 演示恢复出厂设置时强制恢复系统默认模板,缺失模板会重建,已修改或删减的默认语义分类树会覆盖回默认状态。
- 清理 main.py 中重复的默认模板定义,让启动 seed 复用同一套服务逻辑,避免后续默认模板定义漂移。
- 扩展管理员恢复出厂设置测试,覆盖头颈部CT模板被改坏和腹腔镜模板缺失后的恢复结果。
- 更新 AGENTS、README 和需求/API/测试/前端审计文档,明确恢复出厂设置会权威恢复系统默认模板。
2026-05-03 17:54:19 +08:00
7f8722410c
修复模板分类批量导入格式识别
...
- 修复模板库批量导入只使用严格 JSON.parse 导致合法 colors/names 内容被误判非法的问题。
- 支持 [[colors], [names]] 数组格式和 {colors, names} 对象格式,并兼容带“批量导入分类:”前缀、代码块、未加引号 keys、单引号、中文逗号/冒号和尾随逗号的粘贴内容。
- 增加导入数据校验:分类名称不能为空,颜色必须是 0-255 的 RGB 三元组,缺失颜色继续使用默认灰色并保留预览提示。
- 补充 TemplateRegistry 测试,覆盖对象格式、数组格式和常见粘贴格式;同步 AGENTS 和 doc 中的模板导入说明与测试计划。
- 已验证 TemplateRegistry 组件测试、TypeScript 类型检查、生产构建、服务重启、前后端健康检查和 git diff 检查。
2026-05-03 17:45:49 +08:00
0b4e10209a
修复拆帧任务进度卡在 0%
...
- 将 Celery worker 启动方式改为 solo pool,避免 OpenCV/PyTorch/SAM 相关依赖在本机 prefork worker 中段错误崩溃。
- 增强开发重启脚本:启动 Celery 后检查 worker 进程是否持续存活,避免脚本误报服务已启动但任务无人消费。
- 同步一键启动脚本和安装/README 文档中的 Celery 启动命令,统一使用 --pool=solo --concurrency=1。
- 已验证脚本语法、diff 检查、服务重启、健康检查和 Celery inspect ping,确认拆帧任务可从 0% 继续执行到完成。
2026-05-03 17:30:24 +08:00