Appearance
Changelog
Changelog
All notable changes to this project are documented here. Versions follow Semantic Versioning. Format follows Keep a Changelog.
[1.2.11] — 2026-05-13
Added
fossil: Implement SDF functionality with AABB tree ray query and test coverage
sdf: Implement Laplacian smoothing for SDF values with test coverage
sdf,surface: Step 3 — GMM clustering + segment_sdf TBP (issue #18 §1.9)
[1.2.10] — 2026-05-13
Added
fossil: Implement ray query functionality with test coverage
fossil: Implement AABB tree ray query with test coverage
ray-query,surface: Step 3 — any-hit early-exit (issue #18 §2.5)
Fixed
- fossil_decimate: Prevent out-of-bounds heap access with nested guards
[1.2.9] — 2026-05-13
Added
remesh: Isotropic remeshing foundation, steps 1-4 (issue #18 §1.7)
remesh: Step 5 — edge flip pass for valence balancing (issue #18 §1.7)
remesh: Step 6 — relax + projection (issue #18 §1.7)
remesh,surface: Step 7 — feature lock + surface TBP (issue #18 §1.7)
[1.2.8] — 2026-05-13
Added
- decimate,surface: QEM mesh decimation (issue #18 §1.3)
[1.2.7] — 2026-05-13
Added
- mc,surface: Marching cubes isosurface extraction (issue #18 §1.5)
[1.2.6] — 2026-05-13
Added
predicates,arrangement: Boolean foundation (issue #18 §1.1 stage 1)
dt: 2D Delaunay triangulation, Phase 1 (issue #18 §1.1 stage 2)
dt: Constrained Delaunay triangulation, Phase 2 (issue #18 §1.1 stage 2)
boolean: Mesh-mesh booleans, BOOL_DIFFERENCE MVP (issue #18 §1.1)
facet: Clip tri-tri intersection segments to both triangles (issue #18 §1.1)
boolean: Coplanar-aware shared-boundary tagging (issue #18 §1.1)
boolean: Wire UNION/INTERSECT/SYMDIFF + complete §1.1 (issue #18 §1.1)
[1.2.5] — 2026-05-13
Added
- surface: Add self-intersection detection (issue #18 §1.2)
[1.2.4] — 2026-05-12
Added
- surface: Add generalized / fast winding number (issue #18 §1.4)
Documentation
- guide: Add API companion guide with CI-verified snippets
[1.2.3] — 2026-05-12
Added
- facet,surface: Expose facet%area() and surface%get_area() (#7)
[1.2.2] — 2026-05-12
Added
- rotate: Add optional
centerargument for body-frame rotation (#6)
[1.2.1] — 2026-05-12
Added
- lib: Implement vertex pool object for fossil surface handling
Changed
- surface: Make vertex pool the source of truth for coincidence (#5)
Fixed
- clip: Use full SAT for triangle-AABB overlap (#1)
[1.2.0] — 2026-05-12
Added
distance: Correct AABB traversal and add pseudo-normal sign
surface: Implement connectivity symmetry checks for fossil surfaces
surface: Expand sanitization pipeline and add validity predicates
aabb: Auto-tune octree refinement depth from facet count
aabb: Scaffold tree-kind selector for upcoming SAH BVH
aabb: Implement SAH BVH builder
aabb: Make SAH BVH queryable via tree-kind dispatch
Documentation
- Refresh user-facing docs after the signed-distance arc
Fixed
block: Avoid associate alias as allocate bound; wrap long lines
surface: Orient sanitize_normals outward, populate pseudo-normals ⚠ BREAKING CHANGE
Performance
- aabb: Switch default tree to SAH BVH
[1.1.0] — 2026-05-11
Added
api: Add optional status argument to mutating procedures (audit #14 S1)
api: Add optional status argument to mutating procedures (audit #14 S1)
Changed
aabb-tree: Encapsulate aabb_tree_object state via accessors
surface,file: Encapsulate components and remove stale API docs ⚠ BREAKING CHANGE
facet: Collapse edge fields and replace edge_dir with integer ⚠ BREAKING CHANGE
surface: Remove unimplemented compute_mesh_distance ⚠ BREAKING CHANGE
api: Replace sign_algorithm string with integer enum ⚠ BREAKING CHANGE
surface: Encapsulate surface fully, delete file_stl_object ⚠ BREAKING CHANGE
Fixed
api: Define intent(out) and stop on invalid enums ⚠ BREAKING CHANGE
api: Guard centroid, strict ascii prefix, add finalisers
io: Size-based STL probe and EOF/iostat guards on facet reads
surface: Replace order-dependent vertex merge with union-find
Drop custom assignment overloads, rely on intrinsic assignment
surface: Error stop on ambiguous translate/resize arguments
api,surface: Rename analize, warn on residual disconnected facets after sanitize ⚠ BREAKING CHANGE
[1.0.12] — 2026-05-09
Documentation
Fix src_dir path and update package dependencies
cliff: Remove unused github remote section from cliff.toml
Fixed
fobos: Correct gcov_analyzer flag syntax in makecoverage-analysis rule
scaffold: Update release script to handle fobos directory changes
scaffold: Improve trunk branch detection in release script
scaffold: Handle missing trunk branch detection in release script
scaffold: Improve git fetch error handling in release script
ci
- Modernize CI/CD workflows and actions ⚠ BREAKING CHANGE
[1.0.7] — 2026-02-21
Added
- Add full VitePress guide and modernise project tooling
[1.0.6] — 2024-09-24
Fixed
- update: Update third party submodules