Files
osmWorkflow/.trellis/tasks/archive/2026-08/08-03-use-low-poly-scrub-bush/report.md

1.8 KiB

Low-poly scrub bush experiment report

Outcome

Do not adopt assets/models/custom/bush_low/bush_low.glb as the default scrub edge bush.

The asset successfully reduced geometry cost, but user validation found the visual result unsatisfactory. The default generator was restored to assets/models/custom/bush/bush.glb.

Measurements

Commands used during the experiment:

python3 -m py_compile blender/generate_scene.py
python3 -m unittest blender/tests/test_pure.py
npm run build:area -- --config config/areas/nantaizi-lake-innovation-valley.json --stages blender,cesium,preview
node scripts/glb-digest.js outputs/nantaizi-lake-innovation-valley/nantaizi-lake-innovation-valley.glb --out /tmp/nantaizi-bush-low-glb-digest.json
node scripts/glb-digest.js assets/models/custom/bush/bush.glb --out /tmp/bush-original-digest.json
node scripts/glb-digest.js assets/models/custom/bush_low/bush_low.glb --out /tmp/bush-low-asset-digest.json

Low-poly asset geometry:

  • Original bush.glb: 9.10 MB, 63,762 vertices, 67,536 indices.
  • Experimental bush_low.glb: 5.79 MB, 4,044 vertices, 4,050 indices.
  • Texture count stayed at 6, so file size did not fall proportionally with geometry.

Nantaizi rebuild while using bush_low.glb:

  • SCENE_DONE.scrub_bushes: 266
  • GLB nodes: 830
  • Scrub bush nodes: 266
  • Scrub bush shared mesh: 4,044 vertices, 4,050 indices
  • GLB size: 27.51 MB
  • Metadata scrub polygons: 5

Decision

This proved geometry reduction works, but this particular low-poly model is not good enough visually. Keep the current density budget and original default bush asset for now. The next useful direction is a better-authored low-poly bush: same approximate silhouette/volume as the original, lower geometry, and reduced or compressed texture payload.