Changelog

3.0.0

2026-07-02

API

  • Motion::Pose, Motion::Configuration, Motion::Path and Motion::Triangle are now concrete types, replacing the previous typedefs.

  • Removed the PointXYZ and VectorXYZ typedefs, use Motion::Vector3f instead.

  • Renamed TransformedBox to Motion::BottomCenteredTransformedBox, and its bottomCenteredTransform member to transform.

  • Motion::Planner::computeInverseKinematics now takes a list of poses and returns Motion::Goals, instead of a single pose returning an optional configuration.

  • Replaced PathRequest.goalConfigurations with Motion::PathRequest::goals, using the new Motion::Goals type.

  • Motion::Profile is now lowercase (Testing/Production -> testing/production).

  • Added a new Motion::Mesh class, constructed from Motion::Triangles or from shapes (Motion::Mesh::createBox, Motion::Mesh::createCylinder, Motion::Mesh::createSphere).

    • Added Motion::Mesh::transform and Motion::Mesh::transformInPlace.

    • Added Motion::Mesh::bottomCenterTransform and Motion::Mesh::bottomCenterTransformInPlace.

    • Added an experimental Motion::Experimental::merge function to merge multiple meshes into one.

  • Motion::Planner::setCarriedObject and Motion::Planner::setReplaceableTool now accept Motion::Mesh as their argument(s). All other overloads have been removed.

  • Motion::Planner::setObstacles now accepts a list of Motion::Mesh as its argument. The previous overloads accepting Motion::Triangles were removed.

  • Added Motion::Planner::replayApiLog to restore the planner state and replay a previously exported API log.

  • Added the Motion::Pose and Motion::Matrix4x4 classes, with conversions between them.

  • Added the Motion::Goals type and Motion::Goals::fromConfigurations.

C++

  • Motion::Application now verifies that the header and library versions match.

Python

  • Obstacle.PointCloud, Obstacle.Colors and Triangles can be constructed directly from a numpy array, providing a more performant interface for large point clouds and triangle meshes.

  • BlendRadius and ColorRGBA are now exposed as classes.

  • Importing the zividmotion wheel now warns when its version does not match the installed C++ library.

Bug fixes

  • Motion::Planner::path returns an error result when all goal configurations are invalid.

Python

  • Fixed the PathRequest constructor argument order so positional construction works.

2.0.0

2026-03-31

API

  • Initial public release of the Zivid Motion API.