diff --git a/docs/OPTIMIZATION-BACKLOG.md b/docs/OPTIMIZATION-BACKLOG.md index 1c05551..4555012 100644 --- a/docs/OPTIMIZATION-BACKLOG.md +++ b/docs/OPTIMIZATION-BACKLOG.md @@ -36,7 +36,7 @@ --- ## OPT-002 · 多三维体并发的切片渲染 -- **状态**:🔴 Open +- **状态**:🟢 Done(issue2/③/反向②,commit `69e8790`);④ 切片拾取串选仍 🔴 Open(见下) - **记录日期**:2026-06-25 - **背景/现状**:切片渲染绑定单一「当前体」——`syncSlices` 只显示 `sp.volumeDsId == currentVolumeDsId()` 的切片,`currentVolumeDsId` = 最后添加的体(`VtkSceneView::volumeOwnerDs_`)。勾选第二个三维体后它 @@ -50,8 +50,9 @@ - **同簇问题(一并改造)**: - **③ 右键体却把切片建到 current 体**:右键三维体 A「生成切片」时仍用 `currentVolumeDsId()`(=最后渲染的 体)创建切片。需把目标体 dsId 随右键带下来,并让 addSlice 用 A 的 image(依赖多体 image 管理)。 - - **④ 切片拾取串选**:点任意切片却选中上下切片。`pickSliceAtCursor` 用 vtkCellPicker 拾任意几何 → - `nearestSlice` 按平面距离选最近切面,拾到体内部点时会选错。`vtkImagePlaneWidget`(VTK9.6) 不暴露 - texture-plane actor,无法用 pick list 限定到切片;需另案:自管切片 actor / 自定义 picker / - 依赖 widget 自身交互(onInteract→selectByTool)而非启发式拾取。已试 pick-list 因无 actor accessor 回退。 -- **更新**:2026-06-25 并入 ③④(原 issue2 的同源多体/拾取簇)。 + - **④ 切片拾取串选(仍 Open)**:点任意切片却选中上下切片。根因是重叠切片下 VTK 的事件路由「最前 + 平面优先」+ `nearestSlice` 启发式:多张切片在屏幕投影重叠时,最前/最近的那张被选中。 + `vtkImagePlaneWidget`(VTK9.6) 不暴露 texture-plane actor,pick-list 精确化方案已试→回退。 + **须在可交互点击的运行环境里实地调试**(点击重叠的 3D 切片才能验证),盲改会破坏现有可用的选择。 + 候选方案:自管切片 actor 做精确 pick / 重叠时让用户循环切换 / 调 widget 优先级。 +- **更新**:2026-06-25 issue2+③+反向② 已实现(`69e8790`);④ 留待能 live 调试的会话单独做。