# 需求分析 时间戳:2026-05-04-04-58-36 ## 原始需求摘要 用户要求严格使用代码编纂工作流处理本次修改,并在开始时确认工作流整体流程;本次需求分析、实现方案、测试方案和执行修改均不需要人工二次确认。 具体需求: 1. 项目列表旁边的 `+` 和向内收缩按钮重叠。 2. 逆向工作区需要显示当前项目;影像与模型融合视角应显示 DICOM 与 STL 等比例拉伸到同种形状、中心对齐后的效果。 3. 项目列表中矢状面和冠状面看起来不动;应在最早创建/载入项目时把图像处理并预存;同时 DICOM 应支持多种显示模式。 4. 3D 模型页面为空;如果正在加载,应显示加载进度条;如果当前方法不可行,可调用 Python 现成包。 5. 控制台出现 `THREE.Clock: This module has been deprecated. Please use THREE.Timer instead.` 和 OrbitControls 非 passive wheel 事件警告。 ## 业务目标 - 优化项目库左侧标题区布局,避免操作按钮重叠。 - 让逆向工作区明确显示当前项目,并提供直观的 DICOM/STL 融合对齐预览。 - 提升 DICOM 三方向浏览性能和可用性,支持缓存和显示模式。 - 确保 3D 模型预览可见,并提供清晰的加载状态。 - 尽量消除由 React Three Fiber / Drei 引入的 Three.js 弃用警告。 ## 输入与输出 输入: - 当前项目 ID。 - 默认 DICOM 序列与 STL 文件。 - 用户选择 DICOM 平面、切片与显示模式。 - 用户调整 STL 显示颜色、透明度和可见性。 输出: - 项目列表标题区不重叠。 - 逆向工作区顶部和内容区显示当前项目。 - 融合视图显示 DICOM 背景和 STL 归一化叠加效果。 - DICOM 三方向预览来自后端缓存,支持窗宽窗位、骨窗、软组织、高对比模式。 - 3D 模型显示加载进度,模型加载完成后可见。 - 控制台不再出现 `THREE.Clock` 警告。 ## 影响范围 - `WebSite/server.ts` - `WebSite/src/lib/api.ts` - `WebSite/src/types.ts` - `WebSite/src/components/ProjectLibrary.tsx` - `WebSite/src/components/ReverseWorkspace.tsx` - `工程分析/经验记录.md` ## 风险点 - DICOM 三方向缓存会增加运行态内存和首次请求计算量。 - 用原生 Three.js 替换 React Three Fiber 可减少依赖警告,但需要手动管理 renderer/camera/geometry 生命周期。 - 当前融合视图仍是演示级对齐,不等同真实医学配准矩阵。 - Python 本次暂不引入,因为 Node/Three.js 能完成本次显示和缓存目标;后续真实体素化再引入更合理。 ## 待确认问题 - 本次用户已明确无需二次确认,直接执行。