10-device-model-asset-definition.md 9.3 KB

设备点位「模型」的口径与资产来源

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

进度:100%

讨论已完成,维护者已确认 Q1–Q20;resolved 表示本票决策完成,不表示设备位置符号、正式图片素材或真三维模型已经实现。规格已通过 16 号设备点位模型与资产规格 固化,并挂到同一张决策 map;后续实现仍受票 09 的设备级坐标/状态契约或明确清单降级约束。

01 已给出硬事实:仓库没有本地设备级 glTF/GLB;现有形状簇只能作为临时视觉。08 原型验收进一步确认临时内联 SVG 不是最终视觉,必须保留可替换的正式坐标点图片素材接缝。

Question

需求②原句是「展示该监测点下所有设备点位的模型及坐标图标」——「模型」这个词必须被定死,否则实现票要么去加载并不存在的资产,要么静默降级成图标而没人知道。

Answer

目标与边界

  • 本期“模型”正式解释为监测设备在三维场景中的位置符号,由可替换的图片/图标素材、渲染尺寸、对象自身状态视觉和既有交互反馈组成;本期不承诺、不加载真三维设备几何模型,也不把图标模式称为真模型。
  • “设备点位”在这里是监测设备在关联监测设备图层中的空间显示,不是新的业务对象;监测点、监测设备和关联监测设备图层继续按 CONTEXT.md 区分。
  • 本期不制作、不采购、不承诺真三维设备资产。未来可按设备类型逐步接入真模型,资产来源可以是外部提供,也可以后续另立资产生产事项由项目方制作。

位置符号与视觉

  • 监测点和监测设备使用相同样式或同一份正式坐标点图片素材;本期临时形状簇只用于开发期占位,未来统一提供正式图片素材后通过可替换资产接缝替换。
  • 通过程序控制实际渲染大小区分类型,监测点始终大于监测设备;允许随相机距离动态缩放,但具体像素值和缩放倍率留给实现与人工走查,不在本票编造固定数字。
  • 设备默认不显示长文本;悬停或选中时显示设备名称为主、设备编码为辅,长内容不得撑破布局或遮挡其它对象。
  • “坐标图标”只表示空间位置符号,不直接展示经纬度数字。
  • 监测点按后端发布的点位状态着色,监测设备按监测设备自身状态着色。两者可以使用相同颜色风格,但不得混用状态来源或用点位状态猜设备状态;颜色不是唯一线索,继续结合形状、文字、尺寸层级和选中反馈。
  • 设备状态视觉遵守票 07;设备 hover、选中、定位、独立拾取和面板联动遵守票 06/15。本票不重新定义这些既有反应。

地形、坐标与遮挡

  • 设备位置只接受设备自身的有效经纬度和后端坐标准入结果。坐标缺失、非法或 coordinateValidation.renderable 为假时不上图,保留在设备清单中并显示明确的无地图位置/不可用原因。
  • 有效设备位置必须结合地形采样贴地。地形未加载、采样未完成或采样失败时不上图,设备保留在清单中并显示“地形未就绪/位置待确认”;该状态不能算作坐标无效,也不能算作已上图。
  • 不使用监测点坐标代替设备坐标,不进行人工坐标偏移,不制造没有数据依据的设备位置。
  • 位置符号和未来真模型遵守正常地形、示意体块与其它场景对象的深度关系,不开启穿透体块的特殊可见性例外。

真模型演进与降级

  • 真模型未来按设备类型逐步接入;同一关联监测设备图层允许真模型与图标混合显示,未提供资产的类型继续使用图标。
  • 真模型最低接入契约为 glTF/GLB、米制、明确 up 轴、前向朝向、原点和模型基准面;接入侧由构造确定模型到设备地理坐标的 ENU 变换,不靠运行时猜测原点或朝向。
  • 三角面预算、同屏数量上限和同型号实例化策略不在本票固定,未来资产/实施事项必须按真实设备类型和规模实测确定。
  • 真模型未提供、契约不合格、加载失败或性能超预算时,单台设备退回设备专属图标,不影响其它设备或其它资产类型;图标兜底不计为真模型成功加载。
  • 地图默认不增加统一错误角标。悬停/选中时显示“图标模式/模型不可用”等可理解状态;详情卡片显示具体原因,至少区分资产未提供、加载失败、性能降级、地形未就绪和视觉资源异常。
  • 正式图标资源自身失败时使用内置通用位置符号作为最后兜底,并在详情中标明视觉资源异常;通用符号不是真模型,也不是正式素材。
  • 关联监测设备使用独立图例,不并入监测点摘要图例;位置符号缺失、资产降级、无地图位置和模式隐藏必须保持可区分,不得静默当成设备不存在。

Decision Tree Closure

  • Q1:C——本期位置符号,未来可升级真模型。
  • Q2:C——本期不承诺真模型资产,后续可能另立事项由项目方制作。
  • Q3:统一样式/素材,程序控制尺寸;监测点始终大于设备;状态按各自业务对象解释;默认无长标签,悬停/选中显示名称为主、编码为辅;坐标图标不显示经纬度。
  • Q4:有效设备坐标结合地形采样贴地;地形未就绪或采样失败不上图;遵守正常遮挡关系。
  • Q5:真模型缺失、失败或超预算退回图标,并在交互/详情中如实说明;图标资源失败再退回通用位置符号。
  • Q6:监测点与设备可使用同一素材,仅程序控制尺寸;沿用票 06/07 既有设备交互;未来素材只替换视觉资源。
  • Q7:A——严格等待地形;坐标有效但地形不可用时清单保留、地图不上图。
  • Q8:A——按设备类型逐步接入真模型,允许同层混合显示。
  • Q9:C——外部提供和项目方另立事项制作均可,本票不承诺美术生产。
  • Q10:B——地图保持可识别图标;悬停/选中和详情显示降级及原因,不堆统一错误角标。
  • Q11:确认本期“模型”=位置符号,不加载真三维设备模型。
  • Q12:A+C——锁定监测点大于设备点,并允许同倍率随相机距离缩放;数值由实现/走查确定。
  • Q13:确认地形未就绪与无地图位置分开;不替代坐标、不人工偏移。
  • Q14:确认 glTF/GLB、米制、up/前向/原点/基准面明确、ENU 构造变换和独立校验。
  • Q15:确认悬停/选中提示图标模式或模型不可用,详情给出具体原因,资源失败有通用符号兜底。
  • Q16:B——设备名称为主、编码为辅。
  • Q17:A——监测点按点位状态,监测设备按设备自身状态;颜色风格可同但语义不混。
  • Q18:允许不同设备类型在同一关联监测设备图层中混合真模型与图标。
  • Q19:B——性能数字与实例化策略留给未来资产/实施事项实测,超预算按图标兜底。
  • Q20:接受独立关联监测设备图例;颜色不是唯一线索。

Further Notes

  • 规格子票:16: 设备点位模型与资产来源规格。它是本票结论的实施输入,不表示功能或正式资产已交付。
  • 后续实现应同时消费 14 号关联监测设备图层规格、15 号面板与三维设备点对应规格、本票的 16 号规格,以及票 09 的设备坐标/状态契约或明确降级方案。
  • 本票只决定视觉/资产口径,不重新打开票 03 的相机数值、票 04/12 的面板锚点、票 07 的设备状态特效或票 11 的重叠设备策略。

Comments

讨论收口(Q1–Q20)

维护者已确认以上目标、边界、风险、选项权衡与决策;本票状态更新为 resolved。本次只完成决策正文与规格发布,未运行 build、dev 或浏览器调试。

2026-09-24 维护者新增前提(来自票 08 原型验收,本票裁决时必须吸收)

维护者在票 08 验收时明确:原型里的临时图标(内联 SVG 形状)只是占位,最终验收不使用它们;点位与设备图标必须预留可替换的资产接缝,未来换成正式视觉资产(参考图为带辉光的圆形徽标 + 行业图标:水滴/火焰/燃气等)。

对本票三条子问题的直接影响:

  • 问题 3(走图标路线):「图标」必须是单一替换接缝,不是把形状字符串写死在标记绘制里。现状可复用的接缝已存在且只此一处:domain/pointStatus.js 的 SHAPES + markerSvg(shape, color, size),由 services/mapService.js:678 的 imageOf 回调注入 —— 正式资产落地时只改这一个注入点(或把它升级为可加载图片/glTF 的资产表),地图标记、图例、详情卡片三处自动跟随。
  • 问题 1/2(模型 vs 图标):参考图显示目标是图标徽标观感(非真三维模型),且 01 已核实仓库无设备级 glTF 资产。本票裁决时仍需正式定口径,但「资产可替换」是维护者已给的硬前提,与选哪条路线正交。
  • 验收口径:正式验收不使用当前临时形状;资产缺失/未交付时按本票问题 5 的降级链如实呈现,不得把临时图标当作最终态宣布验收通过。