ros3djs
ros3djs copied to clipboard
added a check for null in OccupancyGrid
which caused a bug in unsubscribing and subscribing and bumped threejs version
Bumping Three.js version like that may break apps that rely on a particular version of ROS3D. If ROS3D intends to be robust, it should have semantic versioning, and any breaking release of THREE that is included in a ROS3D update (as seen in their changelog, because THREE does not use semantic versioning) should cause a major version bump of ROS3D.
Or if ROS3D will not expose THREE, then no need to do that. However, if people wish to supply an external THREE lib, providing mis-matched versions will cause bugs (I've experienced that).
So essentially ROS3D could
- Expose certain APIs and not allow the end user to use THREE APIs directly, guaranteeing public API works as intended.
- Expose THREE, but then breaking changes need to be reflected in ROS3D versioning.
- Make THREE a peer dependency and not bundle it, requiring the end user to supply a comaptible THREE lib based on a recommended version.
Maybe the last option would be best?
Unnecessary