#![cfg_attr(test, allow(clippy::unwrap_used))]
pub mod annotations;
pub mod appearance;
pub mod artifact;
pub mod assets;
pub mod attributes;
pub mod bytes;
pub mod codec;
pub mod diff;
pub mod document;
pub mod draft;
pub mod drawings;
pub mod eval;
pub mod examples;
pub mod features;
pub mod geometry;
pub mod hash;
pub mod ids;
pub mod index;
pub mod math;
pub mod native;
pub mod pmi;
pub mod presentation;
pub mod products;
mod provenance;
pub mod report;
pub mod schema;
pub mod semantic_annotations;
pub mod sketches;
pub mod source_fidelity;
pub mod spreadsheets;
pub mod subd;
pub mod tessellation;
pub mod topology;
pub mod transform;
pub mod units;
pub mod validate;
pub use annotations::{AnnotationBuilder, Annotations, ExactnessNote, Provenance};
pub use artifact::{DocumentArtifact, DocumentOrigin};
pub use codec::{
CadirEncoder, Codec, CodecEntry, Confidence, DecodeOptions, DecodeResult, Encoder,
};
pub use diff::{diff, ArenaDiff, IrDiff, ModifiedEntity};
pub use document::{CadIr, SourceMeta, IR_VERSION};
pub use features::{
BodyRetentionMode, BodySelection, BodyTrimSide, CoilConstruction, CoilExtent, CoilPlacement,
CoilResult, CoilSection, CoilSectionPlacement, ConfigurationBodies, ConfigurationId,
CurveProjectionDirection, CurveProjectionDirectionState, DesignConfiguration, DesignParameter,
FaceMotion, Feature, FeatureDefinition, FeatureId, ParameterId, ParameterPmi, ParameterValue,
PmiDimensionSubtype, ScaleCenter, ScaleFactors, SketchSpace,
};
pub use native::{LossCount, Native, NativeConvertError, NativeNamespace, NativeRecord};
pub use pmi::{
DatumReference, DimensionKind, GeometricToleranceKind, PmiAnnotation, PmiDefinition,
PmiQuantity, PmiTarget, PmiValue,
};
pub use presentation::{
CameraState, PresentationDocument, PresentationId, PresentationState, ViewPresentation,
};
pub use presentation::{PresentationItem, PresentationLayer};
pub use products::{
AssemblyGraph, AssemblyGraphError, AssemblyJoint, CopyOnChangePolicy,
ExternalDocumentReference, ExternalResolution, JointId, JointKind, JointLimits, JointOperand,
Occurrence, ProductDefinition, ProductDefinitionKind, PrototypeReference,
};
pub use provenance::Provenance as LossProvenance;
pub use provenance::{Exactness, SourceObjectAssociation};
pub use report::{
CensusBasis, Check, CoverageKey, DecodeReport, EntityCensus, ExportReport, FidelityResolution,
Finding, LossCategory, LossKind, LossNote, Severity, StrictConsequence, ValidationReport,
};
pub use sketches::{
Sketch, SketchAxis, SketchConstraint, SketchConstraintDefinition, SketchConstraintId,
SketchCoordinateAxis, SketchDistanceMeasurement, SketchEntity, SketchEntityId, SketchEntityUse,
SketchGeometry, SketchId, SketchNativeOperand, SketchPlacement, SpatialSketch,
SpatialSketchEntity, SpatialSketchEntityId, SpatialSketchEntityUse, SpatialSketchGeometry,
SpatialSketchId, SpatialSketchProfile,
};
pub use source_fidelity::{
decode_sidecar_path, DecodeSidecar, DecodeSidecarParseError, RetainedSourceRecord,
SourceFidelity, DECODE_SIDECAR_VERSION, SOURCE_FIDELITY_VERSION,
};
pub use spreadsheets::{Spreadsheet, SpreadsheetDimension, SpreadsheetId, SpreadsheetRange};
pub use subd::{
SubdEdge, SubdEdgeTag, SubdEdgeUse, SubdFace, SubdScheme, SubdSurface, SubdVertex,
SubdVertexTag,
};
pub use unknown::{NativeUnknownRecord, UnknownRecord};
pub use validate::{validate, validate_with_source_fidelity};
pub mod unknown;
pub fn cadir_json_schema() -> schemars::Schema {
schemars::schema_for!(CadIr)
}
#[cfg(test)]
mod tests;