Durchblick
Copyright 2026 David Schneider

Licensed under the Apache License, Version 2.0 (see LICENSE).

This repository contains or follows material of others:

- tests/data/vision_msgs/*.msg: message definitions of vision_msgs 4.1.1 (ros-perception/vision_msgs),
  under the Apache License, Version 2.0. Their licence text is tests/data/vision_msgs/LICENSE.

- src/xblick/msgdefs.py: ROS 2 message definitions, generated by tools/gen_msgdefs.py, so that MCAP recordings carry
  the schemas of the types they contain. They come from these packages:
  - std_msgs, geometry_msgs, sensor_msgs, nav_msgs, diagnostic_msgs (ros2/common_interfaces), rosgraph_msgs
    (ros2/rcl_interfaces) and tf2_msgs (ros2/geometry2), as rosbags' type store of ROS 2 Jazzy carries them;
  - vision_msgs (ros-perception/vision_msgs), under the Apache License, Version 2.0;
  - moveit_msgs (moveit/moveit_msgs) and object_recognition_msgs (wg-perception/object_recognition_msgs).
  Each definition remains under the licence of its package.

- The C++ and Python message classes (cpp/include/xblick/msg.hpp, ros2_cdr_msgs.hpp, src/xblick/msg.py) follow the
  field layout of the ROS 2 message and service definitions they name (among them rcl_interfaces and
  controller_manager_msgs of ros2_control), so that their CDR bytes equal those of ROS 2.

- cpp/src/rvl.cpp: the RVL depth codec as described by A. D. Wilson, "Fast Lossless Depth Image Compression",
  Proceedings of the ACM International Conference on Interactive Surfaces and Spaces (ISS), 2017. Its byte layout
  follows the "rvl" format of ROS's compressed_depth_image_transport.

- The wheels of the Python package xblick contain the module xblick._core, built with nanobind (wjakob/nanobind) and
  the hash map robin-map (Tessil/robin-map) that nanobind compiles in. nanobind is under the BSD 3-Clause licence
  (licenses/nanobind-LICENSE), robin-map under the MIT licence (licenses/robin-map-LICENSE).
