2.9 KiB
2.9 KiB
需求分析-2026-05-20-21-25-19
开始时间
2026-05-20-21-25-19
原始需求摘要
用户要求继续优化项目库与逆向工作区的逆向分割结果查看体验:项目库的三维融合视角复位后应呈现指定观察角度;项目库右侧逆向分割映射视图需更紧凑,删除无意义标题行与 Base/Overlay 标签,将窗宽按钮和位置重置整合在同一行,黑色影像区左上显示视图名、右下显示 DICOM 切片位置,右侧仅保留一个进度条;项目库逆向分割结果左右图底部对齐;逆向工作区加载未完成前不显示半成品工作区,而显示进度、速度等加载反馈;从逆向工作区或项目库切换到其他模块再返回时,应减轻重复加载。
业务目标
- 让项目库中的逆向分割结果更接近保存结果复核视图,减少控件占用面积。
- 让项目库左右两张结果图在视觉底线和布局高度上对齐,便于横向比较。
- 避免用户在数据未加载完时看到半成品工作区,降低误解。
- 对大体积 DICOM/STL 预览数据做页面级缓存,减少跨模块返回时的重复请求和等待。
输入与输出
- 输入:项目库最新逆向分割结果、DICOM 融合体数据、STL 预览数据、构件样式、切片位置和窗宽模式。
- 输出:项目库紧凑版逆向分割结果视图、逆向工作区加载页、复用缓存后的三维融合视图和二维映射视图。
影响范围
WebSite/src/components/ProjectLibrary.tsxWebSite/src/components/ReverseWorkspace.tsxWebSite/src/index.css工程分析/经验记录.md- 本次需求/实现/测试方案文档
关键约束
- 医学影像主画布不能被无意义标签遮挡。
- 位置重置应只重置浏览视角,不修改模型位姿或导出结果。
- 缓存只能缓存只读预览数据,不应缓存用户保存状态导致脏状态误判。
- 项目库和逆向工作区复用同一真实视图组件时,必须允许项目库使用更紧凑的 UI 变体。
- 提交时不能混入当前工作树已有的历史删除和软著资料。
风险点
- Three.js 组件缓存与 React 生命周期若处理不当,切换页面后可能出现旧场景未更新或重复加载。
- 右侧竖向进度条如果在紧凑布局中宽度过大,会继续挤压 DICOM 画布。
- 加载页若依赖过严,可能在部分 STL 失败时一直不进入工作区。
- 项目库复用工作区组件时,需要避免把工作区专用操作暴露到项目库。
默认假设
- “减轻重复加载”优先通过浏览器内存级缓存完成,暂不引入 IndexedDB 或后端缓存。
- 加载完成标准以 DICOM 融合体加载完成、STL 预览基础数据可用为主;个别 STL 预览失败时显示错误但不永久阻塞页面。
- 项目库逆向分割映射视图可以使用紧凑变体,逆向工作区保留更完整的编辑态信息。