Skip to content

v1.6.1

Latest

Choose a tag to compare

@zfergus zfergus released this 22 Oct 21:40
· 42 commits to main since this release

This patch release backports non-API-breaking fixes and additions from main.

Highlights

  • Add ipc::CollisionMesh::set_vertex_areas and ipc::CollisionMesh::set_edge_areas (the vertex_areas and edge_areas properties in Python) to supply custom collision weights, e.g., $2\pi R , ds$ for axisymmetric models (#273, requested by @chemiskyy in #266).
    • Areas must be finite and non-negative. Collisions with zero weight are dropped, so primitives with no area exert no force.
    • Custom areas do not support shape derivatives: setting them after init_area_jacobians() throws, and so does calling init_area_jacobians() afterwards.
  • Fix missing PSD projection of mollified $m \le 0$ Hessian blocks (#244).
  • Expose the $u$, $v$, and $t$ coordinates of an edge–triangle intersection and add ipc::CollisionMesh::face_normals (#245).
  • Fix a memory leak in the CUDA code by updating Scalable CCD (#261).

CUDA

  • Fix CUDA architecture selection and optimize the LBVH Morton codes (#252).

Build and CI

  • Fall back to the GitHub mirror when cloning Eigen from GitLab fails (#277).
  • Fix CMake options being forced in the cache (#268).
  • Key the CUDA, Python, and coverage ccaches on the CPU (#267).
  • Drop ccache from the docs build (#270).
  • Publish to PyPI with Trusted Publishing for provenance attestations (#278).

Full Changelog: v1.6.0...v1.6.1