1#![warn(missing_docs)]
120
121pub mod assembly;
122mod bounded_deserialize;
123pub mod check;
124mod checks;
125pub mod collection;
126pub mod config;
127pub mod contact_fragment;
128pub mod contract;
129pub mod dependency_closure;
130pub mod diff;
131pub mod directional_speed_evaluation;
132pub mod directional_speed_policy;
133pub mod engine_contract;
134pub mod evaluation;
135pub mod finding;
136#[cfg(feature = "fixtures")]
137pub mod fixtures;
138pub mod measure;
139pub mod metrics;
140pub mod model;
141pub mod prediction;
142pub mod profile;
143pub mod sample;
144pub mod scale;
145pub mod skinned_canonical;
146pub mod source_facts;
147pub mod stance_support;
148pub mod static_bake;
149pub mod transform;
150pub mod transition_family;
151pub mod transition_pose_evaluation;
153
154pub use check::{Check, CheckCtx, all_checks, mechanical_checks};
155pub use collection::{
156 COLLECTION_MANIFEST_V1_BUDGET_ID, COLLECTION_MANIFEST_V1_ID,
157 COLLECTION_MANIFEST_V1_MAX_AGGREGATE_MEMBERS, COLLECTION_MANIFEST_V1_MAX_AGGREGATE_WORK,
158 COLLECTION_MANIFEST_V1_MAX_CLIPS, COLLECTION_MANIFEST_V1_MAX_IDENTIFIER_BYTES,
159 COLLECTION_MANIFEST_V1_MAX_MANIFEST_BYTES, COLLECTION_MANIFEST_V1_MAX_RUNTIME_SETS,
160 COLLECTION_MANIFEST_V1_MAX_SOURCES, COLLECTION_MANIFEST_V1_MAX_TAKE_NAME_BYTES,
161 COLLECTION_MANIFEST_V1_SCHEMA_VERSION, CollectionClipV1, CollectionDigestPinV1, CollectionIdV1,
162 CollectionLogicalIdV1, CollectionManifestBudgetV1, CollectionManifestError,
163 CollectionManifestV1, CollectionRuntimeSetKindV1, CollectionRuntimeSetV1,
164 CollectionSourceKeyV1, CollectionSourceV1,
165};
166pub use config::{
167 ClipExpectations, Config, ConfigValidationError, GaitGroup, MovementOwner, Pinned,
168 RuntimeNodeSelectorResolution, RuntimeNodeSelectors, RuntimeNodesConfig, SeveritySetting,
169 SyncGroup, TimeComplementSettings,
170};
171pub use contact_fragment::{
172 CONTACT_FRAGMENT_V1_ID, CONTACT_FRAGMENT_V1_MAX_CANONICAL_BYTES, CONTACT_FRAGMENT_V1_MAX_DEPTH,
173 CONTACT_FRAGMENT_V1_MAX_EVENTS, CONTACT_FRAGMENT_V1_MAX_EXTENSION_PAYLOAD_BYTES,
174 CONTACT_FRAGMENT_V1_MAX_EXTENSION_PAYLOAD_DEPTH, CONTACT_FRAGMENT_V1_MAX_EXTENSIONS,
175 CONTACT_FRAGMENT_V1_MAX_IDENTIFIER_BYTES, CONTACT_FRAGMENT_V1_MAX_SAFE_INTEGER,
176 CONTACT_FRAGMENT_V1_MAX_SOURCE_BYTES, CONTACT_FRAGMENT_V1_MAX_TEXT_BYTES,
177 CONTACT_FRAGMENT_V1_SCHEMA_VERSION, ContactClipReferenceV1, ContactEventKindV1, ContactEventV1,
178 ContactEventWindowV1, ContactExtensionV1, ContactFragmentError, ContactFragmentV1,
179 ContactPhaseV1, ContactProducerV1, ContactRoleV1,
180};
181pub use contract::{
182 DiffEnvelope, InputIdentity, LintEnvelope, LintFileReport, MEASUREMENTS_SCHEMA_ID,
183 MEASUREMENTS_SCHEMA_VERSION, MeasureEnvelope, MeasureFileReport, MeasurementContract,
184 MeasurementContractError, MeasurementFileError, MeasurementReportError, MeasurementReportFile,
185 MeasurementReportInput, MeasurementReportReadError, OUTPUT_SCHEMA_ID, OUTPUT_SCHEMA_VERSION,
186 OUTPUT_V10_SCHEMA_ID, OUTPUT_V11_MAX_CHECKS_PER_FILE, OUTPUT_V11_MAX_FILES,
187 OUTPUT_V11_MAX_REPORT_BYTES, OutputContractError, RigInfo, RigInfoError, ToolInfo, ToolSource,
188 sha256_hex,
189};
190pub use dependency_closure::{
191 DEPENDENCY_CLOSURE_BUDGET_V1_ID, DEPENDENCY_CLOSURE_V1_ID,
192 DEPENDENCY_CLOSURE_V1_MAX_DEDUP_PROBES, DEPENDENCY_CLOSURE_V1_MAX_EXTERNAL_RESOURCES,
193 DEPENDENCY_CLOSURE_V1_MAX_KEY_BYTES, DEPENDENCY_CLOSURE_V1_MAX_NORMALIZATION_BYTES,
194 DEPENDENCY_CLOSURE_V1_MAX_PATH_COMPONENTS, DEPENDENCY_CLOSURE_V1_MAX_REFERENCES,
195 DEPENDENCY_CLOSURE_V1_MAX_RESOURCE_BYTES, DEPENDENCY_CLOSURE_V1_MAX_TOTAL_RESOURCE_BYTES,
196 DependencyClosureBuilderV1, DependencyClosureCoverageReasonV1, DependencyClosureCoverageV1,
197 DependencyClosureError, DependencyClosureIdentityV1, DependencyClosureReferenceV1,
198 DependencyClosureV1, DependencyClosureWorkV1, DependencyReferenceTargetV1,
199 DependencyResourceKeyV1, DependencyResourcePurposeV1, DependencyResourceRefusalReasonV1,
200 DependencyResourceUnavailableReasonV1, ExternalResourceIdentityV1, ResourceClosureBudgetV1,
201 ResourceKeySyntaxV1,
202};
203pub use directional_speed_evaluation::{
204 COLLECTION_DIRECTIONAL_SPEED_EVALUATION_V1_ID,
205 COLLECTION_DIRECTIONAL_SPEED_EVALUATION_V1_SCHEMA_VERSION,
206 CollectionDirectionalSpeedEvaluationControlError, CollectionDirectionalSpeedEvaluationV1,
207 CollectionDirectionalSpeedEvidenceMemberV1, CollectionDirectionalSpeedEvidenceV1,
208 CollectionDirectionalSpeedFindingV1, CollectionDirectionalSpeedLifecycleV1,
209 CollectionDirectionalSpeedNotEvaluatedReasonV1, evaluate_collection_directional_speed_v1,
210};
211pub use directional_speed_policy::{
212 COLLECTION_DIRECTIONAL_SPEED_EVIDENCE_V1_MAX_BYTES, COLLECTION_DIRECTIONAL_SPEED_POLICY_V1_ID,
213 COLLECTION_DIRECTIONAL_SPEED_POLICY_V1_MAX_AXIS_COSINE,
214 COLLECTION_DIRECTIONAL_SPEED_POLICY_V1_MAX_BYTES,
215 COLLECTION_DIRECTIONAL_SPEED_POLICY_V1_MAX_COMPONENT,
216 COLLECTION_DIRECTIONAL_SPEED_POLICY_V1_MAX_DIRECTION_TOLERANCE_DEG,
217 COLLECTION_DIRECTIONAL_SPEED_POLICY_V1_MAX_MEMBERS,
218 COLLECTION_DIRECTIONAL_SPEED_POLICY_V1_MAX_SCALAR,
219 COLLECTION_DIRECTIONAL_SPEED_POLICY_V1_SCHEMA_VERSION,
220 CollectionDirectionalSpeedDiagonalBehaviorV1, CollectionDirectionalSpeedManifestIdentityV1,
221 CollectionDirectionalSpeedMemberV1, CollectionDirectionalSpeedModeV1,
222 CollectionDirectionalSpeedPolicyError, CollectionDirectionalSpeedPolicyV1,
223 CollectionDirectionalSpeedSourceBasisV1,
224};
225pub use engine_contract::{
226 ENGINE_CONTRACT_V1_MAX_AGGREGATE_ROWS, ENGINE_CONTRACT_V1_MAX_COLLECTION_ROWS,
227 ENGINE_CONTRACT_V1_MAX_TEXT_BYTES, ENGINE_CONTRACT_V1_MAX_TOTAL_TEXT_BYTES,
228 ENGINE_PROFILE_FACTS_V1_ID, EngineAnimationAddressabilityV1, EngineBakeOrExtractV1,
229 EngineClipSettingsV1, EngineContractError, EngineConversionControlV1, EngineCoordinateBasisV1,
230 EngineDefaultStatusV1, EngineFactIdV1, EngineFactStateV1, EngineFactValueV1,
231 EngineForwardAxisV1, EngineHandednessV1, EngineImportHandlingV1, EngineLinearUnitV1,
232 EnginePrimarySourceV1, EngineProfileFactV1, EngineProfileSelectionV1,
233 EngineRootMotionAddressabilityV1, EngineSettingApplicabilityV1, EngineSettingDescriptorV1,
234 EngineSettingDomainV1, EngineSettingIdV1, EngineSettingRowV1, EngineSettingScopeV1,
235 EngineSettingValueV1, EngineTargetAddressabilityV1, EngineUpAxisV1,
236 RESOLVED_ENGINE_SETTINGS_V1_ID, ResolvedEngineProfileV1, ResolvedEngineSettingsV1,
237};
238pub use evaluation::{
239 Applicability, BUILTIN_COVERAGE_GAP_CODES, BUILTIN_EVALUATION_SCOPE_CODES, CheckEvaluation,
240 CheckOutput, CheckSelection, ConfigurationState, CoverageGap, CoverageGapCode, EvaluationError,
241 EvaluationScope, EvaluationScopeCode, EvaluationState, SelectionState, evaluate_checks,
242 lint_requires_failure,
243};
244pub use finding::{Finding, MemberMeasurement, Severity, Value};
245pub use glam;
249pub use metrics::MetricGrids;
250pub use model::{
251 AdditionalInfluenceSet, AffineDomainViolation, Bone, BoneId, Clip, DecodedImageColorType,
252 Document, DocumentShapeError, ImageContainerFormat, ImageSourceKind, ImageUnavailableReason,
253 Interpolation, MaterialResourceAssets, MaterialResourceCoverage, MaterialTextureSlot,
254 MeshInstanceShapeViolation, Property, Skeleton, SourceImageAsset, SourceImageInspection,
255 SourceInfo, SourceInverseBindAccessor, SourceInverseBindAccessorStatus, SourceMaterialAsset,
256 SourceMaterialTextureBinding, SourceNodeAsset, SourceNodeLocalRest, SourceProjectionViolation,
257 SourceSkeletonAssets, SourceSkeletonCoverage, SourceSkinAsset, SourceSkinAttachment,
258 SourceTextureAsset, Track, TrackShapeViolation, TrackValues, Transform,
259 validate_document_shape,
260};
261pub use prediction::{
262 ENGINE_PREDICTION_V1_ID, EnginePredictionBasisV1, EnginePredictionFacetStateV1,
263 EnginePredictionFacetV1, EnginePredictionV1, FinitePredictionNumberV1, MeasurementPointerV1,
264 PREDICTION_PROVENANCE_V1_ID, PREDICTION_V1_MAX_AGGREGATE_PROVENANCE_ROWS,
265 PREDICTION_V1_MAX_BASIS_REFERENCES_PER_FACET, PREDICTION_V1_MAX_BASIS_REFERENCES_PER_FILE,
266 PREDICTION_V1_MAX_FACETS_PER_FILE, PREDICTION_V1_MAX_MEASUREMENT_POINTER_COMPONENTS,
267 PREDICTION_V1_MAX_REASONS_PER_FACET, PREDICTION_V1_MAX_TEXT_BYTES,
268 PREDICTION_V1_MAX_TOTAL_TEXT_BYTES_PER_FILE, PredictionBasisIdentityV1,
269 PredictionBasisReferenceV1, PredictionContractError, PredictionProvenanceIdentityV1,
270 PredictionProvenanceV1, PredictionScalarV1, PredictionUnavailableReasonV1, RawSourceAxisV1,
271 RawSourceBasisReferenceV1, RawSourceBindingV1, RawSourceCoordinateBasisV1,
272 RawSourceDispositionV1, RawSourceDomainV1, RawSourceFieldIdV1, RawSourceKeyV1,
273 RawSourceObservationStateWireV1, RawSourceObservationWireV1, RawSourceProjectionWorkWireV1,
274 RawSourceProvenanceKindV1, RawSourceProvenanceV1, RawSourceSetCoverageStateV1,
275 RawSourceSetCoverageV1, RawSourceUnavailableReasonV1, ResolvedSettingLocationV1,
276 SourceSkeletonRowKindV1,
277};
278pub use profile::{
279 ResolutionOutcome, ResolvedRoles, RigProfile, Role, RoleResolutionPolicy, builtin_profiles,
280 detect_profile, detect_profile_detailed, resolve_configured_roles, resolve_named,
281 resolve_named_detailed,
282};
283pub use sample::{PoseGrid, TrackSample, default_frame_count, sample_clip, sample_track};
284pub use scale::{
285 ProofResidualKind, ScaleBoneRestField, ScaleCandidate, ScaleCapabilityCoverage,
286 ScaleCapabilityFacts, ScaleError, ScaleFieldDisposition, ScaleFieldPlan, ScaleFieldTarget,
287 ScaleOperation, ScalePayloadShapeRow, ScalePlan, ScalePlanLedger, ScaleProjectedRole,
288 ScaleProof, ScaleProofObligation, ScaleProofResidual, ScaleRequest, ScaleRewriteRule,
289 ScaleSourceNodeKind, ScaleSourceRestField, ScaleSourceTopologyRow, ScaleTolerancePolicy,
290 plan_scale, prove_scale,
291};
292pub use skinned_canonical::{
293 SkinnedBindPoseCanonicalization, SkinnedBindPoseCanonicalizationError,
294 SkinnedBindPoseCanonicalizationOptions, SkinnedBindPosePlacement,
295 canonicalize_skinned_bind_pose,
296};
297pub use source_facts::{
298 LoadedSource, RAW_SOURCE_FACTS_V1_ID, RAW_SOURCE_V1_MAX_CLIPS, RAW_SOURCE_V1_MAX_OBSERVATIONS,
299 RAW_SOURCE_V1_MAX_RESOURCE_REFERENCES, RAW_SOURCE_V1_MAX_TEXT_BYTES,
300 RAW_SOURCE_V1_MAX_TOTAL_TEXT_BYTES, RAW_SOURCE_V1_MAX_TRAVERSAL_DEPTH, RawSourceFactsBuilderV1,
301 RawSourceFactsV1, SourceAxisV1, SourceChannelFactV1, SourceChannelPropertyV1, SourceClipFactV1,
302 SourceComponentMaskV1, SourceConstructFactV1, SourceConstructKindV1, SourceCoordinateBasisV1,
303 SourceFactDomainV1, SourceFactSetV1, SourceFactsError, SourceFactsViewV1, SourceFormatV1,
304 SourceFramesPerSecondV1, SourceHandednessV1, SourceInterpolationV1, SourceLinearUnitV1,
305 SourceLoaderDispositionV1, SourceLogicalLocatorV1, SourceObservationStateV1,
306 SourceObservationV1, SourceProjectionWorkV1, SourceProvenanceKindV1, SourceProvenanceV1,
307 SourceRelativeLocatorV1, SourceResourceKindV1, SourceResourceLocatorV1,
308 SourceResourceReferenceV1, SourceSetCoverageStateV1, SourceSetCoverageV1, SourceTargetKindV1,
309 SourceTargetV1, SourceTextV1, SourceTimeRangeV1, SourceUnavailableReasonV1,
310};
311pub use stance_support::{
312 ResolvedStanceSupportV1, StanceSideV1, StanceSupportRunV1, resolve_stance_support_v1,
313};
314pub use static_bake::{
315 StaticMeshBake, StaticMeshBakeError, StaticMeshBakeEvidence, StaticMeshBakeInstanceEvidence,
316 bake_static_mesh_transforms,
317};
318pub use transition_family::{
319 CollectionTransitionFamilyMemberV1, CollectionTransitionFamilyV1,
320 DocumentTransitionFamilyMemberV1, DocumentTransitionFamilyV1, TRANSITION_FAMILY_V1_ID,
321 TRANSITION_FAMILY_V1_MAX_AGGREGATE_MEMBERS, TRANSITION_FAMILY_V1_MAX_DEPTH,
322 TRANSITION_FAMILY_V1_MAX_DOCUMENT_FAMILY_ID_BYTES, TRANSITION_FAMILY_V1_MAX_FAMILIES,
323 TRANSITION_FAMILY_V1_MAX_MEMBERS_PER_FAMILY, TRANSITION_FAMILY_V1_MAX_NORMALIZED_BYTES,
324 TRANSITION_FAMILY_V1_MAX_SOURCE_BYTES, TRANSITION_FAMILY_V1_MAX_STRING_BYTES,
325 TRANSITION_FAMILY_V1_SCHEMA_VERSION, TransitionFamilyBasisV1, TransitionFamilyBoundaryV1,
326 TransitionFamilyDeclarationInputV1, TransitionFamilyDeclarationV1, TransitionFamilyError,
327 TransitionFamilyManifestIdentityV1, TransitionFamilyTolerancesV1,
328};
329pub use transition_pose_evaluation::{
330 CollectionTransitionPoseMemberInputV1, SkeletonBasisBoneV1, SkeletonBasisError,
331 SkeletonBasisV1, TRANSITION_POSE_EVALUATION_V1_ID,
332 TRANSITION_POSE_EVALUATION_V1_MAX_AGGREGATE_COMPARISONS,
333 TRANSITION_POSE_EVALUATION_V1_MAX_AGGREGATE_OFFENDERS,
334 TRANSITION_POSE_EVALUATION_V1_MAX_AGGREGATE_PAIR_BOUNDARIES,
335 TRANSITION_POSE_EVALUATION_V1_MAX_BASIS_TEXT_BYTES, TRANSITION_POSE_EVALUATION_V1_MAX_BONES,
336 TRANSITION_POSE_EVALUATION_V1_MAX_DOCUMENT_CLIPS,
337 TRANSITION_POSE_EVALUATION_V1_MAX_FAMILY_PAIR_BOUNDARIES,
338 TRANSITION_POSE_EVALUATION_V1_MAX_RAW_TRACK_ROWS_PER_CLIP,
339 TRANSITION_POSE_EVALUATION_V1_MAX_RESULT_BYTES,
340 TRANSITION_POSE_EVALUATION_V1_MAX_ROTATION_OFFENDERS,
341 TRANSITION_POSE_EVALUATION_V1_MAX_SELECTED_TRACK_ELEMENTS,
342 TRANSITION_POSE_EVALUATION_V1_MAX_SELECTED_TRACKS_PER_CLIP,
343 TRANSITION_POSE_EVALUATION_V1_MAX_TRANSLATION_OFFENDERS,
344 TRANSITION_POSE_EVALUATION_V1_SCHEMA_VERSION, TransitionPoseDecisionV1,
345 TransitionPoseEvaluationControlError, TransitionPoseEvaluationV1,
346 TransitionPoseFamilyEvaluationV1, TransitionPoseMemberV1, TransitionPosePairEvaluationV1,
347 TransitionPoseReasonV1, TransitionPoseRotationOffenderV1, TransitionPoseStatusV1,
348 TransitionPoseTranslationOffenderV1, evaluate_collection_transition_poses_v1,
349 evaluate_document_transition_poses_v1,
350};