assert_spec
Run all specification checks on a 3D model in one call to get pass/fail with actual numbers, then fix only the failures.
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 |