@foxglove/schemas 0.2.0 → 0.5.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 (494) hide show
  1. package/.github/workflows/ci.yml +7 -1
  2. package/.vscode/settings.json +1 -1
  3. package/README.md +45 -4
  4. package/dist/cjs/schemas/typescript/ArrowPrimitive.d.ts +18 -0
  5. package/dist/cjs/schemas/typescript/ArrowPrimitive.d.ts.map +1 -0
  6. package/dist/cjs/schemas/typescript/ArrowPrimitive.js +4 -0
  7. package/dist/cjs/schemas/typescript/ArrowPrimitive.js.map +1 -0
  8. package/dist/cjs/schemas/typescript/CameraCalibration.js +1 -1
  9. package/dist/cjs/schemas/typescript/CameraCalibration.js.map +1 -1
  10. package/dist/cjs/schemas/typescript/CircleAnnotation.js +1 -1
  11. package/dist/cjs/schemas/typescript/CircleAnnotation.js.map +1 -1
  12. package/dist/cjs/schemas/typescript/Color.js +1 -1
  13. package/dist/cjs/schemas/typescript/Color.js.map +1 -1
  14. package/dist/cjs/schemas/typescript/CompressedImage.js +1 -1
  15. package/dist/cjs/schemas/typescript/CompressedImage.js.map +1 -1
  16. package/dist/cjs/schemas/typescript/CubePrimitive.d.ts +13 -0
  17. package/dist/cjs/schemas/typescript/CubePrimitive.d.ts.map +1 -0
  18. package/dist/cjs/schemas/typescript/CubePrimitive.js +4 -0
  19. package/dist/cjs/schemas/typescript/CubePrimitive.js.map +1 -0
  20. package/dist/cjs/schemas/typescript/CylinderPrimitive.d.ts +17 -0
  21. package/dist/cjs/schemas/typescript/CylinderPrimitive.d.ts.map +1 -0
  22. package/dist/cjs/schemas/typescript/CylinderPrimitive.js +4 -0
  23. package/dist/cjs/schemas/typescript/CylinderPrimitive.js.map +1 -0
  24. package/dist/cjs/schemas/typescript/FrameTransform.d.ts +6 -3
  25. package/dist/cjs/schemas/typescript/FrameTransform.d.ts.map +1 -1
  26. package/dist/cjs/schemas/typescript/FrameTransform.js +1 -1
  27. package/dist/cjs/schemas/typescript/FrameTransform.js.map +1 -1
  28. package/dist/cjs/schemas/typescript/GeoJSON.js +1 -1
  29. package/dist/cjs/schemas/typescript/GeoJSON.js.map +1 -1
  30. package/dist/cjs/schemas/typescript/Grid.js +1 -1
  31. package/dist/cjs/schemas/typescript/Grid.js.map +1 -1
  32. package/dist/cjs/schemas/typescript/ImageAnnotations.js +1 -1
  33. package/dist/cjs/schemas/typescript/ImageAnnotations.js.map +1 -1
  34. package/dist/cjs/schemas/typescript/KeyValuePair.d.ts +8 -0
  35. package/dist/cjs/schemas/typescript/KeyValuePair.d.ts.map +1 -0
  36. package/dist/cjs/schemas/typescript/KeyValuePair.js +4 -0
  37. package/dist/cjs/schemas/typescript/KeyValuePair.js.map +1 -0
  38. package/dist/cjs/schemas/typescript/LaserScan.js +1 -1
  39. package/dist/cjs/schemas/typescript/LaserScan.js.map +1 -1
  40. package/dist/cjs/schemas/typescript/LinePrimitive.d.ts +28 -0
  41. package/dist/cjs/schemas/typescript/LinePrimitive.d.ts.map +1 -0
  42. package/dist/cjs/schemas/typescript/LinePrimitive.js +4 -0
  43. package/dist/cjs/schemas/typescript/LinePrimitive.js.map +1 -0
  44. package/dist/cjs/schemas/typescript/LineType.d.ts +10 -0
  45. package/dist/cjs/schemas/typescript/LineType.d.ts.map +1 -0
  46. package/dist/cjs/schemas/typescript/LineType.js +15 -0
  47. package/dist/cjs/schemas/typescript/LineType.js.map +1 -0
  48. package/dist/cjs/schemas/typescript/LocationFix.js +1 -1
  49. package/dist/cjs/schemas/typescript/LocationFix.js.map +1 -1
  50. package/dist/cjs/schemas/typescript/Log.js +1 -1
  51. package/dist/cjs/schemas/typescript/Log.js.map +1 -1
  52. package/dist/cjs/schemas/typescript/LogLevel.js +1 -1
  53. package/dist/cjs/schemas/typescript/LogLevel.js.map +1 -1
  54. package/dist/cjs/schemas/typescript/ModelPrimitive.d.ts +21 -0
  55. package/dist/cjs/schemas/typescript/ModelPrimitive.d.ts.map +1 -0
  56. package/dist/cjs/schemas/typescript/ModelPrimitive.js +4 -0
  57. package/dist/cjs/schemas/typescript/ModelPrimitive.js.map +1 -0
  58. package/dist/cjs/schemas/typescript/NumericType.js +1 -1
  59. package/dist/cjs/schemas/typescript/NumericType.js.map +1 -1
  60. package/dist/cjs/schemas/typescript/PackedElementField.js +1 -1
  61. package/dist/cjs/schemas/typescript/PackedElementField.js.map +1 -1
  62. package/dist/cjs/schemas/typescript/Point2.js +1 -1
  63. package/dist/cjs/schemas/typescript/Point2.js.map +1 -1
  64. package/dist/cjs/schemas/typescript/Point3.js +1 -1
  65. package/dist/cjs/schemas/typescript/Point3.js.map +1 -1
  66. package/dist/cjs/schemas/typescript/PointCloud.js +1 -1
  67. package/dist/cjs/schemas/typescript/PointCloud.js.map +1 -1
  68. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts +5 -1
  69. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
  70. package/dist/cjs/schemas/typescript/PointsAnnotation.js +1 -1
  71. package/dist/cjs/schemas/typescript/PointsAnnotation.js.map +1 -1
  72. package/dist/cjs/schemas/typescript/PointsAnnotationType.js +1 -1
  73. package/dist/cjs/schemas/typescript/PointsAnnotationType.js.map +1 -1
  74. package/dist/cjs/schemas/typescript/Pose.js +1 -1
  75. package/dist/cjs/schemas/typescript/Pose.js.map +1 -1
  76. package/dist/cjs/schemas/typescript/PoseInFrame.js +1 -1
  77. package/dist/cjs/schemas/typescript/PoseInFrame.js.map +1 -1
  78. package/dist/cjs/schemas/typescript/PosesInFrame.js +1 -1
  79. package/dist/cjs/schemas/typescript/PositionCovarianceType.js +1 -1
  80. package/dist/cjs/schemas/typescript/PositionCovarianceType.js.map +1 -1
  81. package/dist/cjs/schemas/typescript/Quaternion.js +1 -1
  82. package/dist/cjs/schemas/typescript/Quaternion.js.map +1 -1
  83. package/dist/cjs/schemas/typescript/RawImage.js +1 -1
  84. package/dist/cjs/schemas/typescript/RawImage.js.map +1 -1
  85. package/dist/cjs/schemas/typescript/SceneEntity.d.ts +43 -0
  86. package/dist/cjs/schemas/typescript/SceneEntity.d.ts.map +1 -0
  87. package/dist/cjs/schemas/typescript/SceneEntity.js +4 -0
  88. package/dist/cjs/schemas/typescript/SceneEntity.js.map +1 -0
  89. package/dist/cjs/schemas/typescript/SceneEntityDeletion.d.ts +12 -0
  90. package/dist/cjs/schemas/typescript/SceneEntityDeletion.d.ts.map +1 -0
  91. package/dist/cjs/schemas/typescript/SceneEntityDeletion.js +4 -0
  92. package/dist/cjs/schemas/typescript/SceneEntityDeletion.js.map +1 -0
  93. package/dist/cjs/schemas/typescript/SceneEntityDeletionType.d.ts +8 -0
  94. package/dist/cjs/schemas/typescript/SceneEntityDeletionType.d.ts.map +1 -0
  95. package/dist/cjs/schemas/typescript/SceneEntityDeletionType.js +13 -0
  96. package/dist/cjs/schemas/typescript/SceneEntityDeletionType.js.map +1 -0
  97. package/dist/cjs/schemas/typescript/SceneUpdate.d.ts +10 -0
  98. package/dist/cjs/schemas/typescript/SceneUpdate.d.ts.map +1 -0
  99. package/dist/cjs/schemas/typescript/SceneUpdate.js +4 -0
  100. package/dist/cjs/schemas/typescript/SceneUpdate.js.map +1 -0
  101. package/dist/cjs/schemas/typescript/SpherePrimitive.d.ts +13 -0
  102. package/dist/cjs/schemas/typescript/SpherePrimitive.d.ts.map +1 -0
  103. package/dist/cjs/schemas/typescript/SpherePrimitive.js +4 -0
  104. package/dist/cjs/schemas/typescript/SpherePrimitive.js.map +1 -0
  105. package/dist/cjs/schemas/typescript/TextPrimitive.d.ts +18 -0
  106. package/dist/cjs/schemas/typescript/TextPrimitive.d.ts.map +1 -0
  107. package/dist/cjs/schemas/typescript/TextPrimitive.js +4 -0
  108. package/dist/cjs/schemas/typescript/TextPrimitive.js.map +1 -0
  109. package/dist/cjs/schemas/typescript/TriangleListPrimitive.d.ts +21 -0
  110. package/dist/cjs/schemas/typescript/TriangleListPrimitive.d.ts.map +1 -0
  111. package/dist/cjs/schemas/typescript/TriangleListPrimitive.js +4 -0
  112. package/dist/cjs/schemas/typescript/TriangleListPrimitive.js.map +1 -0
  113. package/dist/cjs/schemas/typescript/Vector2.js +1 -1
  114. package/dist/cjs/schemas/typescript/Vector2.js.map +1 -1
  115. package/dist/cjs/schemas/typescript/Vector3.js +1 -1
  116. package/dist/cjs/schemas/typescript/Vector3.js.map +1 -1
  117. package/dist/cjs/schemas/typescript/index.d.ts +14 -1
  118. package/dist/cjs/schemas/typescript/index.d.ts.map +1 -1
  119. package/dist/cjs/schemas/typescript/index.js +14 -1
  120. package/dist/cjs/schemas/typescript/index.js.map +1 -1
  121. package/dist/cjs/scripts/updateGeneratedFiles.js +17 -4
  122. package/dist/cjs/scripts/updateGeneratedFiles.js.map +1 -1
  123. package/dist/cjs/src/generateJsonSchema.d.ts.map +1 -1
  124. package/dist/cjs/src/generateJsonSchema.js +4 -3
  125. package/dist/cjs/src/generateJsonSchema.js.map +1 -1
  126. package/dist/cjs/src/generateJsonSchema.test.js +6 -8
  127. package/dist/cjs/src/generateJsonSchema.test.js.map +1 -1
  128. package/dist/cjs/src/generateMarkdown.d.ts +3 -0
  129. package/dist/cjs/src/generateMarkdown.d.ts.map +1 -0
  130. package/dist/cjs/src/generateMarkdown.js +80 -0
  131. package/dist/cjs/src/generateMarkdown.js.map +1 -0
  132. package/dist/cjs/src/generateProto.js +1 -1
  133. package/dist/cjs/src/generateProto.js.map +1 -1
  134. package/dist/cjs/src/generateProto.test.js +1 -1
  135. package/dist/cjs/src/generateRos.d.ts.map +1 -1
  136. package/dist/cjs/src/generateRos.js +3 -1
  137. package/dist/cjs/src/generateRos.js.map +1 -1
  138. package/dist/cjs/src/generateRos.test.js +451 -431
  139. package/dist/cjs/src/generateRos.test.js.map +1 -1
  140. package/dist/cjs/src/generateTypeScript.js +1 -1
  141. package/dist/cjs/src/generateTypeScript.js.map +1 -1
  142. package/dist/cjs/src/generateTypeScript.test.js +2 -2
  143. package/dist/cjs/src/schemas.d.ts +15 -2
  144. package/dist/cjs/src/schemas.d.ts.map +1 -1
  145. package/dist/cjs/src/schemas.js +557 -103
  146. package/dist/cjs/src/schemas.js.map +1 -1
  147. package/dist/cjs/src/schemas.test.js +17 -0
  148. package/dist/cjs/src/schemas.test.js.map +1 -1
  149. package/dist/esm/schemas/typescript/ArrowPrimitive.d.ts +18 -0
  150. package/dist/esm/schemas/typescript/ArrowPrimitive.d.ts.map +1 -0
  151. package/dist/esm/schemas/typescript/ArrowPrimitive.js +3 -0
  152. package/dist/esm/schemas/typescript/ArrowPrimitive.js.map +1 -0
  153. package/dist/esm/schemas/typescript/CameraCalibration.js +1 -1
  154. package/dist/esm/schemas/typescript/CameraCalibration.js.map +1 -1
  155. package/dist/esm/schemas/typescript/CircleAnnotation.js +1 -1
  156. package/dist/esm/schemas/typescript/CircleAnnotation.js.map +1 -1
  157. package/dist/esm/schemas/typescript/Color.js +1 -1
  158. package/dist/esm/schemas/typescript/Color.js.map +1 -1
  159. package/dist/esm/schemas/typescript/CompressedImage.js +1 -1
  160. package/dist/esm/schemas/typescript/CompressedImage.js.map +1 -1
  161. package/dist/esm/schemas/typescript/CubePrimitive.d.ts +13 -0
  162. package/dist/esm/schemas/typescript/CubePrimitive.d.ts.map +1 -0
  163. package/dist/esm/schemas/typescript/CubePrimitive.js +3 -0
  164. package/dist/esm/schemas/typescript/CubePrimitive.js.map +1 -0
  165. package/dist/esm/schemas/typescript/CylinderPrimitive.d.ts +17 -0
  166. package/dist/esm/schemas/typescript/CylinderPrimitive.d.ts.map +1 -0
  167. package/dist/esm/schemas/typescript/CylinderPrimitive.js +3 -0
  168. package/dist/esm/schemas/typescript/CylinderPrimitive.js.map +1 -0
  169. package/dist/esm/schemas/typescript/FrameTransform.d.ts +6 -3
  170. package/dist/esm/schemas/typescript/FrameTransform.d.ts.map +1 -1
  171. package/dist/esm/schemas/typescript/FrameTransform.js +1 -1
  172. package/dist/esm/schemas/typescript/FrameTransform.js.map +1 -1
  173. package/dist/esm/schemas/typescript/GeoJSON.js +1 -1
  174. package/dist/esm/schemas/typescript/GeoJSON.js.map +1 -1
  175. package/dist/esm/schemas/typescript/Grid.js +1 -1
  176. package/dist/esm/schemas/typescript/Grid.js.map +1 -1
  177. package/dist/esm/schemas/typescript/ImageAnnotations.js +1 -1
  178. package/dist/esm/schemas/typescript/ImageAnnotations.js.map +1 -1
  179. package/dist/esm/schemas/typescript/KeyValuePair.d.ts +8 -0
  180. package/dist/esm/schemas/typescript/KeyValuePair.d.ts.map +1 -0
  181. package/dist/esm/schemas/typescript/KeyValuePair.js +3 -0
  182. package/dist/esm/schemas/typescript/KeyValuePair.js.map +1 -0
  183. package/dist/esm/schemas/typescript/LaserScan.js +1 -1
  184. package/dist/esm/schemas/typescript/LaserScan.js.map +1 -1
  185. package/dist/esm/schemas/typescript/LinePrimitive.d.ts +28 -0
  186. package/dist/esm/schemas/typescript/LinePrimitive.d.ts.map +1 -0
  187. package/dist/esm/schemas/typescript/LinePrimitive.js +3 -0
  188. package/dist/esm/schemas/typescript/LinePrimitive.js.map +1 -0
  189. package/dist/esm/schemas/typescript/LineType.d.ts +10 -0
  190. package/dist/esm/schemas/typescript/LineType.d.ts.map +1 -0
  191. package/dist/esm/schemas/typescript/LineType.js +12 -0
  192. package/dist/esm/schemas/typescript/LineType.js.map +1 -0
  193. package/dist/esm/schemas/typescript/LocationFix.js +1 -1
  194. package/dist/esm/schemas/typescript/LocationFix.js.map +1 -1
  195. package/dist/esm/schemas/typescript/Log.js +1 -1
  196. package/dist/esm/schemas/typescript/Log.js.map +1 -1
  197. package/dist/esm/schemas/typescript/LogLevel.js +1 -1
  198. package/dist/esm/schemas/typescript/LogLevel.js.map +1 -1
  199. package/dist/esm/schemas/typescript/ModelPrimitive.d.ts +21 -0
  200. package/dist/esm/schemas/typescript/ModelPrimitive.d.ts.map +1 -0
  201. package/dist/esm/schemas/typescript/ModelPrimitive.js +3 -0
  202. package/dist/esm/schemas/typescript/ModelPrimitive.js.map +1 -0
  203. package/dist/esm/schemas/typescript/NumericType.js +1 -1
  204. package/dist/esm/schemas/typescript/NumericType.js.map +1 -1
  205. package/dist/esm/schemas/typescript/PackedElementField.js +1 -1
  206. package/dist/esm/schemas/typescript/PackedElementField.js.map +1 -1
  207. package/dist/esm/schemas/typescript/Point2.js +1 -1
  208. package/dist/esm/schemas/typescript/Point2.js.map +1 -1
  209. package/dist/esm/schemas/typescript/Point3.js +1 -1
  210. package/dist/esm/schemas/typescript/Point3.js.map +1 -1
  211. package/dist/esm/schemas/typescript/PointCloud.js +1 -1
  212. package/dist/esm/schemas/typescript/PointCloud.js.map +1 -1
  213. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts +5 -1
  214. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
  215. package/dist/esm/schemas/typescript/PointsAnnotation.js +1 -1
  216. package/dist/esm/schemas/typescript/PointsAnnotation.js.map +1 -1
  217. package/dist/esm/schemas/typescript/PointsAnnotationType.js +1 -1
  218. package/dist/esm/schemas/typescript/PointsAnnotationType.js.map +1 -1
  219. package/dist/esm/schemas/typescript/Pose.js +1 -1
  220. package/dist/esm/schemas/typescript/Pose.js.map +1 -1
  221. package/dist/esm/schemas/typescript/PoseInFrame.js +1 -1
  222. package/dist/esm/schemas/typescript/PoseInFrame.js.map +1 -1
  223. package/dist/esm/schemas/typescript/PosesInFrame.js +1 -1
  224. package/dist/esm/schemas/typescript/PositionCovarianceType.js +1 -1
  225. package/dist/esm/schemas/typescript/PositionCovarianceType.js.map +1 -1
  226. package/dist/esm/schemas/typescript/Quaternion.js +1 -1
  227. package/dist/esm/schemas/typescript/Quaternion.js.map +1 -1
  228. package/dist/esm/schemas/typescript/RawImage.js +1 -1
  229. package/dist/esm/schemas/typescript/RawImage.js.map +1 -1
  230. package/dist/esm/schemas/typescript/SceneEntity.d.ts +43 -0
  231. package/dist/esm/schemas/typescript/SceneEntity.d.ts.map +1 -0
  232. package/dist/esm/schemas/typescript/SceneEntity.js +3 -0
  233. package/dist/esm/schemas/typescript/SceneEntity.js.map +1 -0
  234. package/dist/esm/schemas/typescript/SceneEntityDeletion.d.ts +12 -0
  235. package/dist/esm/schemas/typescript/SceneEntityDeletion.d.ts.map +1 -0
  236. package/dist/esm/schemas/typescript/SceneEntityDeletion.js +3 -0
  237. package/dist/esm/schemas/typescript/SceneEntityDeletion.js.map +1 -0
  238. package/dist/esm/schemas/typescript/SceneEntityDeletionType.d.ts +8 -0
  239. package/dist/esm/schemas/typescript/SceneEntityDeletionType.d.ts.map +1 -0
  240. package/dist/esm/schemas/typescript/SceneEntityDeletionType.js +10 -0
  241. package/dist/esm/schemas/typescript/SceneEntityDeletionType.js.map +1 -0
  242. package/dist/esm/schemas/typescript/SceneUpdate.d.ts +10 -0
  243. package/dist/esm/schemas/typescript/SceneUpdate.d.ts.map +1 -0
  244. package/dist/esm/schemas/typescript/SceneUpdate.js +3 -0
  245. package/dist/esm/schemas/typescript/SceneUpdate.js.map +1 -0
  246. package/dist/esm/schemas/typescript/SpherePrimitive.d.ts +13 -0
  247. package/dist/esm/schemas/typescript/SpherePrimitive.d.ts.map +1 -0
  248. package/dist/esm/schemas/typescript/SpherePrimitive.js +3 -0
  249. package/dist/esm/schemas/typescript/SpherePrimitive.js.map +1 -0
  250. package/dist/esm/schemas/typescript/TextPrimitive.d.ts +18 -0
  251. package/dist/esm/schemas/typescript/TextPrimitive.d.ts.map +1 -0
  252. package/dist/esm/schemas/typescript/TextPrimitive.js +3 -0
  253. package/dist/esm/schemas/typescript/TextPrimitive.js.map +1 -0
  254. package/dist/esm/schemas/typescript/TriangleListPrimitive.d.ts +21 -0
  255. package/dist/esm/schemas/typescript/TriangleListPrimitive.d.ts.map +1 -0
  256. package/dist/esm/schemas/typescript/TriangleListPrimitive.js +3 -0
  257. package/dist/esm/schemas/typescript/TriangleListPrimitive.js.map +1 -0
  258. package/dist/esm/schemas/typescript/Vector2.js +1 -1
  259. package/dist/esm/schemas/typescript/Vector2.js.map +1 -1
  260. package/dist/esm/schemas/typescript/Vector3.js +1 -1
  261. package/dist/esm/schemas/typescript/Vector3.js.map +1 -1
  262. package/dist/esm/schemas/typescript/index.d.ts +14 -1
  263. package/dist/esm/schemas/typescript/index.d.ts.map +1 -1
  264. package/dist/esm/schemas/typescript/index.js +14 -1
  265. package/dist/esm/schemas/typescript/index.js.map +1 -1
  266. package/dist/esm/scripts/updateGeneratedFiles.js +17 -4
  267. package/dist/esm/scripts/updateGeneratedFiles.js.map +1 -1
  268. package/dist/esm/src/generateJsonSchema.d.ts.map +1 -1
  269. package/dist/esm/src/generateJsonSchema.js +4 -3
  270. package/dist/esm/src/generateJsonSchema.js.map +1 -1
  271. package/dist/esm/src/generateJsonSchema.test.js +6 -8
  272. package/dist/esm/src/generateJsonSchema.test.js.map +1 -1
  273. package/dist/esm/src/generateMarkdown.d.ts +3 -0
  274. package/dist/esm/src/generateMarkdown.d.ts.map +1 -0
  275. package/dist/esm/src/generateMarkdown.js +76 -0
  276. package/dist/esm/src/generateMarkdown.js.map +1 -0
  277. package/dist/esm/src/generateProto.js +1 -1
  278. package/dist/esm/src/generateProto.js.map +1 -1
  279. package/dist/esm/src/generateProto.test.js +1 -1
  280. package/dist/esm/src/generateRos.d.ts.map +1 -1
  281. package/dist/esm/src/generateRos.js +3 -1
  282. package/dist/esm/src/generateRos.js.map +1 -1
  283. package/dist/esm/src/generateRos.test.js +451 -431
  284. package/dist/esm/src/generateRos.test.js.map +1 -1
  285. package/dist/esm/src/generateTypeScript.js +1 -1
  286. package/dist/esm/src/generateTypeScript.js.map +1 -1
  287. package/dist/esm/src/generateTypeScript.test.js +2 -2
  288. package/dist/esm/src/schemas.d.ts +15 -2
  289. package/dist/esm/src/schemas.d.ts.map +1 -1
  290. package/dist/esm/src/schemas.js +557 -103
  291. package/dist/esm/src/schemas.js.map +1 -1
  292. package/dist/esm/src/schemas.test.js +17 -0
  293. package/dist/esm/src/schemas.test.js.map +1 -1
  294. package/package.json +2 -2
  295. package/schemas/README.md +2728 -0
  296. package/schemas/jsonschema/ArrowPrimitive.json +96 -0
  297. package/schemas/jsonschema/CameraCalibration.json +2 -2
  298. package/schemas/jsonschema/CircleAnnotation.json +5 -8
  299. package/schemas/jsonschema/Color.json +2 -2
  300. package/schemas/jsonschema/CompressedImage.json +2 -2
  301. package/schemas/jsonschema/CubePrimitive.json +99 -0
  302. package/schemas/jsonschema/CylinderPrimitive.json +107 -0
  303. package/schemas/jsonschema/FrameTransform.json +37 -63
  304. package/schemas/jsonschema/GeoJSON.json +2 -2
  305. package/schemas/jsonschema/Grid.json +8 -13
  306. package/schemas/jsonschema/ImageAnnotations.json +39 -20
  307. package/schemas/jsonschema/KeyValuePair.json +16 -0
  308. package/schemas/jsonschema/LaserScan.json +5 -8
  309. package/schemas/jsonschema/LinePrimitive.json +167 -0
  310. package/schemas/jsonschema/LocationFix.json +3 -3
  311. package/schemas/jsonschema/Log.json +3 -3
  312. package/schemas/jsonschema/ModelPrimitive.json +116 -0
  313. package/schemas/jsonschema/PackedElementField.json +3 -3
  314. package/schemas/jsonschema/Point2.json +2 -2
  315. package/schemas/jsonschema/Point3.json +2 -2
  316. package/schemas/jsonschema/PointCloud.json +7 -11
  317. package/schemas/jsonschema/PointsAnnotation.json +34 -10
  318. package/schemas/jsonschema/Pose.json +4 -6
  319. package/schemas/jsonschema/PoseInFrame.json +5 -8
  320. package/schemas/jsonschema/PosesInFrame.json +5 -8
  321. package/schemas/jsonschema/Quaternion.json +2 -2
  322. package/schemas/jsonschema/RawImage.json +2 -2
  323. package/schemas/jsonschema/SceneEntity.json +1012 -0
  324. package/schemas/jsonschema/SceneEntityDeletion.json +44 -0
  325. package/schemas/jsonschema/SceneUpdate.json +1070 -0
  326. package/schemas/jsonschema/SpherePrimitive.json +99 -0
  327. package/schemas/jsonschema/TextPrimitive.json +96 -0
  328. package/schemas/jsonschema/TriangleListPrimitive.json +138 -0
  329. package/schemas/jsonschema/Vector2.json +2 -2
  330. package/schemas/jsonschema/Vector3.json +2 -2
  331. package/schemas/proto/foxglove/ArrowPrimitive.proto +29 -0
  332. package/schemas/proto/foxglove/CameraCalibration.proto +1 -1
  333. package/schemas/proto/foxglove/CircleAnnotation.proto +1 -1
  334. package/schemas/proto/foxglove/Color.proto +1 -1
  335. package/schemas/proto/foxglove/CompressedImage.proto +1 -1
  336. package/schemas/proto/foxglove/CubePrimitive.proto +21 -0
  337. package/schemas/proto/foxglove/CylinderPrimitive.proto +27 -0
  338. package/schemas/proto/foxglove/FrameTransform.proto +8 -4
  339. package/schemas/proto/foxglove/GeoJSON.proto +1 -1
  340. package/schemas/proto/foxglove/Grid.proto +1 -1
  341. package/schemas/proto/foxglove/ImageAnnotations.proto +1 -1
  342. package/schemas/proto/foxglove/KeyValuePair.proto +14 -0
  343. package/schemas/proto/foxglove/LaserScan.proto +1 -1
  344. package/schemas/proto/foxglove/LinePrimitive.proto +49 -0
  345. package/schemas/proto/foxglove/LocationFix.proto +1 -1
  346. package/schemas/proto/foxglove/Log.proto +1 -1
  347. package/schemas/proto/foxglove/ModelPrimitive.proto +33 -0
  348. package/schemas/proto/foxglove/PackedElementField.proto +1 -1
  349. package/schemas/proto/foxglove/Point2.proto +1 -1
  350. package/schemas/proto/foxglove/Point3.proto +1 -1
  351. package/schemas/proto/foxglove/PointCloud.proto +1 -1
  352. package/schemas/proto/foxglove/PointsAnnotation.proto +10 -4
  353. package/schemas/proto/foxglove/Pose.proto +1 -1
  354. package/schemas/proto/foxglove/PoseInFrame.proto +1 -1
  355. package/schemas/proto/foxglove/PosesInFrame.proto +1 -1
  356. package/schemas/proto/foxglove/Quaternion.proto +1 -1
  357. package/schemas/proto/foxglove/RawImage.proto +1 -1
  358. package/schemas/proto/foxglove/SceneEntity.proto +62 -0
  359. package/schemas/proto/foxglove/SceneEntityDeletion.proto +27 -0
  360. package/schemas/proto/foxglove/SceneUpdate.proto +17 -0
  361. package/schemas/proto/foxglove/SpherePrimitive.proto +21 -0
  362. package/schemas/proto/foxglove/TextPrimitive.proto +29 -0
  363. package/schemas/proto/foxglove/TriangleListPrimitive.proto +29 -0
  364. package/schemas/proto/foxglove/Vector2.proto +1 -1
  365. package/schemas/proto/foxglove/Vector3.proto +1 -1
  366. package/schemas/ros1/ArrowPrimitive.msg +22 -0
  367. package/schemas/ros1/CameraCalibration.msg +4 -1
  368. package/schemas/ros1/CircleAnnotation.msg +4 -1
  369. package/schemas/ros1/Color.msg +4 -1
  370. package/schemas/ros1/CompressedImage.msg +4 -1
  371. package/schemas/ros1/CubePrimitive.msg +13 -0
  372. package/schemas/ros1/CylinderPrimitive.msg +19 -0
  373. package/schemas/ros1/FrameTransform.msg +9 -3
  374. package/schemas/ros1/GeoJSON.msg +4 -1
  375. package/schemas/ros1/Grid.msg +4 -1
  376. package/schemas/ros1/ImageAnnotations.msg +4 -1
  377. package/schemas/ros1/KeyValuePair.msg +10 -0
  378. package/schemas/ros1/LaserScan.msg +4 -1
  379. package/schemas/ros1/LinePrimitive.msg +39 -0
  380. package/schemas/ros1/LocationFix.msg +4 -1
  381. package/schemas/ros1/Log.msg +4 -1
  382. package/schemas/ros1/ModelPrimitive.msg +25 -0
  383. package/schemas/ros1/PackedElementField.msg +4 -1
  384. package/schemas/ros1/Point2.msg +4 -1
  385. package/schemas/ros1/PointCloud.msg +4 -1
  386. package/schemas/ros1/PointsAnnotation.msg +11 -2
  387. package/schemas/ros1/PoseInFrame.msg +4 -1
  388. package/schemas/ros1/PosesInFrame.msg +4 -1
  389. package/schemas/ros1/RawImage.msg +4 -1
  390. package/schemas/ros1/SceneEntity.msg +46 -0
  391. package/schemas/ros1/SceneEntityDeletion.msg +19 -0
  392. package/schemas/ros1/SceneUpdate.msg +10 -0
  393. package/schemas/ros1/SpherePrimitive.msg +13 -0
  394. package/schemas/ros1/TextPrimitive.msg +22 -0
  395. package/schemas/ros1/TriangleListPrimitive.msg +21 -0
  396. package/schemas/ros1/Vector2.msg +4 -1
  397. package/schemas/ros2/ArrowPrimitive.msg +22 -0
  398. package/schemas/ros2/CameraCalibration.msg +4 -1
  399. package/schemas/ros2/CircleAnnotation.msg +4 -1
  400. package/schemas/ros2/Color.msg +4 -1
  401. package/schemas/ros2/CompressedImage.msg +4 -1
  402. package/schemas/ros2/CubePrimitive.msg +13 -0
  403. package/schemas/ros2/CylinderPrimitive.msg +19 -0
  404. package/schemas/ros2/FrameTransform.msg +9 -3
  405. package/schemas/ros2/GeoJSON.msg +4 -1
  406. package/schemas/ros2/Grid.msg +4 -1
  407. package/schemas/ros2/ImageAnnotations.msg +4 -1
  408. package/schemas/ros2/KeyValuePair.msg +10 -0
  409. package/schemas/ros2/LaserScan.msg +4 -1
  410. package/schemas/ros2/LinePrimitive.msg +39 -0
  411. package/schemas/ros2/LocationFix.msg +4 -1
  412. package/schemas/ros2/Log.msg +4 -1
  413. package/schemas/ros2/ModelPrimitive.msg +25 -0
  414. package/schemas/ros2/PackedElementField.msg +4 -1
  415. package/schemas/ros2/Point2.msg +4 -1
  416. package/schemas/ros2/PointCloud.msg +4 -1
  417. package/schemas/ros2/PointsAnnotation.msg +11 -2
  418. package/schemas/ros2/PoseInFrame.msg +4 -1
  419. package/schemas/ros2/PosesInFrame.msg +4 -1
  420. package/schemas/ros2/RawImage.msg +4 -1
  421. package/schemas/ros2/SceneEntity.msg +46 -0
  422. package/schemas/ros2/SceneEntityDeletion.msg +19 -0
  423. package/schemas/ros2/SceneUpdate.msg +10 -0
  424. package/schemas/ros2/SpherePrimitive.msg +13 -0
  425. package/schemas/ros2/TextPrimitive.msg +22 -0
  426. package/schemas/ros2/TriangleListPrimitive.msg +21 -0
  427. package/schemas/ros2/Vector2.msg +4 -1
  428. package/schemas/typescript/ArrowPrimitive.ts +25 -0
  429. package/schemas/typescript/CameraCalibration.ts +1 -1
  430. package/schemas/typescript/CircleAnnotation.ts +1 -1
  431. package/schemas/typescript/Color.ts +1 -1
  432. package/schemas/typescript/CompressedImage.ts +1 -1
  433. package/schemas/typescript/CubePrimitive.ts +17 -0
  434. package/schemas/typescript/CylinderPrimitive.ts +23 -0
  435. package/schemas/typescript/FrameTransform.ts +8 -4
  436. package/schemas/typescript/GeoJSON.ts +1 -1
  437. package/schemas/typescript/Grid.ts +1 -1
  438. package/schemas/typescript/ImageAnnotations.ts +1 -1
  439. package/schemas/typescript/KeyValuePair.ts +10 -0
  440. package/schemas/typescript/LaserScan.ts +1 -1
  441. package/schemas/typescript/LinePrimitive.ts +37 -0
  442. package/schemas/typescript/LineType.ts +13 -0
  443. package/schemas/typescript/LocationFix.ts +1 -1
  444. package/schemas/typescript/Log.ts +1 -1
  445. package/schemas/typescript/LogLevel.ts +1 -1
  446. package/schemas/typescript/ModelPrimitive.ts +29 -0
  447. package/schemas/typescript/NumericType.ts +1 -1
  448. package/schemas/typescript/PackedElementField.ts +1 -1
  449. package/schemas/typescript/Point2.ts +1 -1
  450. package/schemas/typescript/Point3.ts +1 -1
  451. package/schemas/typescript/PointCloud.ts +1 -1
  452. package/schemas/typescript/PointsAnnotation.ts +8 -2
  453. package/schemas/typescript/PointsAnnotationType.ts +1 -1
  454. package/schemas/typescript/Pose.ts +1 -1
  455. package/schemas/typescript/PoseInFrame.ts +1 -1
  456. package/schemas/typescript/PosesInFrame.ts +1 -1
  457. package/schemas/typescript/PositionCovarianceType.ts +1 -1
  458. package/schemas/typescript/Quaternion.ts +1 -1
  459. package/schemas/typescript/RawImage.ts +1 -1
  460. package/schemas/typescript/SceneEntity.ts +58 -0
  461. package/schemas/typescript/SceneEntityDeletion.ts +16 -0
  462. package/schemas/typescript/SceneEntityDeletionType.ts +10 -0
  463. package/schemas/typescript/SceneUpdate.ts +13 -0
  464. package/schemas/typescript/SpherePrimitive.ts +17 -0
  465. package/schemas/typescript/TextPrimitive.ts +25 -0
  466. package/schemas/typescript/TriangleListPrimitive.ts +27 -0
  467. package/schemas/typescript/Vector2.ts +1 -1
  468. package/schemas/typescript/Vector3.ts +1 -1
  469. package/schemas/typescript/index.ts +14 -1
  470. package/scripts/updateGeneratedFiles.ts +21 -10
  471. package/src/generateJsonSchema.test.ts +6 -8
  472. package/src/generateJsonSchema.ts +4 -3
  473. package/src/generateMarkdown.ts +88 -0
  474. package/src/generateProto.test.ts +1 -1
  475. package/src/generateProto.ts +1 -1
  476. package/src/generateRos.test.ts +451 -431
  477. package/src/generateRos.ts +4 -1
  478. package/src/generateTypeScript.test.ts +2 -2
  479. package/src/generateTypeScript.ts +1 -1
  480. package/src/schemas.test.ts +19 -0
  481. package/src/schemas.ts +604 -104
  482. package/dist/cjs/schemas/typescript/Transform.d.ts +0 -13
  483. package/dist/cjs/schemas/typescript/Transform.d.ts.map +0 -1
  484. package/dist/cjs/schemas/typescript/Transform.js +0 -4
  485. package/dist/cjs/schemas/typescript/Transform.js.map +0 -1
  486. package/dist/esm/schemas/typescript/Transform.d.ts +0 -13
  487. package/dist/esm/schemas/typescript/Transform.d.ts.map +0 -1
  488. package/dist/esm/schemas/typescript/Transform.js +0 -3
  489. package/dist/esm/schemas/typescript/Transform.js.map +0 -1
  490. package/schemas/jsonschema/Transform.json +0 -68
  491. package/schemas/proto/foxglove/Transform.proto +0 -21
  492. package/schemas/ros1/Transform.msg +0 -10
  493. package/schemas/ros2/Transform.msg +0 -10
  494. package/schemas/typescript/Transform.ts +0 -17
@@ -0,0 +1,17 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { Color } from "./Color";
4
+ import { Pose } from "./Pose";
5
+ import { Vector3 } from "./Vector3";
6
+
7
+ /** (Experimental, subject to change) A primitive representing a cube or rectangular prism */
8
+ export type CubePrimitive = {
9
+ /** Position of the center of the cube and orientation of the cube */
10
+ pose: Pose;
11
+
12
+ /** Size of the cube along each axis */
13
+ size: Vector3;
14
+
15
+ /** Color of the arrow */
16
+ color: Color;
17
+ };
@@ -0,0 +1,23 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { Color } from "./Color";
4
+ import { Pose } from "./Pose";
5
+ import { Vector3 } from "./Vector3";
6
+
7
+ /** (Experimental, subject to change) A primitive representing a cylinder, elliptic cylinder, or truncated cone */
8
+ export type CylinderPrimitive = {
9
+ /** Position of the center of the cylinder and orientation of the cylinder. The flat face(s) are perpendicular to the z-axis. */
10
+ pose: Pose;
11
+
12
+ /** Size of the cylinder's bounding box */
13
+ size: Vector3;
14
+
15
+ /** 0-1, ratio of the diameter of the cylinder's bottom face (min z) to the bottom of the bounding box */
16
+ bottom_scale: number;
17
+
18
+ /** 0-1, ratio of the diameter of the cylinder's top face (max z) to the top of the bounding box */
19
+ top_scale: number;
20
+
21
+ /** Color of the cylinder */
22
+ color: Color;
23
+ };
@@ -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";
@@ -0,0 +1,10 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ /** (Experimental, subject to change) A key with its associated value */
4
+ export type KeyValuePair = {
5
+ /** Key */
6
+ key: string;
7
+
8
+ /** Value */
9
+ value: string;
10
+ };
@@ -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";
@@ -0,0 +1,37 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { Color } from "./Color";
4
+ import { LineType } from "./LineType";
5
+ import { Point3 } from "./Point3";
6
+ import { Pose } from "./Pose";
7
+
8
+ /** (Experimental, subject to change) A primitive representing a series of points connected by lines */
9
+ export type LinePrimitive = {
10
+ /** Drawing primitive to use for lines */
11
+ type: LineType;
12
+
13
+ /** Origin of lines relative to reference frame */
14
+ pose: Pose;
15
+
16
+ /** Line thickness */
17
+ thickness: number;
18
+
19
+ /** Indicates whether `thickness` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false) */
20
+ scale_invariant: boolean;
21
+
22
+ /** Points along the line */
23
+ points: Point3[];
24
+
25
+ /** Solid color to use for the whole line. One of `color` or `colors` must be provided. */
26
+ color: Color;
27
+
28
+ /** Per-point colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided. */
29
+ colors: Color[];
30
+
31
+ /**
32
+ * Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data.
33
+ *
34
+ * If omitted or empty, indexing will not be used. This default behavior is equivalent to specifying [0, 1, ..., N-1] for the indices (where N is the number of `points` provided).
35
+ */
36
+ indices: number[];
37
+ };
@@ -0,0 +1,13 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ /** (Experimental, subject to change) An enumeration indicating how input points should be interpreted to create lines */
4
+ export enum LineType {
5
+ /** 0-1, 1-2, ..., (n-1)-n */
6
+ LINE_STRIP = 0,
7
+
8
+ /** 0-1, 1-2, ..., (n-1)-n, n-0 */
9
+ LINE_LOOP = 1,
10
+
11
+ /** 0-1, 2-3, 4-5, ... */
12
+ LINE_LIST = 2,
13
+ }
@@ -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 {
@@ -0,0 +1,29 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { Color } from "./Color";
4
+ import { Pose } from "./Pose";
5
+ import { Vector3 } from "./Vector3";
6
+
7
+ /** (Experimental, subject to change) A primitive representing a 3D model file loaded from an external URL or embedded data */
8
+ export type ModelPrimitive = {
9
+ /** Origin of model relative to reference frame */
10
+ pose: Pose;
11
+
12
+ /** Scale factor to apply to the model along each axis */
13
+ scale: Vector3;
14
+
15
+ /** Solid color to use for the whole model if `override_color` is true. */
16
+ color: Color;
17
+
18
+ /** Whether to use the color specified in `color` instead of any materials embedded in the original model. */
19
+ override_color: boolean;
20
+
21
+ /** URL pointing to model file. One of `url` or `data` should be provided. */
22
+ url: string;
23
+
24
+ /** [Media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of embedded model (e.g. `model/gltf-binary`). Required if `data` is provided instead of `url`. Overrides the inferred media type if `url` is provided. */
25
+ media_type: string;
26
+
27
+ /** Embedded model. One of `url` or `data` should be provided. If `data` is provided, `media_type` must be set to indicate the type of the data. */
28
+ data: Uint8Array;
29
+ };
@@ -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,4 +1,4 @@
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
 
@@ -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
 
@@ -0,0 +1,58 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { ArrowPrimitive } from "./ArrowPrimitive";
4
+ import { CubePrimitive } from "./CubePrimitive";
5
+ import { CylinderPrimitive } from "./CylinderPrimitive";
6
+ import { Duration } from "./Duration";
7
+ import { KeyValuePair } from "./KeyValuePair";
8
+ import { LinePrimitive } from "./LinePrimitive";
9
+ import { ModelPrimitive } from "./ModelPrimitive";
10
+ import { SpherePrimitive } from "./SpherePrimitive";
11
+ import { TextPrimitive } from "./TextPrimitive";
12
+ import { Time } from "./Time";
13
+ import { TriangleListPrimitive } from "./TriangleListPrimitive";
14
+
15
+ /** (Experimental, subject to change) A visual element in a 3D scene. An entity may be composed of multiple primitives which all share the same frame of reference. */
16
+ export type SceneEntity = {
17
+ /** Timestamp of the entity */
18
+ timestamp: Time;
19
+
20
+ /** Frame of reference */
21
+ frame_id: string;
22
+
23
+ /** Identifier for the entity. A entity will replace any prior entity on the same topic with the same `id`. */
24
+ id: string;
25
+
26
+ /** Length of time (relative to `timestamp`) after which the entity should be automatically removed. Zero value indicates the entity should remain visible until it is replaced or deleted. */
27
+ lifetime: Duration;
28
+
29
+ /** Whether the entity should keep its location in the fixed frame (false) or follow the frame specified in `frame_id` as it moves relative to the fixed frame (true) */
30
+ frame_locked: boolean;
31
+
32
+ /** Additional user-provided metadata associated with the entity. Keys must be unique. */
33
+ metadata: KeyValuePair[];
34
+
35
+ /** Arrow primitives */
36
+ arrows: ArrowPrimitive[];
37
+
38
+ /** Cube primitives */
39
+ cubes: CubePrimitive[];
40
+
41
+ /** Sphere primitives */
42
+ spheres: SpherePrimitive[];
43
+
44
+ /** Cylinder primitives */
45
+ cylinders: CylinderPrimitive[];
46
+
47
+ /** Line primitives */
48
+ lines: LinePrimitive[];
49
+
50
+ /** Triangle list primitives */
51
+ triangles: TriangleListPrimitive[];
52
+
53
+ /** Text primitives */
54
+ texts: TextPrimitive[];
55
+
56
+ /** Model primitives */
57
+ models: ModelPrimitive[];
58
+ };
@@ -0,0 +1,16 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { SceneEntityDeletionType } from "./SceneEntityDeletionType";
4
+ import { Time } from "./Time";
5
+
6
+ /** (Experimental, subject to change) Command to remove previously published entities */
7
+ export type SceneEntityDeletion = {
8
+ /** Timestamp of the deletion. Only matching entities earlier than this timestamp will be deleted. */
9
+ timestamp: Time;
10
+
11
+ /** Type of deletion action to perform */
12
+ type: SceneEntityDeletionType;
13
+
14
+ /** Identifier which must match if `type` is `MATCHING_ID`. */
15
+ id: string;
16
+ };
@@ -0,0 +1,10 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ /** (Experimental, subject to change) An enumeration indicating which entities should match a SceneEntityDeletion command */
4
+ export enum SceneEntityDeletionType {
5
+ /** Delete the existing entity on the same topic that has the provided `id` */
6
+ MATCHING_ID = 0,
7
+
8
+ /** Delete all existing entities on the same topic */
9
+ ALL = 1,
10
+ }
@@ -0,0 +1,13 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { SceneEntity } from "./SceneEntity";
4
+ import { SceneEntityDeletion } from "./SceneEntityDeletion";
5
+
6
+ /** (Experimental, subject to change) An update to the entities displayed in a 3D scene */
7
+ export type SceneUpdate = {
8
+ /** Scene entities to delete */
9
+ deletions: SceneEntityDeletion[];
10
+
11
+ /** Scene entities to add or replace */
12
+ entities: SceneEntity[];
13
+ };
@@ -0,0 +1,17 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { Color } from "./Color";
4
+ import { Pose } from "./Pose";
5
+ import { Vector3 } from "./Vector3";
6
+
7
+ /** (Experimental, subject to change) A primitive representing a sphere or ellipsoid */
8
+ export type SpherePrimitive = {
9
+ /** Position of the center of the sphere and orientation of the sphere */
10
+ pose: Pose;
11
+
12
+ /** Size (diameter) of the sphere along each axis */
13
+ size: Vector3;
14
+
15
+ /** Color of the sphere */
16
+ color: Color;
17
+ };
@@ -0,0 +1,25 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { Color } from "./Color";
4
+ import { Pose } from "./Pose";
5
+
6
+ /** (Experimental, subject to change) A primitive representing a text label */
7
+ export type TextPrimitive = {
8
+ /** Position of the center of the text box and orientation of the text. Identity orientation means the text is oriented in the xy-plane and flows from -x to +x. */
9
+ pose: Pose;
10
+
11
+ /** Whether the text should respect `pose.orientation` (false) or always face the camera (true) */
12
+ billboard: boolean;
13
+
14
+ /** Font size (height of one line of text) */
15
+ font_size: number;
16
+
17
+ /** Indicates whether `font_size` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false) */
18
+ scale_invariant: boolean;
19
+
20
+ /** Color of the text */
21
+ color: Color;
22
+
23
+ /** Text */
24
+ text: string;
25
+ };
@@ -0,0 +1,27 @@
1
+ // Generated by https://github.com/foxglove/schemas
2
+
3
+ import { Color } from "./Color";
4
+ import { Point3 } from "./Point3";
5
+ import { Pose } from "./Pose";
6
+
7
+ /** (Experimental, subject to change) A primitive representing a set of triangles or a surface tiled by triangles */
8
+ export type TriangleListPrimitive = {
9
+ /** Origin of triangles relative to reference frame */
10
+ pose: Pose;
11
+
12
+ /** Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...) */
13
+ points: Point3[];
14
+
15
+ /** Solid color to use for the whole shape. One of `color` or `colors` must be provided. */
16
+ color: Color;
17
+
18
+ /** Per-vertex colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided. */
19
+ colors: Color[];
20
+
21
+ /**
22
+ * Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data.
23
+ *
24
+ * If omitted or empty, indexing will not be used. This default behavior is equivalent to specifying [0, 1, ..., N-1] for the indices (where N is the number of `points` provided).
25
+ */
26
+ indices: number[];
27
+ };
@@ -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 = {
@@ -1,15 +1,22 @@
1
+ export * from "./ArrowPrimitive";
1
2
  export * from "./CameraCalibration";
2
3
  export * from "./CircleAnnotation";
3
4
  export * from "./Color";
4
5
  export * from "./CompressedImage";
6
+ export * from "./CubePrimitive";
7
+ export * from "./CylinderPrimitive";
5
8
  export * from "./FrameTransform";
6
9
  export * from "./GeoJSON";
7
10
  export * from "./Grid";
8
11
  export * from "./ImageAnnotations";
12
+ export * from "./KeyValuePair";
9
13
  export * from "./LaserScan";
14
+ export * from "./LinePrimitive";
15
+ export * from "./LineType";
10
16
  export * from "./LocationFix";
11
17
  export * from "./Log";
12
18
  export * from "./LogLevel";
19
+ export * from "./ModelPrimitive";
13
20
  export * from "./NumericType";
14
21
  export * from "./PackedElementField";
15
22
  export * from "./Point2";
@@ -23,6 +30,12 @@ export * from "./PosesInFrame";
23
30
  export * from "./PositionCovarianceType";
24
31
  export * from "./Quaternion";
25
32
  export * from "./RawImage";
26
- export * from "./Transform";
33
+ export * from "./SceneEntity";
34
+ export * from "./SceneEntityDeletion";
35
+ export * from "./SceneEntityDeletionType";
36
+ export * from "./SceneUpdate";
37
+ export * from "./SpherePrimitive";
38
+ export * from "./TextPrimitive";
39
+ export * from "./TriangleListPrimitive";
27
40
  export * from "./Vector2";
28
41
  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);