Type: grilling Status: resolved Labels: wayfinder:grilling Blocked by: None
本票的讨论与取舍已由维护者确认;resolved 表示决策完成,不表示设备图层或模式矩阵已经实现。设备级坐标契约仍由票 09 推进,视觉、拾取与重叠设备分别留给票 06、07、10、11。
下一步:本票结论已由 /to-spec 固化为同一张 map 的14 号关联监测设备图层规格;现有 spec.md 继续属于票 03,未覆盖。后续实施须接入 deviceCodes、取得后端设备坐标与校验契约或采用已定清单降级,并在接线时更新旧源码注释。全图模式矩阵的其余图层由票 13 另行裁决。
需求②希望在选中监测点后展示该点下所有关联监测设备的位置,与已关闭实现票 10 的“关联设备不作为独立地图标记重复渲染”及其当时的结构性保证冲突。本票裁决默认摘要标记与选中态关联设备图层的边界、触发和生命周期,并确保分页、快照、图例和计数不混用。
deviceCode 与所属 pointCode 拾取身份,不冒充监测点标记。具体形状、尺寸、贴地与重叠点选择由票 06/10/11 裁决。ALARM/WARNING 的关联设备,不借监测点聚合状态推断。设施、事件等其余图层的全图模式矩阵由票 13 裁决,不能把本票说成已实现整张图。map-snapshot 的点位 deviceCodes 能列出该点关联设备(含离线、不受摘要分页影响),但当前前端适配器尚未读取;点位详情设备卡片还没有设备级坐标与校验,票 09 负责推进后端契约。后端未给设备坐标时保留清单并如实标“位置待确认/不可用”,不能以监测点坐标冒充设备位置,也不能人工偏移。只有后端设备级 coordinateValidation.renderable === true 且坐标可用时才可上图。snapshotAt 只锁同一次地图分页;点位详情请求不携它、也可能复用缓存。因此采用尽力展示并明确提示“设备位置可能与当前快照不同”,不宣称跨端点同版。关联总数以当前快照该点去重后的 deviceCodes 为准;清单尚未到达或缺失时显示“待确认”,不拿详情统计或卡片数冒充总数。若快照是 [A,B]、详情是 [B,C]:B 正常展示,C 卡片标“与当前快照不一致,不能上图”,A 以编码占位并标“设备详情待确认”;设备图层只考虑 A、B,同时提示跨端点数据不同步。无法确认设备归属时不上图。snapshotAt 翻下一页只增加摘要对象,不重建当前设备图层,也不把关联设备计入摘要分页数量。data-map-markers* 与“点位标记”数,后续仅统计当前模式实际可见的摘要标记,不计关联设备。关联监测设备另设图例,只统计当前模式实际已绘制的设备;设备状态视觉规则由票 07/10 决定,不将监测点六态词表直接当作设备状态。detailFlow.js 与 MapCanvas.vue 中绝对化的“地图对象永远只来自摘要”等注释,在后续设备图层接线时按本票同步修改;当前代码尚无该图层,不提前写成已实现。跨图层模式矩阵由同 map 票 13 留存。