# 需求分析:导出 STL、保存分割结果与工作区布局优化 开始时间:2026-05-20-03-19-25 ## 原始需求摘要 用户提出以下修改: 1. `导出全部 NII.GZ` 增加 `导出 STL 原始模型` 选项。 2. 逆向工作区 `逆向分割映射视图` 上方增加 `保存至项目库` 按钮,将当前分割结果推送到项目库的 `分割结果` 区域;项目库分割结果右侧需要具备与 `导出全部 NII.GZ` 一致的导出功能。 3. `影像与模型融合视角` 仍占地过大,需要让 `可视化工具栏` 与 `逆向分割映射视图` 更宽。 4. `逆向分割映射视图` 下方仅显示当前切片中实际出现的构件,并改为更紧密的表格形式,一行可以显示多个构件提示。 5. `head-ct-demo-pose-data.json` 是最合适的位姿,需要作为当前系统推荐/默认位姿使用。 6. 使用 `Agent.md` 撰写当前系统使用方式,并输出 500~1300 字的主要功能说明。 ## 业务目标 - 让导出包成为 DICOM、分割、位姿、原始 STL 的统一归档入口。 - 将逆向工作区中的分割结果沉淀到项目库,便于后续复核和导出。 - 提高三栏工作区中操作区和二维校验区的可用宽度。 - 右侧切片图例只表达当前 slice 实际存在的 Overlay 构件,减少无关干扰。 - 默认加载最优位姿,降低用户每次进入项目后的手动调整成本。 - 提供清晰的系统使用说明文档。 ## 输入与输出 - 输入: - 当前项目 `head-ct-demo`。 - 当前模型位姿、构件样式、分割导出范围。 - `head-ct-demo-pose-data.json` 中的最佳位姿。 - 输出: - 新增 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` - 工程分析文档与经验记录。 ## 关键约束 - 保存至项目库必须写入后端项目状态,不能只存在组件内存。 - 导出 STL 原始模型不能把大型 STL 文件提交到 Git,只在运行时打包下载。 - 继续避免浏览器 blob 下载路径,保持后端附件直链。 - 文档备份提交只包含本次相关代码和文档,不纳入旧的未确认删除。 ## 风险点 - 原始 STL 总体积较大,选择导出 STL 会明显增加压缩包体积和下载耗时。 - 保存分割结果若不携带位姿,会导致项目库导出的分割与保存时不一致。 - 图例改为当前 slice 构件后,需要依赖 Overlay 计算结果,不能只看全局显隐状态。 ## 默认假设 - `保存至项目库` 保存当前位姿、导出范围和当前构件样式快照。 - 项目库分割结果导出默认使用最新保存结果的位姿与范围。 - `Agent.md` 放在项目根目录,作为系统使用说明文档。