面板选设备与三维设备点的对应反应
Type: grilling
Status: resolved
Labels: wayfinder:grilling
Blocked by: 05
进度:100%
已收口(resolved,2026-09-18):两轮十问全部裁定并落盘 ## Answer;维护者确认收口。结论要点:hover=双侧(面板↔三维互指)、选中=外环+放大+引线(连监测点标记中心,重叠时引线退化不画)、首次进设备级飞 150 m 且设备级内切换只换中心、返回点位级回 500 m、全双向联动且锚点仍跟随监测点、其余设备压暗+缩小(阈值 ≥ 3 台)、hover 撤弱化、独立 pickDeviceMarkerAt() 且设备点优先、可断言字段 data-map-device-picked / data-map-panel-selection / data-map-device-hovered。下游落盘:本票结论由 /to-spec 固化为规格子票挂到同一张 map;表现层数值(引线虚实/颜色、压暗缩小程度、hover 节流)留 08 原型与实现票现场定;与票 11 的边界(引线退化归本票 / 重叠拾取归 11)随本票收口生效。
Question
需求④原句:「点击监测面板中的设备后,三维场景下的设备点或模型应对应反应,表达对应关系」。
请裁决:
- 反应语言:hover 与「选中」分别怎么表现(高亮 / 放大 / 描边 / 引线 / 标签展开 / 其余设备压暗)?票 09 已把颜色 + 形状 + 文字三线索绑给状态(色键已被占用),对应反应不得复用色键语义,用什么维度区分「这是被选中的那台」(尺寸?外环?引线?标签?)。
- 是否同时定位镜头:需求⑤开头写「定位到设备时」——点面板里的设备是否要把镜头定位到该设备?若是:它与需求①的点位定位是两档视角(点位级 → 设备级)吗?视角参数归票 03 还是本票(写明分工,别两票各定一半)。
- 双向联动:点三维里的设备点是否反选面板卡片并滚动到该卡片?面板第二级(设备详情,实现票 11)打开时是否仍保持三维对应?关闭设备级回到点位级时如何还原。
- 多设备弱化:选中一台时其余设备压暗 / 缩小 / 隐藏哪一种;有多少台时才需要弱化(阈值);与票 09 图例的计数是否一致。
- 拾取优先级:设备点位与监测点标记重叠(设备坐标 ≈ 点位坐标)时谁先被拾到?票 10 已定
pickPointMarkerAt() 只认带 pointCode 的实体,设备拾取要不要新入口(pickDeviceMarkerAt()?),以及它相对票 22「管线交互优先级低于监测点和设备点位」的位置。
- 可断言口径:宿主
dataset 上新增哪些只读字段(类似 data-map-picked),让将来的走查能对着断言而不是看图。
Answer
已确认决策(两轮:Q1–Q6 + Q7–Q10,2026-09-18)
- 反应语言(Q1):
- hover=双侧:面板 hover 设备卡片 → 三维该设备点轻放大(瞬态);三维 pointermove hover 设备点 → 面板对应卡片高亮(复用票 10 的
detailStore/selectDevice 链路)。三维侧挂 pointermove 拾取,其节流/静止成本交实现,方向已接受。
- 选中=外环 + 放大 + 引线:外环承接票 07 预留的「选中强化」方向,并叠加尺寸放大一档;引线从设备点连到监测点标记中心(即票 04/12 的面板锚点),表达「这台设备属于这个点、面板正在说它」,随锚点走。
- 对应反应不得复用色键(票 09/07 已把颜色绑给设备五态);「颜色不是唯一线索」的验收不被破坏。
- 镜头(数值仍归票 03
map.locate;本票只定行为):
- 点监测点 → 点位级定位(500 m);首次进入设备级(从点位级点设备卡片)→ 设备级定位飞一次(150 m);设备级内 A→B 设备切换 → 只换中心不重飞;返回点位级 → 回 500 m 定位视角。返回点位不是票 03 的「取消选中不回退」(监测点仍选中,只是层级回退),两者不冲突。
- 双向联动(全双向):
- 三维点设备点 → 面板滚动到该卡片并选中(进设备级第二级,复用
selectDevice);第二级打开时三维保持该设备选中强化;「返回点位」→ 面板回第一级、三维还原为监测点选中态(设备外环/放大/引线清除)。
- 面板锚点仍跟随监测点标记中心(票 04/12 与 CONTEXT.md「面板锚点」词条不动);三维强化跟随设备,锚点归属不换。
- 多设备弱化:其余设备压暗 + 缩小;阈值:设备数 ≥ 3 台才启用弱化,少于 3 台全亮。弱化不影响票 07 图例计数(图例只计实际绘制)。hover 叠加规则:hover 只作用于非选中设备——被 hover 的撤弱化 + 轻放大(不叠外环/引线),已选中的保持强化不被 hover 干扰。
- 拾取(Q5):
- 新建独立入口
pickDeviceMarkerAt()(认 deviceCode,不混 pointCode 归属判据;票 05「不冒充监测点标记」由此结构性保证),点选链路先设备点、再监测点——正常单点设备点优先,异常回落监测点(回点位级)。未关联设备既有拾取链路不变。
- 重叠时的 drillPick/展开/逐台点选归票 11,本票不裁;引线退化归本票(见边界)。管线交互优先级低于监测点和设备点位(票 22)保持不变。
- 可断言口径:宿主
dataset 新增只读字段,走查对断言不对图:
data-map-device-picked = 当前选中设备 deviceCode(可空)
data-map-panel-selection = none|point|equipment(与 detailStore.selection 对应)
data-map-device-hovered = 当前三维 hover 设备 deviceCode(可空)
- 不破坏既有
data-map-picked(票 10 走查在用)。
边界与分工
- 引线退化:设备点与监测点坐标相同(引线长度 0)时不画引线,靠外环 + 放大表达;重叠拾取/呈现归票 11,引线退化属本票的选中表现语言。
- 表现层细节(引线虚实/颜色、压暗缩小程度、hover 拾取节流阈值)留给 08 原型与实现票现场定,本票恰锁语义,不锁数值。
- 本票只产决策,不实现功能;实现归属本图收口后的实现票。