forked from 1b-agent/fieldcraft-upstream
Add the modelcraft-mesh crate (empty: error type only) (#3)
So the predicates and quality tasks can add modules in parallel without both creating the crate. Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm Co-authored-by: jyviko <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]>
This commit is contained in:
5 files changed
+45
-1
No files matched your search
@@ -0,0 +1,13 @@
|
||||
[package]
|
||||
name = "modelcraft-mesh"
|
||||
description = "ModelCraft's meshing: robust predicates, surface preparation, tetrahedral and hexahedral meshing, quality metrics"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
modelcraft-model = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
@@ -0,0 +1,22 @@
|
||||
//! Meshing: robust geometric predicates, boundary surface preparation, tetrahedral and
|
||||
//! hexahedral volume meshing, and element quality.
|
||||
//!
|
||||
//! Every algorithm here is implemented from the papers cited in its module docs (see
|
||||
//! `docs/meshing/literature.md`); no GPL-family code is read or used. Meshing decisions use exact
|
||||
//! predicates, results are deterministic, and every iterative stage is bounded.
|
||||
#![deny(clippy::unwrap_used, clippy::expect_used, clippy::panic, clippy::unimplemented, clippy::todo, clippy::unreachable)]
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, thiserror::Error)]
|
||||
pub enum Error {
|
||||
#[error("invalid input: {0}")]
|
||||
Invalid(String),
|
||||
#[error("limit reached: {0}")]
|
||||
Limit(String),
|
||||
#[error("meshing failed: {0}")]
|
||||
Failed(String),
|
||||
#[error(transparent)]
|
||||
Model(#[from] modelcraft_model::Error),
|
||||
}
|
||||
|
||||
pub type Result<T> = std::result::Result<T, Error>;
|
||||
Reference in new issue
Block a user