10: 监测点与监测设备位置符号规格
Type: spec
Status: ready-for-agent
Label: ready-for-agent
Blocked by: 05
Category: spec
本规格固化监测点与监测设备位置符号映射的讨论结论,作为同一张蓝湖正式素材替换地图的子规格单。100% 仅表示规格交付,不表示正式素材、合成计划层或锚点改造已经实现。
Problem Statement
驾驶舱当前的地图位置符号是内联 SVG 几何形状(八种通用图形 + 十字),只能表达「点位状态」与「设备状态」两个维度。设计交付要求的是带徽标观感的位置符号(水滴形母版 + 行业/设备类型图标),同时既有已锁纪律要求状态不能只靠颜色区分。
如果直接把彩色成品切图接上来,会同时打破两条既有约束:色值只在 tokens.css 声明一份(成品色与现有语义色实测无一相同),以及监测点恒大于设备的尺寸层级。而水滴母版自带尖端,其视觉语义是「指向地面上的这个点」,与现有中心锚定的实现冲突——若不同步改,尖端会悬在真实坐标上方。
此外,「无设备的监测点」(后端状态 EMPTY)与「未关联设备」是两个不同业务对象,当前分别使用空心方块与十字,需要在新素材体系里各自找到不混淆的表达。
Solution
正式位置符号采用双层水滴徽标体系:
- 外层母版承载状态色,由运行时按状态注入;内层图标承载行业/设备类型。状态区分继续由形状与文字标签承载,颜色不是唯一线索。
- 只使用纯白平面剪影母版(实心版与镂空版),其余彩色成品不作为状态色来源,色值仍唯一来自
tokens.css。
- 母版为实心版时用于监测点与关联监测设备,镂空版用于无设备的监测点与未关联设备;「无设备的监测点」不使用内层图标。
- 内层图标保留可识别性但降饱和降亮度,避免与状态色争夺注意力。
- 锚点改为尖端锚定,水滴尖端落在真实地理坐标点;尺寸基准改为宽度,保持「监测点恒大于设备」。
- 监测点标记新增报警态扩散环特效(补裁既有未决项),受特效开关门控。
User Stories
- 作为值班人员,我想让地图上的位置符号是正式设计素材,以便大屏观感符合交付标准。
- 作为值班人员,我想从符号外形与文字读出监测点状态,以便即使色觉受限也能判断状态。
- 作为值班人员,我想从符号内层图标看出该对象所属行业,以便快速理解这是燃气还是供水点位。
- 作为值班人员,我想从符号内层图标看出设备类型,以便不展开详情也能分辨设备种类。
- 作为值班人员,我想监测点比监测设备更大,以便在密排场景下仍能分辨对象层级。
- 作为值班人员,我想尺寸层级在任何缩放倍率下都不反转,以便镜头拉近拉远不会误导层级判断。
- 作为值班人员,我想水滴尖端精确指向地面上的真实坐标,以便点击定位与面板锚定的位置可信。
- 作为值班人员,我想未关联设备在视觉上区别于已关联设备,以便知道这台设备没有归属点位。
- 作为值班人员,我想未关联设备仍然显示它自己的设备状态,以便不会把「无归属」误读成「无状态」。
- 作为值班人员,我想无设备的监测点在视觉上区别于离线点位,以便区分「这个点位没有设备」与「设备离线」。
- 作为值班人员,我想无设备的监测点不显示任何设备图标,以便不会被误读成「这里有一台设备」。
- 作为值班人员,我想内层图标降低饱和度与亮度,以便它不会与状态色争夺注意力。
- 作为值班人员,我想报警点位的标记出现扩散环,以便最高优先级状态在密排点位中最先被看到。
- 作为值班人员,我想预警与工单点位标记保持静态,以便视觉预算集中在报警上。
- 作为值班人员,我想特效可以被配置关闭,以便生产环境不会被动画压满屏。
- 作为值班人员,我想关闭特效后状态仍可读,以便降噪不会牺牲状态表达。
- 作为值班人员,我想特效随雾气衰减而不穿透,以便远景特效不会浮在雾上方。
- 作为值班人员,我想图例中的形状与地图标记一致,以便对照图例时不会出现两套说法。
- 作为值班人员,我想详情卡片使用与地图标记相同的状态语义,以便面板与地图不出现分裂。
- 作为值班人员,我想重叠设备的聚合符号带计数,以便知道这一处有几台设备。
- 作为值班人员,我想选中态仍显示外环与引线,以便资产替换没有改变我已熟悉的交互。
- 作为值班人员,我想悬停或选中设备时看到名称为主、编码为辅,以便核对具体设备。
- 作为值班人员,我想点击标记时的定位仍然准确,以便尖端锚定没有破坏既有定位体验。
- 作为值班人员,我想面板锚定跟随仍然贴合可见标记,以便详情窗不会指向错误位置。
- 作为值班人员,我想点位数量很多时标记仍然可辨,以便县域级视图不会被图形糊成一片。
- 作为维护者,我想正式素材通过统一语义入口消费,以便替换素材不必改动地图绘制与图例两处。
- 作为维护者,我想母版与内层图标都被资产清单登记,以便追溯每件素材的来源与状态。
- 作为维护者,我想尺寸基准从边长改为宽度,以便横向占位与既有断言面保持对齐。
- 作为维护者,我想锚点偏移作为素材属性登记,以便多个消费方从同一处读取而不各自目测。
- 作为维护者,我想既有按中心锚定建立的断言被同步更新,以便不会留下「改完还是绿的」假象。
- 作为维护者,我想无设备点位与未关联设备的既有视觉口径被就地修订,以便不留两套并存说法。
- 作为维护者,我想降饱和降亮度的具体参数由实现与走查校准,以便观感有真实依据而不是凭空设定。
- 作为验收人员,我想从外部可观察行为验证符号、尺寸、锚点与降级,以便不依赖内部实现细节。
- 作为验收人员,我想确认临时几何形状没有被当作最终视觉验收通过,以便正式素材替换不被跳过。
- 作为验收人员,我想确认内层图标在真机大屏上可辨,以便双层结构不会因为图标过小而失去意义。
Implementation Decisions
- 新增位置符号合成计划层作为唯一新接缝:输入对象种类、状态、行业或设备类型与修饰(未关联、无设备、选中、聚合),输出完整合成计划。所有消费方不再自行拼装母版、内层图标、尺寸与锚点。
- 合成计划输出包含:外层母版选型、内层图标选型与是否使用、尺寸、锚点偏移、内层图标几何、着色策略与降饱和标记。
- 母版与内层图标的归属:监测点与关联监测设备使用实心母版;无设备的监测点与未关联设备使用镂空母版。无设备的监测点不使用内层图标。未关联设备使用其行业图标。
- 着色分界:色相为运行时状态色,仍只由
tokens.css 声明一份并经服务层读取后注入;母版自带明度与发光结构。其余彩色成品母版不作为状态色来源。
- 尺寸基准改为宽度:监测点宽 18、设备宽 14;高度按母版实测比例换算(约 22.6 与 17.6)。「监测点恒大于设备」的关系在所有允许的相机距离与配置范围内成立。
- 锚点改为尖端锚定:水滴尖端落在真实地理坐标点。锚点偏移作为素材属性登记,与尺寸基准一并由合成计划层产出,供地图标记、设备符号与聚合符号同源读取。
- 内层图标几何:直径约为母版圆形区域的 60%,圆心对齐圆帽中心而非画布几何中心,留一圈底色作分隔。
- 行业与设备类型图标保留可识别性但降饱和降亮度;降饱和只作用于饱和度与亮度,不改变状态语义。
- 监测点级特效:仅报警态出现扩散环,预警与工单等其余状态保持静态;受既有特效配置门控,沿用「随雾衰减、不穿雾」的既有裁定。设备级特效契约不变。
- 监测点级特效不设数量降级,但实现必须实测同屏监测点规模并保留可调阈值入口;若实测发现同时报警点位规模过大,回讨论票补裁阈值。
- 交互态(选中外环、引线、压暗弱化、聚合展开)继续由既有渲染层叠加实现,不索取交互态切图;交互态视觉只作参数依据。
- 图例与详情继续使用轻量渲染,只要求形状语义与色键与地图标记同源,不直接渲染带辉光的重素材。
- 聚合与重叠符号使用同一份母版加程序绘制的计数徽标,不单独索取聚合素材。
- 标签沿用既有规则:名称为主、编码为辅、不显示经纬度、默认不显示长文本;资产替换只改标记图形。
- 既有已锁口径的就地修订:无设备的监测点不再使用空心方块几何形状;未关联设备不再使用十字标记;尺寸层级与定位锚点的具体数值口径被取代。层级关系、拾取身份、状态语义、选中反馈与面板联动契约不变。
- 母版与内层图标均需作为资产清单条目登记来源、状态与回退关系,通过统一语义入口消费,不在组件或引擎中散落物理路径。
Testing Decisions
- 好测试只断言外部可观察行为:给定对象种类、状态与修饰,合成计划产出确定的母版、内层图标、尺寸与锚点;不测试内部函数调用顺序或私有字段。
- 纯逻辑测试覆盖:实心与镂空的归属正确;无设备的监测点不使用内层图标;未关联设备使用行业图标;任何允许缩放下监测点尺寸恒大于设备;宽度基准换算出的高度符合母版比例;锚点比例与内层图标帽心对齐、直径比例确定;着色策略与降饱和标记确定。
- 资产解析测试覆盖:母版与内层图标经统一语义入口解析,未登记素材走既定回退,不出现散落物理路径。
- 宿主观测测试覆盖:外部读数可观察合成结果的母版种类、内层图标、锚点偏移与降饱和标记,从而无需读取渲染内部状态。
- 真实页面走查覆盖:尖端落在真实坐标点;尺寸层级不随缩放反转;图例形状与地图标记一致;无设备的监测点与未关联设备确实走镂空路径且彼此可辨;报警态扩散环确实在动而预警与工单保持静态(动画证据需取自跨帧变化或真实帧差,不采用两份数据互比的恒真断言);关闭特效后状态仍可读。
- 锚点口径迁移是硬要求:既有按中心锚定建立的投影与走查断言必须同步更新,并需以对抗方式确认更新后的断言确实能失败,避免留下「改完仍是绿的」假象。
- 复用既有先例:点位状态与图例的纯逻辑断言、设备资产的合成与降级断言、设备图层的宿主观测读数、以及真实鼠标点选与相机定位走查。规格阶段只写验收契约,不运行构建、开发服务器或浏览器调试。
Out of Scope
- 真三维设备模型的制作、采购、授权与接入;本规格只覆盖二维位置符号。
- 蓝湖画板逐项盘点、字体授权与回退、视觉 token 映射、资产清单与版本策略;分别由对应规格票负责。
- 城市体块、地形、影像与三维瓦片。
- 点位状态与设备状态的词表本身、状态筛选、拾取身份、定位数值、聚合与重叠策略、面板锚定契约的重新定义。
- 未知状态与降级的既有语义;本规格只替换视觉承载。
- 生产部署、对象存储采购与具体性能数字的固定。
Further Notes
- 本规格的唯一决策来源是讨论票 05 的
## Answer;决策票 07 的监测点级特效未决项已在该票补裁。
- 三处既有已锁口径已在原票就地修订,本规格不重复其原值,避免出现两套并存说法。
- 降饱和降亮度的具体参数属观感问题,由实现与人工走查校准,但不得降到看不出状态。
- 内层图标在真机大屏上的可辨性需走查确认;若不可辨,回讨论票补裁尺寸或图标简化方案。
- 当前项目规则要求修改代码后不得自动运行构建或调试命令;实现阶段需由用户明确要求后再执行验证。