assert_spec
Validate a 3D model against declared size, position, ratio, gap, contact, symmetry, inside, ground, clean, budget, and connected checks in one call, returning pass/fail with actual numbers and fixes.
Instructions
Write what the model must be, run all checks in one call, get pass or fail with the real numbers. State your expectations before you look at the result, then fix only the failures. Each check is a dict with "type" and optional "label". Types and fields: size {object, axis x|y|z, equals+tol | min | max, with_children?} world size in metres. position {object, axis, which min|max|center, equals+tol | min | max} world coordinate. ratio {a, b, axis, min | max | equals+tol} size of a divided by size of b (head vs body proportions). gap {a, b, min | max | equals+tol} distance between two meshes (0 if they overlap). contact {a, b, state touching|intersecting|apart|connected, max_depth?} 'connected' is touching or overlapping. symmetry {objects, axis, at?, tolerance?, max_unmatched_share?} mirror match of all vertices. inside {object, container, margin?} bounding box inside another's. on_ground {object, z?, tol?} lowest point of the object and its children. clean {object, ignore?} no open holes, loose parts, zero faces, inward normals. budget {names?, max_tris?, max_objects?, max_materials?, max_draw_calls?}. connected {names?, ground_z?} no floating groups. A failure shows 'actual', 'expected' and a 'fix' tool. A bad check or a missing object is reported as an 'error' and the rest still run.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| checks | Yes |