Files
REVOXELSEG_DICOM/工程分析/需求分析-2026-05-24-17-29-17.md

45 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求分析-2026-05-24-17-29-17
## 开始时间
2026-05-24-17-29-17
## 原始需求摘要
用户反馈在逆向工作区调整“构件层级”时,可能出现构件显示异常或暂时不显示;如果处于加载中,应在界面显示加载进度条。同时浏览器控制台反复输出 `Unable to preventDefault inside passive event listener invocation`,需要排查并修正相关事件监听。
## 业务目标
- 提升构件层级可见性切换后的反馈,避免高精度 STL 预览加载期间被误判为显示故障。
- 修正滚轮或触摸事件中被动监听器内调用 `preventDefault` 的浏览器警告。
- 保持现有逆向分割映射视图、项目库 DICOM 操作和部署方式兼容。
## 输入与输出
- 输入:用户在构件层级中切换眼睛、透明度或可见构件后触发高精度模型预览重新加载;用户在 DICOM/映射画布上滚轮缩放或拖动。
- 输出:加载可见 STL 构件时显示进度条与数量;加载完成后恢复正常 overlay控制台不再因被动事件监听器反复打印 `preventDefault` 警告。
## 影响范围
- `WebSite/src/components/ReverseWorkspace.tsx`:逆向分割映射视图、构件预览加载流程、滚轮缩放事件。
- `WebSite/src/components/ProjectLibrary.tsx`:项目库 DICOM 画布滚轮缩放与触摸重复按钮事件。
- `Docker部署/README.md`:同步记录本次前端交互与部署包能力变化。
- `工程分析/经验记录.md`:沉淀本次事件监听和加载反馈经验。
## 关键约束
- 必须继续按当前 `tmux` 会话 `revoxelseg-dicom``npm run serve -- --host 0.0.0.0 --port 4000` 方式部署验证。
- 不改变 STL 到 Label Map 的体素化算法语义,仅改善加载反馈与事件监听方式。
- 不能提交运行态数据、导出包、医学原始数据或无关文件。
## 风险点
- 高精度可见构件加载可能较快或较慢,进度状态要处理竞态,避免旧加载结果覆盖新可见状态。
- 去除或迁移 `preventDefault` 时不能破坏滚轮缩放、拖拽平移、长按步进等既有交互。
- 进度条必须只在加载中展示,避免常驻遮挡医学影像区域。
## 待确认问题或默认假设
- 默认假设用户所说的“加载”主要指逆向分割映射视图为当前可见构件重新拉取 STL preview 的阶段。
- 默认假设控制台警告来自 React `onWheel` 或触摸事件中的 `preventDefault`,优先改为原生非被动 wheel 监听和移除不必要的 touch `preventDefault`