Another project
1pub mod document;
2pub mod evaluator;
3pub mod io;
4mod profile;
5pub mod sketch;
6pub mod undo;
7
8pub use document::{
9 Document, DocumentHeader, DocumentParameters, ExtrudeFile, FeatureEdge, FeatureNode,
10 FeatureTree, PrincipalPlane, RenameSketchError, SketchFile, SketchRegistry,
11 SketchRegistryEntry, UnitsPreference, extrude_filename, sketch_filename,
12};
13pub use evaluator::{
14 EvaluatedExtrude, EvaluatedSketch, ExtrudeError, FeatureCache, evaluate_extrude,
15 evaluate_sketch,
16};
17pub use io::{
18 BlobHash, BlobKind, DocumentFolder, FolderError, FolderErrorKind, LabelSidecar, RonError,
19 from_str, load, read_solid, read_tessellation, save, to_string, write_solid,
20 write_tessellation,
21};
22pub use sketch::{
23 ArcData, CircleData, DimensionKind, DimensionRefs, DimensionValue, DimensionValueMismatch,
24 EditOutcome, EntityRefs, LineData, PointData, RelationRefs, Sketch, SketchDimension,
25 SketchDofReport, SketchEdit, SketchEditError, SketchEntity, SketchEntityKind, SketchParameter,
26 SketchRelation, SketchStatusReport, SketchVersion, SolverError,
27};
28pub use undo::UndoStack;
29
30#[derive(Debug, thiserror::Error)]
31pub enum DocumentError {
32 #[error(transparent)]
33 SketchEdit(#[from] SketchEditError),
34 #[error(transparent)]
35 Folder(#[from] FolderError),
36 #[error(transparent)]
37 Ron(#[from] RonError),
38}
39
40pub type Result<T, E = DocumentError> = core::result::Result<T, E>;