Files
REVOXELSEG_DICOM/工程分析/测试方案-2026-05-20-15-54-46.md

65 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试方案:逆向工作区布局、缩放平移、复位与拉伸验证
测试方案文档路径:`工程分析/测试方案-2026-05-20-15-54-46.md`
## 静态检查
- 确认 `DICOM 切片位置` 为白底外置控件,并位于二维影像右侧。
- 确认 `Base DICOM` / `Overlay Label Map` 不再作为深色大块控件压在影像内部。
- 确认 `VoxelizationMappingView` 支持 zoom/pan 状态和位置重置。
- 确认 `FusionThreeView` 支持视图复位 token。
- 确认三维拉伸按钮仅在 XYZ 旋转均为 90 度倍数时启用。
- 确认主布局右侧视图宽度提升,三列底部更接近对齐。
## 构建检查
-`WebSite/` 执行 `npm run lint`
-`WebSite/` 执行 `npm run build`
## 关键业务场景验证
- 右侧二维影像可滚轮缩放。
- 右侧二维影像可鼠标拖拽平移。
- 点击“位置重置”后二维影像恢复居中、1 倍缩放。
- 点击三维融合视图复位按钮后相机恢复默认视角。
- 旋转角度不是 90 度倍数时,拉伸按钮不可用。
- 旋转角度满足 90 度倍数时,可触发 X/Y/Z 方向等比例拉伸并更新模型 scale。
## 医学影像数据相关边界验证
- 不修改 DICOM/STL 原始数据。
- 不改变切片映射算法和导出接口。
- 二维缩放和平移只影响浏览显示,不改变 Label Map 坐标。
- 手动拉伸属于位姿参数调整,保存/导出沿用当前位姿。
## 部署验证
- 验证 `http://127.0.0.1:4000/api/health`
- 验证 `http://127.0.0.1:4000/` 返回 200。
## Git/Gitea 备份验证
- commit message 包含 `2026-05-20-15-54-46`
- 推送 Gitea 成功后记录 commit。
- 确认未暂存历史删除状态、软著材料和运行态文件。
## 风险与回归关注点
- 右侧控件白底化后要保持与深色影像区边界清晰。
- CSS transform 顺序需要同时覆盖 Base DICOM 与 Overlay避免错位。
- Three.js 复位不能打断现有 OrbitControls。
- 当前实现为等比例 `scale` 调整,不提供非等比轴向拉伸。
## 执行结果
- `npm run lint`通过TypeScript 无报错。
- `npm run build`通过Vite 完成生产构建;仅保留当前项目已有的大 chunk 体积提示。
- 静态确认:右侧 `DICOM 切片位置` 已改为白底外置卡片,`Overlay Label Map` 状态与构件列表已位于影像外部。
- 静态确认:`VoxelizationMappingView` 已加入滚轮缩放、鼠标拖拽平移和 `位置重置`
- 静态确认:`FusionThreeView` 已加入 `位置重置`,三维模型默认 Z 偏移已取消。
- 静态确认:主布局改为左窄、中等、右宽的三列比例,并用 `flex-1` 包裹三维/二维视图以改善底部对齐。
- 静态确认:已加入 X/Y/Z 等比例自动拉伸按钮,旋转 X/Y/Z 均为 90° 整数倍且数据加载完成时可用。
- 部署验证:已重建 `tmux` 会话 `revoxelseg-dicom`,执行 `npm run serve -- --host 0.0.0.0 --port 4000`
- `curl -fsS http://127.0.0.1:4000/api/health`:通过,返回 `{"ok":true,"service":"revoxelseg-dicom",...}`
- `curl -I -fsS http://127.0.0.1:4000/`:通过,返回 `HTTP/1.1 200 OK`