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