Lagrange Release v6.39.0
Infrastructure
- ποΈ Compilation fixes for Xcode 26
- ποΈ Fix CMake sanitizer setup for MSVC
- π Update earcut.hpp dependency to
f36ced7 - π Update cpptrace to 1.0.4
- π π Update PoissonRecon dependency to fix a memory allocation bug
Core Module
- π¨ Add overload to
SurfaceMesh::delete_attributeto accept id as input
IO Module
- π Throw error when saving float/double texture to glTF file
- π Add explicit warning when loading glTF without explicit stitching behavior
- π¨ Add new
LoadOptions::quietto silence IO related log messages - π¨ Update STL mesh load to not stitch vertices by default for consistency with other formats
Solver Module
- β¨ Add support for Spectra-based sparse eigenvalue solver
[generalized_]selfadjoint_eigen_[largest|smallest]()in C++lagrange.solver.eigsh()in Python (follows a similar API toscipy.linalg.eigsh())
Texproc Module
- π Fix out-of-bound access in rasterization code
- π Add checks to ensure number of channels consistency
- π Update
texture_from_multiview.pyto accept list of render images + ensure output uses .exr - π Fix vertical flip in
geodesic_dilationcode introduced in v6.38.0 - π Fix image transpose issue in Python bindings
- π Add
geodesic_dilation.pydemo
Geodesic Module
- β¨ New geodesic module to compute single-source and point-to-point geodesic distance
- Added
GeodesicEngine[...]class for repeated computation - Choice of algorithm between DGPC, MMP and Heat
- Two methods available:
single_source_geodesic()andpoint_to_point_geodesic()
- Added
Polyddg Module
β¨ New polyddg module that implements most of the operators from this paper:
De Goes, F., Butts, A., & Desbrun, M. (2020).
Discrete differential operators on polygonal meshes.
ACM Transactions on Graphics (TOG), 39(4), 110-1.
Documentation
- π Docstring updates for scene module
- π Update
voxelize_meshexample code to read/write .vdb files - π Fixed typos and grammar in comments with Copilot
Python Bindings
- π Updated scikit-build core to 0.11.6
- π Updated sphinx and autoapi
- ποΈ Set upper-bound to Python <3.14 due to nanobind uncertainty
- π Fixed generated Sphinx documentation due to refactored stub files
Full Changelog: v6.38.0...v6.39.0