view-mode-network-level-fix.md 3.7 KB

2026-10-14 模式不一致与network_level修复

用户报告与根因

  • 太常:模型在地下视图可见,但切回地面视图时模型就绪逻辑将2D导引线设为near=600m,地下模型又受地表遮挡,故近景可能为空白。
  • 城南:最新只读几何名称分组为5551条,可靠报告管径523条、双侧插值2条、缺径5026条。原建模计划仅对有源/插值管径段建立 spline,因此大量合法城南路径只有2D线。分组只用于定位现象,不宣称是后端正式行政区字段。
  • 后端模型和接口存在network_level字段,旧Cockpit几何响应此前未透传;旧备注值多为“DXF台账”,不能按备注或名称猜雨/污。

修复

  • 地面视图所有2D导引线均保留;只有管线视图中3D spline完全就绪后才把该管近景导引线限制至600m。地下模型ready则近景改看体积管,未ready或terrain/model失败保持全距导引。
  • 管线视图切换通过独立setPipeViewMode即时同步Cesium模型层,无需重取数据或销毁重建GPU批次。异步Cesium模块首次导入时读取最新模式;异步模型ready/error publish也读取当前模式。
  • 后端在Cockpit GeoJSON原样发布networkLevel。仅DRAINAGE使用:0/旧空值污水、1雨水;气/供水/窨井忽略等级,异常值保持灰色未知。服务层只投影默认0,不更新/迁移数据库。将来数据导入时会经原层级字段透传。
  • 用户最终显示默认DN:燃气160mm、供水400mm、污水800mm、雨水800mm。未分类排水也可使用共同DN800作为仅显示占位但保留灰色。显示计划diameterSource=visual-default、原diameterM=null,独立计数;不参与插值锚点,不回写源数据。已有源径和双侧插值优先。

验证

已先见证红灯:ground视图模型ready后导引错误得到near=600;缺径模型计划为0条实例;network_level透传测试报JSON缺字段。

红绿回归通过:

  • 用户分类networkLevel、旧空值、非法等级及非排水免疫。
  • 源径/双侧补径优先、缺径默认display DN但源仍null、默认值不污染补径图、未分类排水灰色。
  • Ground/pipeline图层接线覆盖异步首次导入、切换后ready、元数据替换、模型失败、清层;切换不新增模型。
  • 既有Cesium实体颜色差量、模型readiness/error/404 fallback、import取消/clear、T24、T32 spline/补径、T33差量回归通过。
  • 后端针对Geometry Service/Controller 23/23通过;Cockpit全量489/489通过。原始DB对象网络等级及diameter缺值断言未变,旧表数据未修改。
  • Browser Agent Window旧会话仍为不可用/stop互斥;本轮没有进入正式页截图,不能声称新的视觉/GPU验收。

环境验证边界

当前共享工作区node_modules不完整:@cesium/engine、@babel/parser和cross-env缺失。回归通过复用已安装Cesium 1.145官方CJS bundle,但涉及Vue链路的那组回归在导入Vue前被缺失@babel/parser阻断;最终yarn build未能启动:cross-env is not recognized,不是源码编译结果。没有运行依赖安装、没有更改lockfile,也没有启动/重启服务器。

现有记录:

  • network-level-full-tests.log:backend Cockpit 489/489。
  • network-level-final-tests.log:最终几何接口23/23(包含非管段null等级JSON断言)。后端独立提交7150d431,本地未推送。
  • network-level-build.log:build启动失败,缺cross-env。
  • t32-network-level.mjs、t32-pipe-view-mode.mjs、t32-view-layer-flow.mjs、t32-visual-default.mjs:领域、适配器验证。

票32已按用户确认关闭并完成report;此前4K正常桌面FPS≥30、浏览器404与完整样例验收未完成,作为后续复验边界保留。