Releases: polydera/trueform
Releases · polydera/trueform
v0.5.0
Mesh Registration
- ICP alignment (
fit_icp_alignment): Iterative Closest Point registration with point-to-point and point-to-plane modes, configurable convergence criteria, and correct transform composition for all source/target combinations (#9) - 40× faster than VTK, 93× faster than libigl at 1M polygons - TrueForm's random subsampling maintains near-constant time regardless of mesh size
Mesh Processing
- Taubin smoothing (
taubin_smoothed): λ-μ smoothing for mesh fairing without shrinkage - Embedded intersection curves (
embedded_intersection_curves): Extract mesh-mesh intersection curves embedded in the first mesh, useful for cutting guides and contact visualization (#8)
Interactive Examples
- Mesh registration demo: Drag to misalign, click to align with OBB + ICP pipeline
Full API Support
- C++, Python, and VTK bindings for all new features
- Comprehensive documentation and benchmarks
v0.4.0
v0.4.0: point-to-plane ICP, topology analysis, blender tools Point-to-plane ICP with parallel TSQR least squares solver, converging 2-3x faster than point-to-point on smooth surfaces. Tag normals on the target to enable: `target | tf::tag(tree) | tf::tag_normals(normals)`. Topology mesh analysis: is_closed, is_manifold, is_non_manifold, is_open with parallel edge traversal. Python bindings included. Blender plugin tools for boolean operations and curve extraction with undo support and proper mesh conversion utilities. Also: mod_tree benchmarks, min/max_edge_length, parallelized concatenated, VTK double support, laplacian_smoothed python bindings.
v0.3.0
v0.3.0: integrate mod_tree for incremental spatial updates Add mod_tree to public API with full support across all spatial operations. mod_tree enables O(delta) updates instead of O(n) rebuilds for interactive applications with frequent local geometry changes. New features: - aabb_mod_tree, obb_mod_tree, obbrss_mod_tree convenience aliases - tree_index_map for managing ID remapping during updates - All spatial queries (distance, intersects, neighbor_search, ray_cast, gather_ids, search, search_self) work identically with tree and mod_tree - VTK module now uses aabb_mod_tree as its default spatial structure Documentation: - Comprehensive mod_tree usage guide with update patterns - tree_index_map API reference Examples: - Free-form smoothing: interactive mesh smoothing with incremental tree updates - VTK laplacian_smoothing: demonstrates mod_tree integration with VTK Tests: - Systematic mod_tree query tests covering dirty/non-dirty region results
v0.2.0
trueform v0.2.0
Real-time geometric processing. Easy to use, robust on real-world data. Try it live.
Spatial queries, mesh booleans, isocontours, topology — at interactive speed on million-polygon meshes. Robust to non-manifold flaps, inconsistent winding, and pipeline artifacts. C++ header-only; Python with NumPy in, NumPy out.
Benchmarks — vs CGAL, VTK, libigl, Coal, FCL, nanoflann.
Documentation — tutorials, examples, and more.
Installation
pip install trueform
python -m trueform.conan createv0.1.1
v0.1.1: cross-section examples, isobands improvements, build fixes cross-section examples - new live example with WASM, VTK C++, and Python VTK implementations - extracts isocontours and triangulates into filled polygons - interactive plane movement with scroll isobands improvements - make_isobands with return_curves now only returns curves for selected bands instead of all intersection edges - fixed lifetime bug in segments reindexed() where block_indirect_range held iterators to temporaries from a lazy mapped_range - examples updated to match cross-section style: single viewport, semi-transparent mesh, teal colors, fixed plane through centroid triangulation - ear cutter auto-detects and corrects clockwise polygons - added 2D and clockwise polygon tests build - sdist now included in PyPI publish workflow - ninja required for sdist builds
v0.1.0
Fix Windows CI and Blender packaging: use py launcher, extract wheel …