Skip to content

Lagrange Release v6.43.0

Choose a tag to compare

@HasKha HasKha released this 31 Mar 17:04
· 5 commits to main since this release
Immutable release. Only release title and notes can be modified.
771d858

Dependencies

  • πŸ“Œ Add support for Eigen 5
  • πŸ“Œ Update vcpkg baseline to move to OpenVDB 13

New Module: serialization2

  • ✨ New serialization2 module for SurfaceMesh, SimpleScene, and Scene
    • Uses cista for zero-copy deserialization and zstd for optional multi-threaded compression
    • Does not require the full dependency set of lagrange::io
    • API: serialize_mesh / deserialize_mesh / save_mesh / load_mesh (and scene equivalents)
    • Suggested file extensions: .lgm (SurfaceMesh) and .lgs (Scene / SimpleScene)
    • Cross-type deserialization via allow_scene_conversion and allow_type_cast

Core Module

  • ✨ Add mesh_bbox() utility to replace unsafe Eigen 5 iteration patterns
  • ✨ Add compute_facet_facet_adjacency() β€” supports non-manifold meshes; returns a compressed CSR AdjacencyList; non-manifold edges (3+ incident facets) produce complete clique connections
  • ✨ Add opt-in corner attribute support to uv_mesh_ref and uv_mesh_view
  • πŸ› Avoid welding invalid values in weld_indexed_attribute

Scene and IO Modules

  • πŸ› Map missing OBJ indices (normals, UVs) to invalid attribute values instead of crashing
  • πŸ› Fix WASM/Emscripten test failure by forcing embedded images for binary glTF

BVH Module

  • ✨ Add compute_uv_overlap for detecting overlapping triangles in UV space

Raycasting Module

  • ✨ Add compute_local_feature_size

Polyddg Module

  • ✨ Helmholtz-Hodge decomposition for 1-forms on polygonal meshes
    • Decomposes into exact (gradient), co-exact (divergence-free), and harmonic parts
    • VEM-stabilized inner products for consistent differential operators
    • Saddle-point solver for the co-exact part; dim(harmonic) = 2g for genus-g surfaces
  • ✨ Hodge decomposition for vertex vector fields with n-rosy support

Subdivision Module

  • ✨ Add adaptive tessellation based on chordal deviation: new max_chordal_deviation option, mutually exclusive with max_edge_length
  • πŸ› Fix subdivide_mesh with zero subdivision levels

Texproc Module

  • ✨ Precise alpha carving with threshold interpolation
  • πŸ› Fix ambiguous marching squares case and add bilinear alpha sampling

Python

  • πŸ› Allow extract_submesh to accept list or tensor for selected_facets
  • πŸ› Fix Python submodule imports
  • 🎨 Move OpenVDB initialization to the volume module

Miscellaneous

  • πŸ› [polyscope] Fix registration of 4-channel vector/color attributes
  • 🎨 [polyscope] Use categorical data type for integer scalar attributes
  • πŸ› [volume] Add support for meshes with >4-vertex facets in voxelization