Skip to content

Lagrange Release v6.37.0

Choose a tag to compare

@HasKha HasKha released this 29 Sep 19:04
· 17 commits to main since this release
1dd323e

Infrastructure

  • 🏗️Improved DLL copies with CMake. This fixes some Jenkins failure cases.
  • 🏗️Improved code-coverage.cmake. Prevents overwriting job pools configurations for downstream projects, improves cross-platform support, and adds configuration options.
  • 🏗️Run patchelf on downloaded MKL to prevent linking issues.
  • 🐛Fixed ODR issues.
  • 📌Updated MshIO to v0.1.0
  • 📌Updated miniz from 2.2.0 to 3.0.2

Core Module

  • 🎨Improved stability in remove_duplicate_vertices(), it now keeps vertices order if possible

Python Bindings

  • 🏗️Moved all nanobind includes to a single file <lagrange/python/binding.h> to avoid potential ODR violations.
  • 📖Updated pyproject.toml to have urls.documentation and urls.repository
  • 📌Updated nanobind to v2.9.2. This adds support for in-place updates to dicts, lists, etc., such as my_dict["key"] += 1

Scene Module

  • 🐛To fix a mutable element issue in python bindings, changed Scene types from std::vector<T> to lagrange::SafeVector<T> which is an alias for
    • std::vector<std::shared_ptr<T>> when compiled for python bindings
    • std::vector<T> otherwise, unchanged from before
  • 🎨Updated Scene::far_plane to be optional
  • ✨Added camera matrix utilities in <lagrange/scene/scene_utils.h>
    • Eigen::Affine3f camera_view_transform(const Camera& camera, const Eigen::Affine3f& world_from_local)
    • Eigen::Projective3f camera_projection_transform(const Camera& camera)

Solver Module

  • ✨New solver module! It manages dependencies across platforms and provides aliases for solver wrappers. Currently contains <lagrange/solver/DirectSolver.h>

Texture Signal Processing

  • ✨New texproc module! It provides texture-space operations such as filtering (smoothing, sharpening), stitching, compositing.