visio-schema 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. visio_schema-0.3.0/MANIFEST.in +22 -0
  2. visio_schema-0.3.0/PKG-INFO +103 -0
  3. visio_schema-0.3.0/README.md +60 -0
  4. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ArrowPrimitive.pb.c +20 -0
  5. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ArrowPrimitive.pb.h +76 -0
  6. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CameraCalibration.pb.c +20 -0
  7. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CameraCalibration.pb.h +129 -0
  8. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CircleAnnotation.pb.c +20 -0
  9. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CircleAnnotation.pb.h +87 -0
  10. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Color.pb.c +20 -0
  11. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Color.pb.h +62 -0
  12. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedImage.pb.c +12 -0
  13. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedImage.pb.h +66 -0
  14. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedPointCloud.pb.c +12 -0
  15. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedPointCloud.pb.h +73 -0
  16. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedVideo.pb.c +12 -0
  17. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedVideo.pb.h +92 -0
  18. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CubePrimitive.pb.c +12 -0
  19. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CubePrimitive.pb.h +67 -0
  20. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CylinderPrimitive.pb.c +20 -0
  21. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CylinderPrimitive.pb.h +75 -0
  22. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/FrameTransform.pb.c +12 -0
  23. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/FrameTransform.pb.h +81 -0
  24. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/FrameTransforms.pb.c +12 -0
  25. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/FrameTransforms.pb.h +51 -0
  26. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/GeoJSON.pb.c +12 -0
  27. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/GeoJSON.pb.h +49 -0
  28. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Grid.pb.c +12 -0
  29. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Grid.pb.h +133 -0
  30. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ImageAnnotations.pb.c +12 -0
  31. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ImageAnnotations.pb.h +76 -0
  32. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/JointState.pb.c +20 -0
  33. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/JointState.pb.h +69 -0
  34. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/JointStates.pb.c +12 -0
  35. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/JointStates.pb.h +58 -0
  36. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/KeyValuePair.pb.c +12 -0
  37. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/KeyValuePair.pb.h +53 -0
  38. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LaserScan.pb.c +20 -0
  39. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LaserScan.pb.h +79 -0
  40. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LinePrimitive.pb.c +22 -0
  41. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LinePrimitive.pb.h +107 -0
  42. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LocationFix.pb.c +22 -0
  43. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LocationFix.pb.h +122 -0
  44. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LocationFixes.pb.c +12 -0
  45. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LocationFixes.pb.h +51 -0
  46. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Log.pb.c +14 -0
  47. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Log.pb.h +97 -0
  48. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ModelPrimitive.pb.c +12 -0
  49. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ModelPrimitive.pb.h +82 -0
  50. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Odometry.pb.c +20 -0
  51. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Odometry.pb.h +94 -0
  52. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PackedElementField.pb.c +14 -0
  53. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PackedElementField.pb.h +88 -0
  54. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point2.pb.c +20 -0
  55. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point2.pb.h +54 -0
  56. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point3.pb.c +20 -0
  57. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point3.pb.h +58 -0
  58. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point3InFrame.pb.c +12 -0
  59. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point3InFrame.pb.h +63 -0
  60. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PointCloud.pb.c +12 -0
  61. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PointCloud.pb.h +77 -0
  62. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PointsAnnotation.pb.c +22 -0
  63. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PointsAnnotation.pb.h +114 -0
  64. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Pose.pb.c +12 -0
  65. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Pose.pb.h +60 -0
  66. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PoseInFrame.pb.c +12 -0
  67. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PoseInFrame.pb.h +63 -0
  68. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PosesInFrame.pb.c +12 -0
  69. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PosesInFrame.pb.h +62 -0
  70. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Quaternion.pb.c +20 -0
  71. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Quaternion.pb.h +62 -0
  72. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/RawAudio.pb.c +12 -0
  73. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/RawAudio.pb.h +68 -0
  74. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/RawImage.pb.c +12 -0
  75. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/RawImage.pb.h +137 -0
  76. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneEntity.pb.c +12 -0
  77. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneEntity.pb.h +125 -0
  78. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneEntityDeletion.pb.c +14 -0
  79. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneEntityDeletion.pb.h +77 -0
  80. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneUpdate.pb.c +12 -0
  81. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneUpdate.pb.h +57 -0
  82. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SpherePrimitive.pb.c +12 -0
  83. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SpherePrimitive.pb.h +67 -0
  84. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TextAnnotation.pb.c +20 -0
  85. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TextAnnotation.pb.h +87 -0
  86. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TextPrimitive.pb.c +20 -0
  87. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TextPrimitive.pb.h +75 -0
  88. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TriangleListPrimitive.pb.c +12 -0
  89. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TriangleListPrimitive.pb.h +76 -0
  90. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Vector2.pb.c +20 -0
  91. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Vector2.pb.h +54 -0
  92. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Vector3.pb.c +20 -0
  93. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Vector3.pb.h +58 -0
  94. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/VoxelGrid.pb.c +12 -0
  95. visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/VoxelGrid.pb.h +105 -0
  96. visio_schema-0.3.0/_native_build/generated_nanopb/google/protobuf/duration.pb.c +12 -0
  97. visio_schema-0.3.0/_native_build/generated_nanopb/google/protobuf/duration.pb.h +118 -0
  98. visio_schema-0.3.0/_native_build/generated_nanopb/google/protobuf/timestamp.pb.c +12 -0
  99. visio_schema-0.3.0/_native_build/generated_nanopb/google/protobuf/timestamp.pb.h +149 -0
  100. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/calibration/encoder.pb.c +12 -0
  101. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/calibration/encoder.pb.h +63 -0
  102. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/calibration/imu.pb.c +20 -0
  103. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/calibration/imu.pb.h +115 -0
  104. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/control/command.pb.c +70 -0
  105. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/control/command.pb.h +562 -0
  106. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/control/command_result.pb.c +39 -0
  107. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/control/command_result.pb.h +324 -0
  108. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/geometry/twist.pb.c +12 -0
  109. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/geometry/twist.pb.h +71 -0
  110. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/input/quest_controller_state.pb.c +15 -0
  111. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/input/quest_controller_state.pb.h +109 -0
  112. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/ros/geometry_msgs/quaternion.pb.c +20 -0
  113. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/ros/geometry_msgs/quaternion.pb.h +69 -0
  114. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/audio_compressed.pb.c +14 -0
  115. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/audio_compressed.pb.h +99 -0
  116. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/button.pb.c +12 -0
  117. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/button.pb.h +63 -0
  118. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/encoder_raw.pb.c +17 -0
  119. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/encoder_raw.pb.h +118 -0
  120. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/imu_raw.pb.c +23 -0
  121. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/imu_raw.pb.h +121 -0
  122. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/system_health.pb.c +12 -0
  123. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/system_health.pb.h +98 -0
  124. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/device_info/device_info.pb.c +15 -0
  125. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/device_info/device_info.pb.h +121 -0
  126. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/exposure_sync/exposure_sync.pb.c +12 -0
  127. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/exposure_sync/exposure_sync.pb.h +60 -0
  128. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/heartbeat/heartbeat.pb.c +12 -0
  129. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/heartbeat/heartbeat.pb.h +67 -0
  130. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/ota/ota.pb.c +35 -0
  131. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/ota/ota.pb.h +319 -0
  132. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/wire/header.pb.c +14 -0
  133. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/wire/header.pb.h +78 -0
  134. visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/wire/schema_blobs.gen.hpp +143 -0
  135. visio_schema-0.3.0/_native_build/include/visio_schema/mcap/writer.hpp +83 -0
  136. visio_schema-0.3.0/_native_build/include/visio_schema/mcap/writer_endpoint.hpp +93 -0
  137. visio_schema-0.3.0/_native_build/include/visio_schema/routing/channel.hpp +52 -0
  138. visio_schema-0.3.0/_native_build/include/visio_schema/routing/registry.hpp +115 -0
  139. visio_schema-0.3.0/_native_build/include/visio_schema/transport/endpoint.hpp +65 -0
  140. visio_schema-0.3.0/_native_build/include/visio_schema/transport/framed_fd.hpp +95 -0
  141. visio_schema-0.3.0/_native_build/include/visio_schema/transport/framed_outbox.hpp +96 -0
  142. visio_schema-0.3.0/_native_build/include/visio_schema/transport/framing.hpp +25 -0
  143. visio_schema-0.3.0/_native_build/include/visio_schema/transport/link.hpp +67 -0
  144. visio_schema-0.3.0/_native_build/include/visio_schema/transport/message_inbox.hpp +114 -0
  145. visio_schema-0.3.0/_native_build/include/visio_schema/transport/queue.hpp +47 -0
  146. visio_schema-0.3.0/_native_build/include/visio_schema/transport/serial.hpp +62 -0
  147. visio_schema-0.3.0/_native_build/include/visio_schema/transport/serial_watchdog.hpp +108 -0
  148. visio_schema-0.3.0/_native_build/include/visio_schema/transport/tcp.hpp +82 -0
  149. visio_schema-0.3.0/_native_build/include/visio_schema/transport/wake_fd.hpp +79 -0
  150. visio_schema-0.3.0/_native_build/include/visio_schema/transport/write_policy.hpp +100 -0
  151. visio_schema-0.3.0/_native_build/include/visio_schema/wire/codec/cobs.hpp +23 -0
  152. visio_schema-0.3.0/_native_build/include/visio_schema/wire/codec/crc16.hpp +19 -0
  153. visio_schema-0.3.0/_native_build/include/visio_schema/wire/codec/frame.hpp +34 -0
  154. visio_schema-0.3.0/_native_build/include/visio_schema/wire/control.hpp +42 -0
  155. visio_schema-0.3.0/_native_build/include/visio_schema/wire/message.hpp +37 -0
  156. visio_schema-0.3.0/_native_build/include/visio_schema/wire/time.hpp +25 -0
  157. visio_schema-0.3.0/_native_build/nanopb/pb.h +922 -0
  158. visio_schema-0.3.0/_native_build/nanopb/pb_common.c +388 -0
  159. visio_schema-0.3.0/_native_build/nanopb/pb_common.h +49 -0
  160. visio_schema-0.3.0/_native_build/nanopb/pb_decode.c +1728 -0
  161. visio_schema-0.3.0/_native_build/nanopb/pb_decode.h +204 -0
  162. visio_schema-0.3.0/_native_build/nanopb/pb_encode.c +1001 -0
  163. visio_schema-0.3.0/_native_build/nanopb/pb_encode.h +195 -0
  164. visio_schema-0.3.0/_native_build/src/codec/cobs.cc +68 -0
  165. visio_schema-0.3.0/_native_build/src/codec/crc16.cc +36 -0
  166. visio_schema-0.3.0/_native_build/src/codec/frame.cc +94 -0
  167. visio_schema-0.3.0/_native_build/src/mcap/writer.cc +195 -0
  168. visio_schema-0.3.0/_native_build/src/mcap/writer_endpoint.cc +134 -0
  169. visio_schema-0.3.0/_native_build/src/routing/registry.cc +275 -0
  170. visio_schema-0.3.0/_native_build/src/transport/framed_fd.cc +188 -0
  171. visio_schema-0.3.0/_native_build/src/transport/framed_outbox.cc +121 -0
  172. visio_schema-0.3.0/_native_build/src/transport/framing.cc +60 -0
  173. visio_schema-0.3.0/_native_build/src/transport/link.cc +171 -0
  174. visio_schema-0.3.0/_native_build/src/transport/serial.cc +64 -0
  175. visio_schema-0.3.0/_native_build/src/transport/tcp.cc +81 -0
  176. visio_schema-0.3.0/_vendor_native.py +60 -0
  177. visio_schema-0.3.0/pyproject.toml +128 -0
  178. visio_schema-0.3.0/setup.cfg +4 -0
  179. visio_schema-0.3.0/setup.py +100 -0
  180. visio_schema-0.3.0/src/creader.cc +158 -0
  181. visio_schema-0.3.0/tests/test_calibration.py +90 -0
  182. visio_schema-0.3.0/tests/test_channel_registry.py +169 -0
  183. visio_schema-0.3.0/tests/test_cobs.py +47 -0
  184. visio_schema-0.3.0/tests/test_crc16.py +32 -0
  185. visio_schema-0.3.0/tests/test_example_mcap_roundtrip.py +93 -0
  186. visio_schema-0.3.0/tests/test_extract_frames_parity.py +83 -0
  187. visio_schema-0.3.0/tests/test_facade_helpers.py +75 -0
  188. visio_schema-0.3.0/tests/test_frame_roundtrip.py +97 -0
  189. visio_schema-0.3.0/tests/test_gen_schema_blobs.py +75 -0
  190. visio_schema-0.3.0/tests/test_golden_vectors.py +125 -0
  191. visio_schema-0.3.0/tests/test_io_disconnect.py +37 -0
  192. visio_schema-0.3.0/tests/test_launcher.py +802 -0
  193. visio_schema-0.3.0/tests/test_mcap_reader_endpoint.py +158 -0
  194. visio_schema-0.3.0/tests/test_native_send.py +60 -0
  195. visio_schema-0.3.0/tests/test_native_starvation.py +76 -0
  196. visio_schema-0.3.0/tests/test_public_api.py +164 -0
  197. visio_schema-0.3.0/tests/test_recording.py +100 -0
  198. visio_schema-0.3.0/tests/test_schema.py +50 -0
  199. visio_schema-0.3.0/tests/test_serial_path.py +57 -0
  200. visio_schema-0.3.0/tests/test_visio_display.py +329 -0
  201. visio_schema-0.3.0/tests/test_wire_reader.py +39 -0
  202. visio_schema-0.3.0/visio_schema/__init__.py +52 -0
  203. visio_schema-0.3.0/visio_schema/display/__init__.py +876 -0
  204. visio_schema-0.3.0/visio_schema/display/__main__.py +6 -0
  205. visio_schema-0.3.0/visio_schema/display/discovery.py +239 -0
  206. visio_schema-0.3.0/visio_schema/display/ego_layout.json +114 -0
  207. visio_schema-0.3.0/visio_schema/display/serve.py +380 -0
  208. visio_schema-0.3.0/visio_schema/display/static/app.js +178 -0
  209. visio_schema-0.3.0/visio_schema/display/static/index.html +158 -0
  210. visio_schema-0.3.0/visio_schema/foxglove/ArrowPrimitive_pb2.py +38 -0
  211. visio_schema-0.3.0/visio_schema/foxglove/ArrowPrimitive_pb2.pyi +24 -0
  212. visio_schema-0.3.0/visio_schema/foxglove/CameraCalibration_pb2.py +37 -0
  213. visio_schema-0.3.0/visio_schema/foxglove/CameraCalibration_pb2.pyi +32 -0
  214. visio_schema-0.3.0/visio_schema/foxglove/CircleAnnotation_pb2.py +40 -0
  215. visio_schema-0.3.0/visio_schema/foxglove/CircleAnnotation_pb2.pyi +31 -0
  216. visio_schema-0.3.0/visio_schema/foxglove/Color_pb2.py +36 -0
  217. visio_schema-0.3.0/visio_schema/foxglove/Color_pb2.pyi +17 -0
  218. visio_schema-0.3.0/visio_schema/foxglove/CompressedImage_pb2.py +37 -0
  219. visio_schema-0.3.0/visio_schema/foxglove/CompressedImage_pb2.pyi +21 -0
  220. visio_schema-0.3.0/visio_schema/foxglove/CompressedPointCloud_pb2.py +38 -0
  221. visio_schema-0.3.0/visio_schema/foxglove/CompressedPointCloud_pb2.pyi +24 -0
  222. visio_schema-0.3.0/visio_schema/foxglove/CompressedVideo_pb2.py +37 -0
  223. visio_schema-0.3.0/visio_schema/foxglove/CompressedVideo_pb2.pyi +21 -0
  224. visio_schema-0.3.0/visio_schema/foxglove/CubePrimitive_pb2.py +39 -0
  225. visio_schema-0.3.0/visio_schema/foxglove/CubePrimitive_pb2.pyi +19 -0
  226. visio_schema-0.3.0/visio_schema/foxglove/CylinderPrimitive_pb2.py +39 -0
  227. visio_schema-0.3.0/visio_schema/foxglove/CylinderPrimitive_pb2.pyi +23 -0
  228. visio_schema-0.3.0/visio_schema/foxglove/FrameTransform_pb2.py +39 -0
  229. visio_schema-0.3.0/visio_schema/foxglove/FrameTransform_pb2.pyi +25 -0
  230. visio_schema-0.3.0/visio_schema/foxglove/FrameTransforms_pb2.py +37 -0
  231. visio_schema-0.3.0/visio_schema/foxglove/FrameTransforms_pb2.pyi +14 -0
  232. visio_schema-0.3.0/visio_schema/foxglove/GeoJSON_pb2.py +36 -0
  233. visio_schema-0.3.0/visio_schema/foxglove/GeoJSON_pb2.pyi +11 -0
  234. visio_schema-0.3.0/visio_schema/foxglove/Grid_pb2.py +40 -0
  235. visio_schema-0.3.0/visio_schema/foxglove/Grid_pb2.pyi +35 -0
  236. visio_schema-0.3.0/visio_schema/foxglove/ImageAnnotations_pb2.py +41 -0
  237. visio_schema-0.3.0/visio_schema/foxglove/ImageAnnotations_pb2.pyi +28 -0
  238. visio_schema-0.3.0/visio_schema/foxglove/JointState_pb2.py +36 -0
  239. visio_schema-0.3.0/visio_schema/foxglove/JointState_pb2.pyi +19 -0
  240. visio_schema-0.3.0/visio_schema/foxglove/JointStates_pb2.py +38 -0
  241. visio_schema-0.3.0/visio_schema/foxglove/JointStates_pb2.pyi +19 -0
  242. visio_schema-0.3.0/visio_schema/foxglove/KeyValuePair_pb2.py +36 -0
  243. visio_schema-0.3.0/visio_schema/foxglove/KeyValuePair_pb2.pyi +13 -0
  244. visio_schema-0.3.0/visio_schema/foxglove/LaserScan_pb2.py +38 -0
  245. visio_schema-0.3.0/visio_schema/foxglove/LaserScan_pb2.pyi +29 -0
  246. visio_schema-0.3.0/visio_schema/foxglove/LinePrimitive_pb2.py +41 -0
  247. visio_schema-0.3.0/visio_schema/foxglove/LinePrimitive_pb2.pyi +39 -0
  248. visio_schema-0.3.0/visio_schema/foxglove/LocationFix_pb2.py +42 -0
  249. visio_schema-0.3.0/visio_schema/foxglove/LocationFix_pb2.pyi +50 -0
  250. visio_schema-0.3.0/visio_schema/foxglove/LocationFixes_pb2.py +37 -0
  251. visio_schema-0.3.0/visio_schema/foxglove/LocationFixes_pb2.pyi +14 -0
  252. visio_schema-0.3.0/visio_schema/foxglove/Log_pb2.py +39 -0
  253. visio_schema-0.3.0/visio_schema/foxglove/Log_pb2.pyi +40 -0
  254. visio_schema-0.3.0/visio_schema/foxglove/ModelPrimitive_pb2.py +39 -0
  255. visio_schema-0.3.0/visio_schema/foxglove/ModelPrimitive_pb2.pyi +27 -0
  256. visio_schema-0.3.0/visio_schema/foxglove/Odometry_pb2.py +40 -0
  257. visio_schema-0.3.0/visio_schema/foxglove/Odometry_pb2.pyi +35 -0
  258. visio_schema-0.3.0/visio_schema/foxglove/PackedElementField_pb2.py +38 -0
  259. visio_schema-0.3.0/visio_schema/foxglove/PackedElementField_pb2.pyi +36 -0
  260. visio_schema-0.3.0/visio_schema/foxglove/Point2_pb2.py +36 -0
  261. visio_schema-0.3.0/visio_schema/foxglove/Point2_pb2.pyi +13 -0
  262. visio_schema-0.3.0/visio_schema/foxglove/Point3InFrame_pb2.py +38 -0
  263. visio_schema-0.3.0/visio_schema/foxglove/Point3InFrame_pb2.pyi +20 -0
  264. visio_schema-0.3.0/visio_schema/foxglove/Point3_pb2.py +36 -0
  265. visio_schema-0.3.0/visio_schema/foxglove/Point3_pb2.pyi +15 -0
  266. visio_schema-0.3.0/visio_schema/foxglove/PointCloud_pb2.py +39 -0
  267. visio_schema-0.3.0/visio_schema/foxglove/PointCloud_pb2.pyi +28 -0
  268. visio_schema-0.3.0/visio_schema/foxglove/PointsAnnotation_pb2.py +42 -0
  269. visio_schema-0.3.0/visio_schema/foxglove/PointsAnnotation_pb2.pyi +46 -0
  270. visio_schema-0.3.0/visio_schema/foxglove/PoseInFrame_pb2.py +38 -0
  271. visio_schema-0.3.0/visio_schema/foxglove/PoseInFrame_pb2.pyi +20 -0
  272. visio_schema-0.3.0/visio_schema/foxglove/Pose_pb2.py +38 -0
  273. visio_schema-0.3.0/visio_schema/foxglove/Pose_pb2.pyi +16 -0
  274. visio_schema-0.3.0/visio_schema/foxglove/PosesInFrame_pb2.py +38 -0
  275. visio_schema-0.3.0/visio_schema/foxglove/PosesInFrame_pb2.pyi +21 -0
  276. visio_schema-0.3.0/visio_schema/foxglove/Quaternion_pb2.py +36 -0
  277. visio_schema-0.3.0/visio_schema/foxglove/Quaternion_pb2.pyi +17 -0
  278. visio_schema-0.3.0/visio_schema/foxglove/RawAudio_pb2.py +37 -0
  279. visio_schema-0.3.0/visio_schema/foxglove/RawAudio_pb2.pyi +23 -0
  280. visio_schema-0.3.0/visio_schema/foxglove/RawImage_pb2.py +37 -0
  281. visio_schema-0.3.0/visio_schema/foxglove/RawImage_pb2.pyi +27 -0
  282. visio_schema-0.3.0/visio_schema/foxglove/SceneEntityDeletion_pb2.py +39 -0
  283. visio_schema-0.3.0/visio_schema/foxglove/SceneEntityDeletion_pb2.pyi +26 -0
  284. visio_schema-0.3.0/visio_schema/foxglove/SceneEntity_pb2.py +47 -0
  285. visio_schema-0.3.0/visio_schema/foxglove/SceneEntity_pb2.pyi +52 -0
  286. visio_schema-0.3.0/visio_schema/foxglove/SceneUpdate_pb2.py +38 -0
  287. visio_schema-0.3.0/visio_schema/foxglove/SceneUpdate_pb2.pyi +17 -0
  288. visio_schema-0.3.0/visio_schema/foxglove/SpherePrimitive_pb2.py +39 -0
  289. visio_schema-0.3.0/visio_schema/foxglove/SpherePrimitive_pb2.pyi +19 -0
  290. visio_schema-0.3.0/visio_schema/foxglove/TextAnnotation_pb2.py +40 -0
  291. visio_schema-0.3.0/visio_schema/foxglove/TextAnnotation_pb2.pyi +31 -0
  292. visio_schema-0.3.0/visio_schema/foxglove/TextPrimitive_pb2.py +38 -0
  293. visio_schema-0.3.0/visio_schema/foxglove/TextPrimitive_pb2.pyi +24 -0
  294. visio_schema-0.3.0/visio_schema/foxglove/TriangleListPrimitive_pb2.py +39 -0
  295. visio_schema-0.3.0/visio_schema/foxglove/TriangleListPrimitive_pb2.pyi +24 -0
  296. visio_schema-0.3.0/visio_schema/foxglove/Vector2_pb2.py +36 -0
  297. visio_schema-0.3.0/visio_schema/foxglove/Vector2_pb2.pyi +13 -0
  298. visio_schema-0.3.0/visio_schema/foxglove/Vector3_pb2.py +36 -0
  299. visio_schema-0.3.0/visio_schema/foxglove/Vector3_pb2.pyi +15 -0
  300. visio_schema-0.3.0/visio_schema/foxglove/VoxelGrid_pb2.py +40 -0
  301. visio_schema-0.3.0/visio_schema/foxglove/VoxelGrid_pb2.pyi +39 -0
  302. visio_schema-0.3.0/visio_schema/mcap/__init__.py +15 -0
  303. visio_schema-0.3.0/visio_schema/mcap/reader.py +84 -0
  304. visio_schema-0.3.0/visio_schema/mcap/reader_endpoint.py +111 -0
  305. visio_schema-0.3.0/visio_schema/mcap/writer.py +223 -0
  306. visio_schema-0.3.0/visio_schema/mcap/writer_endpoint.py +96 -0
  307. visio_schema-0.3.0/visio_schema/py.typed +0 -0
  308. visio_schema-0.3.0/visio_schema/routing/__init__.py +23 -0
  309. visio_schema-0.3.0/visio_schema/routing/channel.py +66 -0
  310. visio_schema-0.3.0/visio_schema/routing/registry.py +283 -0
  311. visio_schema-0.3.0/visio_schema/stream.py +72 -0
  312. visio_schema-0.3.0/visio_schema/transport/__init__.py +88 -0
  313. visio_schema-0.3.0/visio_schema/transport/endpoint.py +87 -0
  314. visio_schema-0.3.0/visio_schema/transport/framed_fd.py +242 -0
  315. visio_schema-0.3.0/visio_schema/transport/framing.py +62 -0
  316. visio_schema-0.3.0/visio_schema/transport/link.py +103 -0
  317. visio_schema-0.3.0/visio_schema/transport/native_serial.py +101 -0
  318. visio_schema-0.3.0/visio_schema/transport/queue.py +50 -0
  319. visio_schema-0.3.0/visio_schema/transport/serial.py +40 -0
  320. visio_schema-0.3.0/visio_schema/v1/calibration/encoder_pb2.py +36 -0
  321. visio_schema-0.3.0/visio_schema/v1/calibration/encoder_pb2.pyi +21 -0
  322. visio_schema-0.3.0/visio_schema/v1/calibration/imu_pb2.py +36 -0
  323. visio_schema-0.3.0/visio_schema/v1/calibration/imu_pb2.pyi +51 -0
  324. visio_schema-0.3.0/visio_schema/v1/control/command_pb2.py +74 -0
  325. visio_schema-0.3.0/visio_schema/v1/control/command_pb2.pyi +211 -0
  326. visio_schema-0.3.0/visio_schema/v1/control/command_result_pb2.py +50 -0
  327. visio_schema-0.3.0/visio_schema/v1/control/command_result_pb2.pyi +154 -0
  328. visio_schema-0.3.0/visio_schema/v1/geometry/twist_pb2.py +38 -0
  329. visio_schema-0.3.0/visio_schema/v1/geometry/twist_pb2.pyi +22 -0
  330. visio_schema-0.3.0/visio_schema/v1/input/quest_controller_state_pb2.py +39 -0
  331. visio_schema-0.3.0/visio_schema/v1/input/quest_controller_state_pb2.pyi +39 -0
  332. visio_schema-0.3.0/visio_schema/v1/ros/geometry_msgs/quaternion_pb2.py +37 -0
  333. visio_schema-0.3.0/visio_schema/v1/ros/geometry_msgs/quaternion_pb2.pyi +23 -0
  334. visio_schema-0.3.0/visio_schema/v1/sensor/audio_compressed_pb2.py +39 -0
  335. visio_schema-0.3.0/visio_schema/v1/sensor/audio_compressed_pb2.pyi +36 -0
  336. visio_schema-0.3.0/visio_schema/v1/sensor/button_pb2.py +37 -0
  337. visio_schema-0.3.0/visio_schema/v1/sensor/button_pb2.pyi +19 -0
  338. visio_schema-0.3.0/visio_schema/v1/sensor/encoder_raw_pb2.py +41 -0
  339. visio_schema-0.3.0/visio_schema/v1/sensor/encoder_raw_pb2.pyi +45 -0
  340. visio_schema-0.3.0/visio_schema/v1/sensor/imu_raw_pb2.py +40 -0
  341. visio_schema-0.3.0/visio_schema/v1/sensor/imu_raw_pb2.pyi +33 -0
  342. visio_schema-0.3.0/visio_schema/v1/sensor/system_health_pb2.py +37 -0
  343. visio_schema-0.3.0/visio_schema/v1/sensor/system_health_pb2.pyi +31 -0
  344. visio_schema-0.3.0/visio_schema/v1/service/device_info/device_info_pb2.py +38 -0
  345. visio_schema-0.3.0/visio_schema/v1/service/device_info/device_info_pb2.pyi +39 -0
  346. visio_schema-0.3.0/visio_schema/v1/service/exposure_sync/exposure_sync_pb2.py +36 -0
  347. visio_schema-0.3.0/visio_schema/v1/service/exposure_sync/exposure_sync_pb2.pyi +15 -0
  348. visio_schema-0.3.0/visio_schema/v1/service/heartbeat/heartbeat_pb2.py +36 -0
  349. visio_schema-0.3.0/visio_schema/v1/service/heartbeat/heartbeat_pb2.pyi +17 -0
  350. visio_schema-0.3.0/visio_schema/v1/service/ota/ota_pb2.py +52 -0
  351. visio_schema-0.3.0/visio_schema/v1/service/ota/ota_pb2.pyi +122 -0
  352. visio_schema-0.3.0/visio_schema/v1/wire/header_pb2.py +39 -0
  353. visio_schema-0.3.0/visio_schema/v1/wire/header_pb2.pyi +37 -0
  354. visio_schema-0.3.0/visio_schema/wire/codec/__init__.py +19 -0
  355. visio_schema-0.3.0/visio_schema/wire/codec/cobs.py +23 -0
  356. visio_schema-0.3.0/visio_schema/wire/codec/crc16.py +24 -0
  357. visio_schema-0.3.0/visio_schema/wire/codec/frame.py +69 -0
  358. visio_schema-0.3.0/visio_schema/wire/control.py +68 -0
  359. visio_schema-0.3.0/visio_schema/wire/message.py +82 -0
  360. visio_schema-0.3.0/visio_schema/wire/schema.py +133 -0
  361. visio_schema-0.3.0/visio_schema.egg-info/PKG-INFO +103 -0
  362. visio_schema-0.3.0/visio_schema.egg-info/SOURCES.txt +364 -0
  363. visio_schema-0.3.0/visio_schema.egg-info/dependency_links.txt +1 -0
  364. visio_schema-0.3.0/visio_schema.egg-info/entry_points.txt +2 -0
  365. visio_schema-0.3.0/visio_schema.egg-info/requires.txt +18 -0
  366. visio_schema-0.3.0/visio_schema.egg-info/top_level.txt +1 -0
@@ -0,0 +1,22 @@
1
+ # Files shipped beyond the package .py sources.
2
+ #
3
+ # Generated *_pb2.py are ordinary package modules (auto-included). These lines
4
+ # add the rest: type stubs, the PEP 561 marker, the display starter layout, and
5
+ # — for the sdist only — the native-extension C/C++ sources so an end user can
6
+ # optionally compile the native reader from source (it degrades to pure-Python
7
+ # if they don't).
8
+
9
+ include README.md
10
+ global-include *.pyi
11
+ include visio_schema/py.typed
12
+ include visio_schema/display/ego_layout.json
13
+ recursive-include visio_schema/display/static *
14
+
15
+ # Native `_creader` extension sources (sdist; not needed in a built wheel).
16
+ include setup.py
17
+ include _vendor_native.py
18
+ recursive-include src *.cc *.hpp
19
+ recursive-include _native_build *.c *.h *.cc *.hpp
20
+
21
+ prune **/__pycache__
22
+ global-exclude *.pyc
@@ -0,0 +1,103 @@
1
+ Metadata-Version: 2.4
2
+ Name: visio-schema
3
+ Version: 0.3.0
4
+ Summary: Visio wire contract — generated protobuf bindings + the framing codec
5
+ Author: General Intelligence Labs
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/General-Intelligence-Labs/visio-schema
8
+ Project-URL: Repository, https://github.com/General-Intelligence-Labs/visio-schema
9
+ Project-URL: Issues, https://github.com/General-Intelligence-Labs/visio-schema/issues
10
+ Project-URL: Changelog, https://github.com/General-Intelligence-Labs/visio-schema/blob/main/CHANGELOG.md
11
+ Keywords: protobuf,robotics,sensors,mcap,foxglove,wire-protocol,visio
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: POSIX :: Linux
17
+ Classifier: Operating System :: MacOS
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Topic :: Scientific/Engineering
24
+ Classifier: Topic :: Software Development :: Libraries
25
+ Classifier: Typing :: Typed
26
+ Requires-Python: >=3.10
27
+ Description-Content-Type: text/markdown
28
+ Requires-Dist: protobuf>=5.26
29
+ Requires-Dist: cobs>=1.2
30
+ Requires-Dist: mcap>=1.1
31
+ Requires-Dist: pyserial>=3.5
32
+ Requires-Dist: foxglove-sdk>=0.10
33
+ Requires-Dist: rerun-sdk>=0.24
34
+ Requires-Dist: av>=11
35
+ Requires-Dist: aiohttp>=3.9
36
+ Requires-Dist: zeroconf>=0.130
37
+ Provides-Extra: dev
38
+ Requires-Dist: pytest>=8.0; extra == "dev"
39
+ Requires-Dist: mypy>=1.10; extra == "dev"
40
+ Requires-Dist: ruff>=0.5; extra == "dev"
41
+ Requires-Dist: build>=1.0; extra == "dev"
42
+ Requires-Dist: tomli>=2.0; python_version < "3.11" and extra == "dev"
43
+
44
+ # visio-schema
45
+
46
+ The **wire contract** for the Visio sensor ecosystem: the generated protobuf
47
+ message bindings plus a small, hand-written framing codec, packaged so you can
48
+ read a live device or a recording with one `pip install`. It is the single
49
+ source of truth for *what Visio data looks like on the wire*; the transport,
50
+ bus, and recording stack live in a separate layer.
51
+
52
+ Imported as `visio_schema`. Full docs, the wire spec, and C++ sources are in the
53
+ [GitHub repository](https://github.com/General-Intelligence-Labs/visio-schema).
54
+
55
+ ## Install
56
+
57
+ ```bash
58
+ pip install visio-schema
59
+ ```
60
+
61
+ One install includes MCAP read/write (`read_mcap` / `McapWriter`) and the
62
+ `visio-display` live viewer — no extras to choose. Released wheels (Linux
63
+ `manylinux_2_28` x86_64, macOS `universal2`, CPython 3.10–3.13) bundle an optional
64
+ native reader for higher throughput. If no wheel matches your platform, the sdist
65
+ installs a pure-Python reader with identical behavior — only throughput differs.
66
+
67
+ ## Quickstart
68
+
69
+ ```python
70
+ from visio_schema import read_serial, read_mcap, message_class
71
+
72
+ # live device -> (Message, Channel) rows
73
+ for msg, ch in read_serial("/dev/ttyACM0"):
74
+ cls = message_class(ch.schema_name) # resolve the payload type
75
+ payload = cls.FromString(msg.payload)
76
+ print(ch.topic, payload)
77
+
78
+ # replay a recording
79
+ for msg, ch in read_mcap("run.mcap"):
80
+ ...
81
+ ```
82
+
83
+ Send commands and read replies with `serial_endpoint(...)` + `command_message`.
84
+ See [usage.md](https://github.com/General-Intelligence-Labs/visio-schema/blob/main/docs/usage.md)
85
+ for the three end-to-end recipes.
86
+
87
+ ## `visio-display` viewer
88
+
89
+ The package installs a `visio-display` console command that reads a live device
90
+ (serial or TCP) or replays an MCAP, and fans it out to a live
91
+ [Foxglove](https://foxglove.dev) WebSocket, a live [Rerun](https://rerun.io)
92
+ viewer, and/or an MCAP recording:
93
+
94
+ ```bash
95
+ visio-display --serial /dev/ttyACM0 --rerun
96
+ visio-display --tcp my-device.local --foxglove
97
+ visio-display --mcap-in run.mcap --rerun
98
+ # also runnable as: python -m visio_schema.display
99
+ ```
100
+
101
+ ## License
102
+
103
+ MIT — see [LICENSE](https://github.com/General-Intelligence-Labs/visio-schema/blob/main/LICENSE).
@@ -0,0 +1,60 @@
1
+ # visio-schema
2
+
3
+ The **wire contract** for the Visio sensor ecosystem: the generated protobuf
4
+ message bindings plus a small, hand-written framing codec, packaged so you can
5
+ read a live device or a recording with one `pip install`. It is the single
6
+ source of truth for *what Visio data looks like on the wire*; the transport,
7
+ bus, and recording stack live in a separate layer.
8
+
9
+ Imported as `visio_schema`. Full docs, the wire spec, and C++ sources are in the
10
+ [GitHub repository](https://github.com/General-Intelligence-Labs/visio-schema).
11
+
12
+ ## Install
13
+
14
+ ```bash
15
+ pip install visio-schema
16
+ ```
17
+
18
+ One install includes MCAP read/write (`read_mcap` / `McapWriter`) and the
19
+ `visio-display` live viewer — no extras to choose. Released wheels (Linux
20
+ `manylinux_2_28` x86_64, macOS `universal2`, CPython 3.10–3.13) bundle an optional
21
+ native reader for higher throughput. If no wheel matches your platform, the sdist
22
+ installs a pure-Python reader with identical behavior — only throughput differs.
23
+
24
+ ## Quickstart
25
+
26
+ ```python
27
+ from visio_schema import read_serial, read_mcap, message_class
28
+
29
+ # live device -> (Message, Channel) rows
30
+ for msg, ch in read_serial("/dev/ttyACM0"):
31
+ cls = message_class(ch.schema_name) # resolve the payload type
32
+ payload = cls.FromString(msg.payload)
33
+ print(ch.topic, payload)
34
+
35
+ # replay a recording
36
+ for msg, ch in read_mcap("run.mcap"):
37
+ ...
38
+ ```
39
+
40
+ Send commands and read replies with `serial_endpoint(...)` + `command_message`.
41
+ See [usage.md](https://github.com/General-Intelligence-Labs/visio-schema/blob/main/docs/usage.md)
42
+ for the three end-to-end recipes.
43
+
44
+ ## `visio-display` viewer
45
+
46
+ The package installs a `visio-display` console command that reads a live device
47
+ (serial or TCP) or replays an MCAP, and fans it out to a live
48
+ [Foxglove](https://foxglove.dev) WebSocket, a live [Rerun](https://rerun.io)
49
+ viewer, and/or an MCAP recording:
50
+
51
+ ```bash
52
+ visio-display --serial /dev/ttyACM0 --rerun
53
+ visio-display --tcp my-device.local --foxglove
54
+ visio-display --mcap-in run.mcap --rerun
55
+ # also runnable as: python -m visio_schema.display
56
+ ```
57
+
58
+ ## License
59
+
60
+ MIT — see [LICENSE](https://github.com/General-Intelligence-Labs/visio-schema/blob/main/LICENSE).
@@ -0,0 +1,20 @@
1
+ /* Automatically generated nanopb constant definitions */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #include "foxglove/ArrowPrimitive.pb.h"
5
+ #if PB_PROTO_HEADER_VERSION != 40
6
+ #error Regenerate this file with the current version of nanopb generator.
7
+ #endif
8
+
9
+ PB_BIND(foxglove_ArrowPrimitive, foxglove_ArrowPrimitive, AUTO)
10
+
11
+
12
+
13
+ #ifndef PB_CONVERT_DOUBLE_FLOAT
14
+ /* On some platforms (such as AVR), double is really float.
15
+ * To be able to encode/decode double on these platforms, you need.
16
+ * to define PB_CONVERT_DOUBLE_FLOAT in pb.h or compiler command line.
17
+ */
18
+ PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
19
+ #endif
20
+
@@ -0,0 +1,76 @@
1
+ /* Automatically generated nanopb header */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #ifndef PB_FOXGLOVE_FOXGLOVE_ARROWPRIMITIVE_PB_H_INCLUDED
5
+ #define PB_FOXGLOVE_FOXGLOVE_ARROWPRIMITIVE_PB_H_INCLUDED
6
+ #include <pb.h>
7
+ #include "foxglove/Color.pb.h"
8
+ #include "foxglove/Pose.pb.h"
9
+
10
+ #if PB_PROTO_HEADER_VERSION != 40
11
+ #error Regenerate this file with the current version of nanopb generator.
12
+ #endif
13
+
14
+ /* Struct definitions */
15
+ /* A primitive representing an arrow */
16
+ typedef struct _foxglove_ArrowPrimitive {
17
+ /* Position of the arrow's tail and orientation of the arrow. Identity orientation means the arrow points in the +x direction. */
18
+ bool has_pose;
19
+ foxglove_Pose pose;
20
+ /* Length of the arrow shaft */
21
+ double shaft_length;
22
+ /* Diameter of the arrow shaft */
23
+ double shaft_diameter;
24
+ /* Length of the arrow head */
25
+ double head_length;
26
+ /* Diameter of the arrow head */
27
+ double head_diameter;
28
+ /* Color of the arrow */
29
+ bool has_color;
30
+ foxglove_Color color;
31
+ } foxglove_ArrowPrimitive;
32
+
33
+
34
+ #ifdef __cplusplus
35
+ extern "C" {
36
+ #endif
37
+
38
+ /* Initializer values for message structs */
39
+ #define foxglove_ArrowPrimitive_init_default {false, foxglove_Pose_init_default, 0, 0, 0, 0, false, foxglove_Color_init_default}
40
+ #define foxglove_ArrowPrimitive_init_zero {false, foxglove_Pose_init_zero, 0, 0, 0, 0, false, foxglove_Color_init_zero}
41
+
42
+ /* Field tags (for use in manual encoding/decoding) */
43
+ #define foxglove_ArrowPrimitive_pose_tag 1
44
+ #define foxglove_ArrowPrimitive_shaft_length_tag 2
45
+ #define foxglove_ArrowPrimitive_shaft_diameter_tag 3
46
+ #define foxglove_ArrowPrimitive_head_length_tag 4
47
+ #define foxglove_ArrowPrimitive_head_diameter_tag 5
48
+ #define foxglove_ArrowPrimitive_color_tag 6
49
+
50
+ /* Struct field encoding specification for nanopb */
51
+ #define foxglove_ArrowPrimitive_FIELDLIST(X, a) \
52
+ X(a, STATIC, OPTIONAL, MESSAGE, pose, 1) \
53
+ X(a, STATIC, SINGULAR, DOUBLE, shaft_length, 2) \
54
+ X(a, STATIC, SINGULAR, DOUBLE, shaft_diameter, 3) \
55
+ X(a, STATIC, SINGULAR, DOUBLE, head_length, 4) \
56
+ X(a, STATIC, SINGULAR, DOUBLE, head_diameter, 5) \
57
+ X(a, STATIC, OPTIONAL, MESSAGE, color, 6)
58
+ #define foxglove_ArrowPrimitive_CALLBACK NULL
59
+ #define foxglove_ArrowPrimitive_DEFAULT NULL
60
+ #define foxglove_ArrowPrimitive_pose_MSGTYPE foxglove_Pose
61
+ #define foxglove_ArrowPrimitive_color_MSGTYPE foxglove_Color
62
+
63
+ extern const pb_msgdesc_t foxglove_ArrowPrimitive_msg;
64
+
65
+ /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
66
+ #define foxglove_ArrowPrimitive_fields &foxglove_ArrowPrimitive_msg
67
+
68
+ /* Maximum encoded size of messages (where known) */
69
+ #define FOXGLOVE_FOXGLOVE_ARROWPRIMITIVE_PB_H_MAX_SIZE foxglove_ArrowPrimitive_size
70
+ #define foxglove_ArrowPrimitive_size 143
71
+
72
+ #ifdef __cplusplus
73
+ } /* extern "C" */
74
+ #endif
75
+
76
+ #endif
@@ -0,0 +1,20 @@
1
+ /* Automatically generated nanopb constant definitions */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #include "foxglove/CameraCalibration.pb.h"
5
+ #if PB_PROTO_HEADER_VERSION != 40
6
+ #error Regenerate this file with the current version of nanopb generator.
7
+ #endif
8
+
9
+ PB_BIND(foxglove_CameraCalibration, foxglove_CameraCalibration, 2)
10
+
11
+
12
+
13
+ #ifndef PB_CONVERT_DOUBLE_FLOAT
14
+ /* On some platforms (such as AVR), double is really float.
15
+ * To be able to encode/decode double on these platforms, you need.
16
+ * to define PB_CONVERT_DOUBLE_FLOAT in pb.h or compiler command line.
17
+ */
18
+ PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
19
+ #endif
20
+
@@ -0,0 +1,129 @@
1
+ /* Automatically generated nanopb header */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #ifndef PB_FOXGLOVE_FOXGLOVE_CAMERACALIBRATION_PB_H_INCLUDED
5
+ #define PB_FOXGLOVE_FOXGLOVE_CAMERACALIBRATION_PB_H_INCLUDED
6
+ #include <pb.h>
7
+ #include "google/protobuf/timestamp.pb.h"
8
+
9
+ #if PB_PROTO_HEADER_VERSION != 40
10
+ #error Regenerate this file with the current version of nanopb generator.
11
+ #endif
12
+
13
+ /* Struct definitions */
14
+ /* Camera calibration parameters */
15
+ typedef struct _foxglove_CameraCalibration {
16
+ /* Timestamp of calibration data */
17
+ bool has_timestamp;
18
+ google_protobuf_Timestamp timestamp;
19
+ /* Image width */
20
+ uint32_t width;
21
+ /* Image height */
22
+ uint32_t height;
23
+ /* Name of distortion model
24
+
25
+ Supported parameters: `plumb_bob` (k1, k2, p1, p2, k3), `rational_polynomial` (k1, k2, p1, p2, k3, k4, k5, k6), and `kannala_brandt` (k1, k2, k3, k4), and `fisheye62` (k0, k1, k2, k3, p0, p1, crit_theta [optional]). `plumb_bob` and `rational_polynomial` models are based on the pinhole model [OpenCV's](https://docs.opencv.org/4.11.0/d9/d0c/group__calib3d.html) [pinhole camera model](https://en.wikipedia.org/wiki/Distortion_%28optics%29#Software_correction). The `kannala_brandt` model matches the [OpenvCV fisheye](https://docs.opencv.org/4.11.0/db/d58/group__calib3d__fisheye.html) model. The `fisheye62` model matches the [Project Aria's Fisheye62 Model](https://facebookresearch.github.io/projectaria_tools/docs/tech_insights/camera_intrinsic_models). */
26
+ char distortion_model[24];
27
+ /* Distortion parameters */
28
+ pb_size_t D_count;
29
+ double D[8];
30
+ /* Intrinsic camera matrix (3x3 row-major matrix)
31
+
32
+ A 3x3 row-major matrix for the raw (distorted) image.
33
+
34
+ Projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx, fy) and principal point (cx, cy).
35
+
36
+ ```
37
+ [fx 0 cx]
38
+ K = [ 0 fy cy]
39
+ [ 0 0 1]
40
+ ```
41
+
42
+ **Uncalibrated cameras:** Following ROS conventions for [CameraInfo](https://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/CameraInfo.html), Foxglove also treats K[0] == 0.0 as indicating an uncalibrated camera, and calibration data will be ignored. */
43
+ pb_size_t K_count;
44
+ double K[9]; /* length 9 */
45
+ /* Rectification matrix (stereo cameras only, 3x3 row-major matrix)
46
+
47
+ A rotation matrix aligning the camera coordinate system to the ideal stereo image plane so that epipolar lines in both stereo images are parallel. */
48
+ pb_size_t R_count;
49
+ double R[9]; /* length 9 */
50
+ /* Projection/camera matrix (3x4 row-major matrix)
51
+
52
+ ```
53
+ [fx' 0 cx' Tx]
54
+ P = [ 0 fy' cy' Ty]
55
+ [ 0 0 1 0]
56
+ ```
57
+
58
+ By convention, this matrix specifies the intrinsic (camera) matrix of the processed (rectified) image. That is, the left 3x3 portion is the normal camera intrinsic matrix for the rectified image.
59
+
60
+ It projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx', fy') and principal point (cx', cy') - these may differ from the values in K.
61
+
62
+ For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will also have R = the identity and P[1:3,1:3] = K.
63
+
64
+ Foxglove currently does not support displaying stereo images, so Tx and Ty are ignored.
65
+
66
+ Given a 3D point [X Y Z]', the projection (x, y) of the point onto the rectified image is given by:
67
+
68
+ ```
69
+ [u v w]' = P * [X Y Z 1]'
70
+ x = u / w
71
+ y = v / w
72
+ ```
73
+
74
+ This holds for both images of a stereo pair. */
75
+ pb_size_t P_count;
76
+ double P[12]; /* length 12 */
77
+ /* Frame of reference for the camera. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. */
78
+ char frame_id[16];
79
+ } foxglove_CameraCalibration;
80
+
81
+
82
+ #ifdef __cplusplus
83
+ extern "C" {
84
+ #endif
85
+
86
+ /* Initializer values for message structs */
87
+ #define foxglove_CameraCalibration_init_default {false, google_protobuf_Timestamp_init_default, 0, 0, "", 0, {0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, ""}
88
+ #define foxglove_CameraCalibration_init_zero {false, google_protobuf_Timestamp_init_zero, 0, 0, "", 0, {0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, ""}
89
+
90
+ /* Field tags (for use in manual encoding/decoding) */
91
+ #define foxglove_CameraCalibration_timestamp_tag 1
92
+ #define foxglove_CameraCalibration_width_tag 2
93
+ #define foxglove_CameraCalibration_height_tag 3
94
+ #define foxglove_CameraCalibration_distortion_model_tag 4
95
+ #define foxglove_CameraCalibration_D_tag 5
96
+ #define foxglove_CameraCalibration_K_tag 6
97
+ #define foxglove_CameraCalibration_R_tag 7
98
+ #define foxglove_CameraCalibration_P_tag 8
99
+ #define foxglove_CameraCalibration_frame_id_tag 9
100
+
101
+ /* Struct field encoding specification for nanopb */
102
+ #define foxglove_CameraCalibration_FIELDLIST(X, a) \
103
+ X(a, STATIC, OPTIONAL, MESSAGE, timestamp, 1) \
104
+ X(a, STATIC, SINGULAR, FIXED32, width, 2) \
105
+ X(a, STATIC, SINGULAR, FIXED32, height, 3) \
106
+ X(a, STATIC, SINGULAR, STRING, distortion_model, 4) \
107
+ X(a, STATIC, REPEATED, DOUBLE, D, 5) \
108
+ X(a, STATIC, REPEATED, DOUBLE, K, 6) \
109
+ X(a, STATIC, REPEATED, DOUBLE, R, 7) \
110
+ X(a, STATIC, REPEATED, DOUBLE, P, 8) \
111
+ X(a, STATIC, SINGULAR, STRING, frame_id, 9)
112
+ #define foxglove_CameraCalibration_CALLBACK NULL
113
+ #define foxglove_CameraCalibration_DEFAULT NULL
114
+ #define foxglove_CameraCalibration_timestamp_MSGTYPE google_protobuf_Timestamp
115
+
116
+ extern const pb_msgdesc_t foxglove_CameraCalibration_msg;
117
+
118
+ /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
119
+ #define foxglove_CameraCalibration_fields &foxglove_CameraCalibration_msg
120
+
121
+ /* Maximum encoded size of messages (where known) */
122
+ #define FOXGLOVE_FOXGLOVE_CAMERACALIBRATION_PB_H_MAX_SIZE foxglove_CameraCalibration_size
123
+ #define foxglove_CameraCalibration_size 418
124
+
125
+ #ifdef __cplusplus
126
+ } /* extern "C" */
127
+ #endif
128
+
129
+ #endif
@@ -0,0 +1,20 @@
1
+ /* Automatically generated nanopb constant definitions */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #include "foxglove/CircleAnnotation.pb.h"
5
+ #if PB_PROTO_HEADER_VERSION != 40
6
+ #error Regenerate this file with the current version of nanopb generator.
7
+ #endif
8
+
9
+ PB_BIND(foxglove_CircleAnnotation, foxglove_CircleAnnotation, AUTO)
10
+
11
+
12
+
13
+ #ifndef PB_CONVERT_DOUBLE_FLOAT
14
+ /* On some platforms (such as AVR), double is really float.
15
+ * To be able to encode/decode double on these platforms, you need.
16
+ * to define PB_CONVERT_DOUBLE_FLOAT in pb.h or compiler command line.
17
+ */
18
+ PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
19
+ #endif
20
+
@@ -0,0 +1,87 @@
1
+ /* Automatically generated nanopb header */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #ifndef PB_FOXGLOVE_FOXGLOVE_CIRCLEANNOTATION_PB_H_INCLUDED
5
+ #define PB_FOXGLOVE_FOXGLOVE_CIRCLEANNOTATION_PB_H_INCLUDED
6
+ #include <pb.h>
7
+ #include "foxglove/Color.pb.h"
8
+ #include "foxglove/KeyValuePair.pb.h"
9
+ #include "foxglove/Point2.pb.h"
10
+ #include "google/protobuf/timestamp.pb.h"
11
+
12
+ #if PB_PROTO_HEADER_VERSION != 40
13
+ #error Regenerate this file with the current version of nanopb generator.
14
+ #endif
15
+
16
+ /* Struct definitions */
17
+ /* A circle annotation on a 2D image */
18
+ typedef struct _foxglove_CircleAnnotation {
19
+ /* Timestamp of circle */
20
+ bool has_timestamp;
21
+ google_protobuf_Timestamp timestamp;
22
+ /* Center of the circle in 2D image coordinates (pixels).
23
+ The coordinate uses the top-left corner of the top-left pixel of the image as the origin. */
24
+ bool has_position;
25
+ foxglove_Point2 position;
26
+ /* Circle diameter in pixels */
27
+ double diameter;
28
+ /* Line thickness in pixels */
29
+ double thickness;
30
+ /* Fill color */
31
+ bool has_fill_color;
32
+ foxglove_Color fill_color;
33
+ /* Outline color */
34
+ bool has_outline_color;
35
+ foxglove_Color outline_color;
36
+ /* Additional user-provided metadata associated with this annotation. Keys must be unique. */
37
+ pb_callback_t metadata;
38
+ } foxglove_CircleAnnotation;
39
+
40
+
41
+ #ifdef __cplusplus
42
+ extern "C" {
43
+ #endif
44
+
45
+ /* Initializer values for message structs */
46
+ #define foxglove_CircleAnnotation_init_default {false, google_protobuf_Timestamp_init_default, false, foxglove_Point2_init_default, 0, 0, false, foxglove_Color_init_default, false, foxglove_Color_init_default, {{NULL}, NULL}}
47
+ #define foxglove_CircleAnnotation_init_zero {false, google_protobuf_Timestamp_init_zero, false, foxglove_Point2_init_zero, 0, 0, false, foxglove_Color_init_zero, false, foxglove_Color_init_zero, {{NULL}, NULL}}
48
+
49
+ /* Field tags (for use in manual encoding/decoding) */
50
+ #define foxglove_CircleAnnotation_timestamp_tag 1
51
+ #define foxglove_CircleAnnotation_position_tag 2
52
+ #define foxglove_CircleAnnotation_diameter_tag 3
53
+ #define foxglove_CircleAnnotation_thickness_tag 4
54
+ #define foxglove_CircleAnnotation_fill_color_tag 5
55
+ #define foxglove_CircleAnnotation_outline_color_tag 6
56
+ #define foxglove_CircleAnnotation_metadata_tag 7
57
+
58
+ /* Struct field encoding specification for nanopb */
59
+ #define foxglove_CircleAnnotation_FIELDLIST(X, a) \
60
+ X(a, STATIC, OPTIONAL, MESSAGE, timestamp, 1) \
61
+ X(a, STATIC, OPTIONAL, MESSAGE, position, 2) \
62
+ X(a, STATIC, SINGULAR, DOUBLE, diameter, 3) \
63
+ X(a, STATIC, SINGULAR, DOUBLE, thickness, 4) \
64
+ X(a, STATIC, OPTIONAL, MESSAGE, fill_color, 5) \
65
+ X(a, STATIC, OPTIONAL, MESSAGE, outline_color, 6) \
66
+ X(a, CALLBACK, REPEATED, MESSAGE, metadata, 7)
67
+ #define foxglove_CircleAnnotation_CALLBACK pb_default_field_callback
68
+ #define foxglove_CircleAnnotation_DEFAULT NULL
69
+ #define foxglove_CircleAnnotation_timestamp_MSGTYPE google_protobuf_Timestamp
70
+ #define foxglove_CircleAnnotation_position_MSGTYPE foxglove_Point2
71
+ #define foxglove_CircleAnnotation_fill_color_MSGTYPE foxglove_Color
72
+ #define foxglove_CircleAnnotation_outline_color_MSGTYPE foxglove_Color
73
+ #define foxglove_CircleAnnotation_metadata_MSGTYPE foxglove_KeyValuePair
74
+
75
+ extern const pb_msgdesc_t foxglove_CircleAnnotation_msg;
76
+
77
+ /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
78
+ #define foxglove_CircleAnnotation_fields &foxglove_CircleAnnotation_msg
79
+
80
+ /* Maximum encoded size of messages (where known) */
81
+ /* foxglove_CircleAnnotation_size depends on runtime parameters */
82
+
83
+ #ifdef __cplusplus
84
+ } /* extern "C" */
85
+ #endif
86
+
87
+ #endif
@@ -0,0 +1,20 @@
1
+ /* Automatically generated nanopb constant definitions */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #include "foxglove/Color.pb.h"
5
+ #if PB_PROTO_HEADER_VERSION != 40
6
+ #error Regenerate this file with the current version of nanopb generator.
7
+ #endif
8
+
9
+ PB_BIND(foxglove_Color, foxglove_Color, AUTO)
10
+
11
+
12
+
13
+ #ifndef PB_CONVERT_DOUBLE_FLOAT
14
+ /* On some platforms (such as AVR), double is really float.
15
+ * To be able to encode/decode double on these platforms, you need.
16
+ * to define PB_CONVERT_DOUBLE_FLOAT in pb.h or compiler command line.
17
+ */
18
+ PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
19
+ #endif
20
+
@@ -0,0 +1,62 @@
1
+ /* Automatically generated nanopb header */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #ifndef PB_FOXGLOVE_FOXGLOVE_COLOR_PB_H_INCLUDED
5
+ #define PB_FOXGLOVE_FOXGLOVE_COLOR_PB_H_INCLUDED
6
+ #include <pb.h>
7
+
8
+ #if PB_PROTO_HEADER_VERSION != 40
9
+ #error Regenerate this file with the current version of nanopb generator.
10
+ #endif
11
+
12
+ /* Struct definitions */
13
+ /* A color in RGBA format */
14
+ typedef struct _foxglove_Color {
15
+ /* Red value between 0 and 1 */
16
+ double r;
17
+ /* Green value between 0 and 1 */
18
+ double g;
19
+ /* Blue value between 0 and 1 */
20
+ double b;
21
+ /* Alpha value between 0 and 1 */
22
+ double a;
23
+ } foxglove_Color;
24
+
25
+
26
+ #ifdef __cplusplus
27
+ extern "C" {
28
+ #endif
29
+
30
+ /* Initializer values for message structs */
31
+ #define foxglove_Color_init_default {0, 0, 0, 0}
32
+ #define foxglove_Color_init_zero {0, 0, 0, 0}
33
+
34
+ /* Field tags (for use in manual encoding/decoding) */
35
+ #define foxglove_Color_r_tag 1
36
+ #define foxglove_Color_g_tag 2
37
+ #define foxglove_Color_b_tag 3
38
+ #define foxglove_Color_a_tag 4
39
+
40
+ /* Struct field encoding specification for nanopb */
41
+ #define foxglove_Color_FIELDLIST(X, a_) \
42
+ X(a_, STATIC, SINGULAR, DOUBLE, r, 1) \
43
+ X(a_, STATIC, SINGULAR, DOUBLE, g, 2) \
44
+ X(a_, STATIC, SINGULAR, DOUBLE, b, 3) \
45
+ X(a_, STATIC, SINGULAR, DOUBLE, a, 4)
46
+ #define foxglove_Color_CALLBACK NULL
47
+ #define foxglove_Color_DEFAULT NULL
48
+
49
+ extern const pb_msgdesc_t foxglove_Color_msg;
50
+
51
+ /* Defines for backwards compatibility with code written before nanopb-0.4.0 */
52
+ #define foxglove_Color_fields &foxglove_Color_msg
53
+
54
+ /* Maximum encoded size of messages (where known) */
55
+ #define FOXGLOVE_FOXGLOVE_COLOR_PB_H_MAX_SIZE foxglove_Color_size
56
+ #define foxglove_Color_size 36
57
+
58
+ #ifdef __cplusplus
59
+ } /* extern "C" */
60
+ #endif
61
+
62
+ #endif
@@ -0,0 +1,12 @@
1
+ /* Automatically generated nanopb constant definitions */
2
+ /* Generated by nanopb-0.4.9.1 */
3
+
4
+ #include "foxglove/CompressedImage.pb.h"
5
+ #if PB_PROTO_HEADER_VERSION != 40
6
+ #error Regenerate this file with the current version of nanopb generator.
7
+ #endif
8
+
9
+ PB_BIND(foxglove_CompressedImage, foxglove_CompressedImage, AUTO)
10
+
11
+
12
+