# 实现方案:导出与项目库分割结果闭环 实现方案文档路径:`工程分析/实现方案-2026-05-20-03-19-25.md` ## 修改目标 补齐原始 STL 导出、分割结果保存到项目库、项目库复用导出包功能、工作区布局与右侧构件提示优化,并新增系统使用说明 `Agent.md`。 ## 涉及路径 - `WebSite/server.ts` - `WebSite/src/types.ts` - `WebSite/src/lib/api.ts` - `WebSite/src/components/ReverseWorkspace.tsx` - `WebSite/src/components/ProjectLibrary.tsx` - `Agent.md` - `工程分析/需求分析-2026-05-20-03-19-25.md` - `工程分析/实现方案-2026-05-20-03-19-25.md` - `工程分析/测试方案-2026-05-20-03-19-25.md` - `工程分析/经验记录.md` ## 技术路线 1. 后端导出目标新增 `stl`,在 `/export-bundle` 中将 `Head_CT_ReConstruct` 下的原始 STL 文件写入同一个 tar.gz。 2. 项目状态新增 `segmentationResults`,保存当前分割结果的名称、时间、位姿、分割范围与构件样式快照。 3. 新增 `POST /api/projects/:projectId/segmentation-results`,供逆向工作区 `保存至项目库` 调用。 4. 项目库 `分割结果` 视图读取保存记录,并提供与逆向工作区一致的导出内容选择、分割范围选择和压缩包下载。 5. 将默认/推荐位姿加入前后端默认位姿列表,逆向工作区加载项目时优先选择 `最佳位姿`。 6. 工作区三栏布局从 `6/3/3` 调整为更偏向工具栏与映射视图的比例,压缩左侧融合视角。 7. `OverlayStats` 增加当前 slice 的构件明细,图例仅显示当前切片中实际有边或像素的构件,并用紧凑表格呈现。 8. 编写 `Agent.md`,包含系统使用方式和 500~1300 字主要功能说明。 ## 执行步骤 1. 增加类型定义和后端状态归一化。 2. 扩展导出包生成逻辑与 API 参数解析。 3. 增加项目库保存接口与前端 API。 4. 修改逆向工作区按钮、布局、右侧图例。 5. 修改项目库分割结果区域和导出菜单。 6. 编写 `Agent.md`。 7. 运行 lint、build、接口导出验证、保存接口验证、部署验证。 8. 追加经验记录、提交、推送、重新部署。 ## 兼容性与回滚方案 - 原有导出目标 `dicom/segmentation/pose` 保持兼容。 - `stl` 为新增可选目标,默认可不选以避免包过大。 - 旧项目没有 `segmentationResults` 时归一化为空数组。 - 回滚到上一提交会移除项目库保存结果和 STL 导出选项,但不影响原始医学数据。 ## 预计文件变更 - 后端状态、导出和保存接口。 - 前端 API、类型、逆向工作区与项目库 UI。 - 新增 `Agent.md`。 - 工程分析与经验记录。 ## 提交与部署策略 - 只暂存本次相关文件。 - commit message 包含 `2026-05-20-03-19-25` 和简要说明。 - 推送 Gitea 后使用 `tmux` 会话 `revoxelseg-dicom` 重启服务并验证。