far-shell-delivery.md 4.3 KB

Issue35:轻量最远景外壳(city-far-shell-v4)

当前正式配置:/gis/cad-bim/city-far-shell-v4/tileset.json,继续progressiveRefinement:true。唯一页面入口 http://127.0.0.1:8000/#/cockpit。本轮遵守项目规则,跳过Web build/debug、server、browser与截图,离线结果不冒称FPS或GPU实测。

远景输出

v8的粗内容仍含门窗、入口等细节,原远粗530片约131万三角/4584primitive。新的最远级别只保留测绘足印墙体、闭合屋顶和地下底盖,无房间/家具/楼板/吊顶,没有屋顶照片贴图。两类不透明中性色材质用于远景墙体/屋顶,削减palette绘制批次;原cell粗模和精模、13栋近景卫星屋顶纹理均保持原URI。

使用旧历史coarse→cell的准确归属分组,而非位置猜测。按完整cell拆分超预算组,每片≤20,000三角/60,000顶点。原GIS环仅清理已有厘米精度重复点;共线点恢复至顶盖三角分段,顶高和foundationBottom保持。远景仍为估算高度的flat测绘挤出,非测绘BIM或实拍建筑。

  • 87个新最远GLB:455,136triangles /1,022,065vertices /3,413,908bytes /174primitives。
  • 3个源轮廓无法证明闭合,保留whole-cell v8回退;另3个编码组出现细薄三角逆转,生成器在写GLB前自动退回whole-group所有cells。
  • 总26个fallback cells。回退与轻量组联合覆盖30,172栋/532cells,原远粗/局部粗/精三级仍可达。
  • 每个轻量父组GE192,原远粗128、局部48、精0。baseREPLACE让轻量父模等待完整原cell后代,球体父节点防止children union误剔除;空cell父节点在接入时展平避免提前就绪。
  • 请求距离/SSE96、缓存64+32MiB、并发10/5沿用v8,不扩缓存或加细节。

解码与所有权验收

几何证据实际解码Draco POSITION/NORMAL/indices;全部墙、底盖、顶盖三角逐一对应源测绘壳,拒绝缺失、重复、退化、法线绕序反向。屋顶重复记录按完整三角计数匹配,不将共享几个角点的不同房屋混淆。

最低normaldot=0.999986691;屋顶顶点最大平面解码误差0.000541511m(相对规划输入,非测绘准确度)。验证全部decoded顶点处于实际shell父球和根盒,父球包含原cell球,根盒包含每个实际顶层球。每个shell sourceCells与buildingIds/挂接URI闭包一致;每个fallbackCell原树URI与建筑ID完全一致。独立只读审查通过,自动验证器随后覆盖同样检查。

源闭合检查有rectangle/L形/共线点/大坐标夹具;删面、逆转面、无效环和零体积负例被拒绝。编码面失配曾在v2三组复现,失败报告far-shell-rejections-v2.json保留;v1/v2/v3不是当前部署。

同一相机资源比较(代理指标)

新树profile与旧v8资源profile均执行安装版Cesium基础遍历,注入同一10km/1080p/60°FOV合成ENU相机、sphere距离SSE、所有tiles视锥可见及ready状态。所有旧回退片计入:

远景已就绪选中 v8 far-shell-v4 变化
GLB内容 631 113 -82.1%
triangles 1,355,196 578,726 -57.3%
vertices 2,649,253 1,264,517 -52.3%
primitives 5,453 433 -92.1%
压缩内容bytes 14,462,456 4,455,408 -69.2%

冷启动概况请求87shell+26fallback far=113,fine=0。近景350m只请求5个fine;等待时轻量父层保留。回概况恢复87shell+26fallback,无fine。near350m已经细化后的总量仅小幅减少,主要收益针对远景,不是全视距性能保证。

primitive数是内容结构批次代理,不是GPU实际draw调用;profile不发送请求,不测真实视锥、GPU上传、帧耗时和缓存,提高FPS需用户实际页面确认。保守sphere/root可能增加其他视角遍历范围。中性色远景切至原palette也可能有颜色跳变,应按现场观感调整。

回退

只将运行配置URL改回 /gis/cad-bim/city-continuous-v8/tileset.json,保持progressiveRefinement:true即可退回上轮连续加载策略。保留所有新旧产物,不删旧模型或覆盖immutable目录。配置被git忽略,部署需要单独保存。issue35保持open,真实外观/FPS/GPU尚待验收。