Releases: adobe/lagrange
Releases Β· adobe/lagrange
Lagrange Release v6.29.0
Infrastructure
- ποΈ GCC 13 compilation fix
- π Update ImGui
- ποΈ Various warning fixes
Core module
- π¨ Add
SurfaceMesh
support forremove_degenerate_facets
andcompute_mesh_covariance
- π Add python binding for
orient_outward
andthicken_and_close_mesh
Poisson module
- π¨ Support colored point cloud
Lagrange Release v6.28.0
Miscellaneous
- π Updated nanobind to 2.2.0
- π [IO] Fix indexing issue in FBX attribute loading
Python Bindings
- π Python nightly debug wheels (
pip install lagrange-nightly-debug -i <index>
) - ποΈ Python 3.13 support
- ποΈ Fix Assimp symbol issue with debug wheels
- ποΈ Updated cibuildwheel in GitHub Actions
- π¨ Bindings for
SurfaceMesh::stripped_copy()
asmesh.clone(strip=True)
- π¨ Added missing binding for
select_facets_in_frustum
.
Core Module
- π¨ Add option to reorient facets when applying negative transforms in
transform_mesh()
- π¨ Added SurfaceMesh support and Python bindings to the following functions:
select_facets_by_normal_similarity
split_long_edges
compute_pointcloud_pca
orient_outward
Lagrange Release v6.27.0
Python Module
- πUpdated numpy to
>=1.25
- πRemoved colorama dependency from build requirements
Core Module
- β¨Added
SurfaceMesh::get_counterclockwise_corner_around_vertex
andSurfaceMesh::get_clockwise_corner_around_vertex
- π¨Improved performance of
is_vertex_manifold
- πFixed race condition in
resolve_nonmanifoldness
- β¨Added optional FPE (floating point exception) support
- β¨Added SurfaceMesh support to
marching_triangles
- β¨Added
isoline.h
header withtrim_by_isoline
andextract_isoline
Poisson Module
- π¨Faster multi-threaded mesh generation
- πUpdated PoissonRecon dependency
Polyscope Viewer
- β¨Added polyscope mesh viewer.
mesh_viewer
executable in the core module examples.
Lagrange Release v6.26.0
Infrastructure
- π Update CMake sanitizer script
- π Fix Xcode linker warning
Core Module
- π¨ Add SurfaceMesh support for
resolve_nonmanifoldness
resolve_vertex_nonmanifoldness
remove_short_edges
thicken_and_close
- π¨ Support integer attributes in
weld_indexed_attribute
- π Fix tangent computation for non-manifold meshes
- π¨ Spatially-coherent mesh reordering with
reorder_mesh
(improves cache-friendliness)
IO Module
- π¨ Enable FBX support in loading scene.
- π¨ Add support for saving/loading scene to/from stream in C++
- π Add python binding
- πΒ Support arbitrary vertex scalar type when loading ply format
Poisson Module π
- β¨ Poisson Surface Reconstruction (new module!)
- Exposed options:
- Interpolation weight
- Confidence weight
- Dirichlet boundary
- Color interpolation
- Export sampling density
Volume Module
- π¨ Add option to generate normal in
lagrange::volume::volume_to_mesh
andlagrange::volume::field_to_mesh_marching_cube
Python Module
- π Update nanobind to v2.1.0
- π Fix stubgen for submodules and return types
- π Fix mypy warnings
- π Fix python doc to avoid misinterpreting β@β
- π Fix memory bug in python binding of
SurfaceMesh.create_attribute
- π¨ Refactor and add literal support for
SurfaceMesh.create_attribute
- πΒ Add
install.strip
option topyproject.toml
Lagrange Release v6.25.0
Infrastructure
- ποΈ Cleaned up MSVC folders
Core Module
- π¨ Added metadata helper methods to SurfaceMesh
auto id = mesh.create_metadata("metadata", "something");
mesh.get_metadata(id) == "something";
mesh.set_metadata(id, "ζ±θ₯Ώ");
- π And Python binding!
mesh.metadata["author"] = "πΆ"
assert mesh.metadata["author"] == "πΆ"
UI Module
- π Fixed if-else event emitter logic due to EnTT update
Lagrange Release v6.24.0
Infrastructure
- π Updated libigl
- π Updated OpenSubdiv from 3.4.4 to 3.6.0
Core Module
remove_duplicate_vertices
: Addedboundary_only option
compute_vertex_valence
: Addedinduced_by_attribute
option- Added public-facing
find_matching_attribute(s)
functions - Topology/orientation:
- Added
is_oriented
helper function to check for consistent winding edges - Added
compute_vertex_is_manifold
andcompute_edge_is_oriented
to compute per-element topology/orientation information
- Added
weld_indexed_attribute
: Added epsilon tolerance optionsio::LoadOptions
: Addedstitch_vertices
option (e.g. when loading glTF)
Python Module
- Improved python stub generation
Subdivision Module
- New
EdgeAdaptive
refinement option - Added
max_edge_length
option to control target edge length - Added a python script example and revamped C++ cli example
- Properly set sharp edge and sharp vertices in example programs
Lagrange Release v6.23.0
Infrastructure
- π Update Spdlog to 1.14.1
- π Update OpenSubdiv to 3.6.0
- π Update Nanobind to 2.0.0
- π Update Tracy to 0.10
- π Enable Blosc/Zlib with OpenVDB (toplevel builds)
- π Wasm compilation fixes
Python Module
- π Update Nanobind to 2.0 and stub support
- π Support for lagrange.version
- π Set line-length to 100 for ruff/black
- π¨ Delete attribute by id
Lagrange Release v6.22.0
Infrastructure
- ποΈ Escape space in paths when copying dll with CMake
- ποΈ Download CPM with CMake at configuration time.
- ποΈ Nightly build fixes
- π Update EnTT to 3.13.2
- π Update Nasoq to avoid compiler and address sanitizer warnings
Core module
- π¨
SurfaceMesh
support forselect_facets_in_frustum
π - π¨ Add edge attribute support in
remap_vertices
IO module
- π Avoid PLY mesh loading failure due to narrowing type cast
- π Fix bug related to facet and corner normal when saving in OBJ format
- π¨Β Expose additional mesh load options in Python
Scene module
- π¨ Add writable reference in simple scene in scene module
Python module
- π Add texture extraction script
Lagrange Release v6.21.0
Infrastructure
- ποΈ CMake: Targets use
FILE_SET
to install header files - ποΈ CMake + MetaBuild: Export symbols when compiling as dll
- ποΈ Support arm64 macOS in open-source CI
- π Fix for Apple clang 15.0.0
Dependencies
- π Updated scikit-build-core to v0.8.2 (for python bindings)
- π Updated tinygltf to v2.8.21
- π Updated imgui to v1.90.4
Core Module
- π¨ Updated
unify_index_buffer
to retain isolated vertices - π¨ Added static asserts to enforce correct SurfaceMesh and Attribute typing
- β¨ Added
cast_attribute
- β¨ Added
compute_seam_edges
- π¨
mesh_subdivision
example uses this to improve mesh subdivision
- π¨
- β¨ Added
compute_greedy_coloring
Python bindings
- π Refactor
create_attribute
python binding - π Added
cast_attribute
python binding
Lagrange scene and IO
- π Allow obj loader to load mesh without facets
- π¨ Added
scene::add<T>(β¦)
methods - π¨ Changed image datastructure
- π Improved scene python bindings
- π Added python bindings for
scene::Value
Lagrange python scripts
- π Lagrange python package now ships with commonly used scripts:
meshstat.py
Check basic mesh statistics
Lagrange Release v6.20.1
Minor release to upload arm64 macOS wheels for Lagrange's Python bindings.