# 测试方案:DICOM 范围驱动模型切分 时间戳:2026-05-08-03-13-20 ## 静态检查 - 执行 `npm run lint`。 - 执行 `npm run build`。 ## 关键业务场景验证 - 进入逆向工作区,DICOM 切片范围默认显示 `1 - 300 / 300`。 - 模型切分区域只保留“启用”开关,不再显示“帧”进度条。 - 调整 DICOM 切片范围后启用模型切分,模型范围外区域被隐藏,保留起点与终点之间的中间区域。 - 页面不再显示 `CUT MASK` 贴图或文字。 ## 医学影像数据边界验证 - 起止范围相同,如 `300 - 300 / 300`,启用切分时模型只保留该切片附近的薄层。 - 起止范围反向拖动时,仍按较小值到较大值裁切。 - 完整范围 `1 - 300 / 300` 下启用切分应基本保留完整模型。 ## 回归风险 - 模型材质 clipping plane 可能受场景旋转影响,需要确认切面跟随 DICOM 体一起旋转。 - DICOM 范围请求数量较大时仍受后端最大返回帧数限制,但物理空间基准不应变化。 ## 验收标准 - 源码不再包含 `createCutMaskTexture` 和 `CUT MASK`。 - 源码不再包含 `cutSlice` 状态和模型切分“帧”滑块。 - 构建与部署成功。 ## 无法测试的风险 - 当前无法在用户浏览器中直接观察 WebGL 裁切结果,需要用户刷新页面后确认视觉效果。 ## 人工审核状态 用户已在项目工作流历史中确认后续直接执行,本次不等待二次人工审核。 ## 执行结果 - `npm run lint`:通过。 - `npm run build`:通过;仅保留 Vite chunk 大小提示。 - `rg` 验证:源码与最新构建产物不再包含 `cutSlice`、`createCutMaskTexture`、`CUT MASK`、模型切分帧滑块结构。 - `rg` 验证:项目加载时已执行 `setSliceStart(0)` 和 `setSliceEnd(maxIndex)`,初始范围为完整 DICOM 序列。