Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-20-22-07-46.md

58 lines
2.6 KiB
Markdown

# 实现方案-2026-05-20-22-07-46
## 实现方案文档路径
`工程分析/实现方案-2026-05-20-22-07-46.md`
## 修改目标
1. 后端导出压缩包文件名改成 `项目名_时间.tar.gz`,兼容中文项目名。
2. `VoxelizationMappingView` 支持把 Overlay Label Map 摘要放到右侧下方或底部下方。
3. 项目库使用右侧 Overlay 摘要布局;逆向工作区使用项目库风格的黑底工具行和右侧切片导航,但 Overlay 仍在下方。
4. 项目库“逆向分割结果”摘要只显示构件总数、最后保存时间和模型位姿。
## 涉及路径
- `WebSite/server.ts`
- `WebSite/src/components/ReverseWorkspace.tsx`
- `WebSite/src/components/ProjectLibrary.tsx`
- `WebSite/src/index.css`
- `工程分析/经验记录.md`
## 技术路线
- 在后端新增项目名/时间文件名格式化函数,并用于 bundle 下载响应头。
-`VoxelizationMappingView` 中抽出 Overlay 摘要渲染片段,通过 `variant` 与布局参数区分项目库和逆向工作区。
- 逆向工作区把窗宽、旋转和位置重置按钮传入映射视图内部,外层只保留模块标题或直接交给组件渲染。
- 项目库结果摘要卡片移除切片和类别范围字段,增加位姿字段的紧凑网格。
## 执行步骤
1. 定位 `server.ts` 导出 bundle 的文件名生成逻辑。
2. 定位 `ProjectLibrary.tsx` 结果摘要和映射视图调用逻辑。
3. 调整 `ReverseWorkspace.tsx` 的映射视图 `variant`、工具栏和 Overlay 位置。
4. 更新样式文件中的暗色竖向滑块或新增必要类名。
5. 执行 `npm run lint``npm run build`
6. 重启 `tmux` 服务并验证 `/api/health` 与页面响应。
7. 追加经验记录,提交并推送到 Gitea。
## 兼容性与回滚方案
- 导出文件名只改响应头,不改变压缩包内部结构,回滚时恢复旧 `filename` 即可。
- 视图布局通过组件参数控制,若项目库右侧摘要不合适,可回退为下方摘要或隐藏摘要。
- 逆向工作区仍使用同一 `VoxelizationMappingView`,回滚风险集中在一个组件。
## 预计文件变更
- 修改 `server.ts` 导出文件名。
- 修改 `ReverseWorkspace.tsx``ProjectLibrary.tsx` 视图布局与摘要字段。
- 视需要修改 `index.css` 滑块样式。
- 新增三份工程分析文档,追加 `经验记录.md`
## 提交与部署策略
- 只暂存本次相关源码和本次工程分析文档。
- commit message 使用 `2026-05-20-22-07-46 导出命名与映射视图摘要优化`
- 推送到 Gitea `main` 分支。
- 构建后重启 `tmux` 会话 `revoxelseg-dicom`