65 lines
3.1 KiB
Markdown
65 lines
3.1 KiB
Markdown
# 测试方案:逆向工作区布局、缩放平移、复位与拉伸验证
|
||
|
||
测试方案文档路径:`工程分析/测试方案-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`。
|