Repository navigation
This patch release backports non-API-breaking fixes and additions from main.
Highlights
- Add
ipc::CollisionMesh::set_vertex_areasandipc::CollisionMesh::set_edge_areas(thevertex_areasandedge_areasproperties 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 callinginit_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 addipc::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