diff --git a/docs/changelog.md b/docs/changelog.md index 995ae24..84750e4 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,19 @@ # Changelog +## 2026-07-30 + +- 重构 Blender 脚本为 `osmassets` 包:`generate_scene.py` 从 1271 行缩减到 826 行 (-35%),纯函数可脱离 Blender 测试 (42 个 unittest) + - `osm.py` — OSM 解析 / Projector / parse_height(无 bpy) + - `geom.py` — 平面几何纯函数(无 bpy) + - `materials.py` — Blender 材质创建 + - `mesh.py` — MeshBatch / prism / roof / polyline + - `catalog.py` — 道路图层和材质规格的唯一定义源,含 cesium 导出参数 + - 要素注册表:`water.py` / `grass.py` / `scrub.py` / `tree.py`,各导出一个 `assemble()` 函数 +- 新增 parity 工具链:`scene_digest.py` + `glb-digest.js` + `parity.js`,两区域全 PARITY OK +- 接入 Poly Haven island_tree_01 真实扫描树模型:`tree_style` 新增 `polyhaven` 选项,181 棵树 113k tris + PBR 贴图 +- 新增 `blender/tools/ingest_tree.py` 用于离线减面导出树模型 +- `nantaizi-lake-innovation-valley` 配置默认切换为 `treeStyle: polyhaven` + ## 2026-07-28 - 新增 `reimport` 阶段(`scripts/reimport-gpkg.js`),把 QGIS 手工修正过的 `.gpkg` 回导为 `osm2streets_web_out/*.geojson` 并重建 `osm2streets_scene.geojson` / `osm2streets_scene_style.json`。手工修正流程从「`ogr2ogr` 循环 + 内联 node 脚本 + `npm run build`」三步压缩为一条命令: