@foxglove/schemas 0.1.2 → 0.4.0

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 (320) hide show
  1. package/.github/workflows/ci.yml +7 -1
  2. package/README.md +45 -4
  3. package/dist/cjs/schemas/typescript/CameraCalibration.js +1 -1
  4. package/dist/cjs/schemas/typescript/CameraCalibration.js.map +1 -1
  5. package/dist/cjs/schemas/typescript/CircleAnnotation.js +1 -1
  6. package/dist/cjs/schemas/typescript/CircleAnnotation.js.map +1 -1
  7. package/dist/cjs/schemas/typescript/Color.js +1 -1
  8. package/dist/cjs/schemas/typescript/Color.js.map +1 -1
  9. package/dist/cjs/schemas/typescript/CompressedImage.js +1 -1
  10. package/dist/cjs/schemas/typescript/CompressedImage.js.map +1 -1
  11. package/dist/cjs/schemas/typescript/FrameTransform.d.ts +6 -3
  12. package/dist/cjs/schemas/typescript/FrameTransform.d.ts.map +1 -1
  13. package/dist/cjs/schemas/typescript/FrameTransform.js +1 -1
  14. package/dist/cjs/schemas/typescript/FrameTransform.js.map +1 -1
  15. package/dist/cjs/schemas/typescript/GeoJSON.js +1 -1
  16. package/dist/cjs/schemas/typescript/GeoJSON.js.map +1 -1
  17. package/dist/cjs/schemas/typescript/Grid.js +1 -1
  18. package/dist/cjs/schemas/typescript/Grid.js.map +1 -1
  19. package/dist/cjs/schemas/typescript/ImageAnnotations.js +1 -1
  20. package/dist/cjs/schemas/typescript/ImageAnnotations.js.map +1 -1
  21. package/dist/cjs/schemas/typescript/LaserScan.js +1 -1
  22. package/dist/cjs/schemas/typescript/LaserScan.js.map +1 -1
  23. package/dist/cjs/schemas/typescript/LocationFix.js +1 -1
  24. package/dist/cjs/schemas/typescript/LocationFix.js.map +1 -1
  25. package/dist/cjs/schemas/typescript/Log.js +1 -1
  26. package/dist/cjs/schemas/typescript/Log.js.map +1 -1
  27. package/dist/cjs/schemas/typescript/LogLevel.js +1 -1
  28. package/dist/cjs/schemas/typescript/LogLevel.js.map +1 -1
  29. package/dist/cjs/schemas/typescript/NumericType.js +1 -1
  30. package/dist/cjs/schemas/typescript/NumericType.js.map +1 -1
  31. package/dist/cjs/schemas/typescript/PackedElementField.d.ts +1 -1
  32. package/dist/cjs/schemas/typescript/PackedElementField.d.ts.map +1 -1
  33. package/dist/cjs/schemas/typescript/PackedElementField.js +1 -1
  34. package/dist/cjs/schemas/typescript/PackedElementField.js.map +1 -1
  35. package/dist/cjs/schemas/typescript/Point2.js +1 -1
  36. package/dist/cjs/schemas/typescript/Point2.js.map +1 -1
  37. package/dist/cjs/schemas/typescript/Point3.js +1 -1
  38. package/dist/cjs/schemas/typescript/Point3.js.map +1 -1
  39. package/dist/cjs/schemas/typescript/PointCloud.js +1 -1
  40. package/dist/cjs/schemas/typescript/PointCloud.js.map +1 -1
  41. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts +5 -1
  42. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
  43. package/dist/cjs/schemas/typescript/PointsAnnotation.js +1 -1
  44. package/dist/cjs/schemas/typescript/PointsAnnotation.js.map +1 -1
  45. package/dist/cjs/schemas/typescript/PointsAnnotationType.js +1 -1
  46. package/dist/cjs/schemas/typescript/PointsAnnotationType.js.map +1 -1
  47. package/dist/cjs/schemas/typescript/Pose.js +1 -1
  48. package/dist/cjs/schemas/typescript/Pose.js.map +1 -1
  49. package/dist/cjs/schemas/typescript/PoseInFrame.js +1 -1
  50. package/dist/cjs/schemas/typescript/PoseInFrame.js.map +1 -1
  51. package/dist/cjs/schemas/typescript/PosesInFrame.js +1 -1
  52. package/dist/cjs/schemas/typescript/PositionCovarianceType.js +1 -1
  53. package/dist/cjs/schemas/typescript/PositionCovarianceType.js.map +1 -1
  54. package/dist/cjs/schemas/typescript/Quaternion.js +1 -1
  55. package/dist/cjs/schemas/typescript/Quaternion.js.map +1 -1
  56. package/dist/cjs/schemas/typescript/RawImage.js +1 -1
  57. package/dist/cjs/schemas/typescript/RawImage.js.map +1 -1
  58. package/dist/cjs/schemas/typescript/Vector2.js +1 -1
  59. package/dist/cjs/schemas/typescript/Vector2.js.map +1 -1
  60. package/dist/cjs/schemas/typescript/Vector3.js +1 -1
  61. package/dist/cjs/schemas/typescript/Vector3.js.map +1 -1
  62. package/dist/cjs/schemas/typescript/index.d.ts +0 -1
  63. package/dist/cjs/schemas/typescript/index.d.ts.map +1 -1
  64. package/dist/cjs/schemas/typescript/index.js +0 -1
  65. package/dist/cjs/schemas/typescript/index.js.map +1 -1
  66. package/dist/cjs/scripts/updateGeneratedFiles.js +17 -4
  67. package/dist/cjs/scripts/updateGeneratedFiles.js.map +1 -1
  68. package/dist/cjs/src/generateJsonSchema.d.ts.map +1 -1
  69. package/dist/cjs/src/generateJsonSchema.js +4 -3
  70. package/dist/cjs/src/generateJsonSchema.js.map +1 -1
  71. package/dist/cjs/src/generateJsonSchema.test.js +6 -8
  72. package/dist/cjs/src/generateJsonSchema.test.js.map +1 -1
  73. package/dist/cjs/src/generateMarkdown.d.ts +3 -0
  74. package/dist/cjs/src/generateMarkdown.d.ts.map +1 -0
  75. package/dist/cjs/src/generateMarkdown.js +80 -0
  76. package/dist/cjs/src/generateMarkdown.js.map +1 -0
  77. package/dist/cjs/src/generateProto.js +1 -1
  78. package/dist/cjs/src/generateProto.js.map +1 -1
  79. package/dist/cjs/src/generateProto.test.js +1 -1
  80. package/dist/cjs/src/generateRos.d.ts +4 -1
  81. package/dist/cjs/src/generateRos.d.ts.map +1 -1
  82. package/dist/cjs/src/generateRos.js +8 -4
  83. package/dist/cjs/src/generateRos.js.map +1 -1
  84. package/dist/cjs/src/generateRos.test.js +463 -7
  85. package/dist/cjs/src/generateRos.test.js.map +1 -1
  86. package/dist/cjs/src/generateTypeScript.js +1 -1
  87. package/dist/cjs/src/generateTypeScript.js.map +1 -1
  88. package/dist/cjs/src/generateTypeScript.test.js +2 -2
  89. package/dist/cjs/src/schemas.d.ts +0 -2
  90. package/dist/cjs/src/schemas.d.ts.map +1 -1
  91. package/dist/cjs/src/schemas.js +23 -31
  92. package/dist/cjs/src/schemas.js.map +1 -1
  93. package/dist/esm/schemas/typescript/CameraCalibration.js +1 -1
  94. package/dist/esm/schemas/typescript/CameraCalibration.js.map +1 -1
  95. package/dist/esm/schemas/typescript/CircleAnnotation.js +1 -1
  96. package/dist/esm/schemas/typescript/CircleAnnotation.js.map +1 -1
  97. package/dist/esm/schemas/typescript/Color.js +1 -1
  98. package/dist/esm/schemas/typescript/Color.js.map +1 -1
  99. package/dist/esm/schemas/typescript/CompressedImage.js +1 -1
  100. package/dist/esm/schemas/typescript/CompressedImage.js.map +1 -1
  101. package/dist/esm/schemas/typescript/FrameTransform.d.ts +6 -3
  102. package/dist/esm/schemas/typescript/FrameTransform.d.ts.map +1 -1
  103. package/dist/esm/schemas/typescript/FrameTransform.js +1 -1
  104. package/dist/esm/schemas/typescript/FrameTransform.js.map +1 -1
  105. package/dist/esm/schemas/typescript/GeoJSON.js +1 -1
  106. package/dist/esm/schemas/typescript/GeoJSON.js.map +1 -1
  107. package/dist/esm/schemas/typescript/Grid.js +1 -1
  108. package/dist/esm/schemas/typescript/Grid.js.map +1 -1
  109. package/dist/esm/schemas/typescript/ImageAnnotations.js +1 -1
  110. package/dist/esm/schemas/typescript/ImageAnnotations.js.map +1 -1
  111. package/dist/esm/schemas/typescript/LaserScan.js +1 -1
  112. package/dist/esm/schemas/typescript/LaserScan.js.map +1 -1
  113. package/dist/esm/schemas/typescript/LocationFix.js +1 -1
  114. package/dist/esm/schemas/typescript/LocationFix.js.map +1 -1
  115. package/dist/esm/schemas/typescript/Log.js +1 -1
  116. package/dist/esm/schemas/typescript/Log.js.map +1 -1
  117. package/dist/esm/schemas/typescript/LogLevel.js +1 -1
  118. package/dist/esm/schemas/typescript/LogLevel.js.map +1 -1
  119. package/dist/esm/schemas/typescript/NumericType.js +1 -1
  120. package/dist/esm/schemas/typescript/NumericType.js.map +1 -1
  121. package/dist/esm/schemas/typescript/PackedElementField.d.ts +1 -1
  122. package/dist/esm/schemas/typescript/PackedElementField.d.ts.map +1 -1
  123. package/dist/esm/schemas/typescript/PackedElementField.js +1 -1
  124. package/dist/esm/schemas/typescript/PackedElementField.js.map +1 -1
  125. package/dist/esm/schemas/typescript/Point2.js +1 -1
  126. package/dist/esm/schemas/typescript/Point2.js.map +1 -1
  127. package/dist/esm/schemas/typescript/Point3.js +1 -1
  128. package/dist/esm/schemas/typescript/Point3.js.map +1 -1
  129. package/dist/esm/schemas/typescript/PointCloud.js +1 -1
  130. package/dist/esm/schemas/typescript/PointCloud.js.map +1 -1
  131. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts +5 -1
  132. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
  133. package/dist/esm/schemas/typescript/PointsAnnotation.js +1 -1
  134. package/dist/esm/schemas/typescript/PointsAnnotation.js.map +1 -1
  135. package/dist/esm/schemas/typescript/PointsAnnotationType.js +1 -1
  136. package/dist/esm/schemas/typescript/PointsAnnotationType.js.map +1 -1
  137. package/dist/esm/schemas/typescript/Pose.js +1 -1
  138. package/dist/esm/schemas/typescript/Pose.js.map +1 -1
  139. package/dist/esm/schemas/typescript/PoseInFrame.js +1 -1
  140. package/dist/esm/schemas/typescript/PoseInFrame.js.map +1 -1
  141. package/dist/esm/schemas/typescript/PosesInFrame.js +1 -1
  142. package/dist/esm/schemas/typescript/PositionCovarianceType.js +1 -1
  143. package/dist/esm/schemas/typescript/PositionCovarianceType.js.map +1 -1
  144. package/dist/esm/schemas/typescript/Quaternion.js +1 -1
  145. package/dist/esm/schemas/typescript/Quaternion.js.map +1 -1
  146. package/dist/esm/schemas/typescript/RawImage.js +1 -1
  147. package/dist/esm/schemas/typescript/RawImage.js.map +1 -1
  148. package/dist/esm/schemas/typescript/Vector2.js +1 -1
  149. package/dist/esm/schemas/typescript/Vector2.js.map +1 -1
  150. package/dist/esm/schemas/typescript/Vector3.js +1 -1
  151. package/dist/esm/schemas/typescript/Vector3.js.map +1 -1
  152. package/dist/esm/schemas/typescript/index.d.ts +0 -1
  153. package/dist/esm/schemas/typescript/index.d.ts.map +1 -1
  154. package/dist/esm/schemas/typescript/index.js +0 -1
  155. package/dist/esm/schemas/typescript/index.js.map +1 -1
  156. package/dist/esm/scripts/updateGeneratedFiles.js +17 -4
  157. package/dist/esm/scripts/updateGeneratedFiles.js.map +1 -1
  158. package/dist/esm/src/generateJsonSchema.d.ts.map +1 -1
  159. package/dist/esm/src/generateJsonSchema.js +4 -3
  160. package/dist/esm/src/generateJsonSchema.js.map +1 -1
  161. package/dist/esm/src/generateJsonSchema.test.js +6 -8
  162. package/dist/esm/src/generateJsonSchema.test.js.map +1 -1
  163. package/dist/esm/src/generateMarkdown.d.ts +3 -0
  164. package/dist/esm/src/generateMarkdown.d.ts.map +1 -0
  165. package/dist/esm/src/generateMarkdown.js +76 -0
  166. package/dist/esm/src/generateMarkdown.js.map +1 -0
  167. package/dist/esm/src/generateProto.js +1 -1
  168. package/dist/esm/src/generateProto.js.map +1 -1
  169. package/dist/esm/src/generateProto.test.js +1 -1
  170. package/dist/esm/src/generateRos.d.ts +4 -1
  171. package/dist/esm/src/generateRos.d.ts.map +1 -1
  172. package/dist/esm/src/generateRos.js +8 -4
  173. package/dist/esm/src/generateRos.js.map +1 -1
  174. package/dist/esm/src/generateRos.test.js +463 -7
  175. package/dist/esm/src/generateRos.test.js.map +1 -1
  176. package/dist/esm/src/generateTypeScript.js +1 -1
  177. package/dist/esm/src/generateTypeScript.js.map +1 -1
  178. package/dist/esm/src/generateTypeScript.test.js +2 -2
  179. package/dist/esm/src/schemas.d.ts +0 -2
  180. package/dist/esm/src/schemas.d.ts.map +1 -1
  181. package/dist/esm/src/schemas.js +21 -29
  182. package/dist/esm/src/schemas.js.map +1 -1
  183. package/package.json +2 -2
  184. package/schemas/README.md +1711 -0
  185. package/schemas/jsonschema/CameraCalibration.json +2 -2
  186. package/schemas/jsonschema/CircleAnnotation.json +5 -8
  187. package/schemas/jsonschema/Color.json +2 -2
  188. package/schemas/jsonschema/CompressedImage.json +2 -2
  189. package/schemas/jsonschema/FrameTransform.json +37 -63
  190. package/schemas/jsonschema/GeoJSON.json +2 -2
  191. package/schemas/jsonschema/Grid.json +9 -14
  192. package/schemas/jsonschema/ImageAnnotations.json +39 -20
  193. package/schemas/jsonschema/LaserScan.json +5 -8
  194. package/schemas/jsonschema/LocationFix.json +3 -3
  195. package/schemas/jsonschema/Log.json +3 -3
  196. package/schemas/jsonschema/PackedElementField.json +4 -4
  197. package/schemas/jsonschema/Point2.json +2 -2
  198. package/schemas/jsonschema/Point3.json +2 -2
  199. package/schemas/jsonschema/PointCloud.json +8 -12
  200. package/schemas/jsonschema/PointsAnnotation.json +34 -10
  201. package/schemas/jsonschema/Pose.json +4 -6
  202. package/schemas/jsonschema/PoseInFrame.json +5 -8
  203. package/schemas/jsonschema/PosesInFrame.json +5 -8
  204. package/schemas/jsonschema/Quaternion.json +2 -2
  205. package/schemas/jsonschema/RawImage.json +2 -2
  206. package/schemas/jsonschema/Vector2.json +2 -2
  207. package/schemas/jsonschema/Vector3.json +2 -2
  208. package/schemas/proto/foxglove/CameraCalibration.proto +1 -1
  209. package/schemas/proto/foxglove/CircleAnnotation.proto +1 -1
  210. package/schemas/proto/foxglove/Color.proto +1 -1
  211. package/schemas/proto/foxglove/CompressedImage.proto +1 -1
  212. package/schemas/proto/foxglove/FrameTransform.proto +8 -4
  213. package/schemas/proto/foxglove/GeoJSON.proto +1 -1
  214. package/schemas/proto/foxglove/Grid.proto +1 -1
  215. package/schemas/proto/foxglove/ImageAnnotations.proto +1 -1
  216. package/schemas/proto/foxglove/LaserScan.proto +1 -1
  217. package/schemas/proto/foxglove/LocationFix.proto +1 -1
  218. package/schemas/proto/foxglove/Log.proto +1 -1
  219. package/schemas/proto/foxglove/PackedElementField.proto +2 -2
  220. package/schemas/proto/foxglove/Point2.proto +1 -1
  221. package/schemas/proto/foxglove/Point3.proto +1 -1
  222. package/schemas/proto/foxglove/PointCloud.proto +1 -1
  223. package/schemas/proto/foxglove/PointsAnnotation.proto +10 -4
  224. package/schemas/proto/foxglove/Pose.proto +1 -1
  225. package/schemas/proto/foxglove/PoseInFrame.proto +1 -1
  226. package/schemas/proto/foxglove/PosesInFrame.proto +1 -1
  227. package/schemas/proto/foxglove/Quaternion.proto +1 -1
  228. package/schemas/proto/foxglove/RawImage.proto +1 -1
  229. package/schemas/proto/foxglove/Vector2.proto +1 -1
  230. package/schemas/proto/foxglove/Vector3.proto +1 -1
  231. package/schemas/ros1/CameraCalibration.msg +4 -1
  232. package/schemas/ros1/CircleAnnotation.msg +4 -1
  233. package/schemas/ros1/Color.msg +4 -1
  234. package/schemas/ros1/CompressedImage.msg +4 -1
  235. package/schemas/ros1/FrameTransform.msg +9 -3
  236. package/schemas/ros1/GeoJSON.msg +4 -1
  237. package/schemas/ros1/Grid.msg +4 -1
  238. package/schemas/ros1/ImageAnnotations.msg +4 -1
  239. package/schemas/ros1/LaserScan.msg +4 -1
  240. package/schemas/ros1/LocationFix.msg +4 -1
  241. package/schemas/ros1/Log.msg +4 -1
  242. package/schemas/ros1/PackedElementField.msg +4 -1
  243. package/schemas/ros1/Point2.msg +4 -1
  244. package/schemas/ros1/PointCloud.msg +4 -1
  245. package/schemas/ros1/PointsAnnotation.msg +11 -2
  246. package/schemas/ros1/PoseInFrame.msg +4 -1
  247. package/schemas/ros1/PosesInFrame.msg +4 -1
  248. package/schemas/ros1/RawImage.msg +4 -1
  249. package/schemas/ros1/Vector2.msg +4 -1
  250. package/schemas/ros2/CameraCalibration.msg +4 -1
  251. package/schemas/ros2/CircleAnnotation.msg +4 -1
  252. package/schemas/ros2/Color.msg +4 -1
  253. package/schemas/ros2/CompressedImage.msg +4 -1
  254. package/schemas/ros2/FrameTransform.msg +9 -3
  255. package/schemas/ros2/GeoJSON.msg +4 -1
  256. package/schemas/ros2/Grid.msg +4 -1
  257. package/schemas/ros2/ImageAnnotations.msg +4 -1
  258. package/schemas/ros2/LaserScan.msg +4 -1
  259. package/schemas/ros2/LocationFix.msg +4 -1
  260. package/schemas/ros2/Log.msg +4 -1
  261. package/schemas/ros2/PackedElementField.msg +4 -1
  262. package/schemas/ros2/Point2.msg +4 -1
  263. package/schemas/ros2/PointCloud.msg +4 -1
  264. package/schemas/ros2/PointsAnnotation.msg +11 -2
  265. package/schemas/ros2/PoseInFrame.msg +4 -1
  266. package/schemas/ros2/PosesInFrame.msg +4 -1
  267. package/schemas/ros2/RawImage.msg +4 -1
  268. package/schemas/ros2/Vector2.msg +4 -1
  269. package/schemas/typescript/CameraCalibration.ts +1 -1
  270. package/schemas/typescript/CircleAnnotation.ts +1 -1
  271. package/schemas/typescript/Color.ts +1 -1
  272. package/schemas/typescript/CompressedImage.ts +1 -1
  273. package/schemas/typescript/FrameTransform.ts +8 -4
  274. package/schemas/typescript/GeoJSON.ts +1 -1
  275. package/schemas/typescript/Grid.ts +1 -1
  276. package/schemas/typescript/ImageAnnotations.ts +1 -1
  277. package/schemas/typescript/LaserScan.ts +1 -1
  278. package/schemas/typescript/LocationFix.ts +1 -1
  279. package/schemas/typescript/Log.ts +1 -1
  280. package/schemas/typescript/LogLevel.ts +1 -1
  281. package/schemas/typescript/NumericType.ts +1 -1
  282. package/schemas/typescript/PackedElementField.ts +2 -2
  283. package/schemas/typescript/Point2.ts +1 -1
  284. package/schemas/typescript/Point3.ts +1 -1
  285. package/schemas/typescript/PointCloud.ts +1 -1
  286. package/schemas/typescript/PointsAnnotation.ts +8 -2
  287. package/schemas/typescript/PointsAnnotationType.ts +1 -1
  288. package/schemas/typescript/Pose.ts +1 -1
  289. package/schemas/typescript/PoseInFrame.ts +1 -1
  290. package/schemas/typescript/PosesInFrame.ts +1 -1
  291. package/schemas/typescript/PositionCovarianceType.ts +1 -1
  292. package/schemas/typescript/Quaternion.ts +1 -1
  293. package/schemas/typescript/RawImage.ts +1 -1
  294. package/schemas/typescript/Vector2.ts +1 -1
  295. package/schemas/typescript/Vector3.ts +1 -1
  296. package/schemas/typescript/index.ts +0 -1
  297. package/scripts/updateGeneratedFiles.ts +21 -10
  298. package/src/generateJsonSchema.test.ts +6 -8
  299. package/src/generateJsonSchema.ts +4 -3
  300. package/src/generateMarkdown.ts +88 -0
  301. package/src/generateProto.test.ts +1 -1
  302. package/src/generateProto.ts +1 -1
  303. package/src/generateRos.test.ts +464 -7
  304. package/src/generateRos.ts +14 -5
  305. package/src/generateTypeScript.test.ts +2 -2
  306. package/src/generateTypeScript.ts +1 -1
  307. package/src/schemas.ts +22 -30
  308. package/dist/cjs/schemas/typescript/Transform.d.ts +0 -13
  309. package/dist/cjs/schemas/typescript/Transform.d.ts.map +0 -1
  310. package/dist/cjs/schemas/typescript/Transform.js +0 -4
  311. package/dist/cjs/schemas/typescript/Transform.js.map +0 -1
  312. package/dist/esm/schemas/typescript/Transform.d.ts +0 -13
  313. package/dist/esm/schemas/typescript/Transform.d.ts.map +0 -1
  314. package/dist/esm/schemas/typescript/Transform.js +0 -3
  315. package/dist/esm/schemas/typescript/Transform.js.map +0 -1
  316. package/schemas/jsonschema/Transform.json +0 -68
  317. package/schemas/proto/foxglove/Transform.proto +0 -21
  318. package/schemas/ros1/Transform.msg +0 -10
  319. package/schemas/ros2/Transform.msg +0 -10
  320. package/schemas/typescript/Transform.ts +0 -17
@@ -1,4 +1,7 @@
1
- # Generated from RawImage by @foxglove/schemas
1
+ # foxglove_msgs/RawImage
2
+ # A raw image
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of image
4
7
  time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from Vector2 by @foxglove/schemas
1
+ # foxglove_msgs/Vector2
2
+ # A vector in 2D space that represents a direction only
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # x coordinate length
4
7
  float64 x
@@ -1,4 +1,7 @@
1
- # Generated from CameraCalibration by @foxglove/schemas
1
+ # foxglove_msgs/msg/CameraCalibration
2
+ # Camera calibration parameters
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of calibration data
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from CircleAnnotation by @foxglove/schemas
1
+ # foxglove_msgs/msg/CircleAnnotation
2
+ # A circle annotation on a 2D image
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of circle
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from Color by @foxglove/schemas
1
+ # foxglove_msgs/msg/Color
2
+ # A color in RGBA format
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Red value between 0 and 1
4
7
  float64 r
@@ -1,4 +1,7 @@
1
- # Generated from CompressedImage by @foxglove/schemas
1
+ # foxglove_msgs/msg/CompressedImage
2
+ # A compressed image
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of image
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from FrameTransform by @foxglove/schemas
1
+ # foxglove_msgs/msg/FrameTransform
2
+ # A transform between two reference frames in 3D space
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of transform
4
7
  builtin_interfaces/Time timestamp
@@ -9,5 +12,8 @@ string parent_frame_id
9
12
  # Name of the child frame
10
13
  string child_frame_id
11
14
 
12
- # Transform from parent frame to child frame
13
- foxglove_msgs/Transform transform
15
+ # Translation component of the transform
16
+ geometry_msgs/Vector3 translation
17
+
18
+ # Rotation component of the transform
19
+ geometry_msgs/Quaternion rotation
@@ -1,4 +1,7 @@
1
- # Generated from GeoJSON by @foxglove/schemas
1
+ # foxglove_msgs/msg/GeoJSON
2
+ # GeoJSON data for annotating maps
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # GeoJSON data encoded as a UTF-8 string
4
7
  string geojson
@@ -1,4 +1,7 @@
1
- # Generated from Grid by @foxglove/schemas
1
+ # foxglove_msgs/msg/Grid
2
+ # A 2D grid of data
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of grid
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from ImageAnnotations by @foxglove/schemas
1
+ # foxglove_msgs/msg/ImageAnnotations
2
+ # Array of annotations for a 2D image
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Circle annotations
4
7
  foxglove_msgs/CircleAnnotation[] circles
@@ -1,4 +1,7 @@
1
- # Generated from LaserScan by @foxglove/schemas
1
+ # foxglove_msgs/msg/LaserScan
2
+ # A single scan from a planar laser range-finder
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of scan
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from LocationFix by @foxglove/schemas
1
+ # foxglove_msgs/msg/LocationFix
2
+ # A navigation satellite fix for any Global Navigation Satellite System
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Latitude in degrees
4
7
  float64 latitude
@@ -1,4 +1,7 @@
1
- # Generated from Log by @foxglove/schemas
1
+ # foxglove_msgs/msg/Log
2
+ # A log message
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of log message
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from PackedElementField by @foxglove/schemas
1
+ # foxglove_msgs/msg/PackedElementField
2
+ # A field present within each element in a byte array of packed elements.
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Name of the field
4
7
  string name
@@ -1,4 +1,7 @@
1
- # Generated from Point2 by @foxglove/schemas
1
+ # foxglove_msgs/msg/Point2
2
+ # A point representing a position in 2D space
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # x coordinate position
4
7
  float64 x
@@ -1,4 +1,7 @@
1
- # Generated from PointCloud by @foxglove/schemas
1
+ # foxglove_msgs/msg/PointCloud
2
+ # A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc.
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of point cloud
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from PointsAnnotation by @foxglove/schemas
1
+ # foxglove_msgs/msg/PointsAnnotation
2
+ # An array of points on a 2D image
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of annotation
4
7
  builtin_interfaces/Time timestamp
@@ -15,8 +18,14 @@ uint8 type
15
18
  # Points in 2D image coordinates
16
19
  foxglove_msgs/Point2[] points
17
20
 
18
- # Outline colors
21
+ # Outline color
22
+ foxglove_msgs/Color outline_color
23
+
24
+ # Per-point colors, if `type` is `POINTS`, or per-segment stroke colors, if `type` is `LINE_LIST`.
19
25
  foxglove_msgs/Color[] outline_colors
20
26
 
21
27
  # Fill color
22
28
  foxglove_msgs/Color fill_color
29
+
30
+ # Stroke thickness
31
+ float64 thickness
@@ -1,4 +1,7 @@
1
- # Generated from PoseInFrame by @foxglove/schemas
1
+ # foxglove_msgs/msg/PoseInFrame
2
+ # A timestamped pose for an object or reference frame in 3D space
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of pose
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from PosesInFrame by @foxglove/schemas
1
+ # foxglove_msgs/msg/PosesInFrame
2
+ # An array of timestamped poses for an object or reference frame in 3D space
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of pose
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from RawImage by @foxglove/schemas
1
+ # foxglove_msgs/msg/RawImage
2
+ # A raw image
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # Timestamp of image
4
7
  builtin_interfaces/Time timestamp
@@ -1,4 +1,7 @@
1
- # Generated from Vector2 by @foxglove/schemas
1
+ # foxglove_msgs/msg/Vector2
2
+ # A vector in 2D space that represents a direction only
3
+
4
+ # Generated by https://github.com/foxglove/schemas
2
5
 
3
6
  # x coordinate length
4
7
  float64 x
@@ -1,4 +1,4 @@
1
- // Generated from CameraCalibration by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Time } from "./Time";
4
4
 
@@ -1,4 +1,4 @@
1
- // Generated from CircleAnnotation by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Color } from "./Color";
4
4
  import { Point2 } from "./Point2";
@@ -1,4 +1,4 @@
1
- // Generated from Color by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** A color in RGBA format */
4
4
  export type Color = {
@@ -1,4 +1,4 @@
1
- // Generated from CompressedImage by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Time } from "./Time";
4
4
 
@@ -1,7 +1,8 @@
1
- // Generated from FrameTransform by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
+ import { Quaternion } from "./Quaternion";
3
4
  import { Time } from "./Time";
4
- import { Transform } from "./Transform";
5
+ import { Vector3 } from "./Vector3";
5
6
 
6
7
  /** A transform between two reference frames in 3D space */
7
8
  export type FrameTransform = {
@@ -14,6 +15,9 @@ export type FrameTransform = {
14
15
  /** Name of the child frame */
15
16
  child_frame_id: string;
16
17
 
17
- /** Transform from parent frame to child frame */
18
- transform: Transform;
18
+ /** Translation component of the transform */
19
+ translation: Vector3;
20
+
21
+ /** Rotation component of the transform */
22
+ rotation: Quaternion;
19
23
  };
@@ -1,4 +1,4 @@
1
- // Generated from GeoJSON by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** GeoJSON data for annotating maps */
4
4
  export type GeoJSON = {
@@ -1,4 +1,4 @@
1
- // Generated from Grid by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { PackedElementField } from "./PackedElementField";
4
4
  import { Pose } from "./Pose";
@@ -1,4 +1,4 @@
1
- // Generated from ImageAnnotations by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { CircleAnnotation } from "./CircleAnnotation";
4
4
  import { PointsAnnotation } from "./PointsAnnotation";
@@ -1,4 +1,4 @@
1
- // Generated from LaserScan by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Pose } from "./Pose";
4
4
  import { Time } from "./Time";
@@ -1,4 +1,4 @@
1
- // Generated from LocationFix by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { PositionCovarianceType } from "./PositionCovarianceType";
4
4
 
@@ -1,4 +1,4 @@
1
- // Generated from Log by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { LogLevel } from "./LogLevel";
4
4
  import { Time } from "./Time";
@@ -1,4 +1,4 @@
1
- // Generated from LogLevel by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** Log level */
4
4
  export enum LogLevel {
@@ -1,4 +1,4 @@
1
- // Generated from NumericType by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** Numeric type */
4
4
  export enum NumericType {
@@ -1,8 +1,8 @@
1
- // Generated from PackedElementField by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { NumericType } from "./NumericType";
4
4
 
5
- /** List of fields for every element in a byte array */
5
+ /** A field present within each element in a byte array of packed elements. */
6
6
  export type PackedElementField = {
7
7
  /** Name of the field */
8
8
  name: string;
@@ -1,4 +1,4 @@
1
- // Generated from Point2 by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** A point representing a position in 2D space */
4
4
  export type Point2 = {
@@ -1,4 +1,4 @@
1
- // Generated from Point3 by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** A point representing a position in 3D space */
4
4
  export type Point3 = {
@@ -1,4 +1,4 @@
1
- // Generated from PointCloud by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { PackedElementField } from "./PackedElementField";
4
4
  import { Pose } from "./Pose";
@@ -1,4 +1,4 @@
1
- // Generated from PointsAnnotation by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Color } from "./Color";
4
4
  import { Point2 } from "./Point2";
@@ -16,9 +16,15 @@ export type PointsAnnotation = {
16
16
  /** Points in 2D image coordinates */
17
17
  points: Point2[];
18
18
 
19
- /** Outline colors */
19
+ /** Outline color */
20
+ outline_color: Color;
21
+
22
+ /** Per-point colors, if `type` is `POINTS`, or per-segment stroke colors, if `type` is `LINE_LIST`. */
20
23
  outline_colors: Color[];
21
24
 
22
25
  /** Fill color */
23
26
  fill_color: Color;
27
+
28
+ /** Stroke thickness */
29
+ thickness: number;
24
30
  };
@@ -1,4 +1,4 @@
1
- // Generated from PointsAnnotationType by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** Type of points annotation */
4
4
  export enum PointsAnnotationType {
@@ -1,4 +1,4 @@
1
- // Generated from Pose by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Quaternion } from "./Quaternion";
4
4
  import { Vector3 } from "./Vector3";
@@ -1,4 +1,4 @@
1
- // Generated from PoseInFrame by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Pose } from "./Pose";
4
4
  import { Time } from "./Time";
@@ -1,4 +1,4 @@
1
- // Generated from PosesInFrame by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Pose } from "./Pose";
4
4
  import { Time } from "./Time";
@@ -1,4 +1,4 @@
1
- // Generated from PositionCovarianceType by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** Type of position covariance */
4
4
  export enum PositionCovarianceType {
@@ -1,4 +1,4 @@
1
- // Generated from Quaternion by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** A [quaternion](https://eater.net/quaternions) representing a rotation in 3D space */
4
4
  export type Quaternion = {
@@ -1,4 +1,4 @@
1
- // Generated from RawImage by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  import { Time } from "./Time";
4
4
 
@@ -1,4 +1,4 @@
1
- // Generated from Vector2 by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** A vector in 2D space that represents a direction only */
4
4
  export type Vector2 = {
@@ -1,4 +1,4 @@
1
- // Generated from Vector3 by @foxglove/schemas
1
+ // Generated by https://github.com/foxglove/schemas
2
2
 
3
3
  /** A vector in 3D space that represents a direction only */
4
4
  export type Vector3 = {
@@ -23,6 +23,5 @@ export * from "./PosesInFrame";
23
23
  export * from "./PositionCovarianceType";
24
24
  export * from "./Quaternion";
25
25
  export * from "./RawImage";
26
- export * from "./Transform";
27
26
  export * from "./Vector2";
28
27
  export * from "./Vector3";
@@ -6,6 +6,7 @@ import { promisify } from "util";
6
6
 
7
7
  import { generateRosMsg, generateRosMsgDefinition } from "../src";
8
8
  import { generateJsonSchema } from "../src/generateJsonSchema";
9
+ import { generateMarkdown } from "../src/generateMarkdown";
9
10
  import { generateProto } from "../src/generateProto";
10
11
  import { generateTypeScript, DURATION_TS, TIME_TS } from "../src/generateTypeScript";
11
12
  import { foxgloveEnumSchemas, foxgloveMessageSchemas } from "../src/schemas";
@@ -16,7 +17,7 @@ async function logProgress(message: string, body: () => Promise<void>) {
16
17
  process.stderr.write("done\n");
17
18
  }
18
19
 
19
- async function main({ outDir }: { outDir: string }) {
20
+ async function main({ outDir, rosOutDir }: { outDir: string; rosOutDir: string }) {
20
21
  await logProgress("Removing any existing output directory", async () => {
21
22
  await promisify(rimraf)(outDir);
22
23
  });
@@ -33,27 +34,27 @@ async function main({ outDir }: { outDir: string }) {
33
34
 
34
35
  await logProgress("Generating ROS 1 msg files", async () => {
35
36
  await fs.mkdir(path.join(outDir, "ros1"), { recursive: true });
37
+ await fs.mkdir(path.join(rosOutDir, "ros1"), { recursive: true });
36
38
  for (const schema of Object.values(foxgloveMessageSchemas)) {
37
39
  if (schema.rosEquivalent != undefined) {
38
40
  continue;
39
41
  }
40
- await fs.writeFile(
41
- path.join(outDir, "ros1", `${schema.name}.msg`),
42
- generateRosMsg(generateRosMsgDefinition(schema, { rosVersion: 1 })),
43
- );
42
+ const msg = generateRosMsg(generateRosMsgDefinition(schema, { rosVersion: 1 }));
43
+ await fs.writeFile(path.join(outDir, "ros1", `${schema.name}.msg`), msg);
44
+ await fs.writeFile(path.join(rosOutDir, "ros1", `${schema.name}.msg`), msg);
44
45
  }
45
46
  });
46
47
 
47
48
  await logProgress("Generating ROS 2 msg files", async () => {
48
49
  await fs.mkdir(path.join(outDir, "ros2"), { recursive: true });
50
+ await fs.mkdir(path.join(rosOutDir, "ros2"), { recursive: true });
49
51
  for (const schema of Object.values(foxgloveMessageSchemas)) {
50
52
  if (schema.rosEquivalent != undefined) {
51
53
  continue;
52
54
  }
53
- await fs.writeFile(
54
- path.join(outDir, "ros2", `${schema.name}.msg`),
55
- generateRosMsg(generateRosMsgDefinition(schema, { rosVersion: 2 })),
56
- );
55
+ const msg = generateRosMsg(generateRosMsgDefinition(schema, { rosVersion: 2 }));
56
+ await fs.writeFile(path.join(outDir, "ros2", `${schema.name}.msg`), msg);
57
+ await fs.writeFile(path.join(rosOutDir, "ros2", `${schema.name}.msg`), msg);
57
58
  }
58
59
  });
59
60
 
@@ -96,8 +97,18 @@ async function main({ outDir }: { outDir: string }) {
96
97
  }
97
98
  await fs.writeFile(path.join(outDir, "typescript", `index.ts`), indexTS);
98
99
  });
100
+
101
+ await logProgress("Generating README.md", async () => {
102
+ await fs.writeFile(
103
+ path.join(outDir, "README.md"),
104
+ generateMarkdown(Object.values(foxgloveMessageSchemas), Object.values(foxgloveEnumSchemas)),
105
+ );
106
+ });
99
107
  }
100
108
 
101
- program.requiredOption("-o, --out-dir <dir>", "output directory").action(main);
109
+ program
110
+ .requiredOption("-o, --out-dir <dir>", "output directory")
111
+ .requiredOption("--ros-out-dir <dir>", "output directory for additional copies of ROS msgs")
112
+ .action(main);
102
113
 
103
114
  program.parseAsync().catch(console.error);
@@ -8,7 +8,7 @@ describe("generateJsonSchema", () => {
8
8
  it("generates expected JSON Schema", () => {
9
9
  expect(generateJsonSchema(exampleMessage)).toMatchInlineSnapshot(`
10
10
  Object {
11
- "$comment": "Generated from ExampleMessage by @foxglove/schemas",
11
+ "$comment": "Generated by https://github.com/foxglove/schemas",
12
12
  "description": "An example type",
13
13
  "properties": Object {
14
14
  "field_boolean": Object {
@@ -121,7 +121,7 @@ describe("generateJsonSchema", () => {
121
121
  "title": "B",
122
122
  },
123
123
  ],
124
- "title": "ExampleEnum: An example enum",
124
+ "title": "foxglove.ExampleEnum",
125
125
  },
126
126
  "field_enum_array": Object {
127
127
  "description": "An enum array field",
@@ -139,7 +139,7 @@ describe("generateJsonSchema", () => {
139
139
  "title": "B",
140
140
  },
141
141
  ],
142
- "title": "ExampleEnum: An example enum",
142
+ "title": "foxglove.ExampleEnum",
143
143
  },
144
144
  "type": "array",
145
145
  },
@@ -164,7 +164,6 @@ describe("generateJsonSchema", () => {
164
164
  "type": "array",
165
165
  },
166
166
  "field_nested": Object {
167
- "$comment": "Generated from NestedMessage by @foxglove/schemas",
168
167
  "description": "A nested field",
169
168
  "properties": Object {
170
169
  "field_enum": Object {
@@ -173,7 +172,7 @@ describe("generateJsonSchema", () => {
173
172
  "type": "integer",
174
173
  },
175
174
  },
176
- "title": "NestedMessage",
175
+ "title": "foxglove.NestedMessage",
177
176
  "type": "object",
178
177
  },
179
178
  "field_nested_array": Object {
@@ -184,7 +183,6 @@ describe("generateJsonSchema", () => {
184
183
  long
185
184
  description",
186
185
  "items": Object {
187
- "$comment": "Generated from NestedMessage by @foxglove/schemas",
188
186
  "description": "An example nested message",
189
187
  "properties": Object {
190
188
  "field_enum": Object {
@@ -193,7 +191,7 @@ describe("generateJsonSchema", () => {
193
191
  "type": "integer",
194
192
  },
195
193
  },
196
- "title": "NestedMessage",
194
+ "title": "foxglove.NestedMessage",
197
195
  "type": "object",
198
196
  },
199
197
  "type": "array",
@@ -298,7 +296,7 @@ describe("generateJsonSchema", () => {
298
296
  "type": "array",
299
297
  },
300
298
  },
301
- "title": "ExampleMessage",
299
+ "title": "foxglove.ExampleMessage",
302
300
  "type": "object",
303
301
  }
304
302
  `);