Skip to content

Lagrange Release 6.46.0

Latest

Choose a tag to compare

@HasKha HasKha released this 22 Jun 15:56
Immutable release. Only release title and notes can be modified.
cd1321c

Infrastructure

  • πŸ“Œ Update imgui (1.91.5 β†’ 1.92.8), polyscope, and imguizmo, and add implot: fixes the polyscope Isosurface mode.
  • πŸ—οΈ Add Windows ARM64 (MSVC) build support.

Core Module

  • 🎨 Add split_obtuse_triangles mesh cleanup: iteratively splits triangles past an angle threshold at the foot of the perpendicular; Python binding.
  • 🎨 Preserve attributes in isoline ops and add insert_isoline: attributes are interpolated through trim/extract, and insert_isoline embeds the isoline as a chain of interior edges.
  • 🎨 Improve meshstat: facet-type counts, Euler characteristic, and UV attribute cleanup.
  • 🎨 Add vertex-connectivity support to compute_facet_facet_adjacency.

UV & Atlas

  • ✨ Add the lagrange::xatlas module: wraps jpcy/xatlas (MIT) for UV unwrapping and atlas repacking; provides unwrap/repack for mesh and scene, a reusable AtlasEngine, multi-atlas (UDIM) policies, and Python bindings.
  • 🎨 Add an include_boundary_edges option to compute_seam_edges: treat boundary edges as seams in one pass; Python and JS bindings.

Sampling Module

  • ✨ New sampling module: random_sample_uniform and random_sample_blue_noise.

Bug Fixes

  • πŸ› Fix a mesh_viewer crash for meshes with edge attributes: install a polyscope edge permutation before registering edge-valued quantities.
  • πŸ› Fix sanitizer-detected bugs in polyddg and unflip_uv_charts: eager-evaluate an Eigen expression (use-after-scope) and use atomic writes for a TSan data race on shared UV vertices.
  • πŸ› Fix a dangling external texture reference in embedded glTF export: drop the source uri when embedding so .glb files are self-contained.
  • πŸ› Remap invalid indexed-attribute indices to a dummy sentinel value to avoid a weld_indexed_attribute crash.
  • πŸ› Avoid a segfault in load_fbx when the file does not exist (throw an exception instead).

Python & Bindings

  • 🐍 Expose TransformOptions::reorient in the scene and transform_mesh Python bindings.
  • 🐍 Add Python bindings for the winding number module (FastWindingNumber).
  • 🐍 Add Python bindings for RayCaster cast, closest_point, and occluded: single and batched queries with automatic SIMD dispatch.