Renamed HingePnode.crbSpatialInertia() to crbInertiaMatrix() and it now returns a matrix instead of a spatial inertia. See HingePnode.crbInertiaMatrix for details.
The locked hinge type now has a single instance of the locked subhinge type. See the HINGE_TYPE documentation for details.
Modified GrayscaleTexture’s and Texture’s lookupOrCreate and writeToFile methods use std::filesystem::path rather than std::string. On the Python side, this means path-like objects can be used in addition to strings. See Texture.writeToFile for an example and details."
The Python import locations were changed to mirror the C++ names/namespaces. For example, one should now do from Karana.Dynamics import Multibody rather than from Karana.Dynamics.SOADyn_Py import Multibody. This affects all Python imports coming from the C++ layer. See the tutorial notebooks for more examples.
New Features
Added the SubTree level coordOffsets() method. See SubTree.coordOffsets for details.
Added the CoordData::contains(id) method. See CoordData::contains for details.
Added documentation area with recipes for common simulation tasks. See the recipes page for details.
Added Interpolator classes to the Math library, including nearest neighbor, piecewise linear, and cubic Akima spline interpolators. See Interpolation.h docs for details.