13-mode-layer-visibility-matrix.md 10 KB

一级模式的一张图图层可见性与选择态矩阵

Type: grilling Status: resolved Labels: wayfinder:grilling Blocked by: 05

进度:100%

本票由票 05讨论中提出,并在维护者确认后立案。票 05 已裁决关联监测设备图层的模式可见性与选择态;本票补齐一张图其他业务对象的完整矩阵。经两轮 grilling 收口,完整矩阵与五要素已由维护者逐项确认(2026-09-28),见下方 ## Answer。resolved 表示决策完成,不表示设施点/管线/异常点图层已经实现:设施点数据契约、管线折线(票 22)、设备级状态契约(票 09/#69)均未交付,本期按「如实降级」执行。

下一步:结论经 /to-spec 固化为本 map 的规格子票(等待维护者执行);设施点的拾取/详情/视觉词表另开设施票;实现去向仍是 .scratch/cockpit-shell-panel-layout/issues/ 34 之后。

Question

总体概览希望展示设备、设施、预警报警等所有适用点位;基础设施、运行监测、预警处置则只显示各自相关对象。哪些对象属于各模式、何时仅调整可见性、对象在目标模式隐藏后怎样保留/暂停详情,以及图例和计数如何随模式改变?特别注意“设施”和“监测设备”是不同业务对象,监测点与未关联设备也不得合并为一类。

票 05 的已定边界不在这里重新发明:关联监测设备选中态临时图层在总体概览/运行监测展示全部有效位置设备、基础设施隐藏、预警处置只显示设备自身报警/预警者;总体概览与分项互切保留选择身份,分项之间互切清空选择;Viewer 常驻,切模式不额外换 snapshotAt。若完整矩阵出现矛盾,先把冲突带回维护者裁决,不能静默覆盖票 05 或 ADR 0005。

请裁决:

  1. 四个一级模式 × 监测点、未关联设备、基础设施与管线、预警/报警事件及其他已实现空间对象的可见矩阵。点位状态筛选与设备状态筛选、事件等级各归何处,不用同一个状态词表偷换。
  2. 总览显示“全部点位信息”的准确边界:坐标准入不通过的对象仍怎样在相应列表和详情说明;不同图层缺数据时不得伪装为“该模式确实没有对象”。
  3. 当前选中对象不属于目标模式时的详情暂停与恢复、镜头保持、图例计数和拾取对象优先级,与票 05 既定选择态怎样合成。
  4. 每类图层的真实数据来源、与地图摘要分页关系、失败/过期退化及后续实现票归属。只讨论模式矩阵的必要契约,不承接设施或事件渲染的具体实施。
  5. (2026-09-24 维护者新增,来自票 08 验收)初始地球视图的可见性:进入引导的最初地球视图只展示地球整体形态,不展示监测点、设备点位或点位详情;点击「点击进入系统」、镜头落到主场景后,业务点位才出现。这与本票的模式矩阵是同一个「什么时候显示什么」问题的两个状态(进入前 vs 进入后 + 四模式),本票裁决时需把它与四个一级模式合成一张完整矩阵;实现侧的进入态挂载归 票 30 的引导层生命周期。注意与票 05「地图/台账点选均触发定位与设备加载」的衔接:进入前没有可选对象,进入后才谈选择态。

Answer

目标

把「什么时候显示什么」锁成一张完整矩阵:引导态 + 四个一级模式 × 一张图的全部业务对象(监测点、未关联设备、关联监测设备图层、设施点、管线折线、事件回联)。只裁决可见性与选择态合成,不承接设施/事件渲染的具体实施。设施与事件不是独立地图标记图层——设施走设施点/管线(后续数据契约),事件靠设备编码回联位置(票 14 机制)。

完整矩阵(维护者 2026-09-28 确认)

状态\对象 监测点 未关联设备 关联设备图层(选中态) 设施点 管线折线 事件
引导态(进入前) ✗ ✗ ✗ ✗ ✗ ✗
总体概览 ✓ 全部 ✓ ✓ 全部有效(票 05) ✓ ✓ 回联定位
基础设施 ✗ ✗ ✗(票 05) ✓ ✓ 回联定位
运行监测 ✓ 全部 ✓ ✓ 全部有效(票 05) ✗ ✓ 回联定位
预警处置 仅异常点 仅预警/报警的 仅 ALARM/WARNING(票 05) ✗ ✓ 回联定位

术语(已同步 CONTEXT.md):设施点=承载设施(管网、泵站、水厂、水源地、用水户等,各类型后端独立成表)的独立空间对象,与监测点同级、不计入监测点统计;异常点=至少一台关联监测设备处于预警/报警状态的监测点,判定以设备状态事实为准(/monitoring/situation 的 abnormalEquipment[] 回联),不借用监测点聚合状态词表。

决策与选项权衡(逐项)

  1. 矩阵行集(Q1):只裁真实存在/已立项的对象层。设施与事件不是图层行:事件「不创建独立地图标记」、靠 deviceCode/monitoringPointCode 回联;设施面板(基础档案/运行信息/管理信息/应急保障)是聚合 KPI 口径、当前后端不给逐设施坐标,设施点需新数据契约。
  2. 四模式可见性(Q2+Q11/Q12/Q13):
    • 总体概览=全部适用对象;基础设施=只设施点+管线(监测点/未关联设备/关联设备图层全隐藏);运行监测=全部监测点+未关联设备(设备视角,设施点隐藏);预警处置=仅异常点+预警/报警的未关联设备(设施点隐藏)。
    • 关联设备图层按票 05 已锁范围执行(概览/运行监测=全部有效、基础设施=隐藏、预警处置=仅 ALARM/WARNING),本票不重裁。
    • 管线折线四模式常驻(进入后任何模式都不隐藏);「地面/管线视图」是正交的全局呈现条件,只改相机预设与地形/瓦片半透明(现有 viewModes.js 行为),不负责隐藏管线层本身。CONTEXT.md「管线视图让地下管线可见」按此修订为「让管线呈现更清楚」。
  3. 回联定位(Q3+Q10):不做模式过滤——目标在图上(坐标准入+已加载)则 applyViewPreset 飞过去,不在则不下发飞行(沿用既有 locateNote 口径)。基础设施面板条目的回联目标语义是设施点(Q10=B);设施数据契约未到位时如实降级「当前模式不显示该对象,无法定位」,不拿监测点坐标冒充设施位置。运行信息/应急保障面板现有 pointCodes 回联属监测点口径,等设施契约到位后转设施点。
  4. 设施点(Q6+Q7):数据源=后端新契约(逐设施坐标);本票只锁「可见/可回联」,不锁拾取与详情——设施点的点选、详情、视觉词表整体另开设施票,不为不存在的详情发明选中态。
  5. 异常点判定(Q8):只认设备状态 WARNING/ALARM(abnormalEquipment[].status/abnormalType),凭快照 point.deviceCodes 回联到 owning 点;工单/离线不混入异常点;未关联异常设备直接按坐标画出。abnormalEquipment 与 map-snapshot 是不同端点 → 沿用票 05「尽力展示并明确提示跨端点不同步」。
  6. 异常点视觉(Q15):只做可见性过滤、不发明第二个「异常」形状——异常点仍按各自 pointStatus 视觉呈现。备注:现有三角/菱形等 8 形状是临时视觉,后续替换为监测点图标、用颜色+大小区分状态;这条留给票 09/图例实现票作未来修订线索,本票不承接。
  7. 异常未关联设备视觉(C2):跟票 07 的 deviceStatus.js 设备状态词表(报警/预警专属色形+特效),与同模式关联设备图层同一词表;不沿用 UNASSOCIATED 十字中性色。
  8. 图例与计数(Q9+C4):只统计当前模式实际可见的摘要标记(与票 05 互斥计数一致);图例行随模式变化。设施点/管线无数据时不虚报行,由浮标如实说「设施数据未就绪」;图例行待设施契约与视觉词表到位后在设施票补。
  9. 引导态(Q4+Q14):矩阵含引导态列=「进入前不展示任何业务对象」。数据可预取(进入前就开始拉地图摘要),但一切业务点位显示被门控:标记、图例、点位计数浮标、详情在引导态一律不出现;点「点击进入系统」后才挂载显示,预取数据直接呈现。实现侧进入态挂载归票 30 引导层生命周期。
  10. 选择态合成(Q16):总体概览 ↔ 任一分项=保留选择身份、目标模式不显示所选对象时暂停详情与关联设备图层、切回且对象仍在当前范围时恢复;分项 ↔ 分项=清空选择。设施点本阶段无选择态。切模式不动相机、不换快照(Viewer 常驻)。全部是票 05 已锁规则的直接外推。

风险与边界

  • 数据未就绪(如实降级):设施点契约(Q6)、管线折线(票 22)、设备级状态契约(票 09/后端 #69)均未交付 → 本期基础设施模式地图大概率「无设施数据」,预警处置异常点依赖 abnormalEquipment[] 且与 map-snapshot 跨端点不同步。
  • 异常点口径:只认 WARNING/ALARM,不把工单/离线/监测点聚合状态混入。
  • pointStatus 临时视觉:不因临时形状承诺最终形态;替换留给票 09/实现票。
  • 管线层语义:四模式常驻 + 管线视图正交呈现,CONTEXT.md 已同步。
  • 设施问题:设施点拾取/详情/视觉词表/图例行整体移交新开的设施票,本票不承接。

产物与后续

  • CONTEXT.md 已新增「设施点」「异常点」词条(2026-09-28)。
  • 结论待 /to-spec 固化为本 map 的规格子票(与 14/15/16 同列);实现去向 .scratch/cockpit-shell-panel-layout/issues/ 34 之后。
  • 设施点实施另开票;管线折线实施属票 22;设备级坐标/状态契约属票 09。