Add deterministic Blender yard-asset factory
One script regenerates every nature/hardware asset in PLAN3D §5-E, following the house idiom from 3D-STORE/racks_to_glb.py: reset per asset, build under a root empty at the origin, join by group, stamp props, export Y-up GLB. Groups are joined per sway-unit rather than per-asset, so trees keep trunk and canopy_* as separate nodes for Lane A to animate. Paths resolve from __file__ instead of a hardcoded home dir, since the library lives elsewhere on this box. Verification re-imports each exported GLB from disk and asserts dims, tri budget, and node-name survival, then renders it against the 1.7 m ref capsule. Checking the file rather than the in-memory scene is what makes it a real test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
8d76340f49
commit
d8a017ad7d
5
.gitignore
vendored
5
.gitignore
vendored
@ -6,6 +6,11 @@
|
||||
*.obj
|
||||
*.mtl
|
||||
|
||||
# Lane E: per-asset verification renders — regenerable, and 3 MB of churn.
|
||||
# The tiled tools/blender/contact_sheet.png IS committed; it's the acceptance
|
||||
# evidence for §5-E, and it renders deterministically so it never churns.
|
||||
tools/blender/thumbs/
|
||||
|
||||
# macOS / python noise
|
||||
.DS_Store
|
||||
__pycache__/
|
||||
|
||||
1398
tools/blender/build_yard_assets.py
Normal file
1398
tools/blender/build_yard_assets.py
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user