Gate library prop collision coverage across venues
Full build / Import + headless tests (push) Successful in 37s
Full build / Full desktop build + optional release (push) Skipped

This commit is contained in:
zwitschi committed 2026-11-03 11:58:00 +01:00
1 parent fe3ba3054e
commit 5dec59355a
4 files changed
+84 -1

No files matched your search

+7 -1
View File
@@ -122,8 +122,14 @@ except the rebuilt assets themselves.
and the 40–400 px/m authored band plus the 250 px/m fabric floor; the pose→bone contract is
covered by `test_pose_reaches_the_skeleton_bones`; LOD/impostor already has
`test_avatar_mesh_budget_and_lod_swap`. Collider coverage is still open — split below.)
- [ ] Add a collider/proxy coverage check: every library prop that blocks walking has a
- [x] Add a collider/proxy check: every library prop that blocks walking has a
`StaticBody3D` + `NavigationObstacle3D`, checked against the catalogue.
(`world_builder.gd` tags every library node with a `library_prop` meta and declares the
non-blocking `marquee`/`handrail`/`lantern`/`door` set; two tests in `test_world.gd`
verify placed props (body + shape + avoidance radius, all three venues) and library
dressing (body unless documented exempt). Mutation-checked: removing `_add_prop_collision`
fails 3 tests, dropping `handrail` from the exemption list fails with the exact node.
Suite is 275/275.)
- [x] Add a coverage test so every catalogue asset has a scorecard row and verdict.
(`tools/test_model_review.py`: every `CHARACTERS`/`GEAR`/`PROPS` entry needs a row in
`docs/3d-model-review.md`, and character rows need a non-empty verdict.)