Fix OSM multipolygon buildings

This commit is contained in:
2026-08-03 18:15:22 +08:00
parent 37fe65b7ca
commit 95f8458ad2
11 changed files with 458 additions and 18 deletions

View File

@@ -2,6 +2,12 @@
## 2026-08-03
- 修复 OSM `type=multipolygon` building relation 不渲染的问题:`parse_osm()` 现在会把
relation-level `building=*` 合成为可分发的 building feature并保留 `inner` 成员供
`building.py` 用 Blender tessellation 生成带洞 prism / roof。nantaizi 当前
`relation -65`outer `-2948`、inner `-2952``height=8`)已进入 Blender/Cesium
产物GLB extras 为 `osm_height=8` / `render_height=8`。同时调整普通建筑高度语义:
有显式 `height` 时尊重 OSM没有显式高度时才使用办公楼默认 `11.4m`
- 新增显式 `compress` 阶段与 `scripts/compress-glb.js`,用于从已有 Cesium GLB 生成并列
WebP 压缩产物,不进入 `all`,不覆盖默认 `<area-id>.glb`。nantaizi 试验结果:
`20.50 MB -> 4.80 MB`embedded images `17.72 MB -> 2.04 MB`nodes / meshes /