diff --git a/Cargo.lock b/Cargo.lock index b96ec95..7db81ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -133,7 +133,7 @@ dependencies = [ [[package]] name = "axiolid-arrangement" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", "axiolid-guarantees", @@ -142,14 +142,14 @@ dependencies = [ [[package]] name = "axiolid-backend-cpu" -version = "0.3.0" +version = "0.3.1" dependencies = [ "rayon", ] [[package]] name = "axiolid-backend-gpu" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -176,7 +176,7 @@ dependencies = [ [[package]] name = "axiolid-brep" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-core", "axiolid-curve", @@ -186,7 +186,7 @@ dependencies = [ [[package]] name = "axiolid-brep-audit" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-brep", "axiolid-contracts", @@ -199,7 +199,7 @@ dependencies = [ [[package]] name = "axiolid-brep-boolean" -version = "0.1.0" +version = "0.1.1" dependencies = [ "axiolid-brep", "axiolid-brep-audit", @@ -218,21 +218,21 @@ dependencies = [ [[package]] name = "axiolid-capi" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid", ] [[package]] name = "axiolid-collide" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", ] [[package]] name = "axiolid-construct" -version = "0.3.5" +version = "0.3.6" dependencies = [ "axiolid-brep", "axiolid-brep-audit", @@ -261,7 +261,7 @@ dependencies = [ [[package]] name = "axiolid-contracts" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-core", "axiolid-guarantees", @@ -270,14 +270,14 @@ dependencies = [ [[package]] name = "axiolid-core" -version = "0.3.0" +version = "0.3.1" dependencies = [ "glam 0.29.3", ] [[package]] name = "axiolid-curve" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-core", "axiolid-linear", @@ -285,7 +285,7 @@ dependencies = [ [[package]] name = "axiolid-curve-evaluate-contract" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -294,7 +294,7 @@ dependencies = [ [[package]] name = "axiolid-decimate" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", "axiolid-heal", @@ -305,7 +305,7 @@ dependencies = [ [[package]] name = "axiolid-decompose" -version = "0.3.0" +version = "0.3.1" dependencies = [ "ahash", "axiolid-construct", @@ -321,7 +321,7 @@ dependencies = [ [[package]] name = "axiolid-dispatch" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-backend-cpu", "axiolid-contracts", @@ -338,7 +338,7 @@ dependencies = [ [[package]] name = "axiolid-evaluate" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -349,7 +349,7 @@ dependencies = [ [[package]] name = "axiolid-exact" -version = "0.1.1" +version = "0.1.2" dependencies = [ "axiolid-core", "axiolid-guarantees", @@ -359,7 +359,7 @@ dependencies = [ [[package]] name = "axiolid-exact-compile-contract" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-brep", "axiolid-contracts", @@ -368,14 +368,14 @@ dependencies = [ [[package]] name = "axiolid-field" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", ] [[package]] name = "axiolid-field-ops" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", "axiolid-field", @@ -383,7 +383,7 @@ dependencies = [ [[package]] name = "axiolid-fixtures" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", "axiolid-mesh", @@ -391,11 +391,11 @@ dependencies = [ [[package]] name = "axiolid-guarantees" -version = "0.3.0" +version = "0.3.1" [[package]] name = "axiolid-heal" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", "axiolid-guarantees", @@ -408,7 +408,7 @@ dependencies = [ [[package]] name = "axiolid-inspect" -version = "0.3.3" +version = "0.3.4" dependencies = [ "axiolid-core", "axiolid-exact", @@ -422,7 +422,7 @@ dependencies = [ [[package]] name = "axiolid-levelset" -version = "0.3.0" +version = "0.3.1" dependencies = [ "ahash", "axiolid-core", @@ -433,14 +433,14 @@ dependencies = [ [[package]] name = "axiolid-linear" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", ] [[package]] name = "axiolid-linear-intersection" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", "axiolid-guarantees", @@ -450,7 +450,7 @@ dependencies = [ [[package]] name = "axiolid-measure" -version = "0.3.2" +version = "0.3.3" dependencies = [ "axiolid-brep", "axiolid-core", @@ -463,14 +463,14 @@ dependencies = [ [[package]] name = "axiolid-mesh" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", ] [[package]] name = "axiolid-mesh-boolean-boolmesh" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -490,7 +490,7 @@ dependencies = [ [[package]] name = "axiolid-mesh-boolean-contract" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -500,7 +500,7 @@ dependencies = [ [[package]] name = "axiolid-mesh-compile" -version = "0.3.5" +version = "0.3.6" dependencies = [ "axiolid-brep", "axiolid-construct", @@ -528,7 +528,7 @@ dependencies = [ [[package]] name = "axiolid-mesh-compile-contract" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-contracts", "axiolid-mesh", @@ -537,7 +537,7 @@ dependencies = [ [[package]] name = "axiolid-mesh-contracts" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -546,7 +546,7 @@ dependencies = [ [[package]] name = "axiolid-mesh-section-contract" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -556,7 +556,7 @@ dependencies = [ [[package]] name = "axiolid-minkowski" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-construct", "axiolid-contracts", @@ -571,7 +571,7 @@ dependencies = [ [[package]] name = "axiolid-model" -version = "0.3.2" +version = "0.3.3" dependencies = [ "axiolid-core", "axiolid-curve", @@ -585,7 +585,7 @@ dependencies = [ [[package]] name = "axiolid-nurbs" -version = "0.3.3" +version = "0.3.4" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -611,7 +611,7 @@ dependencies = [ [[package]] name = "axiolid-overlay" -version = "0.3.5" +version = "0.3.6" dependencies = [ "axiolid-core", "axiolid-exact", @@ -621,14 +621,14 @@ dependencies = [ [[package]] name = "axiolid-pointcloud" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", ] [[package]] name = "axiolid-pointcloud-reconstruction-contract" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -638,7 +638,7 @@ dependencies = [ [[package]] name = "axiolid-pointcloud-reconstruction-sdf" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -651,7 +651,7 @@ dependencies = [ [[package]] name = "axiolid-predicates" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-core", "axiolid-exact", @@ -660,14 +660,14 @@ dependencies = [ [[package]] name = "axiolid-primitive" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-core", ] [[package]] name = "axiolid-profile" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", "axiolid-curve", @@ -675,7 +675,7 @@ dependencies = [ [[package]] name = "axiolid-project" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", "axiolid-mesh", @@ -695,7 +695,7 @@ dependencies = [ [[package]] name = "axiolid-reference" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -716,7 +716,7 @@ dependencies = [ [[package]] name = "axiolid-refine" -version = "0.3.0" +version = "0.3.1" dependencies = [ "ahash", "axiolid-contracts", @@ -731,7 +731,7 @@ dependencies = [ [[package]] name = "axiolid-route" -version = "0.3.5" +version = "0.3.6" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -744,14 +744,14 @@ dependencies = [ [[package]] name = "axiolid-spatial" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-core", ] [[package]] name = "axiolid-surface" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-core", "axiolid-curve", @@ -759,7 +759,7 @@ dependencies = [ [[package]] name = "axiolid-tessellation-contract" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-contracts", "axiolid-core", @@ -769,14 +769,14 @@ dependencies = [ [[package]] name = "axiolid-topology" -version = "0.3.0" +version = "0.3.1" dependencies = [ "axiolid-core", ] [[package]] name = "axiolid-triangulate" -version = "0.3.1" +version = "0.3.2" dependencies = [ "axiolid-core", "axiolid-guarantees", diff --git a/Cargo.toml b/Cargo.toml index 142527b..6fbd5d0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,69 +76,69 @@ readme = "README.md" [workspace.dependencies] # Format-agnostic Axiolid geometry kernel. Leaf crates remain independently consumable. axiolid = { path = "crates/facade/axiolid", version = "0.4.0", default-features = false } -axiolid-core = { path = "crates/foundation/core", version = "0.3.0" } -axiolid-mesh = { path = "crates/representations/discrete/mesh", version = "0.3.0" } -axiolid-pointcloud = { path = "crates/representations/discrete/pointcloud", version = "0.3.0" } -axiolid-model = { path = "crates/representations/modeling/graph", version = "0.3.1" } -axiolid-primitive = { path = "crates/representations/analytic/primitive", version = "0.3.1" } -axiolid-heal = { path = "crates/algorithms/repair/heal", version = "0.3.0" } -axiolid-brep-audit = { path = "crates/algorithms/repair/brep-audit", version = "0.3.1" } -axiolid-decimate = { path = "crates/algorithms/discrete/decimate", version = "0.3.0" } -axiolid-decompose = { path = "crates/algorithms/discrete/decompose", version = "0.3.0" } -axiolid-minkowski = { path = "crates/algorithms/discrete/minkowski", version = "0.3.0" } -axiolid-refine = { path = "crates/algorithms/discrete/refine", version = "0.3.0" } -axiolid-levelset = { path = "crates/algorithms/sampled/levelset", version = "0.3.0" } -axiolid-evaluate = { path = "crates/algorithms/parametric/evaluate", version = "0.3.1" } -axiolid-nurbs = { path = "crates/algorithms/parametric/nurbs", version = "0.3.3" } -axiolid-construct = { path = "crates/algorithms/construction/construct", version = "0.3.5" } -axiolid-arrangement = { path = "crates/algorithms/planar/arrangement", version = "0.3.0" } -axiolid-profile = { path = "crates/representations/region/profile", version = "0.3.0" } -axiolid-curve = { path = "crates/representations/analytic/curve", version = "0.3.1" } -axiolid-linear = { path = "crates/representations/analytic/linear", version = "0.3.0", default-features = false } -axiolid-surface = { path = "crates/representations/analytic/surface", version = "0.3.1" } -axiolid-topology = { path = "crates/representations/topology", version = "0.3.0" } -axiolid-brep = { path = "crates/representations/brep", version = "0.3.1" } -axiolid-tessellation-contract = { path = "crates/contracts/operations/tessellate", version = "0.3.0" } -axiolid-collide = { path = "crates/algorithms/query/collide", version = "0.3.0" } -axiolid-spatial = { path = "crates/algorithms/query/spatial", version = "0.3.0" } -axiolid-inspect = { path = "crates/algorithms/query/inspect", version = "0.3.2" } -axiolid-measure = { path = "crates/algorithms/query/measure", version = "0.3.1" } -axiolid-brep-boolean = { path = "crates/algorithms/construction/brep-boolean", version = "0.1.0" } -axiolid-fixtures = { path = "crates/representations/fixtures", version = "0.3.0" } -axiolid-overlay = { path = "crates/algorithms/planar/overlay", version = "0.3.5" } -axiolid-project = { path = "crates/algorithms/planar/project", version = "0.3.0" } -axiolid-route = { path = "crates/algorithms/planar/route", version = "0.3.5" } -axiolid-triangulate = { path = "crates/algorithms/planar/triangulate", version = "0.3.1" } -axiolid-field = { path = "crates/representations/sampled/field", version = "0.3.0" } -axiolid-field-ops = { path = "crates/algorithms/sampled/field", version = "0.3.0", default-features = false } +axiolid-core = { path = "crates/foundation/core", version = "0.3.1" } +axiolid-mesh = { path = "crates/representations/discrete/mesh", version = "0.3.1" } +axiolid-pointcloud = { path = "crates/representations/discrete/pointcloud", version = "0.3.1" } +axiolid-model = { path = "crates/representations/modeling/graph", version = "0.3.3" } +axiolid-primitive = { path = "crates/representations/analytic/primitive", version = "0.3.2" } +axiolid-heal = { path = "crates/algorithms/repair/heal", version = "0.3.1" } +axiolid-brep-audit = { path = "crates/algorithms/repair/brep-audit", version = "0.3.2" } +axiolid-decimate = { path = "crates/algorithms/discrete/decimate", version = "0.3.1" } +axiolid-decompose = { path = "crates/algorithms/discrete/decompose", version = "0.3.1" } +axiolid-minkowski = { path = "crates/algorithms/discrete/minkowski", version = "0.3.1" } +axiolid-refine = { path = "crates/algorithms/discrete/refine", version = "0.3.1" } +axiolid-levelset = { path = "crates/algorithms/sampled/levelset", version = "0.3.1" } +axiolid-evaluate = { path = "crates/algorithms/parametric/evaluate", version = "0.3.2" } +axiolid-nurbs = { path = "crates/algorithms/parametric/nurbs", version = "0.3.4" } +axiolid-construct = { path = "crates/algorithms/construction/construct", version = "0.3.6" } +axiolid-arrangement = { path = "crates/algorithms/planar/arrangement", version = "0.3.1" } +axiolid-profile = { path = "crates/representations/region/profile", version = "0.3.1" } +axiolid-curve = { path = "crates/representations/analytic/curve", version = "0.3.2" } +axiolid-linear = { path = "crates/representations/analytic/linear", version = "0.3.1", default-features = false } +axiolid-surface = { path = "crates/representations/analytic/surface", version = "0.3.2" } +axiolid-topology = { path = "crates/representations/topology", version = "0.3.1" } +axiolid-brep = { path = "crates/representations/brep", version = "0.3.2" } +axiolid-tessellation-contract = { path = "crates/contracts/operations/tessellate", version = "0.3.1" } +axiolid-collide = { path = "crates/algorithms/query/collide", version = "0.3.1" } +axiolid-spatial = { path = "crates/algorithms/query/spatial", version = "0.3.2" } +axiolid-inspect = { path = "crates/algorithms/query/inspect", version = "0.3.4" } +axiolid-measure = { path = "crates/algorithms/query/measure", version = "0.3.3" } +axiolid-brep-boolean = { path = "crates/algorithms/construction/brep-boolean", version = "0.1.1" } +axiolid-fixtures = { path = "crates/representations/fixtures", version = "0.3.1" } +axiolid-overlay = { path = "crates/algorithms/planar/overlay", version = "0.3.6" } +axiolid-project = { path = "crates/algorithms/planar/project", version = "0.3.1" } +axiolid-route = { path = "crates/algorithms/planar/route", version = "0.3.6" } +axiolid-triangulate = { path = "crates/algorithms/planar/triangulate", version = "0.3.2" } +axiolid-field = { path = "crates/representations/sampled/field", version = "0.3.1" } +axiolid-field-ops = { path = "crates/algorithms/sampled/field", version = "0.3.1", default-features = false } i_overlay = "4.5.2" num-bigint = { version = "0.5.1", default-features = false, features = ["std"] } num-integer = { version = "0.1.46", default-features = false, features = ["std"] } -axiolid-predicates = { path = "crates/algorithms/predicates", version = "0.3.1", default-features = false } -axiolid-exact = { path = "crates/algorithms/exact", version = "0.1.1" } -axiolid-linear-intersection = { path = "crates/algorithms/query/intersection/linear", version = "0.3.0", default-features = false } +axiolid-predicates = { path = "crates/algorithms/predicates", version = "0.3.2", default-features = false } +axiolid-exact = { path = "crates/algorithms/exact", version = "0.1.2" } +axiolid-linear-intersection = { path = "crates/algorithms/query/intersection/linear", version = "0.3.1", default-features = false } axiolid-ray-mesh = { path = "crates/algorithms/query/intersection/ray-mesh", version = "0.4.0", default-features = false } -axiolid-reference = { path = "crates/algorithms/reference", version = "0.3.0" } -axiolid-mesh-compile = { path = "crates/execution/compile", version = "0.3.4" } +axiolid-reference = { path = "crates/algorithms/reference", version = "0.3.2" } +axiolid-mesh-compile = { path = "crates/execution/compile", version = "0.3.6" } # axiolid-oracle is publish = false (test-only oracle crate, tools/oracle) and # only ever used as a dev-dependency. No version pin here: Cargo strips a # versionless path dev-dependency when packaging, so downstream crates that # depend on axiolid-nurbs never need axiolid-oracle to exist on crates.io. axiolid-oracle = { path = "tools/oracle" } -axiolid-contracts = { path = "crates/contracts/common/base", version = "0.3.1" } -axiolid-guarantees = { path = "crates/contracts/guarantees", version = "0.3.0" } -axiolid-mesh-contracts = { path = "crates/contracts/common/mesh", version = "0.3.0" } -axiolid-mesh-compile-contract = { path = "crates/contracts/operations/compile", version = "0.3.1" } -axiolid-exact-compile-contract = { path = "crates/contracts/operations/exact-compile", version = "0.3.0" } -axiolid-mesh-boolean-contract = { path = "crates/contracts/operations/mesh-boolean", version = "0.3.0" } -axiolid-pointcloud-reconstruction-contract = { path = "crates/contracts/operations/pointcloud-reconstruction", version = "0.3.0" } -axiolid-curve-evaluate-contract = { path = "crates/contracts/operations/curve-evaluate", version = "0.3.0" } -axiolid-mesh-section-contract = { path = "crates/contracts/operations/mesh-section", version = "0.3.0" } -axiolid-dispatch = { path = "crates/execution/dispatch", version = "0.3.0", default-features = false } -axiolid-backend-cpu = { path = "crates/execution/cpu", version = "0.3.0", default-features = false } -axiolid-backend-gpu = { path = "crates/execution/gpu", version = "0.3.0", default-features = false } -axiolid-mesh-boolean-boolmesh = { path = "crates/providers/mesh/boolmesh", version = "0.3.0" } -axiolid-pointcloud-reconstruction-sdf = { path = "crates/providers/pointcloud/sdf", version = "0.3.0" } +axiolid-contracts = { path = "crates/contracts/common/base", version = "0.3.2" } +axiolid-guarantees = { path = "crates/contracts/guarantees", version = "0.3.1" } +axiolid-mesh-contracts = { path = "crates/contracts/common/mesh", version = "0.3.1" } +axiolid-mesh-compile-contract = { path = "crates/contracts/operations/compile", version = "0.3.2" } +axiolid-exact-compile-contract = { path = "crates/contracts/operations/exact-compile", version = "0.3.1" } +axiolid-mesh-boolean-contract = { path = "crates/contracts/operations/mesh-boolean", version = "0.3.1" } +axiolid-pointcloud-reconstruction-contract = { path = "crates/contracts/operations/pointcloud-reconstruction", version = "0.3.1" } +axiolid-curve-evaluate-contract = { path = "crates/contracts/operations/curve-evaluate", version = "0.3.1" } +axiolid-mesh-section-contract = { path = "crates/contracts/operations/mesh-section", version = "0.3.1" } +axiolid-dispatch = { path = "crates/execution/dispatch", version = "0.3.1", default-features = false } +axiolid-backend-cpu = { path = "crates/execution/cpu", version = "0.3.1", default-features = false } +axiolid-backend-gpu = { path = "crates/execution/gpu", version = "0.3.1", default-features = false } +axiolid-mesh-boolean-boolmesh = { path = "crates/providers/mesh/boolmesh", version = "0.3.2" } +axiolid-pointcloud-reconstruction-sdf = { path = "crates/providers/pointcloud/sdf", version = "0.3.1" } glam = "0.29" thiserror = "2.0" rayon = "1.10" diff --git a/crates/algorithms/construction/brep-boolean/CHANGELOG.md b/crates/algorithms/construction/brep-boolean/CHANGELOG.md index 3810b67..d370170 100644 --- a/crates/algorithms/construction/brep-boolean/CHANGELOG.md +++ b/crates/algorithms/construction/brep-boolean/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.1.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.1.0] - 2026-09-27 ### Added diff --git a/crates/algorithms/construction/brep-boolean/Cargo.toml b/crates/algorithms/construction/brep-boolean/Cargo.toml index 561dbb7..e943ec8 100644 --- a/crates/algorithms/construction/brep-boolean/Cargo.toml +++ b/crates/algorithms/construction/brep-boolean/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-brep-boolean" description = "General exact B-rep booleans over analytic faces (ADR 0075)" -version = "0.1.0" +version = "0.1.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/construction/construct/CHANGELOG.md b/crates/algorithms/construction/construct/CHANGELOG.md index 8862b00..34f22e1 100644 --- a/crates/algorithms/construction/construct/CHANGELOG.md +++ b/crates/algorithms/construction/construct/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.6] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.5] - 2026-09-28 ### Fixed diff --git a/crates/algorithms/construction/construct/Cargo.toml b/crates/algorithms/construction/construct/Cargo.toml index f9e52f1..863d0c3 100644 --- a/crates/algorithms/construction/construct/Cargo.toml +++ b/crates/algorithms/construction/construct/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-construct" description = "Solid generation: profiles, lofts, sweeps, revolutions and half-space clipping" -version = "0.3.5" +version = "0.3.6" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/discrete/decimate/CHANGELOG.md b/crates/algorithms/discrete/decimate/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/discrete/decimate/CHANGELOG.md +++ b/crates/algorithms/discrete/decimate/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/discrete/decimate/Cargo.toml b/crates/algorithms/discrete/decimate/Cargo.toml index 9480888..41828a9 100644 --- a/crates/algorithms/discrete/decimate/Cargo.toml +++ b/crates/algorithms/discrete/decimate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-decimate" description = "Edge-collapse mesh decimation with a bounded, reported deviation" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/discrete/decompose/CHANGELOG.md b/crates/algorithms/discrete/decompose/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/discrete/decompose/CHANGELOG.md +++ b/crates/algorithms/discrete/decompose/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/discrete/decompose/Cargo.toml b/crates/algorithms/discrete/decompose/Cargo.toml index 220dd8c..67a408f 100644 --- a/crates/algorithms/discrete/decompose/Cargo.toml +++ b/crates/algorithms/discrete/decompose/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-decompose" description = "Convex decomposition of a solid, exact or approximate and always labelled" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/discrete/minkowski/CHANGELOG.md b/crates/algorithms/discrete/minkowski/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/discrete/minkowski/CHANGELOG.md +++ b/crates/algorithms/discrete/minkowski/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/discrete/minkowski/Cargo.toml b/crates/algorithms/discrete/minkowski/Cargo.toml index 3525cab..51483c7 100644 --- a/crates/algorithms/discrete/minkowski/Cargo.toml +++ b/crates/algorithms/discrete/minkowski/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-minkowski" description = "Minkowski sum and difference of planar-faced solids" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/discrete/refine/CHANGELOG.md b/crates/algorithms/discrete/refine/CHANGELOG.md index 7ed9f70..3b87ee8 100644 --- a/crates/algorithms/discrete/refine/CHANGELOG.md +++ b/crates/algorithms/discrete/refine/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.0] - 2026-09-23 ### Fixed diff --git a/crates/algorithms/discrete/refine/Cargo.toml b/crates/algorithms/discrete/refine/Cargo.toml index e3937a5..ce78153 100644 --- a/crates/algorithms/discrete/refine/Cargo.toml +++ b/crates/algorithms/discrete/refine/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-refine" description = "Mesh refinement and smoothing with bounded, reported deviation" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/exact/CHANGELOG.md b/crates/algorithms/exact/CHANGELOG.md index b0d7740..b3a451e 100644 --- a/crates/algorithms/exact/CHANGELOG.md +++ b/crates/algorithms/exact/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.1.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.1.1] - 2026-09-28 ### Added diff --git a/crates/algorithms/exact/Cargo.toml b/crates/algorithms/exact/Cargo.toml index 7e59502..69d3fb5 100644 --- a/crates/algorithms/exact/Cargo.toml +++ b/crates/algorithms/exact/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-exact" description = "Filtered exact arithmetic: interval filter, dyadic big integers, a + b*sqrt(c)" -version = "0.1.1" +version = "0.1.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/parametric/evaluate/CHANGELOG.md b/crates/algorithms/parametric/evaluate/CHANGELOG.md index 84aa498..53310ca 100644 --- a/crates/algorithms/parametric/evaluate/CHANGELOG.md +++ b/crates/algorithms/parametric/evaluate/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Added diff --git a/crates/algorithms/parametric/evaluate/Cargo.toml b/crates/algorithms/parametric/evaluate/Cargo.toml index 3106882..dfe8bee 100644 --- a/crates/algorithms/parametric/evaluate/Cargo.toml +++ b/crates/algorithms/parametric/evaluate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-evaluate" description = "Analytic and spline curve/surface evaluation, jets, and inversion" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/parametric/nurbs/CHANGELOG.md b/crates/algorithms/parametric/nurbs/CHANGELOG.md index 9905972..30dc51b 100644 --- a/crates/algorithms/parametric/nurbs/CHANGELOG.md +++ b/crates/algorithms/parametric/nurbs/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.4] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.3] - 2026-09-28 ### Changed diff --git a/crates/algorithms/parametric/nurbs/Cargo.toml b/crates/algorithms/parametric/nurbs/Cargo.toml index 29d2d94..001a4b6 100644 --- a/crates/algorithms/parametric/nurbs/Cargo.toml +++ b/crates/algorithms/parametric/nurbs/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-nurbs" description = "General polynomial and rational B-spline analysis and transformation algorithms" -version = "0.3.3" +version = "0.3.4" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/planar/arrangement/CHANGELOG.md b/crates/algorithms/planar/arrangement/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/planar/arrangement/CHANGELOG.md +++ b/crates/algorithms/planar/arrangement/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/planar/arrangement/Cargo.toml b/crates/algorithms/planar/arrangement/Cargo.toml index c21702c..f9b1ef5 100644 --- a/crates/algorithms/planar/arrangement/Cargo.toml +++ b/crates/algorithms/planar/arrangement/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-arrangement" description = "Editable planar subdivision with persistent half-edge topology" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/planar/overlay/CHANGELOG.md b/crates/algorithms/planar/overlay/CHANGELOG.md index a616121..0ff57ef 100644 --- a/crates/algorithms/planar/overlay/CHANGELOG.md +++ b/crates/algorithms/planar/overlay/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.6] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.5] - 2026-09-28 ### Changed diff --git a/crates/algorithms/planar/overlay/Cargo.toml b/crates/algorithms/planar/overlay/Cargo.toml index 11ec202..ce78e61 100644 --- a/crates/algorithms/planar/overlay/Cargo.toml +++ b/crates/algorithms/planar/overlay/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-overlay" description = "Deterministic validated planar overlay contract" -version = "0.3.5" +version = "0.3.6" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/planar/project/CHANGELOG.md b/crates/algorithms/planar/project/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/planar/project/CHANGELOG.md +++ b/crates/algorithms/planar/project/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/planar/project/Cargo.toml b/crates/algorithms/planar/project/Cargo.toml index 122ec8b..6117a87 100644 --- a/crates/algorithms/planar/project/Cargo.toml +++ b/crates/algorithms/planar/project/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-project" description = "Projection of triangle meshes onto a plane, and prism intersection" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/planar/route/CHANGELOG.md b/crates/algorithms/planar/route/CHANGELOG.md index 5ed0615..8f06951 100644 --- a/crates/algorithms/planar/route/CHANGELOG.md +++ b/crates/algorithms/planar/route/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.6] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.5] - 2026-09-28 ### Added diff --git a/crates/algorithms/planar/route/Cargo.toml b/crates/algorithms/planar/route/Cargo.toml index 64d9598..fa03061 100644 --- a/crates/algorithms/planar/route/Cargo.toml +++ b/crates/algorithms/planar/route/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-route" description = "Exact planar shortest path over a visibility graph" -version = "0.3.5" +version = "0.3.6" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/planar/triangulate/CHANGELOG.md b/crates/algorithms/planar/triangulate/CHANGELOG.md index 033fad3..6fbd2a3 100644 --- a/crates/algorithms/planar/triangulate/CHANGELOG.md +++ b/crates/algorithms/planar/triangulate/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Fixed diff --git a/crates/algorithms/planar/triangulate/Cargo.toml b/crates/algorithms/planar/triangulate/Cargo.toml index 493016d..5e8190e 100644 --- a/crates/algorithms/planar/triangulate/Cargo.toml +++ b/crates/algorithms/planar/triangulate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-triangulate" description = "Constrained Delaunay triangulation with bounded quality refinement" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/predicates/CHANGELOG.md b/crates/algorithms/predicates/CHANGELOG.md index 3a0c423..4de9ede 100644 --- a/crates/algorithms/predicates/CHANGELOG.md +++ b/crates/algorithms/predicates/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Fixed diff --git a/crates/algorithms/predicates/Cargo.toml b/crates/algorithms/predicates/Cargo.toml index b3f70c7..d42e925 100644 --- a/crates/algorithms/predicates/Cargo.toml +++ b/crates/algorithms/predicates/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-predicates" description = "Certified exact-arithmetic geometric predicates" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/query/collide/CHANGELOG.md b/crates/algorithms/query/collide/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/query/collide/CHANGELOG.md +++ b/crates/algorithms/query/collide/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/query/collide/Cargo.toml b/crates/algorithms/query/collide/Cargo.toml index e3b3014..76f7256 100644 --- a/crates/algorithms/query/collide/Cargo.toml +++ b/crates/algorithms/query/collide/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-collide" description = "Convex collision queries: separating axis, overlap, and separation distance" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/query/inspect/CHANGELOG.md b/crates/algorithms/query/inspect/CHANGELOG.md index 99b9b4b..7ba19f7 100644 --- a/crates/algorithms/query/inspect/CHANGELOG.md +++ b/crates/algorithms/query/inspect/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.4] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.3] - 2026-09-27 ### Added diff --git a/crates/algorithms/query/inspect/Cargo.toml b/crates/algorithms/query/inspect/Cargo.toml index 80ab701..7df5b50 100644 --- a/crates/algorithms/query/inspect/Cargo.toml +++ b/crates/algorithms/query/inspect/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-inspect" description = "Mesh queries: clearance, containment, ray casting, and genus" -version = "0.3.3" +version = "0.3.4" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/query/intersection/linear/CHANGELOG.md b/crates/algorithms/query/intersection/linear/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/query/intersection/linear/CHANGELOG.md +++ b/crates/algorithms/query/intersection/linear/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/query/intersection/linear/Cargo.toml b/crates/algorithms/query/intersection/linear/Cargo.toml index 2dfbe21..39a4767 100644 --- a/crates/algorithms/query/intersection/linear/Cargo.toml +++ b/crates/algorithms/query/intersection/linear/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-linear-intersection" description = "Portable, deterministic intersections for linear geometry" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/query/intersection/ray-mesh/CHANGELOG.md b/crates/algorithms/query/intersection/ray-mesh/CHANGELOG.md index 5940b64..11aa463 100644 --- a/crates/algorithms/query/intersection/ray-mesh/CHANGELOG.md +++ b/crates/algorithms/query/intersection/ray-mesh/CHANGELOG.md @@ -9,6 +9,8 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.4.0] - 2026-09-28 + ### Changed - **Breaking:** a candidate triangle index at or beyond the mesh's @@ -18,3 +20,6 @@ caret rule for `0.x` versions. otherwise report "no hit" for triangles it never tested. `triangle_hit` refuses the same index instead of panicking in the mesh view. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/query/measure/CHANGELOG.md b/crates/algorithms/query/measure/CHANGELOG.md index 6b6023c..5ae1179 100644 --- a/crates/algorithms/query/measure/CHANGELOG.md +++ b/crates/algorithms/query/measure/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.3] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.2] - 2026-09-27 ### Added diff --git a/crates/algorithms/query/measure/Cargo.toml b/crates/algorithms/query/measure/Cargo.toml index e7ff216..d50c92c 100644 --- a/crates/algorithms/query/measure/Cargo.toml +++ b/crates/algorithms/query/measure/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-measure" -version = "0.3.2" +version = "0.3.3" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/query/spatial/CHANGELOG.md b/crates/algorithms/query/spatial/CHANGELOG.md index 1fe85cc..4911d0d 100644 --- a/crates/algorithms/query/spatial/CHANGELOG.md +++ b/crates/algorithms/query/spatial/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Added diff --git a/crates/algorithms/query/spatial/Cargo.toml b/crates/algorithms/query/spatial/Cargo.toml index 4bfed4a..63d26a0 100644 --- a/crates/algorithms/query/spatial/Cargo.toml +++ b/crates/algorithms/query/spatial/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-spatial" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/reference/CHANGELOG.md b/crates/algorithms/reference/CHANGELOG.md index 740ed2b..4504bda 100644 --- a/crates/algorithms/reference/CHANGELOG.md +++ b/crates/algorithms/reference/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Added diff --git a/crates/algorithms/reference/Cargo.toml b/crates/algorithms/reference/Cargo.toml index 59ea0b4..fe56db1 100644 --- a/crates/algorithms/reference/Cargo.toml +++ b/crates/algorithms/reference/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-reference" description = "Portable scalar reference implementation and certified predicates" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/repair/brep-audit/CHANGELOG.md b/crates/algorithms/repair/brep-audit/CHANGELOG.md index f4ca9e6..d0c11f0 100644 --- a/crates/algorithms/repair/brep-audit/CHANGELOG.md +++ b/crates/algorithms/repair/brep-audit/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Changed diff --git a/crates/algorithms/repair/brep-audit/Cargo.toml b/crates/algorithms/repair/brep-audit/Cargo.toml index 914ddce..d30e9ee 100644 --- a/crates/algorithms/repair/brep-audit/Cargo.toml +++ b/crates/algorithms/repair/brep-audit/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-brep-audit" description = "Geometric consistency auditing for exact boundary representations" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/repair/heal/CHANGELOG.md b/crates/algorithms/repair/heal/CHANGELOG.md index fe26961..d1314e7 100644 --- a/crates/algorithms/repair/heal/CHANGELOG.md +++ b/crates/algorithms/repair/heal/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.0] - 2026-09-23 ### Added diff --git a/crates/algorithms/repair/heal/Cargo.toml b/crates/algorithms/repair/heal/Cargo.toml index 4d93376..09d2752 100644 --- a/crates/algorithms/repair/heal/Cargo.toml +++ b/crates/algorithms/repair/heal/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-heal" description = "Explicit diagnosis and opt-in repair contracts for dirty geometry" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/sampled/field/CHANGELOG.md b/crates/algorithms/sampled/field/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/sampled/field/CHANGELOG.md +++ b/crates/algorithms/sampled/field/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/sampled/field/Cargo.toml b/crates/algorithms/sampled/field/Cargo.toml index 66a43c6..be84b21 100644 --- a/crates/algorithms/sampled/field/Cargo.toml +++ b/crates/algorithms/sampled/field/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-field-ops" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/algorithms/sampled/levelset/CHANGELOG.md b/crates/algorithms/sampled/levelset/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/algorithms/sampled/levelset/CHANGELOG.md +++ b/crates/algorithms/sampled/levelset/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/algorithms/sampled/levelset/Cargo.toml b/crates/algorithms/sampled/levelset/Cargo.toml index 824034c..4a54f26 100644 --- a/crates/algorithms/sampled/levelset/Cargo.toml +++ b/crates/algorithms/sampled/levelset/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-levelset" description = "Level-set extraction: a closed manifold mesh from a sampled scalar field" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/common/base/CHANGELOG.md b/crates/contracts/common/base/CHANGELOG.md index 254cc05..e49cc07 100644 --- a/crates/contracts/common/base/CHANGELOG.md +++ b/crates/contracts/common/base/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-25 ### Added diff --git a/crates/contracts/common/base/Cargo.toml b/crates/contracts/common/base/Cargo.toml index 6510383..d9d8c78 100644 --- a/crates/contracts/common/base/Cargo.toml +++ b/crates/contracts/common/base/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-contracts" description = "Common backend-neutral execution and diagnostic contracts" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/common/mesh/CHANGELOG.md b/crates/contracts/common/mesh/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/contracts/common/mesh/CHANGELOG.md +++ b/crates/contracts/common/mesh/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/contracts/common/mesh/Cargo.toml b/crates/contracts/common/mesh/Cargo.toml index c0ef1bd..7f7dbb1 100644 --- a/crates/contracts/common/mesh/Cargo.toml +++ b/crates/contracts/common/mesh/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-mesh-contracts" description = "Shared mesh admissibility contracts" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/guarantees/CHANGELOG.md b/crates/contracts/guarantees/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/contracts/guarantees/CHANGELOG.md +++ b/crates/contracts/guarantees/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/contracts/guarantees/Cargo.toml b/crates/contracts/guarantees/Cargo.toml index 04c96ba..ee394ea 100644 --- a/crates/contracts/guarantees/Cargo.toml +++ b/crates/contracts/guarantees/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-guarantees" description = "Certified-value and escalation vocabulary for geometry contracts" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/operations/compile/CHANGELOG.md b/crates/contracts/operations/compile/CHANGELOG.md index 8412059..05720c1 100644 --- a/crates/contracts/operations/compile/CHANGELOG.md +++ b/crates/contracts/operations/compile/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-24 ### Added diff --git a/crates/contracts/operations/compile/Cargo.toml b/crates/contracts/operations/compile/Cargo.toml index c2c3b2b..89cecaf 100644 --- a/crates/contracts/operations/compile/Cargo.toml +++ b/crates/contracts/operations/compile/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-mesh-compile-contract" description = "Portable graph-to-mesh compilation contract" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/operations/curve-evaluate/CHANGELOG.md b/crates/contracts/operations/curve-evaluate/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/contracts/operations/curve-evaluate/CHANGELOG.md +++ b/crates/contracts/operations/curve-evaluate/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/contracts/operations/curve-evaluate/Cargo.toml b/crates/contracts/operations/curve-evaluate/Cargo.toml index 927ee22..96a25f2 100644 --- a/crates/contracts/operations/curve-evaluate/Cargo.toml +++ b/crates/contracts/operations/curve-evaluate/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-curve-evaluate-contract" description = "Portable curve evaluation capability contract: point, tangent and oriented frame at a distance" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/operations/exact-compile/CHANGELOG.md b/crates/contracts/operations/exact-compile/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/contracts/operations/exact-compile/CHANGELOG.md +++ b/crates/contracts/operations/exact-compile/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/contracts/operations/exact-compile/Cargo.toml b/crates/contracts/operations/exact-compile/Cargo.toml index 1a53b5b..b11e838 100644 --- a/crates/contracts/operations/exact-compile/Cargo.toml +++ b/crates/contracts/operations/exact-compile/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-exact-compile-contract" description = "Portable graph-to-exact-B-rep compilation contract" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/operations/mesh-boolean/CHANGELOG.md b/crates/contracts/operations/mesh-boolean/CHANGELOG.md index 100ae10..92f9484 100644 --- a/crates/contracts/operations/mesh-boolean/CHANGELOG.md +++ b/crates/contracts/operations/mesh-boolean/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.0] - 2026-09-23 ### Added diff --git a/crates/contracts/operations/mesh-boolean/Cargo.toml b/crates/contracts/operations/mesh-boolean/Cargo.toml index 1821e50..91f1213 100644 --- a/crates/contracts/operations/mesh-boolean/Cargo.toml +++ b/crates/contracts/operations/mesh-boolean/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-mesh-boolean-contract" description = "Portable mesh boolean request, result, evidence, and conformance contract" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/operations/mesh-section/CHANGELOG.md b/crates/contracts/operations/mesh-section/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/contracts/operations/mesh-section/CHANGELOG.md +++ b/crates/contracts/operations/mesh-section/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/contracts/operations/mesh-section/Cargo.toml b/crates/contracts/operations/mesh-section/Cargo.toml index a360e02..6439e11 100644 --- a/crates/contracts/operations/mesh-section/Cargo.toml +++ b/crates/contracts/operations/mesh-section/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-mesh-section-contract" description = "Portable mesh plane-section request, result, and evidence contract" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/operations/pointcloud-reconstruction/CHANGELOG.md b/crates/contracts/operations/pointcloud-reconstruction/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/contracts/operations/pointcloud-reconstruction/CHANGELOG.md +++ b/crates/contracts/operations/pointcloud-reconstruction/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/contracts/operations/pointcloud-reconstruction/Cargo.toml b/crates/contracts/operations/pointcloud-reconstruction/Cargo.toml index e08481f..b24c8e7 100644 --- a/crates/contracts/operations/pointcloud-reconstruction/Cargo.toml +++ b/crates/contracts/operations/pointcloud-reconstruction/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-pointcloud-reconstruction-contract" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/contracts/operations/tessellate/CHANGELOG.md b/crates/contracts/operations/tessellate/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/contracts/operations/tessellate/CHANGELOG.md +++ b/crates/contracts/operations/tessellate/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/contracts/operations/tessellate/Cargo.toml b/crates/contracts/operations/tessellate/Cargo.toml index 42d3310..65a5d4a 100644 --- a/crates/contracts/operations/tessellate/Cargo.toml +++ b/crates/contracts/operations/tessellate/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-tessellation-contract" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/execution/compile/CHANGELOG.md b/crates/execution/compile/CHANGELOG.md index be39a0f..2c103f6 100644 --- a/crates/execution/compile/CHANGELOG.md +++ b/crates/execution/compile/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.6] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.5] - 2026-09-28 ### Fixed diff --git a/crates/execution/compile/Cargo.toml b/crates/execution/compile/Cargo.toml index e3a9ff4..3042908 100644 --- a/crates/execution/compile/Cargo.toml +++ b/crates/execution/compile/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-mesh-compile" -version = "0.3.5" +version = "0.3.6" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/execution/cpu/CHANGELOG.md b/crates/execution/cpu/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/execution/cpu/CHANGELOG.md +++ b/crates/execution/cpu/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/execution/cpu/Cargo.toml b/crates/execution/cpu/Cargo.toml index 4ed13be..adec7a1 100644 --- a/crates/execution/cpu/Cargo.toml +++ b/crates/execution/cpu/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-backend-cpu" description = "Portable and runtime-optimized CPU execution context for Axiolid geometry" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/execution/dispatch/CHANGELOG.md b/crates/execution/dispatch/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/execution/dispatch/CHANGELOG.md +++ b/crates/execution/dispatch/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/execution/dispatch/Cargo.toml b/crates/execution/dispatch/Cargo.toml index f07770b..a1fc546 100644 --- a/crates/execution/dispatch/Cargo.toml +++ b/crates/execution/dispatch/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-dispatch" description = "Provider registration, ordering, fallback, and execution policy" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/execution/gpu/CHANGELOG.md b/crates/execution/gpu/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/execution/gpu/CHANGELOG.md +++ b/crates/execution/gpu/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/execution/gpu/Cargo.toml b/crates/execution/gpu/Cargo.toml index 33ed8ee..ff0e339 100644 --- a/crates/execution/gpu/Cargo.toml +++ b/crates/execution/gpu/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-backend-gpu" description = "GPU executor adapter contract for batched Axiolid geometry" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/facade/axiolid-capi/CHANGELOG.md b/crates/facade/axiolid-capi/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/facade/axiolid-capi/CHANGELOG.md +++ b/crates/facade/axiolid-capi/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/facade/axiolid-capi/Cargo.toml b/crates/facade/axiolid-capi/Cargo.toml index 735acd8..a06b410 100644 --- a/crates/facade/axiolid-capi/Cargo.toml +++ b/crates/facade/axiolid-capi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-capi" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/facade/axiolid/CHANGELOG.md b/crates/facade/axiolid/CHANGELOG.md index ccb75b6..445b259 100644 --- a/crates/facade/axiolid/CHANGELOG.md +++ b/crates/facade/axiolid/CHANGELOG.md @@ -9,6 +9,8 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.4.0] - 2026-09-28 + ### Changed - **Breaking:** requires `axiolid-ray-mesh` 0.4, so `axiolid::ray_mesh` @@ -16,3 +18,6 @@ caret rule for `0.x` versions. `RayMeshError::TriangleIndexOutOfRange`, and `RayIndex` queries refuse an out-of-range candidate instead of skipping it. An exhaustive `match` on `RayMeshError` needs the new arm. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/foundation/core/CHANGELOG.md b/crates/foundation/core/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/foundation/core/CHANGELOG.md +++ b/crates/foundation/core/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/foundation/core/Cargo.toml b/crates/foundation/core/Cargo.toml index ec935e4..aea2892 100644 --- a/crates/foundation/core/Cargo.toml +++ b/crates/foundation/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-core" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/providers/mesh/boolmesh/CHANGELOG.md b/crates/providers/mesh/boolmesh/CHANGELOG.md index bb611f0..42866e5 100644 --- a/crates/providers/mesh/boolmesh/CHANGELOG.md +++ b/crates/providers/mesh/boolmesh/CHANGELOG.md @@ -9,6 +9,8 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + ### Changed - **Behaviour change:** a refusal inside the solve (an odd edge-point @@ -18,6 +20,8 @@ caret rule for `0.x` versions. this provider's defect and no longer reads as the caller's. `tests/solve_failure.rs` pins it on a grid union that still reaches the refusal (#203). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). ## [0.3.1] - 2026-09-27 diff --git a/crates/providers/mesh/boolmesh/Cargo.toml b/crates/providers/mesh/boolmesh/Cargo.toml index 400377e..8372e64 100644 --- a/crates/providers/mesh/boolmesh/Cargo.toml +++ b/crates/providers/mesh/boolmesh/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-mesh-boolean-boolmesh" description = "boolmesh-backed MeshBoolean provider" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/providers/pointcloud/sdf/CHANGELOG.md b/crates/providers/pointcloud/sdf/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/providers/pointcloud/sdf/CHANGELOG.md +++ b/crates/providers/pointcloud/sdf/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/providers/pointcloud/sdf/Cargo.toml b/crates/providers/pointcloud/sdf/Cargo.toml index bb8e30c..2a662da 100644 --- a/crates/providers/pointcloud/sdf/Cargo.toml +++ b/crates/providers/pointcloud/sdf/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-pointcloud-reconstruction-sdf" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/analytic/curve/CHANGELOG.md b/crates/representations/analytic/curve/CHANGELOG.md index 7d85a02..a64a683 100644 --- a/crates/representations/analytic/curve/CHANGELOG.md +++ b/crates/representations/analytic/curve/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Added diff --git a/crates/representations/analytic/curve/Cargo.toml b/crates/representations/analytic/curve/Cargo.toml index a633d14..03dfb27 100644 --- a/crates/representations/analytic/curve/Cargo.toml +++ b/crates/representations/analytic/curve/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-curve" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/analytic/linear/CHANGELOG.md b/crates/representations/analytic/linear/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/representations/analytic/linear/CHANGELOG.md +++ b/crates/representations/analytic/linear/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/representations/analytic/linear/Cargo.toml b/crates/representations/analytic/linear/Cargo.toml index 22188d7..cd7c37d 100644 --- a/crates/representations/analytic/linear/Cargo.toml +++ b/crates/representations/analytic/linear/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-linear" description = "Format-neutral line, ray, segment, and polyline representations" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/analytic/primitive/CHANGELOG.md b/crates/representations/analytic/primitive/CHANGELOG.md index 9ecf5eb..6b80916 100644 --- a/crates/representations/analytic/primitive/CHANGELOG.md +++ b/crates/representations/analytic/primitive/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Added diff --git a/crates/representations/analytic/primitive/Cargo.toml b/crates/representations/analytic/primitive/Cargo.toml index d1f72cf..af32619 100644 --- a/crates/representations/analytic/primitive/Cargo.toml +++ b/crates/representations/analytic/primitive/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-primitive" description = "Exact parametric primitive solids used as CSG leaves" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/analytic/surface/CHANGELOG.md b/crates/representations/analytic/surface/CHANGELOG.md index 9dc3593..86155dc 100644 --- a/crates/representations/analytic/surface/CHANGELOG.md +++ b/crates/representations/analytic/surface/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Changed diff --git a/crates/representations/analytic/surface/Cargo.toml b/crates/representations/analytic/surface/Cargo.toml index efb02d5..60baf0c 100644 --- a/crates/representations/analytic/surface/Cargo.toml +++ b/crates/representations/analytic/surface/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-surface" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/brep/CHANGELOG.md b/crates/representations/brep/CHANGELOG.md index eea1e0d..a71f45e 100644 --- a/crates/representations/brep/CHANGELOG.md +++ b/crates/representations/brep/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.2] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.1] - 2026-09-27 ### Added diff --git a/crates/representations/brep/Cargo.toml b/crates/representations/brep/Cargo.toml index 154f4d3..17ebe57 100644 --- a/crates/representations/brep/Cargo.toml +++ b/crates/representations/brep/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-brep" description = "Exact analytic B-rep result contracts over neutral topology" -version = "0.3.1" +version = "0.3.2" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/discrete/mesh/CHANGELOG.md b/crates/representations/discrete/mesh/CHANGELOG.md index 7bb972a..c621f4d 100644 --- a/crates/representations/discrete/mesh/CHANGELOG.md +++ b/crates/representations/discrete/mesh/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.0] - 2026-09-23 ### Added diff --git a/crates/representations/discrete/mesh/Cargo.toml b/crates/representations/discrete/mesh/Cargo.toml index 57bd63e..6b29094 100644 --- a/crates/representations/discrete/mesh/Cargo.toml +++ b/crates/representations/discrete/mesh/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-mesh" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/discrete/pointcloud/CHANGELOG.md b/crates/representations/discrete/pointcloud/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/representations/discrete/pointcloud/CHANGELOG.md +++ b/crates/representations/discrete/pointcloud/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/representations/discrete/pointcloud/Cargo.toml b/crates/representations/discrete/pointcloud/Cargo.toml index 8e3d425..038a41b 100644 --- a/crates/representations/discrete/pointcloud/Cargo.toml +++ b/crates/representations/discrete/pointcloud/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-pointcloud" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/fixtures/CHANGELOG.md b/crates/representations/fixtures/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/representations/fixtures/CHANGELOG.md +++ b/crates/representations/fixtures/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/representations/fixtures/Cargo.toml b/crates/representations/fixtures/Cargo.toml index 80693c3..74df8a7 100644 --- a/crates/representations/fixtures/Cargo.toml +++ b/crates/representations/fixtures/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-fixtures" description = "Shared adversarial and degenerate geometry fixtures with provenance" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/modeling/graph/CHANGELOG.md b/crates/representations/modeling/graph/CHANGELOG.md index 339efca..45b8ee8 100644 --- a/crates/representations/modeling/graph/CHANGELOG.md +++ b/crates/representations/modeling/graph/CHANGELOG.md @@ -9,6 +9,13 @@ caret rule for `0.x` versions. ## [Unreleased] +## [0.3.3] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ## [0.3.2] - 2026-09-27 ### Fixed diff --git a/crates/representations/modeling/graph/Cargo.toml b/crates/representations/modeling/graph/Cargo.toml index 759bb21..b2b725f 100644 --- a/crates/representations/modeling/graph/Cargo.toml +++ b/crates/representations/modeling/graph/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-model" -version = "0.3.2" +version = "0.3.3" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/region/profile/CHANGELOG.md b/crates/representations/region/profile/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/representations/region/profile/CHANGELOG.md +++ b/crates/representations/region/profile/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/representations/region/profile/Cargo.toml b/crates/representations/region/profile/Cargo.toml index 091c9b3..7e19f8d 100644 --- a/crates/representations/region/profile/Cargo.toml +++ b/crates/representations/region/profile/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-profile" description = "Exact 2D profile representations for sweeps and sectioned solids" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/sampled/field/CHANGELOG.md b/crates/representations/sampled/field/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/representations/sampled/field/CHANGELOG.md +++ b/crates/representations/sampled/field/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/representations/sampled/field/Cargo.toml b/crates/representations/sampled/field/Cargo.toml index 1efc252..6e7bbc3 100644 --- a/crates/representations/sampled/field/Cargo.toml +++ b/crates/representations/sampled/field/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "axiolid-field" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/crates/representations/topology/CHANGELOG.md b/crates/representations/topology/CHANGELOG.md index f110a75..beea53a 100644 --- a/crates/representations/topology/CHANGELOG.md +++ b/crates/representations/topology/CHANGELOG.md @@ -8,3 +8,11 @@ Pre-1.0: the minor version is the breaking-change slot, per Cargo's own caret rule for `0.x` versions. ## [Unreleased] + +## [0.3.1] - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + diff --git a/crates/representations/topology/Cargo.toml b/crates/representations/topology/Cargo.toml index 15ce358..fd1838d 100644 --- a/crates/representations/topology/Cargo.toml +++ b/crates/representations/topology/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "axiolid-topology" description = "Typed-handle B-rep topology independent of curve and surface implementations" -version = "0.3.0" +version = "0.3.1" edition.workspace = true rust-version.workspace = true license.workspace = true diff --git a/docs/.vitepress/data/facts.json b/docs/.vitepress/data/facts.json index e3b03bf..6ef2245 100644 --- a/docs/.vitepress/data/facts.json +++ b/docs/.vitepress/data/facts.json @@ -4,8 +4,8 @@ "description": "Feature-gated facade for Axiolid's format-neutral geometry stack", "layer": "facade", "path": "crates/facade/axiolid", - "released": null, - "released_date": null, + "released": "0.4.0", + "released_date": "2026-09-28", "role": "facade", "version": "0.4.0" }, @@ -13,431 +13,431 @@ "description": "Editable planar subdivision with persistent half-edge topology", "layer": "algorithms", "path": "crates/algorithms/planar/arrangement", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.planar", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-backend-cpu": { "description": "Portable and runtime-optimized CPU execution context for Axiolid geometry", "layer": "execution", "path": "crates/execution/cpu", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "execution.context", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-backend-gpu": { "description": "GPU executor adapter contract for batched Axiolid geometry", "layer": "execution", "path": "crates/execution/gpu", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "execution.context", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-brep": { "description": "Exact analytic B-rep result contracts over neutral topology", "layer": "representations", "path": "crates/representations/brep", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "representation.composed", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-brep-audit": { "description": "Geometric consistency auditing for exact boundary representations", "layer": "algorithms", "path": "crates/algorithms/repair/brep-audit", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "algorithm.repair", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-brep-boolean": { "description": "General exact B-rep booleans over analytic faces (ADR 0075)", "layer": "algorithms", "path": "crates/algorithms/construction/brep-boolean", - "released": "0.1.0", - "released_date": "2026-09-27", + "released": "0.1.1", + "released_date": "2026-09-28", "role": "algorithm.construction", - "version": "0.1.0" + "version": "0.1.1" }, "axiolid-capi": { "description": "Versioned, memory-safe C ABI for the Axiolid application facade.", "layer": "facade", "path": "crates/facade/axiolid-capi", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "facade.native-c", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-collide": { "description": "Convex collision queries: separating axis, overlap, and separation distance", "layer": "algorithms", "path": "crates/algorithms/query/collide", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.query", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-construct": { "description": "Solid generation: profiles, lofts, sweeps, revolutions and half-space clipping", "layer": "algorithms", "path": "crates/algorithms/construction/construct", - "released": "0.3.5", + "released": "0.3.6", "released_date": "2026-09-28", "role": "algorithm.construction", - "version": "0.3.5" + "version": "0.3.6" }, "axiolid-contracts": { "description": "Common backend-neutral execution and diagnostic contracts", "layer": "contracts", "path": "crates/contracts/common/base", - "released": "0.3.1", - "released_date": "2026-09-25", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "contract.common", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-core": { "description": "Geometry data types and tolerance policy. No algorithms, no backends.", "layer": "foundation", "path": "crates/foundation/core", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "foundation.values", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-curve": { "description": "Exact, format-neutral curve values: lines, conics, B-splines, natural-equation and elevated curves.", "layer": "representations", "path": "crates/representations/analytic/curve", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "representation.atomic", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-curve-evaluate-contract": { "description": "Portable curve evaluation capability contract: point, tangent and oriented frame at a distance", "layer": "contracts", "path": "crates/contracts/operations/curve-evaluate", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "contract.operation", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-decimate": { "description": "Edge-collapse mesh decimation with a bounded, reported deviation", "layer": "algorithms", "path": "crates/algorithms/discrete/decimate", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.discrete", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-decompose": { "description": "Convex decomposition of a solid, exact or approximate and always labelled", "layer": "algorithms", "path": "crates/algorithms/discrete/decompose", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.discrete", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-dispatch": { "description": "Provider registration, ordering, fallback, and execution policy", "layer": "execution", "path": "crates/execution/dispatch", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "execution.dispatch", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-evaluate": { "description": "Analytic and spline curve/surface evaluation, jets, and inversion", "layer": "algorithms", "path": "crates/algorithms/parametric/evaluate", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "algorithm.parametric", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-exact": { "description": "Filtered exact arithmetic: interval filter, dyadic big integers, a + b*sqrt(c)", "layer": "algorithms", "path": "crates/algorithms/exact", - "released": "0.1.1", + "released": "0.1.2", "released_date": "2026-09-28", "role": "algorithm.reference", - "version": "0.1.1" + "version": "0.1.2" }, "axiolid-exact-compile-contract": { "description": "Portable graph-to-exact-B-rep compilation contract", "layer": "contracts", "path": "crates/contracts/operations/exact-compile", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "contract.operation", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-field": { "description": "Frame-neutral layered spatial-field values and validated sampling configuration.", "layer": "representations", "path": "crates/representations/sampled/field", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "representation.sampled", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-field-ops": { "description": "Sampling, morphology, clearance, and navigation over Axiolid layered fields.", "layer": "algorithms", "path": "crates/algorithms/sampled/field", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.sampled", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-fixtures": { "description": "Shared adversarial and degenerate geometry fixtures with provenance", "layer": "representations", "path": "crates/representations/fixtures", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "representation.fixtures", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-guarantees": { "description": "Certified-value and escalation vocabulary for geometry contracts", "layer": "contracts", "path": "crates/contracts/guarantees", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "contract.guarantees", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-heal": { "description": "Explicit diagnosis and opt-in repair contracts for dirty geometry", "layer": "algorithms", "path": "crates/algorithms/repair/heal", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.repair", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-inspect": { "description": "Mesh queries: clearance, containment, ray casting, and genus", "layer": "algorithms", "path": "crates/algorithms/query/inspect", - "released": "0.3.3", - "released_date": "2026-09-27", + "released": "0.3.4", + "released_date": "2026-09-28", "role": "algorithm.query", - "version": "0.3.3" + "version": "0.3.4" }, "axiolid-levelset": { "description": "Level-set extraction: a closed manifold mesh from a sampled scalar field", "layer": "algorithms", "path": "crates/algorithms/sampled/levelset", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.sampled", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-linear": { "description": "Format-neutral line, ray, segment, and polyline representations", "layer": "representations", "path": "crates/representations/analytic/linear", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "representation.atomic", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-linear-intersection": { "description": "Portable, deterministic intersections for linear geometry", "layer": "algorithms", "path": "crates/algorithms/query/intersection/linear", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.query", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-measure": { "description": "Metric properties: area, volume, centroid, moments of inertia.", "layer": "algorithms", "path": "crates/algorithms/query/measure", - "released": "0.3.2", - "released_date": "2026-09-27", + "released": "0.3.3", + "released_date": "2026-09-28", "role": "algorithm.query", - "version": "0.3.2" + "version": "0.3.3" }, "axiolid-mesh": { "description": "Triangle meshes: the discrete representation every backend consumes.", "layer": "representations", "path": "crates/representations/discrete/mesh", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "representation.discrete", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-mesh-boolean-boolmesh": { "description": "boolmesh-backed MeshBoolean provider", "layer": "providers", "path": "crates/providers/mesh/boolmesh", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "provider.mesh", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-mesh-boolean-contract": { "description": "Portable mesh boolean request, result, evidence, and conformance contract", "layer": "contracts", "path": "crates/contracts/operations/mesh-boolean", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "contract.operation", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-mesh-compile": { "description": "Scalar reference MeshCompiler: profiles, extrusion, transforms, boolean dispatch.", "layer": "execution", "path": "crates/execution/compile", - "released": "0.3.5", + "released": "0.3.6", "released_date": "2026-09-28", "role": "execution.orchestration", - "version": "0.3.5" + "version": "0.3.6" }, "axiolid-mesh-compile-contract": { "description": "Portable graph-to-mesh compilation contract", "layer": "contracts", "path": "crates/contracts/operations/compile", - "released": "0.3.1", - "released_date": "2026-09-24", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "contract.operation", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-mesh-contracts": { "description": "Shared mesh admissibility contracts", "layer": "contracts", "path": "crates/contracts/common/mesh", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "contract.common.mesh", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-mesh-section-contract": { "description": "Portable mesh plane-section request, result, and evidence contract", "layer": "contracts", "path": "crates/contracts/operations/mesh-section", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "contract.operation", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-minkowski": { "description": "Minkowski sum and difference of planar-faced solids", "layer": "algorithms", "path": "crates/algorithms/discrete/minkowski", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.discrete", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-model": { "description": "Format-neutral geometry item tree. The currency between a format reader and a kernel.", "layer": "representations", "path": "crates/representations/modeling/graph", - "released": "0.3.2", - "released_date": "2026-09-27", + "released": "0.3.3", + "released_date": "2026-09-28", "role": "representation.graph", - "version": "0.3.2" + "version": "0.3.3" }, "axiolid-nurbs": { "description": "General polynomial and rational B-spline analysis and transformation algorithms", "layer": "algorithms", "path": "crates/algorithms/parametric/nurbs", - "released": "0.3.3", + "released": "0.3.4", "released_date": "2026-09-28", "role": "algorithm.parametric", - "version": "0.3.3" + "version": "0.3.4" }, "axiolid-overlay": { "description": "Deterministic validated planar overlay contract", "layer": "algorithms", "path": "crates/algorithms/planar/overlay", - "released": "0.3.5", + "released": "0.3.6", "released_date": "2026-09-28", "role": "algorithm.planar", - "version": "0.3.5" + "version": "0.3.6" }, "axiolid-pointcloud": { "description": "Portable point-sampled geometry values with optional per-point channels.", "layer": "representations", "path": "crates/representations/discrete/pointcloud", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "representation.discrete", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-pointcloud-reconstruction-contract": { "description": "Portable pointcloud-to-surface reconstruction contract, evidence, and conformance suite.", "layer": "contracts", "path": "crates/contracts/operations/pointcloud-reconstruction", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "contract.operation", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-pointcloud-reconstruction-sdf": { "description": "Reference pointcloud reconstruction: signed-distance field from samples, extracted as a level set.", "layer": "providers", "path": "crates/providers/pointcloud/sdf", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "provider.pointcloud", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-predicates": { "description": "Certified exact-arithmetic geometric predicates", "layer": "algorithms", "path": "crates/algorithms/predicates", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "algorithm.reference", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-primitive": { "description": "Exact parametric primitive solids used as CSG leaves", "layer": "representations", "path": "crates/representations/analytic/primitive", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "representation.atomic", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-profile": { "description": "Exact 2D profile representations for sweeps and sectioned solids", "layer": "representations", "path": "crates/representations/region/profile", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "representation.region", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-project": { "description": "Projection of triangle meshes onto a plane, and prism intersection", "layer": "algorithms", "path": "crates/algorithms/planar/project", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.planar", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-ray-mesh": { "description": "Narrow-phase ray/triangle-mesh nearest-hit intersection", "layer": "algorithms", "path": "crates/algorithms/query/intersection/ray-mesh", - "released": null, - "released_date": null, + "released": "0.4.0", + "released_date": "2026-09-28", "role": "algorithm.query", "version": "0.4.0" }, @@ -445,73 +445,73 @@ "description": "Portable scalar reference implementation and certified predicates", "layer": "algorithms", "path": "crates/algorithms/reference", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "algorithm.reference", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-refine": { "description": "Mesh refinement and smoothing with bounded, reported deviation", "layer": "algorithms", "path": "crates/algorithms/discrete/refine", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "algorithm.discrete", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-route": { "description": "Exact planar shortest path over a visibility graph", "layer": "algorithms", "path": "crates/algorithms/planar/route", - "released": "0.3.5", + "released": "0.3.6", "released_date": "2026-09-28", "role": "algorithm.planar", - "version": "0.3.5" + "version": "0.3.6" }, "axiolid-spatial": { "description": "Acceleration structures: BVH and uniform point grid, and their queries; barycentric and mean-value coordinates.", "layer": "algorithms", "path": "crates/algorithms/query/spatial", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "algorithm.query", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-surface": { "description": "Exact, format-neutral surface values: planes, quadrics, tori, and B-spline patches.", "layer": "representations", "path": "crates/representations/analytic/surface", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "representation.atomic", - "version": "0.3.1" + "version": "0.3.2" }, "axiolid-tessellation-contract": { "description": "Curves, surfaces and B-reps to triangles under an explicit tolerance.", "layer": "contracts", "path": "crates/contracts/operations/tessellate", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "contract.operation", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-topology": { "description": "Typed-handle B-rep topology independent of curve and surface implementations", "layer": "representations", "path": "crates/representations/topology", - "released": "0.3.0", - "released_date": "2026-09-23", + "released": "0.3.1", + "released_date": "2026-09-28", "role": "representation.topology", - "version": "0.3.0" + "version": "0.3.1" }, "axiolid-triangulate": { "description": "Constrained Delaunay triangulation with bounded quality refinement", "layer": "algorithms", "path": "crates/algorithms/planar/triangulate", - "released": "0.3.1", - "released_date": "2026-09-27", + "released": "0.3.2", + "released_date": "2026-09-28", "role": "algorithm.planar", - "version": "0.3.1" + "version": "0.3.2" } }, "crates": { diff --git a/docs/reference/changelog.md b/docs/reference/changelog.md index 29698ad..e3eed66 100644 --- a/docs/reference/changelog.md +++ b/docs/reference/changelog.md @@ -6,8 +6,60 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/0067-crates-version-independently)); this page collects each crate's own `CHANGELOG.md`, newest release first per crate. Workspace-wide narrative — breaking bumps and coordinated releases — stays in the [top-level changelog](/CHANGELOG). +## axiolid + +### 0.4.0 - 2026-09-28 + +### Changed + +- **Breaking:** requires `axiolid-ray-mesh` 0.4, so `axiolid::ray_mesh` + (re-exported under the ray features) carries the new + `RayMeshError::TriangleIndexOutOfRange`, and `RayIndex` queries refuse an + out-of-range candidate instead of skipping it. An exhaustive `match` on + `RayMeshError` needs the new arm. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-arrangement + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-backend-cpu + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-backend-gpu + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-brep +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Added @@ -20,6 +72,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-brep-audit +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Changed @@ -33,6 +92,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-brep-boolean +### 0.1.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.1.0 - 2026-09-27 ### Added @@ -111,8 +177,35 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 conics, rulings, circles about the axis, `Sinusoid2` for oblique cuts). +## axiolid-capi + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-collide + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-construct +### 0.3.6 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.5 - 2026-09-28 ### Fixed @@ -282,6 +375,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-contracts +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-25 ### Added @@ -295,8 +395,25 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 behaviour. A non-finite or non-positive budget is refused (`None`). +## axiolid-core + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-curve +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Added @@ -356,8 +473,55 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 `Curve2` is `#[non_exhaustive]`. +## axiolid-curve-evaluate-contract + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-decimate + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-decompose + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-dispatch + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-evaluate +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Added @@ -390,6 +554,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-exact +### 0.1.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.1.1 - 2026-09-28 ### Added @@ -429,8 +600,65 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 `Interval::{quotient, disjoint}`. +## axiolid-exact-compile-contract + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-field + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-field-ops + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-fixtures + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-guarantees + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-heal +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.0 - 2026-09-23 ### Added @@ -445,6 +673,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-inspect +### 0.3.4 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.3 - 2026-09-27 ### Added @@ -487,8 +722,45 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 named (`OverlapError`); either winding is accepted. +## axiolid-levelset + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-linear + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-linear-intersection + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-measure +### 0.3.3 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.2 - 2026-09-27 ### Added @@ -581,6 +853,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-mesh +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.0 - 2026-09-23 ### Added @@ -599,6 +878,20 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-mesh-boolean-boolmesh +### 0.3.2 - 2026-09-28 + +### Changed + +- **Behaviour change:** a refusal inside the solve (an odd edge-point + count in `pair_up`, #101) is reported as + `GeomError::BackendContractViolation` naming `boolmesh`, not + `Degenerate`. The operands passed every input gate, so the failure is + this provider's defect and no longer reads as the caller's. + `tests/solve_failure.rs` pins it on a grid union that still reaches the + refusal (#203). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Fixed @@ -622,6 +915,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-mesh-boolean-contract +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.0 - 2026-09-23 ### Added @@ -635,6 +935,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-mesh-compile +### 0.3.6 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.5 - 2026-09-28 ### Fixed @@ -777,6 +1084,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-mesh-compile-contract +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-24 ### Added @@ -796,8 +1110,45 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 - `CompileOutcome` and the provided method `MeshCompiler::compile_mesh_reported` (#115): a compiled mesh with the fate of each attribute channel. The default wraps `compile_mesh` and reports `attribute_fates: None` ("not tracked", not "nothing dropped"), so existing implementations compile unchanged. +## axiolid-mesh-contracts + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-mesh-section-contract + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-minkowski + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-model +### 0.3.3 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.2 - 2026-09-27 ### Fixed @@ -820,6 +1171,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-nurbs +### 0.3.4 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.3 - 2026-09-28 ### Changed @@ -1017,6 +1375,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-overlay +### 0.3.6 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.5 - 2026-09-28 ### Changed @@ -1168,8 +1533,45 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 (ADR 0069). Superseded by the exact core above, which needs no scaling. +## axiolid-pointcloud + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-pointcloud-reconstruction-contract + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-pointcloud-reconstruction-sdf + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-predicates +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Fixed @@ -1185,6 +1587,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-primitive +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Added @@ -1198,8 +1607,52 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 an apex. +## axiolid-profile + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-project + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-ray-mesh + +### 0.4.0 - 2026-09-28 + +### Changed + +- **Breaking:** a candidate triangle index at or beyond the mesh's + triangle count is refused with the new + `RayMeshError::TriangleIndexOutOfRange` instead of being skipped by + `nearest_hit_among`; a broad phase built over a different mesh would + otherwise report "no hit" for triangles it never tested. + `triangle_hit` refuses the same index instead of panicking in the + mesh view. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-reference +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Added @@ -1215,6 +1668,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-refine +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.0 - 2026-09-23 ### Fixed @@ -1224,6 +1684,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-route +### 0.3.6 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.5 - 2026-09-28 ### Added @@ -1381,6 +1848,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-spatial +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Added @@ -1396,6 +1870,13 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 ## axiolid-surface +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Changed @@ -1405,8 +1886,35 @@ Every publishable crate versions and publishes independently ([ADR 0067](/adr/00 unchanged: same fields, same derives. Requires `axiolid-curve` 0.3.1. +## axiolid-tessellation-contract + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + +## axiolid-topology + +### 0.3.1 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + + ## axiolid-triangulate +### 0.3.2 - 2026-09-28 + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). + ### 0.3.1 - 2026-09-27 ### Fixed diff --git a/docs/reference/crates/axiolid-arrangement.md b/docs/reference/crates/axiolid-arrangement.md index 49cf4bc..47af87d 100644 --- a/docs/reference/crates/axiolid-arrangement.md +++ b/docs/reference/crates/axiolid-arrangement.md @@ -8,7 +8,7 @@ Editable planar subdivision with persistent half-edge topology. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-arrangement`](https://crates.io/crates/axiolid-arrangement) | | Layer | algorithms (`algorithm.planar`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_arrangement/index.html) · [docs.rs](https://docs.rs/axiolid-arrangement) | @@ -26,6 +26,11 @@ An editable planar subdivision: a doubly-connected edge list whose vertices, hal ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/planar/arrangement/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/planar/arrangement/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-backend-cpu.md b/docs/reference/crates/axiolid-backend-cpu.md index eae6c07..1299f6f 100644 --- a/docs/reference/crates/axiolid-backend-cpu.md +++ b/docs/reference/crates/axiolid-backend-cpu.md @@ -8,7 +8,7 @@ Portable and runtime-optimized CPU execution context for Axiolid geometry. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-backend-cpu`](https://crates.io/crates/axiolid-backend-cpu) | | Facade | [`axiolid`](./axiolid) feature `cpu` | | Layer | execution (`execution.context`) | @@ -37,6 +37,11 @@ Default: none. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/execution/cpu/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/execution/cpu/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-backend-gpu.md b/docs/reference/crates/axiolid-backend-gpu.md index 0962645..a8c3a3c 100644 --- a/docs/reference/crates/axiolid-backend-gpu.md +++ b/docs/reference/crates/axiolid-backend-gpu.md @@ -8,7 +8,7 @@ GPU executor adapter contract for batched Axiolid geometry. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-backend-gpu`](https://crates.io/crates/axiolid-backend-gpu) | | Facade | [`axiolid`](./axiolid) feature `gpu` | | Layer | execution (`execution.context`) | @@ -42,6 +42,11 @@ stack. Concrete executors live in their own crates, including out of tree ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/execution/gpu/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/execution/gpu/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-brep-audit.md b/docs/reference/crates/axiolid-brep-audit.md index 9764e17..c6a30b6 100644 --- a/docs/reference/crates/axiolid-brep-audit.md +++ b/docs/reference/crates/axiolid-brep-audit.md @@ -8,7 +8,7 @@ Geometric consistency auditing for exact boundary representations. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-brep-audit`](https://crates.io/crates/axiolid-brep-audit) | | Layer | algorithms (`algorithm.repair`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_brep_audit/index.html) · [docs.rs](https://docs.rs/axiolid-brep-audit) | @@ -30,14 +30,11 @@ Geometric consistency auditing for exact B-reps. It evaluates curves and surface ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): ### Changed -- An implicit pcurve (ADR 0077) is parameterised by its cells, not in - proportion to its edge. It passes when every lifted sample projects onto - the edge within tolerance, inside the edge's span, in the order the use - runs, and starting and ending at the use's ends. Every other pcurve is - still checked against the edge at proportional parameters. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/repair/brep-audit/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/repair/brep-audit/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-brep-boolean.md b/docs/reference/crates/axiolid-brep-boolean.md index 1d6f265..85b813b 100644 --- a/docs/reference/crates/axiolid-brep-boolean.md +++ b/docs/reference/crates/axiolid-brep-boolean.md @@ -8,7 +8,7 @@ General exact B-rep booleans over analytic faces (ADR 0075). | | | | --- | --- | -| Latest release | 0.1.0 (2026-09-27) | +| Latest release | 0.1.1 (2026-09-28) | | crates.io | [`axiolid-brep-boolean`](https://crates.io/crates/axiolid-brep-boolean) | | Layer | algorithms (`algorithm.construction`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_brep_boolean/index.html) · [docs.rs](https://docs.rs/axiolid-brep-boolean) | @@ -47,81 +47,11 @@ results against them. ## Changes -Latest release, 0.1.0 (2026-09-27): +Latest release, 0.1.1 (2026-09-28): -### Added +### Changed -- Surfaces tangent along a whole curve and crossing there: the line of - contact is a section edge (the tangent-contact rule now applies to - closed forms only), and pieces leaving a vertex with the same direction - and bend are ordered by their chords a small way out. -- A traced pair that only touches adds no section, as the closed forms' - touching does. A pcurve whose trace on its face cannot be decided falls - back to the section's own space curve read on the face, and failed - traces are not repeated. Each surface pair's closed form is computed - once per boolean. -- Two B-spline faces meeting each other: their section is traced in both - faces' parameter boxes and carried on both (`Curve3::PairSection`), its - pcurve on each read from the solve. The last refusal by face type is - gone; sections whose branches cross where the surfaces touch stay - refused by name. -- Faces that wind round their surface without a seam edge (a dome bounded - by its rim alone, a can by its two rims), as files may deliver them. The - boolean first gives each a seam edge along the iso-curve where its loops - wrap, joining the lower loop, the seam, the upper loop or a pole, and the - seam back into one loop. -- Sections through a sphere's pole or a cone's apex are cut there, and the - collapsed pole piece is split where they end. Meridians and latitudes, - cone rulings and circles, and a torus's tube and ring circles get their - straight pcurves, affine in the curve's own parameter. - -- B-spline faces (#167, ADR 0075 stage 3) against planes, quadrics and - tori: - - The section is traced on the spline (ADR 0077). - - On the analytic face its pcurve is the same space curve read in the - face's parameters (`Curve2::Lifted`), so it shares the edge's - parameter. - - An edge next to a B-spline face is cut where it meets the section's - other surface. - - Classification rays meet B-spline faces through the spline trace. - - Two B-spline faces meeting each other are refused by name - (`UnsupportedSection`). - -- Faces on spheres, cones, tori and elliptical cylinders (#167, ADR 0075 - stage 2), meeting in any section #119 builds: - - A section with no line or conic is traced inside one face's parameter - box (ADR 0077). - - Every section on every analytic face gets an exact implicit pcurve, cut - out of the other surface's traced equation between the section's ends. - - A sphere's pole or a cone's apex closes loops as a collapsed piece that - is no edge. - - Seam circles are cut by the cone of normals along them. - - Section branches that cross (a Steinmetz pair) are split where they - meet. - - Frame components that are only rounding residue are cleared before - intersecting. - -- Operands that touch (#167, ADR 0075 stage 2): faces on one surface share - their overlap (each face's edges are imprinted on the other, and a region - on the other solid's boundary is kept once by normal agreement); sections - along an existing edge split only the other face; tangent contact adds no - section; pieces leaving a vertex in one direction are ordered by - curvature; solids meeting along an edge are paired radially around it so - each stays manifold. Cavities go to the smallest solid around them, in - results of several solids too. - -- `section_edges` (#167, ADR 0075 stage 1): the exact intersection curves of - two exact B-reps' faces, each trimmed to where it lies inside both faces. - Crossings with a boundary edge are found against the adjacent face's - surface, or across a seam against the plane through the ruling. -- `boolean(a, b, operator, tolerance)` (#167, ADR 0075 stage 1): the exact - union, intersection and difference of two exact solids whose faces lie on - planes and cylinders and meet in lines, circles and ellipses -- not only - vertical columns. Regions are classified by exact ray parity with - certified face membership and sewn into shells; cavities become voids. - Every result audits clean and measures exactly. -- `split_face` (#167): a plane or cylinder face cut along its section edges - into regions, traced in the face's parameters with exact pcurves (lines, - conics, rulings, circles about the axis, `Sinusoid2` for oblique cuts). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/construction/brep-boolean/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/construction/brep-boolean/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-brep.md b/docs/reference/crates/axiolid-brep.md index 8d3251e..9147999 100644 --- a/docs/reference/crates/axiolid-brep.md +++ b/docs/reference/crates/axiolid-brep.md @@ -8,7 +8,7 @@ Exact analytic B-rep result contracts over neutral topology. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-brep`](https://crates.io/crates/axiolid-brep) | | Facade | [`axiolid`](./axiolid) feature `brep` | | Layer | representations (`representation.composed`) | @@ -33,13 +33,11 @@ traverse geometry. ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): -### Added +### Changed -- `ExactBRepBuilder::append`: copy another exact B-rep's vertices, edges, - loops, faces and shells, with their curves, surfaces, intervals and - names, and return the new shell handles; optionally with every face used - reversed, which turns an outer shell into a void (#111). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/brep/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/brep/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-capi.md b/docs/reference/crates/axiolid-capi.md index 6c2c49f..357cf3b 100644 --- a/docs/reference/crates/axiolid-capi.md +++ b/docs/reference/crates/axiolid-capi.md @@ -8,7 +8,7 @@ Versioned, memory-safe C ABI for the Axiolid application facade. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-capi`](https://crates.io/crates/axiolid-capi) | | Layer | facade (`facade.native-c`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_capi/index.html) · [docs.rs](https://docs.rs/axiolid-capi) | @@ -31,6 +31,11 @@ the only Axiolid crate that contains `unsafe` code. See ADR 0040. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/facade/axiolid-capi/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/facade/axiolid-capi/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-collide.md b/docs/reference/crates/axiolid-collide.md index ea39a3d..ac74aed 100644 --- a/docs/reference/crates/axiolid-collide.md +++ b/docs/reference/crates/axiolid-collide.md @@ -8,7 +8,7 @@ Convex collision queries: separating axis, overlap, and separation distance. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-collide`](https://crates.io/crates/axiolid-collide) | | Layer | algorithms (`algorithm.query`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_collide/index.html) · [docs.rs](https://docs.rs/axiolid-collide) | @@ -24,6 +24,11 @@ Convex collision queries by the separating axis theorem: whether two convex shap ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/query/collide/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/query/collide/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-construct.md b/docs/reference/crates/axiolid-construct.md index 95370f0..8147816 100644 --- a/docs/reference/crates/axiolid-construct.md +++ b/docs/reference/crates/axiolid-construct.md @@ -8,7 +8,7 @@ Solid generation: profiles, lofts, sweeps, revolutions and half-space clipping. | | | | --- | --- | -| Latest release | 0.3.5 (2026-09-28) | +| Latest release | 0.3.6 (2026-09-28) | | crates.io | [`axiolid-construct`](https://crates.io/crates/axiolid-construct) | | Facade | [`axiolid`](./axiolid) feature `generate` | | Layer | algorithms (`algorithm.construction`) | @@ -60,21 +60,11 @@ dependencies, so the allowlist in `Cargo.toml` is what keeps it out. ## Changes -Latest release, 0.3.5 (2026-09-28): +Latest release, 0.3.6 (2026-09-28): -### Fixed +### Changed -- Structural sections mesh (#193): `profile_rings` flattens every - `Profile::Section` family -- I, asymmetric I, L, T, U, C, Z, trapezium -- - from the exact contour `section_contour` builds, fillets and toe radii - chorded within the budget, straight edges exact. It refused them with - `Unsupported { ProfileTriangulation }` before. Rectangles with corner - radii mesh with them, through `rectangle_contour`: the mesh path used to - drop the radii and mesh a sharp box. -- Circles are chorded from half a step off the axes, not from angle 0 - (#194): the same chords, turned, so a chord's middle, inside the circle, - sits at every quarter turn. A circular void tangent to a face along an - axis direction, as openings are, leaves a sliver of material under it - instead of a chord point on the face, which pinched the solid. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/construction/construct/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/construction/construct/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-contracts.md b/docs/reference/crates/axiolid-contracts.md index 5bdab59..02ed79f 100644 --- a/docs/reference/crates/axiolid-contracts.md +++ b/docs/reference/crates/axiolid-contracts.md @@ -8,7 +8,7 @@ Common backend-neutral execution and diagnostic contracts. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-25) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-contracts`](https://crates.io/crates/axiolid-contracts) | | Facade | [`axiolid`](./axiolid) feature `contracts` | | Layer | contracts (`contract.common`) | @@ -31,16 +31,11 @@ provider selection or fallback, which belong to `axiolid-dispatch`. ## Changes -Latest release, 0.3.1 (2026-09-25): +Latest release, 0.3.2 (2026-09-28): -### Added +### Changed -- `ExecutionOptions::with_chord_error` and `ExecutionOptions::chord_error` - (#165): an explicit bound on how far a provider's straight chords may sit - from the curve they replace, separate from the linear tolerance. The - tolerance is a coincidence test; used as a chord budget it leaves a 5 mm - arc a few chords at `Tolerance::MILLIMETRE`, and small profiles mesh - percent-level off. `None` (the default) keeps each provider's previous - behaviour. A non-finite or non-positive budget is refused (`None`). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/common/base/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/common/base/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-core.md b/docs/reference/crates/axiolid-core.md index 576e7b7..578c8c5 100644 --- a/docs/reference/crates/axiolid-core.md +++ b/docs/reference/crates/axiolid-core.md @@ -8,7 +8,7 @@ Geometry data types and tolerance policy. No algorithms, no backends. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-core`](https://crates.io/crates/axiolid-core) | | Layer | foundation (`foundation.values`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_core/index.html) · [docs.rs](https://docs.rs/axiolid-core) | @@ -26,6 +26,11 @@ model uses. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/foundation/core/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/foundation/core/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-curve-evaluate-contract.md b/docs/reference/crates/axiolid-curve-evaluate-contract.md index 6f1d888..9450245 100644 --- a/docs/reference/crates/axiolid-curve-evaluate-contract.md +++ b/docs/reference/crates/axiolid-curve-evaluate-contract.md @@ -8,7 +8,7 @@ Portable curve evaluation capability contract: point, tangent and oriented frame | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-curve-evaluate-contract`](https://crates.io/crates/axiolid-curve-evaluate-contract) | | Layer | contracts (`contract.operation`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_curve_evaluate_contract/index.html) · [docs.rs](https://docs.rs/axiolid-curve-evaluate-contract) | @@ -32,6 +32,11 @@ scalar implementation. See ADR 0063. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/operations/curve-evaluate/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/operations/curve-evaluate/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-curve.md b/docs/reference/crates/axiolid-curve.md index dbc52d0..a3bdb36 100644 --- a/docs/reference/crates/axiolid-curve.md +++ b/docs/reference/crates/axiolid-curve.md @@ -8,7 +8,7 @@ Exact, format-neutral curve values: lines, conics, B-splines, natural-equation a | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-curve`](https://crates.io/crates/axiolid-curve) | | Facade | [`axiolid`](./axiolid) feature `curves` | | Layer | representations (`representation.atomic`) | @@ -33,62 +33,11 @@ and surfaces free of a dependency cycle. ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): -### Added +### Changed -- `Field2::value` and `SeriesField2::value` evaluate the value alone, - without the jet, and agree with `jet` to the last bit. -- Bridge cells in `ImplicitCurve2` (`ImplicitCell::bridge`, a cubic into a - point where two branches cross, bounded by its Bezier control values), - `ImplicitCell::part`, `reversed` and `solved_range`, - `ImplicitCurve2::solve_cell`, and `Field2::scale_at` (the size of the - terms that make up the value at a point, which its rounding scales - with). - -- `Curve3::PairSection` (`PairSection3`, `PairNode`): the section of two - B-spline surfaces, carried by nodes on both and defined between them by - the surfaces themselves (where both meet on the plane across the chord). - It has `solve` (the parameters on both surfaces and the point), `rates`, - `second_rates`, `sub`, `reversed`, `parameter_of` and `side`, and - `pair_section::solve4` for the 4x4 systems behind it (ADR 0077). -- `BSplineSurface` is defined here, and `axiolid_surface` re-exports it - unchanged, so a traced curve can carry a B-spline carrier - (`Carrier::Spline`). It has `BSplineSurface::jet` (point and first and - second partials, rational) and `domain`. -- `Field2` is now an enum of `SeriesField2` (the former struct: powers and - harmonics) and `PatchField2` (piecewise Bernstein polynomials on a grid, - bounded by their coefficients over any box and continued past the grid by - their edge polynomials). `ImplicitCurve2::clipped` cuts a curve to a box. -- `Curve2::Lifted(LiftedCurve2)`: a space curve read in an analytic - surface's parameters, sharing the curve's parameter. It is the pcurve, - on the analytic face, of a section only a B-spline can carry. - -- `ImplicitCurve2::sub`, `rotated`, `reversed`, `shifted`, `closure` and - `turning_points`. `implicit::{bound, bound_simple, partial}` give - interval bounds and partial derivatives of a `Field2` over parameter - boxes. - -- `Curve2::Implicit(ImplicitCurve2)` and - `Curve3::ImplicitSection(ImplicitSection3)` (#119, ADR 0077): a stretch of - a `Field2`'s zero set in monotone cells, where each point is the field's - unique root in its cell's bracket, and the same curve on its analytic - `Carrier` (plane, ruled surface, sphere or torus). - -- `Curve2::QuadraticGraph(QuadraticGraph2)` and - `Curve3::RuledSection(RuledSection3)` (#119, ADR 0076): one root branch of - `a(t) v^2 + b(t) v + c(t) = 0` with degree-2 trigonometric coefficients - (`Trig2`, `Branch`), and the same curve lifted onto a cylinder, - elliptical cylinder or cone (`RuledCarrier`). The exact pcurve and edge - of a quadric's cut across a ruled surface. -- `Curve2::AngleGraph(AngleGraph2)` and `Curve3::TorusSection(TorusSection3)` - (#119, ADR 0076): the solution `u(t)` of `a(t) cos u + b(t) sin u = c(t)`, - and the same curve on a torus (`TorusCarrier`). The exact pcurve and edge - of a plane's or sphere's cut across a torus. - -- `Curve2::Sinusoid(Sinusoid2)`: the graph `v = mean + a cos(t) + b sin(t)`, - the exact pcurve of a plane's cut across a cylinder in its (angle, height) - parameters (ADR 0071). The parameter is the first coordinate. Additive: - `Curve2` is `#[non_exhaustive]`. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/analytic/curve/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/analytic/curve/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-decimate.md b/docs/reference/crates/axiolid-decimate.md index a84e29b..5056c7e 100644 --- a/docs/reference/crates/axiolid-decimate.md +++ b/docs/reference/crates/axiolid-decimate.md @@ -8,7 +8,7 @@ Edge-collapse mesh decimation with a bounded, reported deviation. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-decimate`](https://crates.io/crates/axiolid-decimate) | | Layer | algorithms (`algorithm.discrete`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_decimate/index.html) · [docs.rs](https://docs.rs/axiolid-decimate) | @@ -34,6 +34,11 @@ is the edge midpoint. For adding triangles instead, see `axiolid-refine`. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/discrete/decimate/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/discrete/decimate/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-decompose.md b/docs/reference/crates/axiolid-decompose.md index ebf47ce..6754fee 100644 --- a/docs/reference/crates/axiolid-decompose.md +++ b/docs/reference/crates/axiolid-decompose.md @@ -8,7 +8,7 @@ Convex decomposition of a solid, exact or approximate and always labelled. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-decompose`](https://crates.io/crates/axiolid-decompose) | | Layer | algorithms (`algorithm.discrete`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_decompose/index.html) · [docs.rs](https://docs.rs/axiolid-decompose) | @@ -36,6 +36,11 @@ B-reps. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/discrete/decompose/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/discrete/decompose/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-dispatch.md b/docs/reference/crates/axiolid-dispatch.md index b787e30..6250734 100644 --- a/docs/reference/crates/axiolid-dispatch.md +++ b/docs/reference/crates/axiolid-dispatch.md @@ -8,7 +8,7 @@ Provider registration, ordering, fallback, and execution policy. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-dispatch`](https://crates.io/crates/axiolid-dispatch) | | Facade | [`axiolid`](./axiolid) feature `dispatch-mesh-boolean`, `dispatch-mesh-section`, `dispatch-pointcloud-reconstruction` | | Layer | execution (`execution.dispatch`) | @@ -50,6 +50,11 @@ Default: none. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/execution/dispatch/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/execution/dispatch/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-evaluate.md b/docs/reference/crates/axiolid-evaluate.md index 3002367..654ef60 100644 --- a/docs/reference/crates/axiolid-evaluate.md +++ b/docs/reference/crates/axiolid-evaluate.md @@ -8,7 +8,7 @@ Analytic and spline curve/surface evaluation, jets, and inversion. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-evaluate`](https://crates.io/crates/axiolid-evaluate) | | Facade | [`axiolid`](./axiolid) feature `evaluate` | | Layer | algorithms (`algorithm.parametric`) | @@ -37,33 +37,11 @@ intrinsics, threading or feature gates. ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): -### Added +### Changed -- Evaluation, derivatives and inversion of `Curve3::PairSection`. A - `Curve2::Lifted` reading a pair section on one of its own B-spline - surfaces takes that surface's parameters straight from the solve. -- `surface::locate`, `curve::locate2` and `curve::locate3`: parameters of - a point, iterating where no closed form exists (B-spline surfaces and - curves: seeded Newton, verified by the round trip). `invert`, `invert2` - and `invert3` keep their closed-form-only contract. -- Evaluation, derivatives and inversion of `Curve2::Lifted`. An - `ImplicitSection` on a B-spline carrier is inverted through the - surface's `locate`. - -- Evaluation, derivatives and inversion of `Curve2::Implicit` and - `Curve3::ImplicitSection` (ADR 0077). `invert2` and `invert3` now also - cover `QuadraticGraph`, `AngleGraph`, `RuledSection` and `TorusSection`, - reading the angle off the point and trying whole turns. - -- Evaluation, first and second derivatives of `Curve2::QuadraticGraph`, - `Curve3::RuledSection`, `Curve2::AngleGraph` and `Curve3::TorusSection` - (#119, ADR 0076); a parameter outside the graph's - spans is refused, not extrapolated. - -- `Curve2::Sinusoid` evaluation: point, first and second derivative, a - one-turn domain, and exact inversion (the parameter is the point's first - coordinate, then its height is checked) (ADR 0071). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/parametric/evaluate/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/parametric/evaluate/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-exact-compile-contract.md b/docs/reference/crates/axiolid-exact-compile-contract.md index d74e72f..b6b9cc9 100644 --- a/docs/reference/crates/axiolid-exact-compile-contract.md +++ b/docs/reference/crates/axiolid-exact-compile-contract.md @@ -8,7 +8,7 @@ Portable graph-to-exact-B-rep compilation contract. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-exact-compile-contract`](https://crates.io/crates/axiolid-exact-compile-contract) | | Layer | contracts (`contract.operation`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_exact_compile_contract/index.html) · [docs.rs](https://docs.rs/axiolid-exact-compile-contract) | @@ -30,6 +30,11 @@ only; `axiolid-mesh-compile` provides an implementation. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/operations/exact-compile/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/operations/exact-compile/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-exact.md b/docs/reference/crates/axiolid-exact.md index 188c14a..b9e6d77 100644 --- a/docs/reference/crates/axiolid-exact.md +++ b/docs/reference/crates/axiolid-exact.md @@ -8,7 +8,7 @@ Filtered exact arithmetic: interval filter, dyadic big integers, a + b*sqrt(c). | | | | --- | --- | -| Latest release | 0.1.1 (2026-09-28) | +| Latest release | 0.1.2 (2026-09-28) | | crates.io | [`axiolid-exact`](https://crates.io/crates/axiolid-exact) | | Layer | algorithms (`algorithm.reference`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_exact/index.html) · [docs.rs](https://docs.rs/axiolid-exact) | @@ -39,15 +39,11 @@ about a *constructed* point (a crossing, a line/circle hit), use this crate. ## Changes -Latest release, 0.1.1 (2026-09-28): +Latest release, 0.1.2 (2026-09-28): -### Added +### Changed -- `FixedInterval`: a real number between two big-integer bounds at a - chosen number of fractional bits, every operation rounded outward, and - `FixedInterval::sin_cos`, certified `sin` and `cos` of a dyadic angle - (Taylor series with the Lagrange remainder, after halving the angle). - For signs of values no finite arithmetic holds exactly, asked again at - a higher precision until they show (#181). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/exact/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/exact/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-field-ops.md b/docs/reference/crates/axiolid-field-ops.md index a12909c..45955b1 100644 --- a/docs/reference/crates/axiolid-field-ops.md +++ b/docs/reference/crates/axiolid-field-ops.md @@ -8,7 +8,7 @@ Sampling, morphology, clearance, and navigation over Axiolid layered fields. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-field-ops`](https://crates.io/crates/axiolid-field-ops) | | Facade | [`axiolid`](./axiolid) feature `field-ops` | | Layer | algorithms (`algorithm.sampled`) | @@ -40,6 +40,11 @@ Default: none. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/sampled/field/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/sampled/field/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-field.md b/docs/reference/crates/axiolid-field.md index ecec279..5dba853 100644 --- a/docs/reference/crates/axiolid-field.md +++ b/docs/reference/crates/axiolid-field.md @@ -8,7 +8,7 @@ Frame-neutral layered spatial-field values and validated sampling configuration. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-field`](https://crates.io/crates/axiolid-field) | | Facade | [`axiolid`](./axiolid) feature `field` | | Layer | representations (`representation.sampled`) | @@ -30,6 +30,11 @@ live in `axiolid-field-ops`. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/sampled/field/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/sampled/field/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-fixtures.md b/docs/reference/crates/axiolid-fixtures.md index d6c52df..5e88ea9 100644 --- a/docs/reference/crates/axiolid-fixtures.md +++ b/docs/reference/crates/axiolid-fixtures.md @@ -8,7 +8,7 @@ Shared adversarial and degenerate geometry fixtures with provenance. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-fixtures`](https://crates.io/crates/axiolid-fixtures) | | Layer | representations (`representation.fixtures`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_fixtures/index.html) · [docs.rs](https://docs.rs/axiolid-fixtures) | @@ -32,6 +32,11 @@ Differential tests, for example in `axiolid-mesh-boolean-boolmesh`, iterate ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/fixtures/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/fixtures/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-guarantees.md b/docs/reference/crates/axiolid-guarantees.md index 54131d9..3da7331 100644 --- a/docs/reference/crates/axiolid-guarantees.md +++ b/docs/reference/crates/axiolid-guarantees.md @@ -8,7 +8,7 @@ Certified-value and escalation vocabulary for geometry contracts. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-guarantees`](https://crates.io/crates/axiolid-guarantees) | | Layer | contracts (`contract.guarantees`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_guarantees/index.html) · [docs.rs](https://docs.rs/axiolid-guarantees) | @@ -23,6 +23,11 @@ depends on no representation or provider, so any contract can use it. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/guarantees/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/guarantees/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-heal.md b/docs/reference/crates/axiolid-heal.md index 6127dfe..bc95163 100644 --- a/docs/reference/crates/axiolid-heal.md +++ b/docs/reference/crates/axiolid-heal.md @@ -8,7 +8,7 @@ Explicit diagnosis and opt-in repair contracts for dirty geometry. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-heal`](https://crates.io/crates/axiolid-heal) | | Facade | [`axiolid`](./axiolid) feature `heal` | | Layer | algorithms (`algorithm.repair`) | @@ -30,15 +30,11 @@ Explicit diagnosis and opt-in repair of triangle meshes. `diagnose` reports non- ## Changes -Latest release, 0.3.0 (2026-09-23): +Latest release, 0.3.1 (2026-09-28): -### Added +### Changed -- Repairs carry corner-indexed channels: weld leaves them untouched (they index values, not positions, so a seam is lossless), dropping and flipping triangles move their entries (#112). - -### Fixed - -- Repairs keep attribute channels and normals in step with the geometry they rewrite (#114). Weld compacts per-vertex channels and normals; a seam drops the channel by name, a hard edge switches normals to corner-indexed. Dropping or flipping triangles moves corner-indexed normals with them. -- `RepairReport::attribute_fates` names every input channel's fate. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/repair/heal/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/repair/heal/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-inspect.md b/docs/reference/crates/axiolid-inspect.md index 119f12b..0ff9cbb 100644 --- a/docs/reference/crates/axiolid-inspect.md +++ b/docs/reference/crates/axiolid-inspect.md @@ -8,7 +8,7 @@ Mesh queries: clearance, containment, ray casting, and genus. | | | | --- | --- | -| Latest release | 0.3.3 (2026-09-27) | +| Latest release | 0.3.4 (2026-09-28) | | crates.io | [`axiolid-inspect`](https://crates.io/crates/axiolid-inspect) | | Layer | algorithms (`algorithm.query`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_inspect/index.html) · [docs.rs](https://docs.rs/axiolid-inspect) | @@ -30,18 +30,11 @@ Queries over triangle meshes: clearance between meshes, point containment and wi ## Changes -Latest release, 0.3.3 (2026-09-27): +Latest release, 0.3.4 (2026-09-28): -### Added +### Changed -- `topology` (#144): every connected component of a two-manifold triangle - mesh, classified exactly from its connectivity -- counts, Euler - characteristic, boundary loops, orientability and consistent winding, and - the surface (`SurfaceKind::Orientable { genus }` or - `NonOrientable { crosscaps }`). A closed orientable component also gets a - basis of its first homology: `2g` simple closed edge loops, by the - tree-cotree construction. Meshes with an edge on three or more triangles, - or a vertex whose triangles form several fans, are refused - (`TopologyError::NonManifold`). `genus` is unchanged. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/query/inspect/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/query/inspect/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-levelset.md b/docs/reference/crates/axiolid-levelset.md index f218b02..7531981 100644 --- a/docs/reference/crates/axiolid-levelset.md +++ b/docs/reference/crates/axiolid-levelset.md @@ -8,7 +8,7 @@ Level-set extraction: a closed manifold mesh from a sampled scalar field. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-levelset`](https://crates.io/crates/axiolid-levelset) | | Layer | algorithms (`algorithm.sampled`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_levelset/index.html) · [docs.rs](https://docs.rs/axiolid-levelset) | @@ -25,6 +25,11 @@ Level-set extraction: a closed two-manifold triangle mesh from a scalar field sa ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/sampled/levelset/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/sampled/levelset/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-linear-intersection.md b/docs/reference/crates/axiolid-linear-intersection.md index 67857ef..87f559e 100644 --- a/docs/reference/crates/axiolid-linear-intersection.md +++ b/docs/reference/crates/axiolid-linear-intersection.md @@ -8,7 +8,7 @@ Portable, deterministic intersections for linear geometry. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-linear-intersection`](https://crates.io/crates/axiolid-linear-intersection) | | Facade | [`axiolid`](./axiolid) feature `linear-intersection` | | Layer | algorithms (`algorithm.query`) | @@ -28,6 +28,11 @@ Certified 2D intersections for lines and segments, with a minimal dependency clo ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/query/intersection/linear/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/query/intersection/linear/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-linear.md b/docs/reference/crates/axiolid-linear.md index 2c32db5..b84ce9a 100644 --- a/docs/reference/crates/axiolid-linear.md +++ b/docs/reference/crates/axiolid-linear.md @@ -8,7 +8,7 @@ Format-neutral line, ray, segment, and polyline representations. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-linear`](https://crates.io/crates/axiolid-linear) | | Facade | [`axiolid`](./axiolid) feature `linear` | | Layer | representations (`representation.atomic`) | @@ -30,6 +30,11 @@ need. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/analytic/linear/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/analytic/linear/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-measure.md b/docs/reference/crates/axiolid-measure.md index b162cb0..87be45e 100644 --- a/docs/reference/crates/axiolid-measure.md +++ b/docs/reference/crates/axiolid-measure.md @@ -8,7 +8,7 @@ Metric properties: area, volume, centroid, moments of inertia. | | | | --- | --- | -| Latest release | 0.3.2 (2026-09-27) | +| Latest release | 0.3.3 (2026-09-28) | | crates.io | [`axiolid-measure`](https://crates.io/crates/axiolid-measure) | | Facade | [`axiolid`](./axiolid) feature `measure` | | Layer | algorithms (`algorithm.query`) | @@ -39,15 +39,11 @@ Default: none. ## Changes -Latest release, 0.3.2 (2026-09-27): +Latest release, 0.3.3 (2026-09-28): -### Added +### Changed -- Fréchet distance between polylines (#147): `frechet_distance` (the - continuous distance: the least critical value of the free space that the - Alt-Godau decision accepts), `discrete_frechet_distance` (Eiter-Mannila, - `O(nm)` time, `O(m)` memory) and the decision `frechet_at_most`, each - with a `_2d` form. Empty polylines, non-finite points and an invalid - leash are `FrechetError`s. Floating point, not certified. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/query/measure/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/query/measure/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-mesh-boolean-boolmesh.md b/docs/reference/crates/axiolid-mesh-boolean-boolmesh.md index f5e3a8e..d2d0acc 100644 --- a/docs/reference/crates/axiolid-mesh-boolean-boolmesh.md +++ b/docs/reference/crates/axiolid-mesh-boolean-boolmesh.md @@ -8,7 +8,7 @@ boolmesh-backed MeshBoolean provider. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-mesh-boolean-boolmesh`](https://crates.io/crates/axiolid-mesh-boolean-boolmesh) | | Facade | [`axiolid`](./axiolid) feature `portable-provider` | | Layer | providers (`provider.mesh`) | @@ -56,13 +56,18 @@ Default: none. ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): -### Fixed +### Changed -- The scratch probe discards one warmup boolean before measuring, and - measures peaks above the bytes already live, so the first operation is - no longer charged for process startup (#110). A `scratch_bound` test - fails if any measured peak exceeds the declared 4 KiB per triangle. +- **Behaviour change:** a refusal inside the solve (an odd edge-point + count in `pair_up`, #101) is reported as + `GeomError::BackendContractViolation` naming `boolmesh`, not + `Degenerate`. The operands passed every input gate, so the failure is + this provider's defect and no longer reads as the caller's. + `tests/solve_failure.rs` pins it on a grid union that still reaches the + refusal (#203). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/providers/mesh/boolmesh/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/providers/mesh/boolmesh/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-mesh-boolean-contract.md b/docs/reference/crates/axiolid-mesh-boolean-contract.md index d1f7476..1799cdd 100644 --- a/docs/reference/crates/axiolid-mesh-boolean-contract.md +++ b/docs/reference/crates/axiolid-mesh-boolean-contract.md @@ -8,7 +8,7 @@ Portable mesh boolean request, result, evidence, and conformance contract. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-mesh-boolean-contract`](https://crates.io/crates/axiolid-mesh-boolean-contract) | | Facade | [`axiolid`](./axiolid) feature `mesh-boolean` | | Layer | contracts (`contract.operation`) | @@ -32,14 +32,11 @@ implement it, and `axiolid-dispatch` chooses between them. ## Changes -Latest release, 0.3.0 (2026-09-23): +Latest release, 0.3.1 (2026-09-28): -### Added +### Changed -- `merge_fates`: compose per-channel fates across sequential steps (#116). - -### Fixed - -- Composed evidence reported only the last step's attribute fates: `BooleanEvidence::absorb` (the `subtract_many`/`union_many` defaults) and `symmetric_difference_via_composition` now compose them, so a channel a middle step derived or dropped is reported that way. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/operations/mesh-boolean/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/operations/mesh-boolean/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-mesh-compile-contract.md b/docs/reference/crates/axiolid-mesh-compile-contract.md index 95c1270..b841910 100644 --- a/docs/reference/crates/axiolid-mesh-compile-contract.md +++ b/docs/reference/crates/axiolid-mesh-compile-contract.md @@ -8,7 +8,7 @@ Portable graph-to-mesh compilation contract. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-24) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-mesh-compile-contract`](https://crates.io/crates/axiolid-mesh-compile-contract) | | Facade | [`axiolid`](./axiolid) feature `graph-compile` | | Layer | contracts (`contract.operation`) | @@ -31,16 +31,11 @@ is the exact counterpart. ## Changes -Latest release, 0.3.1 (2026-09-24): +Latest release, 0.3.2 (2026-09-28): -### Added +### Changed -- `MeshClosure` and `CompileOutcome::closure` (#161): whether a compiled mesh - bounds a solid (`Solid`), is a surface model with area but no volume - (`Surface`), or was not reported (`Unknown`, the default for `untracked` - and `tracked`, so existing compilers build unchanged). - `CompileOutcome::solid_mesh` returns the mesh only for `Solid`, so volume - readers refuse a surface model instead of measuring a closed shell the - source never declared a solid. `with_closure` sets it. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/operations/compile/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/operations/compile/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-mesh-compile.md b/docs/reference/crates/axiolid-mesh-compile.md index 77a0287..cfa979a 100644 --- a/docs/reference/crates/axiolid-mesh-compile.md +++ b/docs/reference/crates/axiolid-mesh-compile.md @@ -8,7 +8,7 @@ Scalar reference MeshCompiler: profiles, extrusion, transforms, boolean dispatch | | | | --- | --- | -| Latest release | 0.3.5 (2026-09-28) | +| Latest release | 0.3.6 (2026-09-28) | | crates.io | [`axiolid-mesh-compile`](https://crates.io/crates/axiolid-mesh-compile) | | Layer | execution (`execution.orchestration`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_mesh_compile/index.html) · [docs.rs](https://docs.rs/axiolid-mesh-compile) | @@ -56,20 +56,11 @@ owns graph traversal and dispatch; the construction algorithms themselves ## Changes -Latest release, 0.3.5 (2026-09-28): +Latest release, 0.3.6 (2026-09-28): -### Fixed +### Changed -- A boolean whose result touches itself is refused, not returned (#194): - where operands meet tangentially -- a void tangent to its host's face -- - the solid has no material between two faces, and the mesh boolean keeps - two copies of the vertices there, closed by index but pinched by - position. Consumers welding by position saw an edge with four faces. The - result is now checked, positions welded, for an edge with more than two - faces or a vertex with separate fans, and refused with - `GeomError::Degenerate` naming the edge or point of contact. Circular - voids tangent along an axis direction no longer pinch at all (construct). -- Structural sections and rounded rectangles extrude to meshes (#193, via - construct). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/execution/compile/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/execution/compile/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-mesh-contracts.md b/docs/reference/crates/axiolid-mesh-contracts.md index 6e4db75..8f079e6 100644 --- a/docs/reference/crates/axiolid-mesh-contracts.md +++ b/docs/reference/crates/axiolid-mesh-contracts.md @@ -8,7 +8,7 @@ Shared mesh admissibility contracts. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-mesh-contracts`](https://crates.io/crates/axiolid-mesh-contracts) | | Facade | [`axiolid`](./axiolid) feature `mesh-contracts` | | Layer | contracts (`contract.common.mesh`) | @@ -30,6 +30,11 @@ exactly the same inputs; it does not select or run a provider. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/common/mesh/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/common/mesh/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-mesh-section-contract.md b/docs/reference/crates/axiolid-mesh-section-contract.md index 53f5c85..12302f0 100644 --- a/docs/reference/crates/axiolid-mesh-section-contract.md +++ b/docs/reference/crates/axiolid-mesh-section-contract.md @@ -8,7 +8,7 @@ Portable mesh plane-section request, result, and evidence contract. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-mesh-section-contract`](https://crates.io/crates/axiolid-mesh-section-contract) | | Facade | [`axiolid`](./axiolid) feature `mesh-section` | | Layer | contracts (`contract.operation`) | @@ -31,6 +31,11 @@ selects one. See ADR 0033. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/operations/mesh-section/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/operations/mesh-section/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-mesh.md b/docs/reference/crates/axiolid-mesh.md index 373c851..8e42cd1 100644 --- a/docs/reference/crates/axiolid-mesh.md +++ b/docs/reference/crates/axiolid-mesh.md @@ -8,7 +8,7 @@ Triangle meshes: the discrete representation every backend consumes. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-mesh`](https://crates.io/crates/axiolid-mesh) | | Facade | [`axiolid`](./axiolid) feature `mesh` | | Layer | representations (`representation.discrete`) | @@ -37,19 +37,11 @@ vertex, travels as an attribute channel. ## Changes -Latest release, 0.3.0 (2026-09-23): - -### Added - -- `AttributeFate::then`: the fate of a channel through two sequential steps (dropped wins and keeps the first reason; any interpolation interpolates). -- Corner-indexed attribute channels (#112): `AttributeChannel::corner_indices`, one entry per triangle corner, mirroring `NormalAttribute::indices`. Source formats store texture coordinates this way; positions stay shared, so UV seams no longer force a choice between splitting vertices (breaking closure) and smearing values. -- `AttributeChannel::corner_indexed`, `is_corner_indexed`, `value_count`, `at_corner` (reads either addressing, `None` for an unmapped corner), and `AttributeChannel::UNMAPPED` for triangles that carry no value. -- `validate_structure` checks corner channels: whole tuples, one entry per corner, entries in range, and each triangle fully mapped or fully unmapped. New `MeshValidationError` variants name the channel. -- `DropReason::ConflictingValues`: merged vertices carried different values, so a per-vertex channel could not keep both (#114). -- `DropReason::IncompatibleChannels`: inputs being combined define one channel name with a different width or blend (#115). +Latest release, 0.3.1 (2026-09-28): ### Changed -- **Breaking** (minor slot pre-1.0, ADR 0067): `AttributeChannel` gains the public field `corner_indices`, so struct-literal construction must add `corner_indices: None`; `AttributeChannel::new` is unaffected. `DropReason` is now `#[non_exhaustive]`, so an exhaustive `match` on it needs a wildcard arm. No caller in this workspace or in openbim does either. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/discrete/mesh/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/discrete/mesh/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-minkowski.md b/docs/reference/crates/axiolid-minkowski.md index 34f5bfd..6b8f43d 100644 --- a/docs/reference/crates/axiolid-minkowski.md +++ b/docs/reference/crates/axiolid-minkowski.md @@ -8,7 +8,7 @@ Minkowski sum and difference of planar-faced solids. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-minkowski`](https://crates.io/crates/axiolid-minkowski) | | Layer | algorithms (`algorithm.discrete`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_minkowski/index.html) · [docs.rs](https://docs.rs/axiolid-minkowski) | @@ -35,6 +35,11 @@ result that is too large. Curved operands are refused. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/discrete/minkowski/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/discrete/minkowski/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-model.md b/docs/reference/crates/axiolid-model.md index 2bda324..b0c9f23 100644 --- a/docs/reference/crates/axiolid-model.md +++ b/docs/reference/crates/axiolid-model.md @@ -8,7 +8,7 @@ Format-neutral geometry item tree. The currency between a format reader and a ke | | | | --- | --- | -| Latest release | 0.3.2 (2026-09-27) | +| Latest release | 0.3.3 (2026-09-28) | | crates.io | [`axiolid-model`](https://crates.io/crates/axiolid-model) | | Facade | [`axiolid`](./axiolid) feature `model` | | Layer | representations (`representation.graph`) | @@ -38,13 +38,11 @@ identifiers outside the graph. ## Changes -Latest release, 0.3.2 (2026-09-27): +Latest release, 0.3.3 (2026-09-28): -### Fixed +### Changed -- A `SolidOperation::BoundedHalfSpace` boundary must be a 2D curve (#162). - The graph accepted a 3D curve, which the compiler refuses, so such a - graph validated and then could never compile; it is now refused when the - graph is built. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/modeling/graph/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/modeling/graph/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-nurbs.md b/docs/reference/crates/axiolid-nurbs.md index b7d59e9..5132c12 100644 --- a/docs/reference/crates/axiolid-nurbs.md +++ b/docs/reference/crates/axiolid-nurbs.md @@ -8,7 +8,7 @@ General polynomial and rational B-spline analysis and transformation algorithms. | | | | --- | --- | -| Latest release | 0.3.3 (2026-09-28) | +| Latest release | 0.3.4 (2026-09-28) | | crates.io | [`axiolid-nurbs`](https://crates.io/crates/axiolid-nurbs) | | Facade | [`axiolid`](./axiolid) feature `nurbs` | | Layer | algorithms (`algorithm.parametric`) | @@ -40,18 +40,11 @@ it uses `axiolid-evaluate` for evaluation rather than reimplementing it. ## Changes -Latest release, 0.3.3 (2026-09-28): +Latest release, 0.3.4 (2026-09-28): ### Changed -- Traced sections decide signs of analytic series fields with certified - arithmetic where `f64` cannot (#181): exact zeros by a Laurent identity - in the harmonics' common angle, point signs by fixed-point intervals at - rising precision, and box signs by the Bernstein coefficients of a - certified Taylor form. The tier answers only where the field is flat - (along a line of contact or at a singular point), so ordinary sections - trace exactly as before. Lines of contact that rounding hides over more - than a twentieth of the window, refused as `Undecided` until now, are - traced on analytic fields as on B-spline ones (ADR 0077). +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/parametric/nurbs/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/parametric/nurbs/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-overlay.md b/docs/reference/crates/axiolid-overlay.md index c07d832..f1c20bf 100644 --- a/docs/reference/crates/axiolid-overlay.md +++ b/docs/reference/crates/axiolid-overlay.md @@ -8,7 +8,7 @@ Deterministic validated planar overlay contract. | | | | --- | --- | -| Latest release | 0.3.5 (2026-09-28) | +| Latest release | 0.3.6 (2026-09-28) | | crates.io | [`axiolid-overlay`](https://crates.io/crates/axiolid-overlay) | | Facade | [`axiolid`](./axiolid) feature `overlay` | | Layer | algorithms (`algorithm.planar`) | @@ -35,27 +35,11 @@ Validated, deterministic planar booleans (intersection, union, difference, xor) ## Changes -Latest release, 0.3.5 (2026-09-28): +Latest release, 0.3.6 (2026-09-28): ### Changed -- Straight-edge booleans are exact (#173). `overlay`, `union_soup` and - `Region` no longer go through `i_overlay`'s integer grid, which snapped - every output coordinate, including untouched input vertices, to a step - of about 1.5e-8 of the operands' extent. They now run on the exact - subdivision the arc path uses: every ring of both operands cut at once, - each piece classified by exact signs, kept by the operand's winding - number under the fill rule. An input vertex the operation does not move - comes back bit-identical (so `[0,4]x[0,0.2]` clipped by a box around it - has area `0.8`, not `0.800000011920929`), and a crossing of two segments - is the double nearest to the exact crossing. Fill rules and ring - orientation keep their meaning (tested against the old backend). A vertex - where the boundary runs straight on is dropped only when exactly - straight. -- Arc and arrangement output: rational vertices (every segment crossing) - are now correctly rounded instead of rounded to about 50 bits. -- The exact subdivision indexes edges and rings in box trees, so building - it over thousands of rings (a projected mesh's triangles) is no longer - quadratic in the ring count. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/planar/overlay/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/planar/overlay/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-pointcloud-reconstruction-contract.md b/docs/reference/crates/axiolid-pointcloud-reconstruction-contract.md index b78299c..5b549b8 100644 --- a/docs/reference/crates/axiolid-pointcloud-reconstruction-contract.md +++ b/docs/reference/crates/axiolid-pointcloud-reconstruction-contract.md @@ -8,7 +8,7 @@ Portable pointcloud-to-surface reconstruction contract, evidence, and conformanc | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-pointcloud-reconstruction-contract`](https://crates.io/crates/axiolid-pointcloud-reconstruction-contract) | | Facade | [`axiolid`](./axiolid) feature `pointcloud-reconstruction` | | Layer | contracts (`contract.operation`) | @@ -33,6 +33,11 @@ refuse rather than return an empty or fabricated mesh. Providers such as ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/operations/pointcloud-reconstruction/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/operations/pointcloud-reconstruction/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-pointcloud-reconstruction-sdf.md b/docs/reference/crates/axiolid-pointcloud-reconstruction-sdf.md index 4c8ac2b..481598d 100644 --- a/docs/reference/crates/axiolid-pointcloud-reconstruction-sdf.md +++ b/docs/reference/crates/axiolid-pointcloud-reconstruction-sdf.md @@ -8,7 +8,7 @@ Reference pointcloud reconstruction: signed-distance field from samples, extract | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-pointcloud-reconstruction-sdf`](https://crates.io/crates/axiolid-pointcloud-reconstruction-sdf) | | Facade | [`axiolid`](./axiolid) feature `pointcloud-provider` | | Layer | providers (`provider.pointcloud`) | @@ -38,6 +38,11 @@ replace it behind the same contract. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/providers/pointcloud/sdf/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/providers/pointcloud/sdf/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-pointcloud.md b/docs/reference/crates/axiolid-pointcloud.md index ed2ebeb..0ba6650 100644 --- a/docs/reference/crates/axiolid-pointcloud.md +++ b/docs/reference/crates/axiolid-pointcloud.md @@ -8,7 +8,7 @@ Portable point-sampled geometry values with optional per-point channels. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-pointcloud`](https://crates.io/crates/axiolid-pointcloud) | | Facade | [`axiolid`](./axiolid) feature `pointcloud` | | Layer | representations (`representation.discrete`) | @@ -31,6 +31,11 @@ ADR 0044. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/discrete/pointcloud/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/discrete/pointcloud/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-predicates.md b/docs/reference/crates/axiolid-predicates.md index e8bc062..6dd7e05 100644 --- a/docs/reference/crates/axiolid-predicates.md +++ b/docs/reference/crates/axiolid-predicates.md @@ -8,7 +8,7 @@ Certified exact-arithmetic geometric predicates. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-predicates`](https://crates.io/crates/axiolid-predicates) | | Facade | [`axiolid`](./axiolid) feature `predicates` | | Layer | algorithms (`algorithm.reference`) | @@ -33,16 +33,11 @@ or big-integer dependency. `axiolid-reference` re-exports it unchanged ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): -### Fixed +### Changed -- `incircle` and `insphere`: the exact fallback rounded the coordinate - differences to `f64` before its exact expansion arithmetic, so on nearly - cocircular (cospherical) points whose differences do not fit an `f64` -- - exactly where the filter hands over -- it could return the wrong sign. - Delaunay flips driven by it cycled for ever (#190). The differences are - now exact two-term expansions and every product after them is an - expansion product; checked against an exact dyadic determinant. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/predicates/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/predicates/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-primitive.md b/docs/reference/crates/axiolid-primitive.md index 1f9192e..feb2ee6 100644 --- a/docs/reference/crates/axiolid-primitive.md +++ b/docs/reference/crates/axiolid-primitive.md @@ -8,7 +8,7 @@ Exact parametric primitive solids used as CSG leaves. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-primitive`](https://crates.io/crates/axiolid-primitive) | | Facade | [`axiolid`](./axiolid) feature `primitives` | | Layer | representations (`representation.atomic`) | @@ -29,16 +29,11 @@ mesh or kernel dependency. ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): -### Added +### Changed -- `Primitive::Torus` (#142): a ring torus about local +z, by major and - minor radius. Horn and spindle tori are not solids and are refused by - the tessellator. -- `Primitive::Wedge` (#142): OCCT's `MakeWedge` general form with the - height along local +z -- a base rectangle at z = 0 and a top rectangle, - narrowed or shifted, at z = height. The top may collapse to a ridge or - an apex. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/analytic/primitive/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/analytic/primitive/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-profile.md b/docs/reference/crates/axiolid-profile.md index 2558d79..429b457 100644 --- a/docs/reference/crates/axiolid-profile.md +++ b/docs/reference/crates/axiolid-profile.md @@ -8,7 +8,7 @@ Exact 2D profile representations for sweeps and sectioned solids. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-profile`](https://crates.io/crates/axiolid-profile) | | Facade | [`axiolid`](./axiolid) feature `profiles` | | Layer | representations (`representation.region`) | @@ -31,6 +31,11 @@ consumer can read profiles without them. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/region/profile/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/region/profile/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-project.md b/docs/reference/crates/axiolid-project.md index d2d78f9..8f67991 100644 --- a/docs/reference/crates/axiolid-project.md +++ b/docs/reference/crates/axiolid-project.md @@ -8,7 +8,7 @@ Projection of triangle meshes onto a plane, and prism intersection. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-project`](https://crates.io/crates/axiolid-project) | | Facade | [`axiolid`](./axiolid) feature `project` | | Layer | algorithms (`algorithm.planar`) | @@ -27,6 +27,11 @@ Projection of triangle meshes onto a plane and intersection with prisms: the bri ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/planar/project/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/planar/project/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-ray-mesh.md b/docs/reference/crates/axiolid-ray-mesh.md index 7ad2279..785246f 100644 --- a/docs/reference/crates/axiolid-ray-mesh.md +++ b/docs/reference/crates/axiolid-ray-mesh.md @@ -8,10 +8,11 @@ Narrow-phase ray/triangle-mesh nearest-hit intersection. | | | | --- | --- | -| Latest release | not released (`main` is 0.4.0) | +| Latest release | 0.4.0 (2026-09-28) | +| crates.io | [`axiolid-ray-mesh`](https://crates.io/crates/axiolid-ray-mesh) | | Facade | [`axiolid`](./axiolid) feature `ray-mesh` | | Layer | algorithms (`algorithm.query`) | -| API documentation | [rustdoc](/api/rustdoc/axiolid_ray_mesh/index.html) | +| API documentation | [rustdoc](/api/rustdoc/axiolid_ray_mesh/index.html) · [docs.rs](https://docs.rs/axiolid-ray-mesh) | | Source | [`crates/algorithms/query/intersection/ray-mesh/`](https://github.com/axiolid/kernel/tree/main/crates/algorithms/query/intersection/ray-mesh) | ## Overview @@ -27,6 +28,18 @@ Narrow-phase ray/triangle-mesh intersection: the nearest hit with its parameter, ## Changes -No release yet. +Latest release, 0.4.0 (2026-09-28): + +### Changed + +- **Breaking:** a candidate triangle index at or beyond the mesh's + triangle count is refused with the new + `RayMeshError::TriangleIndexOutOfRange` instead of being skipped by + `nearest_hit_among`; a broad phase built over a different mesh would + otherwise report "no hit" for triangles it never tested. + `triangle_hit` refuses the same index instead of panicking in the + mesh view. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/query/intersection/ray-mesh/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/query/intersection/ray-mesh/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-reference.md b/docs/reference/crates/axiolid-reference.md index 028d89c..45d7121 100644 --- a/docs/reference/crates/axiolid-reference.md +++ b/docs/reference/crates/axiolid-reference.md @@ -8,7 +8,7 @@ Portable scalar reference implementation and certified predicates. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-reference`](https://crates.io/crates/axiolid-reference) | | Facade | [`axiolid`](./axiolid) feature `portable-provider` | | Layer | algorithms (`algorithm.reference`) | @@ -46,16 +46,11 @@ evaluation should depend on those directly. ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): -### Added +### Changed -- `tessellate_primitive` meshes `Primitive::Torus` and `Primitive::Wedge` - (#142). The torus is a grid of planar trapezoids sized by the chord - budget, round the axis for the outer equator and round the tube for the - tube; horn and spindle tori, and non-positive or non-finite radii, are - refused by name. The wedge's faces are planar and shared corners of a - collapsed top are merged, so a ridge or apex wedge is still a closed, - outward-wound solid; a reversed or non-finite top range is refused. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/reference/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/reference/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-refine.md b/docs/reference/crates/axiolid-refine.md index 1eada00..15ee880 100644 --- a/docs/reference/crates/axiolid-refine.md +++ b/docs/reference/crates/axiolid-refine.md @@ -8,7 +8,7 @@ Mesh refinement and smoothing with bounded, reported deviation. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-refine`](https://crates.io/crates/axiolid-refine) | | Layer | algorithms (`algorithm.discrete`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_refine/index.html) · [docs.rs](https://docs.rs/axiolid-refine) | @@ -34,10 +34,11 @@ does not implement limit-surface subdivision schemes. ## Changes -Latest release, 0.3.0 (2026-09-23): +Latest release, 0.3.1 (2026-09-28): -### Fixed +### Changed -- A refinement that creates no vertex returns the input's channels and normals. It previously reported them `Preserved` and returned a mesh without them. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/discrete/refine/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/discrete/refine/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-route.md b/docs/reference/crates/axiolid-route.md index f257493..f512beb 100644 --- a/docs/reference/crates/axiolid-route.md +++ b/docs/reference/crates/axiolid-route.md @@ -8,7 +8,7 @@ Exact planar shortest path over a visibility graph. | | | | --- | --- | -| Latest release | 0.3.5 (2026-09-28) | +| Latest release | 0.3.6 (2026-09-28) | | crates.io | [`axiolid-route`](https://crates.io/crates/axiolid-route) | | Facade | [`axiolid`](./axiolid) feature `route` | | Layer | algorithms (`algorithm.planar`) | @@ -30,48 +30,11 @@ Exact planar shortest paths over a visibility graph, plus distance maps, farthes ## Changes -Latest release, 0.3.5 (2026-09-28): - -### Added - -- Seeded weighted maps (#198): `weighted_distance_map_seeded` and - `weighted_distance_map_seeded_within` take `(point, weight)` targets, - each starting at its own non-negative cost, as `distance_map_weighted` - does for plain maps (#197); both bounds start there, and - `WeightedReach::cost` counts the weight. With every weight zero the map - and its answers are `weighted_distance_map`'s exactly. -- `weighted_forced_walk` and `weighted_forced_walk_within` (#198): the - cheapest walk that enters a polygon over two weighted maps with the same - costs, bracketed with a witness as `forced_walk` is. The cell bound falls - at twice the steepest factor meeting the cell, and the pair bound runs - over both maps' vertices and cost-edge intervals with their lower - bounds, at the cell's own factor when no cost edge meets it. - `WeightedForcedWalk::shortest` brackets the cheapest walk overall; the - result is never narrower than the maps' brackets at the witness, and the - search stops at the tolerance plus those. +Latest release, 0.3.6 (2026-09-28): ### Changed -- A cost region touching the region's boundary up to rounding is taken as - touching it (#198), no longer refused with `MapError::CostCrossing`: a - cost vertex within 2^-24 of the region's extent (and a few ulps) of a - region edge, on its free side, is moved just beyond it, and a cost edge - may cross a region edge that near one of either edge's ends. An edge so - left on or beyond a wall is wall-borne, as one exactly along it. So a - footprint clipped to the free region, its corners rounded by the - overlay, builds a map, and leaves no sliver along a wall costing 1. - -### Fixed - -- Weighted maps on cost edges at an angle (#198). The points cutting such - an edge are interpolated and lie off its line by rounding, which made - three decisions go wrong: an interval's sides were taken of its rounded - ends, so could both read the factor of one side; an edge could appear to - cross every hop to its own intervals and block them -- both could put - the lower bound above the distance; and every hop along the edge was - charged the greatest factor above. Sides are now taken of the edge's - exact ends, an edge never blocks hops from its own line, and a hop along - an edge is costed above as the walk along the edge itself, which lies - that close to it. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/planar/route/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/planar/route/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-spatial.md b/docs/reference/crates/axiolid-spatial.md index 3178fd6..90428a0 100644 --- a/docs/reference/crates/axiolid-spatial.md +++ b/docs/reference/crates/axiolid-spatial.md @@ -8,7 +8,7 @@ Acceleration structures: BVH and uniform point grid, and their queries; barycent | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-spatial`](https://crates.io/crates/axiolid-spatial) | | Facade | [`axiolid`](./axiolid) feature `spatial` | | Layer | algorithms (`algorithm.query`) | @@ -25,16 +25,11 @@ Deterministic, callback-based spatial acceleration: a median-split BVH over boun ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): -### Added +### Changed -- Barycentric coordinates (#143): `triangle_barycentric2`, - `triangle_barycentric3` (for the point's projection onto the triangle's - plane) and `tetrahedron_barycentric`, exact at corners; and - `mean_value_coordinates2` for simple polygons, convex or not, which - interpolate the boundary linearly and reproduce points inside. Shapes - thinner than the linear tolerance, non-simple polygons and points where - mean-value weights cancel are refused with `BarycentricError`. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/query/spatial/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/query/spatial/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-surface.md b/docs/reference/crates/axiolid-surface.md index 7ec2cf1..4e2be42 100644 --- a/docs/reference/crates/axiolid-surface.md +++ b/docs/reference/crates/axiolid-surface.md @@ -8,7 +8,7 @@ Exact, format-neutral surface values: planes, quadrics, tori, and B-spline patch | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-surface`](https://crates.io/crates/axiolid-surface) | | Facade | [`axiolid`](./axiolid) feature `surfaces` | | Layer | representations (`representation.atomic`) | @@ -31,12 +31,11 @@ here. ## Changes -Latest release, 0.3.1 (2026-09-27): +Latest release, 0.3.2 (2026-09-28): ### Changed -- `BSplineSurface` is defined in `axiolid-curve` (so a curve traced on a - B-spline surface can carry its carrier, ADR 0077) and re-exported here - unchanged: same fields, same derives. Requires `axiolid-curve` 0.3.1. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/analytic/surface/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/analytic/surface/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-tessellation-contract.md b/docs/reference/crates/axiolid-tessellation-contract.md index cb03c88..6e951f1 100644 --- a/docs/reference/crates/axiolid-tessellation-contract.md +++ b/docs/reference/crates/axiolid-tessellation-contract.md @@ -8,7 +8,7 @@ Curves, surfaces and B-reps to triangles under an explicit tolerance. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-tessellation-contract`](https://crates.io/crates/axiolid-tessellation-contract) | | Facade | [`axiolid`](./axiolid) feature `tessellation` | | Layer | contracts (`contract.operation`) | @@ -34,6 +34,11 @@ it. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/contracts/operations/tessellate/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/contracts/operations/tessellate/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-topology.md b/docs/reference/crates/axiolid-topology.md index 6ebd631..f757edf 100644 --- a/docs/reference/crates/axiolid-topology.md +++ b/docs/reference/crates/axiolid-topology.md @@ -8,7 +8,7 @@ Typed-handle B-rep topology independent of curve and surface implementations. | | | | --- | --- | -| Latest release | 0.3.0 (2026-09-23) | +| Latest release | 0.3.1 (2026-09-28) | | crates.io | [`axiolid-topology`](https://crates.io/crates/axiolid-topology) | | Facade | [`axiolid`](./axiolid) feature `topology` | | Layer | representations (`representation.topology`) | @@ -31,6 +31,11 @@ surfaces. ## Changes -Released in the workspace-wide 0.3.0 release (2026-09-23), before crates versioned independently; its notes are in the [workspace changelog](/CHANGELOG). +Latest release, 0.3.1 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/representations/topology/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/representations/topology/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid-triangulate.md b/docs/reference/crates/axiolid-triangulate.md index 08a9f74..fed7cfd 100644 --- a/docs/reference/crates/axiolid-triangulate.md +++ b/docs/reference/crates/axiolid-triangulate.md @@ -8,7 +8,7 @@ Constrained Delaunay triangulation with bounded quality refinement. | | | | --- | --- | -| Latest release | 0.3.1 (2026-09-27) | +| Latest release | 0.3.2 (2026-09-28) | | crates.io | [`axiolid-triangulate`](https://crates.io/crates/axiolid-triangulate) | | Layer | algorithms (`algorithm.planar`) | | API documentation | [rustdoc](/api/rustdoc/axiolid_triangulate/index.html) · [docs.rs](https://docs.rs/axiolid-triangulate) | @@ -26,25 +26,11 @@ Constrained Delaunay triangulation with bounded quality refinement. Every constr ## Changes -Latest release, 0.3.1 (2026-09-27): - -### Fixed - -- `triangulate`: after recovering constraint edges, unconstrained edges are - flipped back to locally Delaunay (Lawson's flips). Recovery used to leave - long triangles whose circumcircles held points no constraint hid, so the - result was not constrained Delaunay as documented -- with finely sampled - walls, triangles spanned whole rooms (#139). -- `triangulate` no longer loops for ever on outlines like a square turned - 45 degrees (#190): legalisation after inserting a point checked the new - diagonal instead of the two edges across from the point, so the real - edges were never checked and thin quadrilaterals flipped back and forth. - It now checks those edges, flips only strictly convex quadrilaterals, - splits the edge (and both triangles beside it) when a point lands on - one, and carries a flip bound. -- Constraint recovery no longer gives up at the first crossing edge it - cannot flip (#190): it follows Anglada's queue, retrying edges that - cannot flip yet and requeuing new diagonals that still cross, and - reports `CrossingConstraints` only when a full pass flips nothing. +Latest release, 0.3.2 (2026-09-28): + +### Changed + +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/algorithms/planar/triangulate/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/algorithms/planar/triangulate/CHANGELOG.md) diff --git a/docs/reference/crates/axiolid.md b/docs/reference/crates/axiolid.md index 3b8a2b4..e0cc29f 100644 --- a/docs/reference/crates/axiolid.md +++ b/docs/reference/crates/axiolid.md @@ -8,9 +8,10 @@ Feature-gated facade for Axiolid's format-neutral geometry stack. | | | | --- | --- | -| Latest release | not released (`main` is 0.4.0) | +| Latest release | 0.4.0 (2026-09-28) | +| crates.io | [`axiolid`](https://crates.io/crates/axiolid) | | Layer | facade (`facade`) | -| API documentation | [rustdoc](/api/rustdoc/axiolid/index.html) | +| API documentation | [rustdoc](/api/rustdoc/axiolid/index.html) · [docs.rs](https://docs.rs/axiolid) | | Source | [`crates/facade/axiolid/`](https://github.com/axiolid/kernel/tree/main/crates/facade/axiolid) | ## Overview @@ -125,6 +126,16 @@ Default: none. ## Changes -No release yet. +Latest release, 0.4.0 (2026-09-28): + +### Changed + +- **Breaking:** requires `axiolid-ray-mesh` 0.4, so `axiolid::ray_mesh` + (re-exported under the ray features) carries the new + `RayMeshError::TriangleIndexOutOfRange`, and `RayIndex` queries refuse an + out-of-range candidate instead of skipping it. An exhaustive `match` on + `RayMeshError` needs the new arm. +- The crates.io page is this crate's own `README.md`, with links to its + API documentation, its reference page and the source (ADR 0078). Full history: [`crates/facade/axiolid/CHANGELOG.md`](https://github.com/axiolid/kernel/blob/main/crates/facade/axiolid/CHANGELOG.md) diff --git a/docs/reference/index.md b/docs/reference/index.md index 7c6e294..1aaab31 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -12,90 +12,90 @@ Every page here is generated from the crate itself: its manifest, its crate docu | Crate | Role | Latest release | Description | | --- | --- | --- | --- | -| [`axiolid-core`](./crates/axiolid-core) | `foundation.values` | 0.3.0 | Geometry data types and tolerance policy. No algorithms, no backends. | +| [`axiolid-core`](./crates/axiolid-core) | `foundation.values` | 0.3.1 | Geometry data types and tolerance policy. No algorithms, no backends. | ## Representations | Crate | Role | Latest release | Description | | --- | --- | --- | --- | -| [`axiolid-brep`](./crates/axiolid-brep) | `representation.composed` | 0.3.1 | Exact analytic B-rep result contracts over neutral topology | -| [`axiolid-curve`](./crates/axiolid-curve) | `representation.atomic` | 0.3.1 | Exact, format-neutral curve values: lines, conics, B-splines, natural-equation and elevated curves. | -| [`axiolid-field`](./crates/axiolid-field) | `representation.sampled` | 0.3.0 | Frame-neutral layered spatial-field values and validated sampling configuration. | -| [`axiolid-fixtures`](./crates/axiolid-fixtures) | `representation.fixtures` | 0.3.0 | Shared adversarial and degenerate geometry fixtures with provenance | -| [`axiolid-linear`](./crates/axiolid-linear) | `representation.atomic` | 0.3.0 | Format-neutral line, ray, segment, and polyline representations | -| [`axiolid-mesh`](./crates/axiolid-mesh) | `representation.discrete` | 0.3.0 | Triangle meshes: the discrete representation every backend consumes. | -| [`axiolid-model`](./crates/axiolid-model) | `representation.graph` | 0.3.2 | Format-neutral geometry item tree. The currency between a format reader and a kernel. | -| [`axiolid-pointcloud`](./crates/axiolid-pointcloud) | `representation.discrete` | 0.3.0 | Portable point-sampled geometry values with optional per-point channels. | -| [`axiolid-primitive`](./crates/axiolid-primitive) | `representation.atomic` | 0.3.1 | Exact parametric primitive solids used as CSG leaves | -| [`axiolid-profile`](./crates/axiolid-profile) | `representation.region` | 0.3.0 | Exact 2D profile representations for sweeps and sectioned solids | -| [`axiolid-surface`](./crates/axiolid-surface) | `representation.atomic` | 0.3.1 | Exact, format-neutral surface values: planes, quadrics, tori, and B-spline patches. | -| [`axiolid-topology`](./crates/axiolid-topology) | `representation.topology` | 0.3.0 | Typed-handle B-rep topology independent of curve and surface implementations | +| [`axiolid-brep`](./crates/axiolid-brep) | `representation.composed` | 0.3.2 | Exact analytic B-rep result contracts over neutral topology | +| [`axiolid-curve`](./crates/axiolid-curve) | `representation.atomic` | 0.3.2 | Exact, format-neutral curve values: lines, conics, B-splines, natural-equation and elevated curves. | +| [`axiolid-field`](./crates/axiolid-field) | `representation.sampled` | 0.3.1 | Frame-neutral layered spatial-field values and validated sampling configuration. | +| [`axiolid-fixtures`](./crates/axiolid-fixtures) | `representation.fixtures` | 0.3.1 | Shared adversarial and degenerate geometry fixtures with provenance | +| [`axiolid-linear`](./crates/axiolid-linear) | `representation.atomic` | 0.3.1 | Format-neutral line, ray, segment, and polyline representations | +| [`axiolid-mesh`](./crates/axiolid-mesh) | `representation.discrete` | 0.3.1 | Triangle meshes: the discrete representation every backend consumes. | +| [`axiolid-model`](./crates/axiolid-model) | `representation.graph` | 0.3.3 | Format-neutral geometry item tree. The currency between a format reader and a kernel. | +| [`axiolid-pointcloud`](./crates/axiolid-pointcloud) | `representation.discrete` | 0.3.1 | Portable point-sampled geometry values with optional per-point channels. | +| [`axiolid-primitive`](./crates/axiolid-primitive) | `representation.atomic` | 0.3.2 | Exact parametric primitive solids used as CSG leaves | +| [`axiolid-profile`](./crates/axiolid-profile) | `representation.region` | 0.3.1 | Exact 2D profile representations for sweeps and sectioned solids | +| [`axiolid-surface`](./crates/axiolid-surface) | `representation.atomic` | 0.3.2 | Exact, format-neutral surface values: planes, quadrics, tori, and B-spline patches. | +| [`axiolid-topology`](./crates/axiolid-topology) | `representation.topology` | 0.3.1 | Typed-handle B-rep topology independent of curve and surface implementations | ## Contracts | Crate | Role | Latest release | Description | | --- | --- | --- | --- | -| [`axiolid-contracts`](./crates/axiolid-contracts) | `contract.common` | 0.3.1 | Common backend-neutral execution and diagnostic contracts | -| [`axiolid-curve-evaluate-contract`](./crates/axiolid-curve-evaluate-contract) | `contract.operation` | 0.3.0 | Portable curve evaluation capability contract: point, tangent and oriented frame at a distance | -| [`axiolid-exact-compile-contract`](./crates/axiolid-exact-compile-contract) | `contract.operation` | 0.3.0 | Portable graph-to-exact-B-rep compilation contract | -| [`axiolid-guarantees`](./crates/axiolid-guarantees) | `contract.guarantees` | 0.3.0 | Certified-value and escalation vocabulary for geometry contracts | -| [`axiolid-mesh-boolean-contract`](./crates/axiolid-mesh-boolean-contract) | `contract.operation` | 0.3.0 | Portable mesh boolean request, result, evidence, and conformance contract | -| [`axiolid-mesh-compile-contract`](./crates/axiolid-mesh-compile-contract) | `contract.operation` | 0.3.1 | Portable graph-to-mesh compilation contract | -| [`axiolid-mesh-contracts`](./crates/axiolid-mesh-contracts) | `contract.common.mesh` | 0.3.0 | Shared mesh admissibility contracts | -| [`axiolid-mesh-section-contract`](./crates/axiolid-mesh-section-contract) | `contract.operation` | 0.3.0 | Portable mesh plane-section request, result, and evidence contract | -| [`axiolid-pointcloud-reconstruction-contract`](./crates/axiolid-pointcloud-reconstruction-contract) | `contract.operation` | 0.3.0 | Portable pointcloud-to-surface reconstruction contract, evidence, and conformance suite. | -| [`axiolid-tessellation-contract`](./crates/axiolid-tessellation-contract) | `contract.operation` | 0.3.0 | Curves, surfaces and B-reps to triangles under an explicit tolerance. | +| [`axiolid-contracts`](./crates/axiolid-contracts) | `contract.common` | 0.3.2 | Common backend-neutral execution and diagnostic contracts | +| [`axiolid-curve-evaluate-contract`](./crates/axiolid-curve-evaluate-contract) | `contract.operation` | 0.3.1 | Portable curve evaluation capability contract: point, tangent and oriented frame at a distance | +| [`axiolid-exact-compile-contract`](./crates/axiolid-exact-compile-contract) | `contract.operation` | 0.3.1 | Portable graph-to-exact-B-rep compilation contract | +| [`axiolid-guarantees`](./crates/axiolid-guarantees) | `contract.guarantees` | 0.3.1 | Certified-value and escalation vocabulary for geometry contracts | +| [`axiolid-mesh-boolean-contract`](./crates/axiolid-mesh-boolean-contract) | `contract.operation` | 0.3.1 | Portable mesh boolean request, result, evidence, and conformance contract | +| [`axiolid-mesh-compile-contract`](./crates/axiolid-mesh-compile-contract) | `contract.operation` | 0.3.2 | Portable graph-to-mesh compilation contract | +| [`axiolid-mesh-contracts`](./crates/axiolid-mesh-contracts) | `contract.common.mesh` | 0.3.1 | Shared mesh admissibility contracts | +| [`axiolid-mesh-section-contract`](./crates/axiolid-mesh-section-contract) | `contract.operation` | 0.3.1 | Portable mesh plane-section request, result, and evidence contract | +| [`axiolid-pointcloud-reconstruction-contract`](./crates/axiolid-pointcloud-reconstruction-contract) | `contract.operation` | 0.3.1 | Portable pointcloud-to-surface reconstruction contract, evidence, and conformance suite. | +| [`axiolid-tessellation-contract`](./crates/axiolid-tessellation-contract) | `contract.operation` | 0.3.1 | Curves, surfaces and B-reps to triangles under an explicit tolerance. | ## Algorithms | Crate | Role | Latest release | Description | | --- | --- | --- | --- | -| [`axiolid-arrangement`](./crates/axiolid-arrangement) | `algorithm.planar` | 0.3.0 | Editable planar subdivision with persistent half-edge topology | -| [`axiolid-brep-audit`](./crates/axiolid-brep-audit) | `algorithm.repair` | 0.3.1 | Geometric consistency auditing for exact boundary representations | -| [`axiolid-brep-boolean`](./crates/axiolid-brep-boolean) | `algorithm.construction` | 0.1.0 | General exact B-rep booleans over analytic faces (ADR 0075) | -| [`axiolid-collide`](./crates/axiolid-collide) | `algorithm.query` | 0.3.0 | Convex collision queries: separating axis, overlap, and separation distance | -| [`axiolid-construct`](./crates/axiolid-construct) | `algorithm.construction` | 0.3.5 | Solid generation: profiles, lofts, sweeps, revolutions and half-space clipping | -| [`axiolid-decimate`](./crates/axiolid-decimate) | `algorithm.discrete` | 0.3.0 | Edge-collapse mesh decimation with a bounded, reported deviation | -| [`axiolid-decompose`](./crates/axiolid-decompose) | `algorithm.discrete` | 0.3.0 | Convex decomposition of a solid, exact or approximate and always labelled | -| [`axiolid-evaluate`](./crates/axiolid-evaluate) | `algorithm.parametric` | 0.3.1 | Analytic and spline curve/surface evaluation, jets, and inversion | -| [`axiolid-exact`](./crates/axiolid-exact) | `algorithm.reference` | 0.1.1 | Filtered exact arithmetic: interval filter, dyadic big integers, a + b*sqrt(c) | -| [`axiolid-field-ops`](./crates/axiolid-field-ops) | `algorithm.sampled` | 0.3.0 | Sampling, morphology, clearance, and navigation over Axiolid layered fields. | -| [`axiolid-heal`](./crates/axiolid-heal) | `algorithm.repair` | 0.3.0 | Explicit diagnosis and opt-in repair contracts for dirty geometry | -| [`axiolid-inspect`](./crates/axiolid-inspect) | `algorithm.query` | 0.3.3 | Mesh queries: clearance, containment, ray casting, and genus | -| [`axiolid-levelset`](./crates/axiolid-levelset) | `algorithm.sampled` | 0.3.0 | Level-set extraction: a closed manifold mesh from a sampled scalar field | -| [`axiolid-linear-intersection`](./crates/axiolid-linear-intersection) | `algorithm.query` | 0.3.0 | Portable, deterministic intersections for linear geometry | -| [`axiolid-measure`](./crates/axiolid-measure) | `algorithm.query` | 0.3.2 | Metric properties: area, volume, centroid, moments of inertia. | -| [`axiolid-minkowski`](./crates/axiolid-minkowski) | `algorithm.discrete` | 0.3.0 | Minkowski sum and difference of planar-faced solids | -| [`axiolid-nurbs`](./crates/axiolid-nurbs) | `algorithm.parametric` | 0.3.3 | General polynomial and rational B-spline analysis and transformation algorithms | -| [`axiolid-overlay`](./crates/axiolid-overlay) | `algorithm.planar` | 0.3.5 | Deterministic validated planar overlay contract | -| [`axiolid-predicates`](./crates/axiolid-predicates) | `algorithm.reference` | 0.3.1 | Certified exact-arithmetic geometric predicates | -| [`axiolid-project`](./crates/axiolid-project) | `algorithm.planar` | 0.3.0 | Projection of triangle meshes onto a plane, and prism intersection | -| [`axiolid-ray-mesh`](./crates/axiolid-ray-mesh) | `algorithm.query` | not released | Narrow-phase ray/triangle-mesh nearest-hit intersection | -| [`axiolid-reference`](./crates/axiolid-reference) | `algorithm.reference` | 0.3.1 | Portable scalar reference implementation and certified predicates | -| [`axiolid-refine`](./crates/axiolid-refine) | `algorithm.discrete` | 0.3.0 | Mesh refinement and smoothing with bounded, reported deviation | -| [`axiolid-route`](./crates/axiolid-route) | `algorithm.planar` | 0.3.5 | Exact planar shortest path over a visibility graph | -| [`axiolid-spatial`](./crates/axiolid-spatial) | `algorithm.query` | 0.3.1 | Acceleration structures: BVH and uniform point grid, and their queries; barycentric and mean-value coordinates. | -| [`axiolid-triangulate`](./crates/axiolid-triangulate) | `algorithm.planar` | 0.3.1 | Constrained Delaunay triangulation with bounded quality refinement | +| [`axiolid-arrangement`](./crates/axiolid-arrangement) | `algorithm.planar` | 0.3.1 | Editable planar subdivision with persistent half-edge topology | +| [`axiolid-brep-audit`](./crates/axiolid-brep-audit) | `algorithm.repair` | 0.3.2 | Geometric consistency auditing for exact boundary representations | +| [`axiolid-brep-boolean`](./crates/axiolid-brep-boolean) | `algorithm.construction` | 0.1.1 | General exact B-rep booleans over analytic faces (ADR 0075) | +| [`axiolid-collide`](./crates/axiolid-collide) | `algorithm.query` | 0.3.1 | Convex collision queries: separating axis, overlap, and separation distance | +| [`axiolid-construct`](./crates/axiolid-construct) | `algorithm.construction` | 0.3.6 | Solid generation: profiles, lofts, sweeps, revolutions and half-space clipping | +| [`axiolid-decimate`](./crates/axiolid-decimate) | `algorithm.discrete` | 0.3.1 | Edge-collapse mesh decimation with a bounded, reported deviation | +| [`axiolid-decompose`](./crates/axiolid-decompose) | `algorithm.discrete` | 0.3.1 | Convex decomposition of a solid, exact or approximate and always labelled | +| [`axiolid-evaluate`](./crates/axiolid-evaluate) | `algorithm.parametric` | 0.3.2 | Analytic and spline curve/surface evaluation, jets, and inversion | +| [`axiolid-exact`](./crates/axiolid-exact) | `algorithm.reference` | 0.1.2 | Filtered exact arithmetic: interval filter, dyadic big integers, a + b*sqrt(c) | +| [`axiolid-field-ops`](./crates/axiolid-field-ops) | `algorithm.sampled` | 0.3.1 | Sampling, morphology, clearance, and navigation over Axiolid layered fields. | +| [`axiolid-heal`](./crates/axiolid-heal) | `algorithm.repair` | 0.3.1 | Explicit diagnosis and opt-in repair contracts for dirty geometry | +| [`axiolid-inspect`](./crates/axiolid-inspect) | `algorithm.query` | 0.3.4 | Mesh queries: clearance, containment, ray casting, and genus | +| [`axiolid-levelset`](./crates/axiolid-levelset) | `algorithm.sampled` | 0.3.1 | Level-set extraction: a closed manifold mesh from a sampled scalar field | +| [`axiolid-linear-intersection`](./crates/axiolid-linear-intersection) | `algorithm.query` | 0.3.1 | Portable, deterministic intersections for linear geometry | +| [`axiolid-measure`](./crates/axiolid-measure) | `algorithm.query` | 0.3.3 | Metric properties: area, volume, centroid, moments of inertia. | +| [`axiolid-minkowski`](./crates/axiolid-minkowski) | `algorithm.discrete` | 0.3.1 | Minkowski sum and difference of planar-faced solids | +| [`axiolid-nurbs`](./crates/axiolid-nurbs) | `algorithm.parametric` | 0.3.4 | General polynomial and rational B-spline analysis and transformation algorithms | +| [`axiolid-overlay`](./crates/axiolid-overlay) | `algorithm.planar` | 0.3.6 | Deterministic validated planar overlay contract | +| [`axiolid-predicates`](./crates/axiolid-predicates) | `algorithm.reference` | 0.3.2 | Certified exact-arithmetic geometric predicates | +| [`axiolid-project`](./crates/axiolid-project) | `algorithm.planar` | 0.3.1 | Projection of triangle meshes onto a plane, and prism intersection | +| [`axiolid-ray-mesh`](./crates/axiolid-ray-mesh) | `algorithm.query` | 0.4.0 | Narrow-phase ray/triangle-mesh nearest-hit intersection | +| [`axiolid-reference`](./crates/axiolid-reference) | `algorithm.reference` | 0.3.2 | Portable scalar reference implementation and certified predicates | +| [`axiolid-refine`](./crates/axiolid-refine) | `algorithm.discrete` | 0.3.1 | Mesh refinement and smoothing with bounded, reported deviation | +| [`axiolid-route`](./crates/axiolid-route) | `algorithm.planar` | 0.3.6 | Exact planar shortest path over a visibility graph | +| [`axiolid-spatial`](./crates/axiolid-spatial) | `algorithm.query` | 0.3.2 | Acceleration structures: BVH and uniform point grid, and their queries; barycentric and mean-value coordinates. | +| [`axiolid-triangulate`](./crates/axiolid-triangulate) | `algorithm.planar` | 0.3.2 | Constrained Delaunay triangulation with bounded quality refinement | ## Providers | Crate | Role | Latest release | Description | | --- | --- | --- | --- | -| [`axiolid-mesh-boolean-boolmesh`](./crates/axiolid-mesh-boolean-boolmesh) | `provider.mesh` | 0.3.1 | boolmesh-backed MeshBoolean provider | -| [`axiolid-pointcloud-reconstruction-sdf`](./crates/axiolid-pointcloud-reconstruction-sdf) | `provider.pointcloud` | 0.3.0 | Reference pointcloud reconstruction: signed-distance field from samples, extracted as a level set. | +| [`axiolid-mesh-boolean-boolmesh`](./crates/axiolid-mesh-boolean-boolmesh) | `provider.mesh` | 0.3.2 | boolmesh-backed MeshBoolean provider | +| [`axiolid-pointcloud-reconstruction-sdf`](./crates/axiolid-pointcloud-reconstruction-sdf) | `provider.pointcloud` | 0.3.1 | Reference pointcloud reconstruction: signed-distance field from samples, extracted as a level set. | ## Execution | Crate | Role | Latest release | Description | | --- | --- | --- | --- | -| [`axiolid-backend-cpu`](./crates/axiolid-backend-cpu) | `execution.context` | 0.3.0 | Portable and runtime-optimized CPU execution context for Axiolid geometry | -| [`axiolid-backend-gpu`](./crates/axiolid-backend-gpu) | `execution.context` | 0.3.0 | GPU executor adapter contract for batched Axiolid geometry | -| [`axiolid-dispatch`](./crates/axiolid-dispatch) | `execution.dispatch` | 0.3.0 | Provider registration, ordering, fallback, and execution policy | -| [`axiolid-mesh-compile`](./crates/axiolid-mesh-compile) | `execution.orchestration` | 0.3.5 | Scalar reference MeshCompiler: profiles, extrusion, transforms, boolean dispatch. | +| [`axiolid-backend-cpu`](./crates/axiolid-backend-cpu) | `execution.context` | 0.3.1 | Portable and runtime-optimized CPU execution context for Axiolid geometry | +| [`axiolid-backend-gpu`](./crates/axiolid-backend-gpu) | `execution.context` | 0.3.1 | GPU executor adapter contract for batched Axiolid geometry | +| [`axiolid-dispatch`](./crates/axiolid-dispatch) | `execution.dispatch` | 0.3.1 | Provider registration, ordering, fallback, and execution policy | +| [`axiolid-mesh-compile`](./crates/axiolid-mesh-compile) | `execution.orchestration` | 0.3.6 | Scalar reference MeshCompiler: profiles, extrusion, transforms, boolean dispatch. | ## Facade | Crate | Role | Latest release | Description | | --- | --- | --- | --- | -| [`axiolid`](./crates/axiolid) | `facade` | not released | Feature-gated facade for Axiolid's format-neutral geometry stack | -| [`axiolid-capi`](./crates/axiolid-capi) | `facade.native-c` | 0.3.0 | Versioned, memory-safe C ABI for the Axiolid application facade. | +| [`axiolid`](./crates/axiolid) | `facade` | 0.4.0 | Feature-gated facade for Axiolid's format-neutral geometry stack | +| [`axiolid-capi`](./crates/axiolid-capi) | `facade.native-c` | 0.3.1 | Versioned, memory-safe C ABI for the Axiolid application facade. |