1.9 KiB
1.9 KiB
Test Shapespark tree variants
Goal
Use the split Shapespark low-poly plant assets as tree, scrub bush, and lawn
tuft variants, then validate nantaizi-lake-innovation-valley.
The user liked the Shapespark bush-03 scrub replacement and wants to evaluate
whether the same kit can replace the current tree asset. If multiple tree
variants are not too expensive, the scene should use varied trees while staying
deterministic for the same OSM input.
Requirements
- Prefer Shapespark tree assets from
assets/models/custom/shapespark_plants/tree-*/model.gltf. - Use deterministic variant selection based on stable tree instance ordering; do not use unseeded random or time-dependent randomness.
- Preserve existing tree placement count and route/road/building behavior.
- Preserve the existing scrub bush
bush-03experiment. - Replace the old Poly Haven
shrub_02lawn tuft asset with suitable Shapespark grass assets. - Evaluate the cost of loading multiple tree and lawn tuft variants:
- number of shared tree meshes introduced
- number of shared lawn tuft meshes introduced
- texture/image/material counts
- output GLB size
- total nodes
- Rebuild only
nantaizi-lake-innovation-valleystagesblender,cesium,preview.
Acceptance Criteria
- Tree generation uses Shapespark tree variants deterministically.
- Lawn tufts use Shapespark
grass-*variants instead ofshrub_02. python3 -m py_compile blender/generate_scene.py blender/osmassets/tree.pypasses.python3 -m unittest blender/tests/test_pure.pypasses.- nantaizi
blender,cesium,previewrebuild passes. - GLB digest reports tree mesh/material/image/node cost.
- User can open the local preview and compare visual result.
Out Of Scope
- Runtime LOD.
- hanyang validation.
- Texture compression / KTX2.
- Committing the experiment before user approval.