forked from 1b-agent/fieldcraft-upstream
move_nodes_with takes the region's quality before the move from an earlier run and a coarser guard bisection, for a live preview; each pass measures the elements in parallel (fixed blocks). The relaxation's state sizes its elements (a certified check each) only for the strong mode, which alone uses the size: on the crank arm's hex20 mesh that was 114 ms of every 130 ms preview. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
27 lines
1021 B
TOML
27 lines
1021 B
TOML
[package]
|
|
name = "fieldcraft-mesh"
|
|
description = "FieldCraft'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]
|
|
fieldcraft-model = { workspace = true }
|
|
fieldcraft-parallel = { workspace = true }
|
|
# Pure-Rust maths (a port of musl's libm) for sin, cos, log, exp, pow, hypot, acos: the same
|
|
# bits on every platform, where the system library's are not correctly rounded and differ (the
|
|
# plate's hex mesh differed between macOS and Linux, #438). atan2 and cbrt are crate::vec3's.
|
|
libm = "0.2"
|
|
thiserror = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
# Test oracles only (never linked into FieldCraft): exact rationals, and georust's port of
|
|
# Shewchuk's public-domain predicates.c as a differential reference.
|
|
num-bigint = "0.4"
|
|
num-rational = { version = "0.4", default-features = false, features = ["num-bigint", "std"] }
|
|
num-traits = "0.2"
|
|
robust = "1.2"
|