Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-20-02-02-37.md

60 lines
2.4 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-02-02-37
## 实现方案文档路径
`工程分析/实现方案-2026-05-20-02-02-37.md`
## 修改目标
让“模型位姿”每一项都支持直接数字输入,并新增导入位姿数据功能,兼容当前导出的位姿 JSON导入后同步当前位姿和保存位姿列表。
## 涉及路径
- `WebSite/src/components/ReverseWorkspace.tsx`
- `工程分析/需求分析-2026-05-20-02-02-37.md`
- `工程分析/实现方案-2026-05-20-02-02-37.md`
- `工程分析/测试方案-2026-05-20-02-02-37.md`
- `工程分析/经验记录.md`
## 技术路线
1. 增加位姿归一化辅助函数:
- 对每个位姿字段按 `poseStepConfig` 执行数字校验、clamp 和默认值补齐。
- 对导入的保存位姿列表补齐默认/俯视/侧视,并去重。
2. 模型位姿数值输入:
- 将原只读数值改成 `<input type="number">`
- 使用现有 step/min/max/precision。
- 输入合法时立即更新 `modelPose`,继续触发三维与二维映射联动。
3. 导入位姿数据:
- 新增隐藏 file input 与“导入”按钮。
- 读取 JSON兼容 `{ activePose, modelPoses }``{ pose }`、直接 pose 对象三种形式。
- 导入 `modelPoses` 时调用现有 `commitSavedPoses` 持久化。
4. 反馈与容错:
- 导入成功设置提示;导入失败设置 `fusionError`
- 清空 file input value允许重复导入同一文件。
## 执行步骤
- 更新 `ReverseWorkspace.tsx` 的 import、ref、辅助函数和 handlers。
- 调整模型位姿 UI将保存按钮组改为保存/导入两个操作。
- 将数值展示替换为可编辑数字输入。
- 运行 `npm run lint``npm run build`
- 重新部署并验证服务。
## 兼容性与回滚方案
- 旧滑条、加减按钮、保存位姿、重命名位姿逻辑继续保留。
- 导入功能只读本地 JSON不改后端接口。
- 如导入格式异常,只提示错误,不覆盖当前状态。
## 预计文件变更
- `ReverseWorkspace.tsx`位姿数字输入、导入按钮、JSON 解析与归一化。
- 工程分析文档:新增本次三份文档并追加经验记录。
## 提交与部署策略
- Commit message`2026-05-20-02-02-37 支持位姿输入与导入`
- 显式暂存本次相关文件,避免提交历史删除状态。
- 推送到 Gitea `origin/main` 后,沿用 `tmux` 会话 `revoxelseg-dicom` 重新部署。