tag:github.com,2008:https://github.com/polydera/trueform/releasesRelease notes from trueform2026-02-07T17:40:01Ztag:github.com,2008:Repository/1137652741/v0.5.02026-02-07T19:35:09Zv0.5.0<h3>Mesh Registration</h3>
<ul>
<li><strong>ICP alignment</strong> (<code>fit_icp_alignment</code>): 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 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3910028780" data-permission-text="Title is private" data-url="https://github.com/polydera/trueform/issues/9" data-hovercard-type="issue" data-hovercard-url="/polydera/trueform/issues/9/hovercard" href="https://github.com/polydera/trueform/issues/9">#9</a>)</li>
<li><strong>40× faster than VTK, 93× faster than libigl</strong> at 1M polygons - TrueForm's random subsampling maintains near-constant time regardless of mesh size</li>
</ul>
<h3>Mesh Processing</h3>
<ul>
<li><strong>Taubin smoothing</strong> (<code>taubin_smoothed</code>): λ-μ smoothing for mesh fairing without shrinkage</li>
<li><strong>Embedded intersection curves</strong> (<code>embedded_intersection_curves</code>): Extract mesh-mesh intersection curves embedded in the first mesh, useful for cutting guides and contact visualization (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3909910520" data-permission-text="Title is private" data-url="https://github.com/polydera/trueform/issues/8" data-hovercard-type="issue" data-hovercard-url="/polydera/trueform/issues/8/hovercard" href="https://github.com/polydera/trueform/issues/8">#8</a>)</li>
</ul>
<h3>Interactive Examples</h3>
<ul>
<li><strong>Mesh registration demo</strong>: Drag to misalign, click to align with OBB + ICP pipeline</li>
</ul>
<h3>Full API Support</h3>
<ul>
<li>C++, Python, and VTK bindings for all new features</li>
<li>Comprehensive documentation and benchmarks</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/1137652741/v0.4.02026-02-03T16:45:50Zv0.4.0<p>v0.4.0: point-to-plane ICP, topology analysis, blender tools</p>
<p>Point-to-plane ICP with parallel TSQR least squares solver, converging
<br />2-3x faster than point-to-point on smooth surfaces. Tag normals on the
<br />target to enable: `target | tf::tag(tree) | tf::tag_normals(normals)`.</p>
<p>Topology mesh analysis: is_closed, is_manifold, is_non_manifold, is_open
<br />with parallel edge traversal. Python bindings included.</p>
<p>Blender plugin tools for boolean operations and curve extraction with
<br />undo support and proper mesh conversion utilities.</p>
<p>Also: mod_tree benchmarks, min/max_edge_length, parallelized concatenated,
<br />VTK double support, laplacian_smoothed python bindings.</p>github-actions[bot]tag:github.com,2008:Repository/1137652741/v0.3.02026-01-30T08:02:51Zv0.3.0<p>v0.3.0: integrate mod_tree for incremental spatial updates</p>
<p>Add mod_tree to public API with full support across all spatial operations.
<br />mod_tree enables O(delta) updates instead of O(n) rebuilds for interactive
<br />applications with frequent local geometry changes.</p>
<p>New features:
<br />- aabb_mod_tree, obb_mod_tree, obbrss_mod_tree convenience aliases
<br />- tree_index_map for managing ID remapping during updates
<br />- All spatial queries (distance, intersects, neighbor_search, ray_cast,
<br /> gather_ids, search, search_self) work identically with tree and mod_tree
<br />- VTK module now uses aabb_mod_tree as its default spatial structure</p>
<p>Documentation:
<br />- Comprehensive mod_tree usage guide with update patterns
<br />- tree_index_map API reference</p>
<p>Examples:
<br />- Free-form smoothing: interactive mesh smoothing with incremental tree updates
<br />- VTK laplacian_smoothing: demonstrates mod_tree integration with VTK</p>
<p>Tests:
<br />- Systematic mod_tree query tests covering dirty/non-dirty region results</p>github-actions[bot]tag:github.com,2008:Repository/1137652741/v0.2.02026-01-28T07:02:12Zv0.2.0<h2>trueform v0.2.0</h2>
<p>Real-time geometric processing. Easy to use, robust on real-world data. <strong><a href="https://trueform.polydera.com/live-examples/boolean" rel="nofollow">Try it live</a></strong>.</p>
<p>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.</p>
<p><strong><a href="https://trueform.polydera.com/cpp/benchmarks" rel="nofollow">Benchmarks</a></strong> — vs CGAL, VTK, libigl, Coal, FCL, nanoflann.</p>
<p><strong><a href="https://trueform.polydera.com" rel="nofollow">Documentation</a></strong> — tutorials, examples, and more.</p>
<h3>Installation</h3>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="pip install trueform
python -m trueform.conan create"><pre>pip install trueform
python -m trueform.conan create</pre></div>github-actions[bot]tag:github.com,2008:Repository/1137652741/v0.1.12026-01-27T09:05:25Zv0.1.1<p>v0.1.1: cross-section examples, isobands improvements, build fixes</p>
<p>cross-section examples
<br />- new live example with WASM, VTK C++, and Python VTK implementations
<br />- extracts isocontours and triangulates into filled polygons
<br />- interactive plane movement with scroll</p>
<p>isobands improvements
<br />- make_isobands with return_curves now only returns curves for selected
<br /> bands instead of all intersection edges
<br />- fixed lifetime bug in segments reindexed() where block_indirect_range
<br /> held iterators to temporaries from a lazy mapped_range
<br />- examples updated to match cross-section style: single viewport,
<br /> semi-transparent mesh, teal colors, fixed plane through centroid</p>
<p>triangulation
<br />- ear cutter auto-detects and corrects clockwise polygons
<br />- added 2D and clockwise polygon tests</p>
<p>build
<br />- sdist now included in PyPI publish workflow
<br />- ninja required for sdist builds</p>github-actions[bot]tag:github.com,2008:Repository/1137652741/v0.1.02026-01-26T23:32:39Zv0.1.0<p>Fix Windows CI and Blender packaging: use py launcher, extract wheel …</p>
<p>…directly</p>github-actions[bot]