GeoSpec
engine 0.4.0
Matcher reference

Capability cheat sheet

Every capability on one page, with its kind, admitted subjects, failure code and refusal codes, generated from the registry and the reference.

Open Markdown

One row per capability in the engine's registry, generated at build time from registry.rs and from each capability's reference section, so the sheet and the sections cannot disagree. Each name links to its section and is spelt for the language you are reading: the registry name in TypeScript, the snake_case method in Python.

CapabilityKindMeshSTEPglTFFailed withRefused with
toHaveBoundingBoxto_have_bounding_boxAssertionYesYesYesGEOSPEC_BOUNDING_BOX_MISMATCH, GEOSPEC_NEGATED_MATCH, GEOSPEC_NEGATED_BOUNDING_BOX_MATCHcommon only
toHaveConnectedComponentsto_have_connected_componentsAssertionYesYesYesGEOSPEC_CONNECTED_COMPONENTS_MISMATCHGEOSPEC_INVALID_EVIDENCE, GEOSPEC_ANALYSIS_LIMIT
toBeWatertightto_be_watertightAssertionYesYesYesGEOSPEC_WATERTIGHT_MISMATCHGEOSPEC_ANALYSIS_LIMIT
toHaveNoComponentInterferenceto_have_no_component_interferenceAssertionNoYesYesGEOSPEC_COMPONENT_INTERFERENCEGEOSPEC_COMPONENT_PARTITION_INCONCLUSIVE, GEOSPEC_SELECTOR_UNMATCHED, GEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_INVALID_EVIDENCE, GEOSPEC_UNSUPPORTED_SELECTOR, GEOSPEC_ANALYSIS_LIMIT
toHaveAssemblyOccurrencesto_have_assembly_occurrencesAssertionNoYesYesGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_RESOURCE_LIMIT
toHaveSpatialRelationshipsto_have_spatial_relationshipsAssertionNoYesYesGEOSPEC_SPATIAL_RELATIONSHIP_MISMATCHGEOSPEC_SELECTOR_UNMATCHED, GEOSPEC_SELECTOR_AMBIGUOUS, GEOSPEC_SELECTOR_UNSUPPORTED_EVIDENCE, GEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_INVALID_EVIDENCE, GEOSPEC_UNSUPPORTED_SELECTOR, GEOSPEC_ANALYSIS_LIMIT
toHaveMeshIntegrityto_have_mesh_integrityAssertionYesYesYesGEOSPEC_MESH_INTEGRITY_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_ANALYSIS_LIMIT
toHaveNoDiagnosticsto_have_no_diagnosticsAssertionYesYesYesGEOSPEC_DIAGNOSTICS_PRESENTcommon only
toHaveSurfaceAreato_have_surface_areaAssertionYesYesYesGEOSPEC_MEASUREMENT_MISMATCHcommon only
toHaveVolumeto_have_volumeAssertionYesYesYesGEOSPEC_MEASUREMENT_MISMATCHcommon only
toHaveMassto_have_massAssertionYesYesYesGEOSPEC_MEASUREMENT_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveCenterOfMassto_have_center_of_massAssertionYesYesYesGEOSPEC_MEASUREMENT_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toBeValidBrepto_be_valid_brepAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveTopologyCountsto_have_topology_countsAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveStepUnitsto_have_step_unitsAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveProductStructureto_have_product_structureAssertionNoYesYesGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_RESOURCE_LIMIT
toHavePlanarFaceto_have_planar_faceAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveCylindricalFaceto_have_cylindrical_faceAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveCircularHoleto_have_circular_holeAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveCircularHolePatternto_have_circular_hole_patternAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveChamferFeatureto_have_chamfer_featureAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveFilletFeatureto_have_fillet_featureAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveMinimumWallThicknessto_have_minimum_wall_thicknessAssertionNoYesNoGEOSPEC_FEATURE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE
toHaveVoidContinuityto_have_void_continuityAssertionNoYesNoGEOSPEC_VOID_CONTINUITY_MISMATCHGEOSPEC_VOID_CONTINUITY_UNSUPPORTED, GEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_ANALYSIS_LIMIT
analyzeBrepanalyzeBrepQueryNoYesNononeGEOSPEC_BREP_EVIDENCE_UNAVAILABLE
analyzeMeshanalyzeMeshQueryYesYesYesnoneGEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_ANALYSIS_LIMIT
inspectGeometryinspectGeometryQueryNoYesYesnoneGEOSPEC_SELECTOR_UNSUPPORTED_EVIDENCE, GEOSPEC_SELECTOR_UNMATCHED, GEOSPEC_SELECTOR_AMBIGUOUS
analyzeMeshOverlapanalyzeMeshOverlapQueryNoYesYesnoneGEOSPEC_COMPONENT_PARTITION_INCONCLUSIVE, GEOSPEC_EXACT_COMPONENT_INVALID, GEOSPEC_MANIFOLD_COMPONENT_INVALID, GEOSPEC_SELECTOR_UNMATCHED, MATCHER_TIMEOUT, GEOSPEC_ANALYSIS_LIMIT
toSatisfyRationalPlateto_satisfy_rational_plateContractNoNoNoGEOSPEC_RATIONAL_PLATE_MISMATCHGEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_ANALYSIS_LIMIT
toSatisfyParallelPlaneDistanceto_satisfy_parallel_plane_distanceContractNoYesNoGEOSPEC_PARALLEL_PLANE_DISTANCE_MISMATCHGEOSPEC_CERTIFICATE_UNVERIFIED, GEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_ANALYSIS_LIMIT
queryPmiqueryPmiQueryNoYesNononeGEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_ANALYSIS_LIMIT
minimumDistanceminimumDistanceQueryNoYesNononeGEOSPEC_UNSUPPORTED_EVIDENCE, GEOSPEC_INVALID_SELECTION

Kind. An assertion answers passed, failed or refused under either polarity. A query reports what it measured and takes positive polarity only. A contract takes no arguments: its requirement is fixed by name.

Mesh, STEP, glTF. Yes when the section's admitted geometry lists that subject class. Mesh is a mesh-buffer-v1 subject; glTF covers glTF and GLB. toSatisfyRationalPlate (Python to_satisfy_rational_plate) admits a rational-plate subject only.

Failed with. The code a failed claim carries; none means the section names no failure code.

Refused with. The section's own refusal codes. The common refusals apply to every row: MATCHER_TIMEOUT when the budget is spent, GEOSPEC_ANALYSIS_LIMIT and GEOSPEC_RESOURCE_LIMIT when an analysis or admission limit is exceeded, GEOSPEC_UNSUPPORTED_EVIDENCE on a face-reading claim over a STEP whose faces carry no surface, GEOSPEC_UNSUPPORTED_EVIDENCE on a y-up STEP, and GEOSPEC_BACKEND_FAILED. Read a refusal says what to change.