@foxglove/schemas 0.3.0 → 0.6.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 (267) hide show
  1. package/.vscode/settings.json +1 -1
  2. package/README.md +5 -7
  3. package/dist/cjs/schemas/typescript/ArrowPrimitive.d.ts +18 -0
  4. package/dist/cjs/schemas/typescript/ArrowPrimitive.d.ts.map +1 -0
  5. package/dist/cjs/schemas/typescript/ArrowPrimitive.js +4 -0
  6. package/dist/cjs/schemas/typescript/ArrowPrimitive.js.map +1 -0
  7. package/dist/cjs/schemas/typescript/CameraCalibration.d.ts +2 -0
  8. package/dist/cjs/schemas/typescript/CameraCalibration.d.ts.map +1 -1
  9. package/dist/cjs/schemas/typescript/CompressedImage.d.ts +2 -0
  10. package/dist/cjs/schemas/typescript/CompressedImage.d.ts.map +1 -1
  11. package/dist/cjs/schemas/typescript/CubePrimitive.d.ts +13 -0
  12. package/dist/cjs/schemas/typescript/CubePrimitive.d.ts.map +1 -0
  13. package/dist/cjs/schemas/typescript/CubePrimitive.js +4 -0
  14. package/dist/cjs/schemas/typescript/CubePrimitive.js.map +1 -0
  15. package/dist/cjs/schemas/typescript/CylinderPrimitive.d.ts +17 -0
  16. package/dist/cjs/schemas/typescript/CylinderPrimitive.d.ts.map +1 -0
  17. package/dist/cjs/schemas/typescript/CylinderPrimitive.js +4 -0
  18. package/dist/cjs/schemas/typescript/CylinderPrimitive.js.map +1 -0
  19. package/dist/cjs/schemas/typescript/KeyValuePair.d.ts +8 -0
  20. package/dist/cjs/schemas/typescript/KeyValuePair.d.ts.map +1 -0
  21. package/dist/cjs/schemas/typescript/KeyValuePair.js +4 -0
  22. package/dist/cjs/schemas/typescript/KeyValuePair.js.map +1 -0
  23. package/dist/cjs/schemas/typescript/LinePrimitive.d.ts +28 -0
  24. package/dist/cjs/schemas/typescript/LinePrimitive.d.ts.map +1 -0
  25. package/dist/cjs/schemas/typescript/LinePrimitive.js +4 -0
  26. package/dist/cjs/schemas/typescript/LinePrimitive.js.map +1 -0
  27. package/dist/cjs/schemas/typescript/LineType.d.ts +10 -0
  28. package/dist/cjs/schemas/typescript/LineType.d.ts.map +1 -0
  29. package/dist/cjs/schemas/typescript/LineType.js +15 -0
  30. package/dist/cjs/schemas/typescript/LineType.js.map +1 -0
  31. package/dist/cjs/schemas/typescript/ModelPrimitive.d.ts +21 -0
  32. package/dist/cjs/schemas/typescript/ModelPrimitive.d.ts.map +1 -0
  33. package/dist/cjs/schemas/typescript/ModelPrimitive.js +4 -0
  34. package/dist/cjs/schemas/typescript/ModelPrimitive.js.map +1 -0
  35. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts +5 -1
  36. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
  37. package/dist/cjs/schemas/typescript/RawImage.d.ts +2 -0
  38. package/dist/cjs/schemas/typescript/RawImage.d.ts.map +1 -1
  39. package/dist/cjs/schemas/typescript/SceneEntity.d.ts +43 -0
  40. package/dist/cjs/schemas/typescript/SceneEntity.d.ts.map +1 -0
  41. package/dist/cjs/schemas/typescript/SceneEntity.js +4 -0
  42. package/dist/cjs/schemas/typescript/SceneEntity.js.map +1 -0
  43. package/dist/cjs/schemas/typescript/SceneEntityDeletion.d.ts +12 -0
  44. package/dist/cjs/schemas/typescript/SceneEntityDeletion.d.ts.map +1 -0
  45. package/dist/cjs/schemas/typescript/SceneEntityDeletion.js +4 -0
  46. package/dist/cjs/schemas/typescript/SceneEntityDeletion.js.map +1 -0
  47. package/dist/cjs/schemas/typescript/SceneEntityDeletionType.d.ts +8 -0
  48. package/dist/cjs/schemas/typescript/SceneEntityDeletionType.d.ts.map +1 -0
  49. package/dist/cjs/schemas/typescript/SceneEntityDeletionType.js +13 -0
  50. package/dist/cjs/schemas/typescript/SceneEntityDeletionType.js.map +1 -0
  51. package/dist/cjs/schemas/typescript/SceneUpdate.d.ts +10 -0
  52. package/dist/cjs/schemas/typescript/SceneUpdate.d.ts.map +1 -0
  53. package/dist/cjs/schemas/typescript/SceneUpdate.js +4 -0
  54. package/dist/cjs/schemas/typescript/SceneUpdate.js.map +1 -0
  55. package/dist/cjs/schemas/typescript/SpherePrimitive.d.ts +13 -0
  56. package/dist/cjs/schemas/typescript/SpherePrimitive.d.ts.map +1 -0
  57. package/dist/cjs/schemas/typescript/SpherePrimitive.js +4 -0
  58. package/dist/cjs/schemas/typescript/SpherePrimitive.js.map +1 -0
  59. package/dist/cjs/schemas/typescript/TextPrimitive.d.ts +18 -0
  60. package/dist/cjs/schemas/typescript/TextPrimitive.d.ts.map +1 -0
  61. package/dist/cjs/schemas/typescript/TextPrimitive.js +4 -0
  62. package/dist/cjs/schemas/typescript/TextPrimitive.js.map +1 -0
  63. package/dist/cjs/schemas/typescript/TriangleListPrimitive.d.ts +21 -0
  64. package/dist/cjs/schemas/typescript/TriangleListPrimitive.d.ts.map +1 -0
  65. package/dist/cjs/schemas/typescript/TriangleListPrimitive.js +4 -0
  66. package/dist/cjs/schemas/typescript/TriangleListPrimitive.js.map +1 -0
  67. package/dist/cjs/schemas/typescript/index.d.ts +14 -0
  68. package/dist/cjs/schemas/typescript/index.d.ts.map +1 -1
  69. package/dist/cjs/schemas/typescript/index.js +14 -0
  70. package/dist/cjs/schemas/typescript/index.js.map +1 -1
  71. package/dist/cjs/src/generateMarkdown.d.ts.map +1 -1
  72. package/dist/cjs/src/generateMarkdown.js +3 -1
  73. package/dist/cjs/src/generateMarkdown.js.map +1 -1
  74. package/dist/cjs/src/generateProto.d.ts.map +1 -1
  75. package/dist/cjs/src/generateProto.js +21 -3
  76. package/dist/cjs/src/generateProto.js.map +1 -1
  77. package/dist/cjs/src/generateProto.test.js +22 -22
  78. package/dist/cjs/src/schemas.d.ts +15 -1
  79. package/dist/cjs/src/schemas.d.ts.map +1 -1
  80. package/dist/cjs/src/schemas.js +569 -79
  81. package/dist/cjs/src/schemas.js.map +1 -1
  82. package/dist/cjs/src/schemas.test.js +17 -0
  83. package/dist/cjs/src/schemas.test.js.map +1 -1
  84. package/dist/cjs/src/testFixtures.d.ts.map +1 -1
  85. package/dist/cjs/src/testFixtures.js +1 -0
  86. package/dist/cjs/src/testFixtures.js.map +1 -1
  87. package/dist/cjs/src/types.d.ts +18 -16
  88. package/dist/cjs/src/types.d.ts.map +1 -1
  89. package/dist/esm/schemas/typescript/ArrowPrimitive.d.ts +18 -0
  90. package/dist/esm/schemas/typescript/ArrowPrimitive.d.ts.map +1 -0
  91. package/dist/esm/schemas/typescript/ArrowPrimitive.js +3 -0
  92. package/dist/esm/schemas/typescript/ArrowPrimitive.js.map +1 -0
  93. package/dist/esm/schemas/typescript/CameraCalibration.d.ts +2 -0
  94. package/dist/esm/schemas/typescript/CameraCalibration.d.ts.map +1 -1
  95. package/dist/esm/schemas/typescript/CompressedImage.d.ts +2 -0
  96. package/dist/esm/schemas/typescript/CompressedImage.d.ts.map +1 -1
  97. package/dist/esm/schemas/typescript/CubePrimitive.d.ts +13 -0
  98. package/dist/esm/schemas/typescript/CubePrimitive.d.ts.map +1 -0
  99. package/dist/esm/schemas/typescript/CubePrimitive.js +3 -0
  100. package/dist/esm/schemas/typescript/CubePrimitive.js.map +1 -0
  101. package/dist/esm/schemas/typescript/CylinderPrimitive.d.ts +17 -0
  102. package/dist/esm/schemas/typescript/CylinderPrimitive.d.ts.map +1 -0
  103. package/dist/esm/schemas/typescript/CylinderPrimitive.js +3 -0
  104. package/dist/esm/schemas/typescript/CylinderPrimitive.js.map +1 -0
  105. package/dist/esm/schemas/typescript/KeyValuePair.d.ts +8 -0
  106. package/dist/esm/schemas/typescript/KeyValuePair.d.ts.map +1 -0
  107. package/dist/esm/schemas/typescript/KeyValuePair.js +3 -0
  108. package/dist/esm/schemas/typescript/KeyValuePair.js.map +1 -0
  109. package/dist/esm/schemas/typescript/LinePrimitive.d.ts +28 -0
  110. package/dist/esm/schemas/typescript/LinePrimitive.d.ts.map +1 -0
  111. package/dist/esm/schemas/typescript/LinePrimitive.js +3 -0
  112. package/dist/esm/schemas/typescript/LinePrimitive.js.map +1 -0
  113. package/dist/esm/schemas/typescript/LineType.d.ts +10 -0
  114. package/dist/esm/schemas/typescript/LineType.d.ts.map +1 -0
  115. package/dist/esm/schemas/typescript/LineType.js +12 -0
  116. package/dist/esm/schemas/typescript/LineType.js.map +1 -0
  117. package/dist/esm/schemas/typescript/ModelPrimitive.d.ts +21 -0
  118. package/dist/esm/schemas/typescript/ModelPrimitive.d.ts.map +1 -0
  119. package/dist/esm/schemas/typescript/ModelPrimitive.js +3 -0
  120. package/dist/esm/schemas/typescript/ModelPrimitive.js.map +1 -0
  121. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts +5 -1
  122. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
  123. package/dist/esm/schemas/typescript/RawImage.d.ts +2 -0
  124. package/dist/esm/schemas/typescript/RawImage.d.ts.map +1 -1
  125. package/dist/esm/schemas/typescript/SceneEntity.d.ts +43 -0
  126. package/dist/esm/schemas/typescript/SceneEntity.d.ts.map +1 -0
  127. package/dist/esm/schemas/typescript/SceneEntity.js +3 -0
  128. package/dist/esm/schemas/typescript/SceneEntity.js.map +1 -0
  129. package/dist/esm/schemas/typescript/SceneEntityDeletion.d.ts +12 -0
  130. package/dist/esm/schemas/typescript/SceneEntityDeletion.d.ts.map +1 -0
  131. package/dist/esm/schemas/typescript/SceneEntityDeletion.js +3 -0
  132. package/dist/esm/schemas/typescript/SceneEntityDeletion.js.map +1 -0
  133. package/dist/esm/schemas/typescript/SceneEntityDeletionType.d.ts +8 -0
  134. package/dist/esm/schemas/typescript/SceneEntityDeletionType.d.ts.map +1 -0
  135. package/dist/esm/schemas/typescript/SceneEntityDeletionType.js +10 -0
  136. package/dist/esm/schemas/typescript/SceneEntityDeletionType.js.map +1 -0
  137. package/dist/esm/schemas/typescript/SceneUpdate.d.ts +10 -0
  138. package/dist/esm/schemas/typescript/SceneUpdate.d.ts.map +1 -0
  139. package/dist/esm/schemas/typescript/SceneUpdate.js +3 -0
  140. package/dist/esm/schemas/typescript/SceneUpdate.js.map +1 -0
  141. package/dist/esm/schemas/typescript/SpherePrimitive.d.ts +13 -0
  142. package/dist/esm/schemas/typescript/SpherePrimitive.d.ts.map +1 -0
  143. package/dist/esm/schemas/typescript/SpherePrimitive.js +3 -0
  144. package/dist/esm/schemas/typescript/SpherePrimitive.js.map +1 -0
  145. package/dist/esm/schemas/typescript/TextPrimitive.d.ts +18 -0
  146. package/dist/esm/schemas/typescript/TextPrimitive.d.ts.map +1 -0
  147. package/dist/esm/schemas/typescript/TextPrimitive.js +3 -0
  148. package/dist/esm/schemas/typescript/TextPrimitive.js.map +1 -0
  149. package/dist/esm/schemas/typescript/TriangleListPrimitive.d.ts +21 -0
  150. package/dist/esm/schemas/typescript/TriangleListPrimitive.d.ts.map +1 -0
  151. package/dist/esm/schemas/typescript/TriangleListPrimitive.js +3 -0
  152. package/dist/esm/schemas/typescript/TriangleListPrimitive.js.map +1 -0
  153. package/dist/esm/schemas/typescript/index.d.ts +14 -0
  154. package/dist/esm/schemas/typescript/index.d.ts.map +1 -1
  155. package/dist/esm/schemas/typescript/index.js +14 -0
  156. package/dist/esm/schemas/typescript/index.js.map +1 -1
  157. package/dist/esm/src/generateMarkdown.d.ts.map +1 -1
  158. package/dist/esm/src/generateMarkdown.js +3 -1
  159. package/dist/esm/src/generateMarkdown.js.map +1 -1
  160. package/dist/esm/src/generateProto.d.ts.map +1 -1
  161. package/dist/esm/src/generateProto.js +21 -3
  162. package/dist/esm/src/generateProto.js.map +1 -1
  163. package/dist/esm/src/generateProto.test.js +22 -22
  164. package/dist/esm/src/schemas.d.ts +15 -1
  165. package/dist/esm/src/schemas.d.ts.map +1 -1
  166. package/dist/esm/src/schemas.js +569 -79
  167. package/dist/esm/src/schemas.js.map +1 -1
  168. package/dist/esm/src/schemas.test.js +17 -0
  169. package/dist/esm/src/schemas.test.js.map +1 -1
  170. package/dist/esm/src/testFixtures.d.ts.map +1 -1
  171. package/dist/esm/src/testFixtures.js +1 -0
  172. package/dist/esm/src/testFixtures.js.map +1 -1
  173. package/dist/esm/src/types.d.ts +18 -16
  174. package/dist/esm/src/types.d.ts.map +1 -1
  175. package/package.json +1 -1
  176. package/schemas/README.md +1098 -14
  177. package/schemas/jsonschema/ArrowPrimitive.json +96 -0
  178. package/schemas/jsonschema/CameraCalibration.json +4 -0
  179. package/schemas/jsonschema/CompressedImage.json +4 -0
  180. package/schemas/jsonschema/CubePrimitive.json +99 -0
  181. package/schemas/jsonschema/CylinderPrimitive.json +107 -0
  182. package/schemas/jsonschema/ImageAnnotations.json +28 -1
  183. package/schemas/jsonschema/KeyValuePair.json +16 -0
  184. package/schemas/jsonschema/LinePrimitive.json +167 -0
  185. package/schemas/jsonschema/ModelPrimitive.json +116 -0
  186. package/schemas/jsonschema/PointsAnnotation.json +28 -1
  187. package/schemas/jsonschema/RawImage.json +4 -0
  188. package/schemas/jsonschema/SceneEntity.json +1012 -0
  189. package/schemas/jsonschema/SceneEntityDeletion.json +44 -0
  190. package/schemas/jsonschema/SceneUpdate.json +1070 -0
  191. package/schemas/jsonschema/SpherePrimitive.json +99 -0
  192. package/schemas/jsonschema/TextPrimitive.json +96 -0
  193. package/schemas/jsonschema/TriangleListPrimitive.json +138 -0
  194. package/schemas/proto/foxglove/ArrowPrimitive.proto +29 -0
  195. package/schemas/proto/foxglove/CameraCalibration.proto +3 -0
  196. package/schemas/proto/foxglove/CompressedImage.proto +3 -0
  197. package/schemas/proto/foxglove/CubePrimitive.proto +21 -0
  198. package/schemas/proto/foxglove/CylinderPrimitive.proto +27 -0
  199. package/schemas/proto/foxglove/KeyValuePair.proto +14 -0
  200. package/schemas/proto/foxglove/LinePrimitive.proto +49 -0
  201. package/schemas/proto/foxglove/ModelPrimitive.proto +33 -0
  202. package/schemas/proto/foxglove/PointsAnnotation.proto +9 -3
  203. package/schemas/proto/foxglove/RawImage.proto +3 -0
  204. package/schemas/proto/foxglove/SceneEntity.proto +62 -0
  205. package/schemas/proto/foxglove/SceneEntityDeletion.proto +27 -0
  206. package/schemas/proto/foxglove/SceneUpdate.proto +17 -0
  207. package/schemas/proto/foxglove/SpherePrimitive.proto +21 -0
  208. package/schemas/proto/foxglove/TextPrimitive.proto +29 -0
  209. package/schemas/proto/foxglove/TriangleListPrimitive.proto +29 -0
  210. package/schemas/ros1/ArrowPrimitive.msg +22 -0
  211. package/schemas/ros1/CameraCalibration.msg +3 -0
  212. package/schemas/ros1/CompressedImage.msg +3 -0
  213. package/schemas/ros1/CubePrimitive.msg +13 -0
  214. package/schemas/ros1/CylinderPrimitive.msg +19 -0
  215. package/schemas/ros1/KeyValuePair.msg +10 -0
  216. package/schemas/ros1/LinePrimitive.msg +39 -0
  217. package/schemas/ros1/ModelPrimitive.msg +25 -0
  218. package/schemas/ros1/PointsAnnotation.msg +7 -1
  219. package/schemas/ros1/RawImage.msg +3 -0
  220. package/schemas/ros1/SceneEntity.msg +46 -0
  221. package/schemas/ros1/SceneEntityDeletion.msg +19 -0
  222. package/schemas/ros1/SceneUpdate.msg +10 -0
  223. package/schemas/ros1/SpherePrimitive.msg +13 -0
  224. package/schemas/ros1/TextPrimitive.msg +22 -0
  225. package/schemas/ros1/TriangleListPrimitive.msg +21 -0
  226. package/schemas/ros2/ArrowPrimitive.msg +22 -0
  227. package/schemas/ros2/CameraCalibration.msg +3 -0
  228. package/schemas/ros2/CompressedImage.msg +3 -0
  229. package/schemas/ros2/CubePrimitive.msg +13 -0
  230. package/schemas/ros2/CylinderPrimitive.msg +19 -0
  231. package/schemas/ros2/KeyValuePair.msg +10 -0
  232. package/schemas/ros2/LinePrimitive.msg +39 -0
  233. package/schemas/ros2/ModelPrimitive.msg +25 -0
  234. package/schemas/ros2/PointsAnnotation.msg +7 -1
  235. package/schemas/ros2/RawImage.msg +3 -0
  236. package/schemas/ros2/SceneEntity.msg +46 -0
  237. package/schemas/ros2/SceneEntityDeletion.msg +19 -0
  238. package/schemas/ros2/SceneUpdate.msg +10 -0
  239. package/schemas/ros2/SpherePrimitive.msg +13 -0
  240. package/schemas/ros2/TextPrimitive.msg +22 -0
  241. package/schemas/ros2/TriangleListPrimitive.msg +21 -0
  242. package/schemas/typescript/ArrowPrimitive.ts +25 -0
  243. package/schemas/typescript/CameraCalibration.ts +3 -0
  244. package/schemas/typescript/CompressedImage.ts +3 -0
  245. package/schemas/typescript/CubePrimitive.ts +17 -0
  246. package/schemas/typescript/CylinderPrimitive.ts +23 -0
  247. package/schemas/typescript/KeyValuePair.ts +10 -0
  248. package/schemas/typescript/LinePrimitive.ts +37 -0
  249. package/schemas/typescript/LineType.ts +13 -0
  250. package/schemas/typescript/ModelPrimitive.ts +29 -0
  251. package/schemas/typescript/PointsAnnotation.ts +7 -1
  252. package/schemas/typescript/RawImage.ts +3 -0
  253. package/schemas/typescript/SceneEntity.ts +58 -0
  254. package/schemas/typescript/SceneEntityDeletion.ts +16 -0
  255. package/schemas/typescript/SceneEntityDeletionType.ts +10 -0
  256. package/schemas/typescript/SceneUpdate.ts +13 -0
  257. package/schemas/typescript/SpherePrimitive.ts +17 -0
  258. package/schemas/typescript/TextPrimitive.ts +25 -0
  259. package/schemas/typescript/TriangleListPrimitive.ts +27 -0
  260. package/schemas/typescript/index.ts +14 -0
  261. package/src/generateMarkdown.ts +3 -1
  262. package/src/generateProto.test.ts +22 -22
  263. package/src/generateProto.ts +33 -4
  264. package/src/schemas.test.ts +19 -0
  265. package/src/schemas.ts +619 -79
  266. package/src/testFixtures.ts +1 -0
  267. package/src/types.ts +13 -10
package/src/schemas.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { FoxgloveEnumSchema, FoxgloveMessageSchema } from "./types";
2
2
 
3
- const foxglove_Color: FoxgloveMessageSchema = {
3
+ const Color: FoxgloveMessageSchema = {
4
4
  type: "message",
5
5
  name: "Color",
6
6
  description: "A color in RGBA format",
@@ -28,7 +28,7 @@ const foxglove_Color: FoxgloveMessageSchema = {
28
28
  ],
29
29
  };
30
30
 
31
- const foxglove_Vector2: FoxgloveMessageSchema = {
31
+ const Vector2: FoxgloveMessageSchema = {
32
32
  type: "message",
33
33
  name: "Vector2",
34
34
  description: "A vector in 2D space that represents a direction only",
@@ -46,7 +46,7 @@ const foxglove_Vector2: FoxgloveMessageSchema = {
46
46
  ],
47
47
  };
48
48
 
49
- const foxglove_Vector3: FoxgloveMessageSchema = {
49
+ const Vector3: FoxgloveMessageSchema = {
50
50
  type: "message",
51
51
  name: "Vector3",
52
52
  description: "A vector in 3D space that represents a direction only",
@@ -70,7 +70,7 @@ const foxglove_Vector3: FoxgloveMessageSchema = {
70
70
  ],
71
71
  };
72
72
 
73
- const foxglove_Point2: FoxgloveMessageSchema = {
73
+ const Point2: FoxgloveMessageSchema = {
74
74
  type: "message",
75
75
  name: "Point2",
76
76
  description: "A point representing a position in 2D space",
@@ -88,7 +88,7 @@ const foxglove_Point2: FoxgloveMessageSchema = {
88
88
  ],
89
89
  };
90
90
 
91
- const foxglove_Point3: FoxgloveMessageSchema = {
91
+ const Point3: FoxgloveMessageSchema = {
92
92
  type: "message",
93
93
  name: "Point3",
94
94
  description: "A point representing a position in 3D space",
@@ -112,7 +112,7 @@ const foxglove_Point3: FoxgloveMessageSchema = {
112
112
  ],
113
113
  };
114
114
 
115
- const foxglove_Quaternion: FoxgloveMessageSchema = {
115
+ const Quaternion: FoxgloveMessageSchema = {
116
116
  type: "message",
117
117
  name: "Quaternion",
118
118
  description: "A [quaternion](https://eater.net/quaternions) representing a rotation in 3D space",
@@ -141,7 +141,7 @@ const foxglove_Quaternion: FoxgloveMessageSchema = {
141
141
  ],
142
142
  };
143
143
 
144
- const foxglove_Pose: FoxgloveMessageSchema = {
144
+ const Pose: FoxgloveMessageSchema = {
145
145
  type: "message",
146
146
  name: "Pose",
147
147
  description: "A position and orientation for an object or reference frame in 3D space",
@@ -149,18 +149,512 @@ const foxglove_Pose: FoxgloveMessageSchema = {
149
149
  fields: [
150
150
  {
151
151
  name: "position",
152
- type: { type: "nested", schema: foxglove_Vector3 },
152
+ type: { type: "nested", schema: Vector3 },
153
153
  description: "Point denoting position in 3D space",
154
154
  },
155
155
  {
156
156
  name: "orientation",
157
- type: { type: "nested", schema: foxglove_Quaternion },
157
+ type: { type: "nested", schema: Quaternion },
158
158
  description: "Quaternion denoting orientation in 3D space",
159
159
  },
160
160
  ],
161
161
  };
162
162
 
163
- const foxglove_CameraCalibration: FoxgloveMessageSchema = {
163
+ const KeyValuePair: FoxgloveMessageSchema = {
164
+ type: "message",
165
+ name: "KeyValuePair",
166
+ description: "(Experimental, subject to change) A key with its associated value",
167
+ fields: [
168
+ {
169
+ name: "key",
170
+ type: { type: "primitive", name: "string" },
171
+ description: "Key",
172
+ },
173
+ {
174
+ name: "value",
175
+ type: { type: "primitive", name: "string" },
176
+ description: "Value",
177
+ },
178
+ ],
179
+ };
180
+
181
+ const SceneEntityDeletionType: FoxgloveEnumSchema = {
182
+ type: "enum",
183
+ name: "SceneEntityDeletionType",
184
+ protobufParentMessageName: "SceneEntityDeletion",
185
+ protobufEnumName: "Type",
186
+ description:
187
+ "(Experimental, subject to change) An enumeration indicating which entities should match a SceneEntityDeletion command",
188
+ values: [
189
+ {
190
+ value: 0,
191
+ name: "MATCHING_ID",
192
+ description: "Delete the existing entity on the same topic that has the provided `id`",
193
+ },
194
+ { value: 1, name: "ALL", description: "Delete all existing entities on the same topic" },
195
+ ],
196
+ };
197
+
198
+ const SceneEntityDeletion: FoxgloveMessageSchema = {
199
+ type: "message",
200
+ name: "SceneEntityDeletion",
201
+ description: "(Experimental, subject to change) Command to remove previously published entities",
202
+ fields: [
203
+ {
204
+ name: "timestamp",
205
+ type: { type: "primitive", name: "time" },
206
+ description:
207
+ "Timestamp of the deletion. Only matching entities earlier than this timestamp will be deleted.",
208
+ },
209
+ {
210
+ name: "type",
211
+ type: { type: "enum", enum: SceneEntityDeletionType },
212
+ description: "Type of deletion action to perform",
213
+ },
214
+ {
215
+ name: "id",
216
+ type: { type: "primitive", name: "string" },
217
+ description: "Identifier which must match if `type` is `MATCHING_ID`.",
218
+ },
219
+ ],
220
+ };
221
+
222
+ const ArrowPrimitive: FoxgloveMessageSchema = {
223
+ type: "message",
224
+ name: "ArrowPrimitive",
225
+ description: "(Experimental, subject to change) A primitive representing an arrow",
226
+ fields: [
227
+ {
228
+ name: "pose",
229
+ type: { type: "nested", schema: Pose },
230
+ description:
231
+ "Position of the arrow's tail and orientation of the arrow. Identity orientation means the arrow points in the +x direction.",
232
+ },
233
+ {
234
+ name: "shaft_length",
235
+ type: { type: "primitive", name: "float64" },
236
+ description: "Length of the arrow shaft",
237
+ },
238
+ {
239
+ name: "shaft_diameter",
240
+ type: { type: "primitive", name: "float64" },
241
+ description: "Diameter of the arrow shaft",
242
+ },
243
+ {
244
+ name: "head_length",
245
+ type: { type: "primitive", name: "float64" },
246
+ description: "Length of the arrow head",
247
+ },
248
+ {
249
+ name: "head_diameter",
250
+ type: { type: "primitive", name: "float64" },
251
+ description: "Diameter of the arrow head",
252
+ },
253
+ {
254
+ name: "color",
255
+ type: { type: "nested", schema: Color },
256
+ description: "Color of the arrow",
257
+ },
258
+ ],
259
+ };
260
+
261
+ const CubePrimitive: FoxgloveMessageSchema = {
262
+ type: "message",
263
+ name: "CubePrimitive",
264
+ description:
265
+ "(Experimental, subject to change) A primitive representing a cube or rectangular prism",
266
+ fields: [
267
+ {
268
+ name: "pose",
269
+ type: { type: "nested", schema: Pose },
270
+ description: "Position of the center of the cube and orientation of the cube",
271
+ },
272
+ {
273
+ name: "size",
274
+ type: { type: "nested", schema: Vector3 },
275
+ description: "Size of the cube along each axis",
276
+ },
277
+ {
278
+ name: "color",
279
+ type: { type: "nested", schema: Color },
280
+ description: "Color of the arrow",
281
+ },
282
+ ],
283
+ };
284
+
285
+ const SpherePrimitive: FoxgloveMessageSchema = {
286
+ type: "message",
287
+ name: "SpherePrimitive",
288
+ description: "(Experimental, subject to change) A primitive representing a sphere or ellipsoid",
289
+ fields: [
290
+ {
291
+ name: "pose",
292
+ type: { type: "nested", schema: Pose },
293
+ description: "Position of the center of the sphere and orientation of the sphere",
294
+ },
295
+ {
296
+ name: "size",
297
+ type: { type: "nested", schema: Vector3 },
298
+ description: "Size (diameter) of the sphere along each axis",
299
+ },
300
+ {
301
+ name: "color",
302
+ type: { type: "nested", schema: Color },
303
+ description: "Color of the sphere",
304
+ },
305
+ ],
306
+ };
307
+
308
+ const CylinderPrimitive: FoxgloveMessageSchema = {
309
+ type: "message",
310
+ name: "CylinderPrimitive",
311
+ description:
312
+ "(Experimental, subject to change) A primitive representing a cylinder, elliptic cylinder, or truncated cone",
313
+ fields: [
314
+ {
315
+ name: "pose",
316
+ type: { type: "nested", schema: Pose },
317
+ description:
318
+ "Position of the center of the cylinder and orientation of the cylinder. The flat face(s) are perpendicular to the z-axis.",
319
+ },
320
+ {
321
+ name: "size",
322
+ type: { type: "nested", schema: Vector3 },
323
+ description: "Size of the cylinder's bounding box",
324
+ },
325
+ {
326
+ name: "bottom_scale",
327
+ type: { type: "primitive", name: "float64" },
328
+ description:
329
+ "0-1, ratio of the diameter of the cylinder's bottom face (min z) to the bottom of the bounding box",
330
+ },
331
+ {
332
+ name: "top_scale",
333
+ type: { type: "primitive", name: "float64" },
334
+ description:
335
+ "0-1, ratio of the diameter of the cylinder's top face (max z) to the top of the bounding box",
336
+ },
337
+ {
338
+ name: "color",
339
+ type: { type: "nested", schema: Color },
340
+ description: "Color of the cylinder",
341
+ },
342
+ ],
343
+ };
344
+
345
+ const LineType: FoxgloveEnumSchema = {
346
+ type: "enum",
347
+ name: "LineType",
348
+ protobufParentMessageName: "LinePrimitive",
349
+ protobufEnumName: "Type",
350
+ description:
351
+ "(Experimental, subject to change) An enumeration indicating how input points should be interpreted to create lines",
352
+ values: [
353
+ { value: 0, name: "LINE_STRIP", description: "0-1, 1-2, ..., (n-1)-n" },
354
+ { value: 1, name: "LINE_LOOP", description: "0-1, 1-2, ..., (n-1)-n, n-0" },
355
+ { value: 2, name: "LINE_LIST", description: "0-1, 2-3, 4-5, ..." },
356
+ ],
357
+ };
358
+
359
+ const LinePrimitive: FoxgloveMessageSchema = {
360
+ type: "message",
361
+ name: "LinePrimitive",
362
+ description:
363
+ "(Experimental, subject to change) A primitive representing a series of points connected by lines",
364
+ fields: [
365
+ {
366
+ name: "type",
367
+ type: { type: "enum", enum: LineType },
368
+ description: "Drawing primitive to use for lines",
369
+ },
370
+ {
371
+ name: "pose",
372
+ type: { type: "nested", schema: Pose },
373
+ description: "Origin of lines relative to reference frame",
374
+ },
375
+ {
376
+ name: "thickness",
377
+ type: { type: "primitive", name: "float64" },
378
+ description: "Line thickness",
379
+ },
380
+ {
381
+ name: "scale_invariant",
382
+ type: { type: "primitive", name: "boolean" },
383
+ description:
384
+ "Indicates whether `thickness` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false)",
385
+ },
386
+ {
387
+ name: "points",
388
+ type: { type: "nested", schema: Point3 },
389
+ array: true,
390
+ description: "Points along the line",
391
+ },
392
+ {
393
+ name: "color",
394
+ type: { type: "nested", schema: Color },
395
+ description:
396
+ "Solid color to use for the whole line. One of `color` or `colors` must be provided.",
397
+ },
398
+ {
399
+ name: "colors",
400
+ type: { type: "nested", schema: Color },
401
+ array: true,
402
+ description:
403
+ "Per-point colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided.",
404
+ },
405
+ {
406
+ name: "indices",
407
+ type: { type: "primitive", name: "uint32" },
408
+ array: true,
409
+ description:
410
+ "Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data.\n\nIf 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).",
411
+ },
412
+ ],
413
+ };
414
+
415
+ const TextPrimitive: FoxgloveMessageSchema = {
416
+ type: "message",
417
+ name: "TextPrimitive",
418
+ description: "(Experimental, subject to change) A primitive representing a text label",
419
+ fields: [
420
+ {
421
+ name: "pose",
422
+ type: { type: "nested", schema: Pose },
423
+ description:
424
+ "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.",
425
+ },
426
+ {
427
+ name: "billboard",
428
+ type: { type: "primitive", name: "boolean" },
429
+ description:
430
+ "Whether the text should respect `pose.orientation` (false) or always face the camera (true)",
431
+ },
432
+ {
433
+ name: "font_size",
434
+ type: { type: "primitive", name: "float64" },
435
+ description: "Font size (height of one line of text)",
436
+ },
437
+ {
438
+ name: "scale_invariant",
439
+ type: { type: "primitive", name: "boolean" },
440
+ description:
441
+ "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)",
442
+ },
443
+ {
444
+ name: "color",
445
+ type: { type: "nested", schema: Color },
446
+ description: "Color of the text",
447
+ },
448
+ {
449
+ name: "text",
450
+ type: { type: "primitive", name: "string" },
451
+ description: "Text",
452
+ },
453
+ ],
454
+ };
455
+
456
+ const TriangleListPrimitive: FoxgloveMessageSchema = {
457
+ type: "message",
458
+ name: "TriangleListPrimitive",
459
+ description:
460
+ "(Experimental, subject to change) A primitive representing a set of triangles or a surface tiled by triangles",
461
+ fields: [
462
+ {
463
+ name: "pose",
464
+ type: { type: "nested", schema: Pose },
465
+ description: "Origin of triangles relative to reference frame",
466
+ },
467
+ {
468
+ name: "points",
469
+ type: { type: "nested", schema: Point3 },
470
+ array: true,
471
+ description:
472
+ "Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...)",
473
+ },
474
+ {
475
+ name: "color",
476
+ type: { type: "nested", schema: Color },
477
+ description:
478
+ "Solid color to use for the whole shape. One of `color` or `colors` must be provided.",
479
+ },
480
+ {
481
+ name: "colors",
482
+ type: { type: "nested", schema: Color },
483
+ array: true,
484
+ description:
485
+ "Per-vertex colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided.",
486
+ },
487
+ {
488
+ name: "indices",
489
+ type: { type: "primitive", name: "uint32" },
490
+ array: true,
491
+ description:
492
+ "Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data.\n\nIf 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).",
493
+ },
494
+ ],
495
+ };
496
+
497
+ const ModelPrimitive: FoxgloveMessageSchema = {
498
+ type: "message",
499
+ name: "ModelPrimitive",
500
+ description:
501
+ "(Experimental, subject to change) A primitive representing a 3D model file loaded from an external URL or embedded data",
502
+ fields: [
503
+ {
504
+ name: "pose",
505
+ type: { type: "nested", schema: Pose },
506
+ description: "Origin of model relative to reference frame",
507
+ },
508
+ {
509
+ name: "scale",
510
+ type: { type: "nested", schema: Vector3 },
511
+ description: "Scale factor to apply to the model along each axis",
512
+ },
513
+ {
514
+ name: "color",
515
+ type: { type: "nested", schema: Color },
516
+ description: "Solid color to use for the whole model if `override_color` is true.",
517
+ },
518
+ {
519
+ name: "override_color",
520
+ type: { type: "primitive", name: "boolean" },
521
+ description:
522
+ "Whether to use the color specified in `color` instead of any materials embedded in the original model.",
523
+ },
524
+ {
525
+ name: "url",
526
+ type: { type: "primitive", name: "string" },
527
+ description: "URL pointing to model file. One of `url` or `data` should be provided.",
528
+ },
529
+ {
530
+ name: "media_type",
531
+ type: { type: "primitive", name: "string" },
532
+ description:
533
+ "[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.",
534
+ },
535
+ {
536
+ name: "data",
537
+ type: { type: "primitive", name: "bytes" },
538
+ description:
539
+ "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.",
540
+ },
541
+ ],
542
+ };
543
+
544
+ const SceneEntity: FoxgloveMessageSchema = {
545
+ type: "message",
546
+ name: "SceneEntity",
547
+ description:
548
+ "(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.",
549
+ fields: [
550
+ {
551
+ name: "timestamp",
552
+ type: { type: "primitive", name: "time" },
553
+ description: "Timestamp of the entity",
554
+ },
555
+ {
556
+ name: "frame_id",
557
+ type: { type: "primitive", name: "string" },
558
+ description: "Frame of reference",
559
+ },
560
+ {
561
+ name: "id",
562
+ type: { type: "primitive", name: "string" },
563
+ description:
564
+ "Identifier for the entity. A entity will replace any prior entity on the same topic with the same `id`.",
565
+ },
566
+ {
567
+ name: "lifetime",
568
+ type: { type: "primitive", name: "duration" },
569
+ description:
570
+ "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.",
571
+ },
572
+ {
573
+ name: "frame_locked",
574
+ type: { type: "primitive", name: "boolean" },
575
+ description:
576
+ "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)",
577
+ },
578
+ {
579
+ name: "metadata",
580
+ type: { type: "nested", schema: KeyValuePair },
581
+ array: true,
582
+ description:
583
+ "Additional user-provided metadata associated with the entity. Keys must be unique.",
584
+ },
585
+ {
586
+ name: "arrows",
587
+ type: { type: "nested", schema: ArrowPrimitive },
588
+ array: true,
589
+ description: "Arrow primitives",
590
+ },
591
+ {
592
+ name: "cubes",
593
+ type: { type: "nested", schema: CubePrimitive },
594
+ array: true,
595
+ description: "Cube primitives",
596
+ },
597
+ {
598
+ name: "spheres",
599
+ type: { type: "nested", schema: SpherePrimitive },
600
+ array: true,
601
+ description: "Sphere primitives",
602
+ },
603
+ {
604
+ name: "cylinders",
605
+ type: { type: "nested", schema: CylinderPrimitive },
606
+ array: true,
607
+ description: "Cylinder primitives",
608
+ },
609
+ {
610
+ name: "lines",
611
+ type: { type: "nested", schema: LinePrimitive },
612
+ array: true,
613
+ description: "Line primitives",
614
+ },
615
+ {
616
+ name: "triangles",
617
+ type: { type: "nested", schema: TriangleListPrimitive },
618
+ array: true,
619
+ description: "Triangle list primitives",
620
+ },
621
+ {
622
+ name: "texts",
623
+ type: { type: "nested", schema: TextPrimitive },
624
+ array: true,
625
+ description: "Text primitives",
626
+ },
627
+ {
628
+ name: "models",
629
+ type: { type: "nested", schema: ModelPrimitive },
630
+ array: true,
631
+ description: "Model primitives",
632
+ },
633
+ ],
634
+ };
635
+
636
+ const SceneUpdate: FoxgloveMessageSchema = {
637
+ type: "message",
638
+ name: "SceneUpdate",
639
+ description:
640
+ "(Experimental, subject to change) An update to the entities displayed in a 3D scene",
641
+ fields: [
642
+ {
643
+ name: "deletions",
644
+ type: { type: "nested", schema: SceneEntityDeletion },
645
+ array: true,
646
+ description: "Scene entities to delete",
647
+ },
648
+ {
649
+ name: "entities",
650
+ type: { type: "nested", schema: SceneEntity },
651
+ array: true,
652
+ description: "Scene entities to add or replace",
653
+ },
654
+ ],
655
+ };
656
+
657
+ const CameraCalibration: FoxgloveMessageSchema = {
164
658
  type: "message",
165
659
  name: "CameraCalibration",
166
660
  description: "Camera calibration parameters",
@@ -170,6 +664,13 @@ const foxglove_CameraCalibration: FoxgloveMessageSchema = {
170
664
  type: { type: "primitive", name: "time" },
171
665
  description: "Timestamp of calibration data",
172
666
  },
667
+ {
668
+ name: "frame_id",
669
+ type: { type: "primitive", name: "string" },
670
+ description:
671
+ "Frame of reference for the camera. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image.",
672
+ protobufFieldNumber: 9,
673
+ },
173
674
  {
174
675
  name: "width",
175
676
  type: { type: "primitive", name: "uint32" },
@@ -250,7 +751,7 @@ This holds for both images of a stereo pair.
250
751
  ],
251
752
  };
252
753
 
253
- const foxglove_CompressedImage: FoxgloveMessageSchema = {
754
+ const CompressedImage: FoxgloveMessageSchema = {
254
755
  type: "message",
255
756
  name: "CompressedImage",
256
757
  description: "A compressed image",
@@ -260,6 +761,13 @@ const foxglove_CompressedImage: FoxgloveMessageSchema = {
260
761
  type: { type: "primitive", name: "time" },
261
762
  description: "Timestamp of image",
262
763
  },
764
+ {
765
+ name: "frame_id",
766
+ type: { type: "primitive", name: "string" },
767
+ description:
768
+ "Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image.",
769
+ protobufFieldNumber: 4,
770
+ },
263
771
  {
264
772
  name: "data",
265
773
  type: { type: "primitive", name: "bytes" },
@@ -273,7 +781,7 @@ const foxglove_CompressedImage: FoxgloveMessageSchema = {
273
781
  ],
274
782
  };
275
783
 
276
- const foxglove_RawImage: FoxgloveMessageSchema = {
784
+ const RawImage: FoxgloveMessageSchema = {
277
785
  type: "message",
278
786
  name: "RawImage",
279
787
  description: "A raw image",
@@ -283,6 +791,13 @@ const foxglove_RawImage: FoxgloveMessageSchema = {
283
791
  type: { type: "primitive", name: "time" },
284
792
  description: "Timestamp of image",
285
793
  },
794
+ {
795
+ name: "frame_id",
796
+ type: { type: "primitive", name: "string" },
797
+ description:
798
+ "Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image.",
799
+ protobufFieldNumber: 7,
800
+ },
286
801
  {
287
802
  name: "width",
288
803
  type: { type: "primitive", name: "uint32" },
@@ -311,7 +826,7 @@ const foxglove_RawImage: FoxgloveMessageSchema = {
311
826
  ],
312
827
  };
313
828
 
314
- const foxglove_FrameTransform: FoxgloveMessageSchema = {
829
+ const FrameTransform: FoxgloveMessageSchema = {
315
830
  type: "message",
316
831
  name: "FrameTransform",
317
832
  description: "A transform between two reference frames in 3D space",
@@ -333,18 +848,18 @@ const foxglove_FrameTransform: FoxgloveMessageSchema = {
333
848
  },
334
849
  {
335
850
  name: "translation",
336
- type: { type: "nested", schema: foxglove_Vector3 },
851
+ type: { type: "nested", schema: Vector3 },
337
852
  description: "Translation component of the transform",
338
853
  },
339
854
  {
340
855
  name: "rotation",
341
- type: { type: "nested", schema: foxglove_Quaternion },
856
+ type: { type: "nested", schema: Quaternion },
342
857
  description: "Rotation component of the transform",
343
858
  },
344
859
  ],
345
860
  };
346
861
 
347
- const foxglove_PoseInFrame: FoxgloveMessageSchema = {
862
+ const PoseInFrame: FoxgloveMessageSchema = {
348
863
  type: "message",
349
864
  name: "PoseInFrame",
350
865
  description: "A timestamped pose for an object or reference frame in 3D space",
@@ -361,13 +876,13 @@ const foxglove_PoseInFrame: FoxgloveMessageSchema = {
361
876
  },
362
877
  {
363
878
  name: "pose",
364
- type: { type: "nested", schema: foxglove_Pose },
879
+ type: { type: "nested", schema: Pose },
365
880
  description: "Pose in 3D space",
366
881
  },
367
882
  ],
368
883
  };
369
884
 
370
- const foxglove_PosesInFrame: FoxgloveMessageSchema = {
885
+ const PosesInFrame: FoxgloveMessageSchema = {
371
886
  type: "message",
372
887
  name: "PosesInFrame",
373
888
  description: "An array of timestamped poses for an object or reference frame in 3D space",
@@ -384,14 +899,14 @@ const foxglove_PosesInFrame: FoxgloveMessageSchema = {
384
899
  },
385
900
  {
386
901
  name: "poses",
387
- type: { type: "nested", schema: foxglove_Pose },
902
+ type: { type: "nested", schema: Pose },
388
903
  description: "Poses in 3D space",
389
904
  array: true,
390
905
  },
391
906
  ],
392
907
  };
393
908
 
394
- const foxglove_GeoJSON: FoxgloveMessageSchema = {
909
+ const GeoJSON: FoxgloveMessageSchema = {
395
910
  type: "message",
396
911
  name: "GeoJSON",
397
912
  description: "GeoJSON data for annotating maps",
@@ -404,7 +919,7 @@ const foxglove_GeoJSON: FoxgloveMessageSchema = {
404
919
  ],
405
920
  };
406
921
 
407
- const foxglove_NumericType: FoxgloveEnumSchema = {
922
+ const NumericType: FoxgloveEnumSchema = {
408
923
  type: "enum",
409
924
  name: "NumericType",
410
925
  description: "Numeric type",
@@ -423,7 +938,7 @@ const foxglove_NumericType: FoxgloveEnumSchema = {
423
938
  ],
424
939
  };
425
940
 
426
- const foxglove_PackedElementField: FoxgloveMessageSchema = {
941
+ const PackedElementField: FoxgloveMessageSchema = {
427
942
  type: "message",
428
943
  name: "PackedElementField",
429
944
  description: "A field present within each element in a byte array of packed elements.",
@@ -440,13 +955,13 @@ const foxglove_PackedElementField: FoxgloveMessageSchema = {
440
955
  },
441
956
  {
442
957
  name: "type",
443
- type: { type: "enum", enum: foxglove_NumericType },
958
+ type: { type: "enum", enum: NumericType },
444
959
  description: "Type of data in the field. Integers are stored using little-endian byte order.",
445
960
  },
446
961
  ],
447
962
  };
448
963
 
449
- const foxglove_Grid: FoxgloveMessageSchema = {
964
+ const Grid: FoxgloveMessageSchema = {
450
965
  type: "message",
451
966
  name: "Grid",
452
967
  description: "A 2D grid of data",
@@ -463,7 +978,7 @@ const foxglove_Grid: FoxgloveMessageSchema = {
463
978
  },
464
979
  {
465
980
  name: "pose",
466
- type: { type: "nested", schema: foxglove_Pose },
981
+ type: { type: "nested", schema: Pose },
467
982
  description:
468
983
  "Origin of grid's corner relative to frame of reference; grid is positioned in the x-y plane relative to this origin",
469
984
  },
@@ -474,7 +989,7 @@ const foxglove_Grid: FoxgloveMessageSchema = {
474
989
  },
475
990
  {
476
991
  name: "cell_size",
477
- type: { type: "nested", schema: foxglove_Vector2 },
992
+ type: { type: "nested", schema: Vector2 },
478
993
  description: "Size of single grid cell along x and y axes, relative to `pose`",
479
994
  },
480
995
  {
@@ -489,7 +1004,7 @@ const foxglove_Grid: FoxgloveMessageSchema = {
489
1004
  },
490
1005
  {
491
1006
  name: "fields",
492
- type: { type: "nested", schema: foxglove_PackedElementField },
1007
+ type: { type: "nested", schema: PackedElementField },
493
1008
  array: true,
494
1009
  description: "Fields in `data`",
495
1010
  },
@@ -501,7 +1016,7 @@ const foxglove_Grid: FoxgloveMessageSchema = {
501
1016
  ],
502
1017
  };
503
1018
 
504
- const foxglove_CircleAnnotation: FoxgloveMessageSchema = {
1019
+ const CircleAnnotation: FoxgloveMessageSchema = {
505
1020
  type: "message",
506
1021
  name: "CircleAnnotation",
507
1022
  description: "A circle annotation on a 2D image",
@@ -513,7 +1028,7 @@ const foxglove_CircleAnnotation: FoxgloveMessageSchema = {
513
1028
  },
514
1029
  {
515
1030
  name: "position",
516
- type: { type: "nested", schema: foxglove_Point2 },
1031
+ type: { type: "nested", schema: Point2 },
517
1032
  description: "Center of the circle in 2D image coordinates",
518
1033
  },
519
1034
  {
@@ -528,18 +1043,18 @@ const foxglove_CircleAnnotation: FoxgloveMessageSchema = {
528
1043
  },
529
1044
  {
530
1045
  name: "fill_color",
531
- type: { type: "nested", schema: foxglove_Color },
1046
+ type: { type: "nested", schema: Color },
532
1047
  description: "Fill color",
533
1048
  },
534
1049
  {
535
1050
  name: "outline_color",
536
- type: { type: "nested", schema: foxglove_Color },
1051
+ type: { type: "nested", schema: Color },
537
1052
  description: "Outline color",
538
1053
  },
539
1054
  ],
540
1055
  };
541
1056
 
542
- const foxglove_PointsAnnotationType: FoxgloveEnumSchema = {
1057
+ const PointsAnnotationType: FoxgloveEnumSchema = {
543
1058
  type: "enum",
544
1059
  name: "PointsAnnotationType",
545
1060
  description: "Type of points annotation",
@@ -554,7 +1069,7 @@ const foxglove_PointsAnnotationType: FoxgloveEnumSchema = {
554
1069
  ],
555
1070
  };
556
1071
 
557
- const foxglove_PointsAnnotation: FoxgloveMessageSchema = {
1072
+ const PointsAnnotation: FoxgloveMessageSchema = {
558
1073
  type: "message",
559
1074
  name: "PointsAnnotation",
560
1075
  description: "An array of points on a 2D image",
@@ -566,50 +1081,61 @@ const foxglove_PointsAnnotation: FoxgloveMessageSchema = {
566
1081
  },
567
1082
  {
568
1083
  name: "type",
569
- type: { type: "enum", enum: foxglove_PointsAnnotationType },
1084
+ type: { type: "enum", enum: PointsAnnotationType },
570
1085
  description: "Type of points annotation to draw",
571
1086
  },
572
1087
  {
573
1088
  name: "points",
574
- type: { type: "nested", schema: foxglove_Point2 },
1089
+ type: { type: "nested", schema: Point2 },
575
1090
  description: "Points in 2D image coordinates",
576
1091
  array: true,
577
1092
  },
1093
+ {
1094
+ name: "outline_color",
1095
+ type: { type: "nested", schema: Color },
1096
+ description: "Outline color",
1097
+ },
578
1098
  {
579
1099
  name: "outline_colors",
580
- type: { type: "nested", schema: foxglove_Color },
581
- description: "Outline colors",
1100
+ type: { type: "nested", schema: Color },
1101
+ description:
1102
+ "Per-point colors, if `type` is `POINTS`, or per-segment stroke colors, if `type` is `LINE_LIST`.",
582
1103
  array: true,
583
1104
  },
584
1105
  {
585
1106
  name: "fill_color",
586
- type: { type: "nested", schema: foxglove_Color },
1107
+ type: { type: "nested", schema: Color },
587
1108
  description: "Fill color",
588
1109
  },
1110
+ {
1111
+ name: "thickness",
1112
+ type: { type: "primitive", name: "float64" },
1113
+ description: "Stroke thickness",
1114
+ },
589
1115
  ],
590
1116
  };
591
1117
 
592
- const foxglove_ImageAnnotations: FoxgloveMessageSchema = {
1118
+ const ImageAnnotations: FoxgloveMessageSchema = {
593
1119
  type: "message",
594
1120
  name: "ImageAnnotations",
595
1121
  description: "Array of annotations for a 2D image",
596
1122
  fields: [
597
1123
  {
598
1124
  name: "circles",
599
- type: { type: "nested", schema: foxglove_CircleAnnotation },
1125
+ type: { type: "nested", schema: CircleAnnotation },
600
1126
  description: "Circle annotations",
601
1127
  array: true,
602
1128
  },
603
1129
  {
604
1130
  name: "points",
605
- type: { type: "nested", schema: foxglove_PointsAnnotation },
1131
+ type: { type: "nested", schema: PointsAnnotation },
606
1132
  description: "Points annotations",
607
1133
  array: true,
608
1134
  },
609
1135
  ],
610
1136
  };
611
1137
 
612
- const foxglove_PositionCovarianceType: FoxgloveEnumSchema = {
1138
+ const PositionCovarianceType: FoxgloveEnumSchema = {
613
1139
  type: "enum",
614
1140
  name: "PositionCovarianceType",
615
1141
  description: "Type of position covariance",
@@ -623,7 +1149,7 @@ const foxglove_PositionCovarianceType: FoxgloveEnumSchema = {
623
1149
  ],
624
1150
  };
625
1151
 
626
- const foxglove_LocationFix: FoxgloveMessageSchema = {
1152
+ const LocationFix: FoxgloveMessageSchema = {
627
1153
  type: "message",
628
1154
  name: "LocationFix",
629
1155
  description: "A navigation satellite fix for any Global Navigation Satellite System",
@@ -652,14 +1178,14 @@ const foxglove_LocationFix: FoxgloveMessageSchema = {
652
1178
  },
653
1179
  {
654
1180
  name: "position_covariance_type",
655
- type: { type: "enum", enum: foxglove_PositionCovarianceType },
1181
+ type: { type: "enum", enum: PositionCovarianceType },
656
1182
  description:
657
1183
  "If `position_covariance` is available, `position_covariance_type` must be set to indicate the type of covariance.",
658
1184
  },
659
1185
  ],
660
1186
  };
661
1187
 
662
- const foxglove_LogLevel: FoxgloveEnumSchema = {
1188
+ const LogLevel: FoxgloveEnumSchema = {
663
1189
  type: "enum",
664
1190
  name: "LogLevel",
665
1191
  description: "Log level",
@@ -675,7 +1201,7 @@ const foxglove_LogLevel: FoxgloveEnumSchema = {
675
1201
  ],
676
1202
  };
677
1203
 
678
- const foxglove_Log: FoxgloveMessageSchema = {
1204
+ const Log: FoxgloveMessageSchema = {
679
1205
  type: "message",
680
1206
  name: "Log",
681
1207
  description: "A log message",
@@ -687,7 +1213,7 @@ const foxglove_Log: FoxgloveMessageSchema = {
687
1213
  },
688
1214
  {
689
1215
  name: "level",
690
- type: { type: "enum", enum: foxglove_LogLevel },
1216
+ type: { type: "enum", enum: LogLevel },
691
1217
  description: "Log level",
692
1218
  },
693
1219
  {
@@ -713,7 +1239,7 @@ const foxglove_Log: FoxgloveMessageSchema = {
713
1239
  ],
714
1240
  };
715
1241
 
716
- const foxglove_PointCloud: FoxgloveMessageSchema = {
1242
+ const PointCloud: FoxgloveMessageSchema = {
717
1243
  type: "message",
718
1244
  name: "PointCloud",
719
1245
  description:
@@ -731,7 +1257,7 @@ const foxglove_PointCloud: FoxgloveMessageSchema = {
731
1257
  },
732
1258
  {
733
1259
  name: "pose",
734
- type: { type: "nested", schema: foxglove_Pose },
1260
+ type: { type: "nested", schema: Pose },
735
1261
  description: "The origin of the point cloud relative to the frame of reference",
736
1262
  },
737
1263
  {
@@ -741,7 +1267,7 @@ const foxglove_PointCloud: FoxgloveMessageSchema = {
741
1267
  },
742
1268
  {
743
1269
  name: "fields",
744
- type: { type: "nested", schema: foxglove_PackedElementField },
1270
+ type: { type: "nested", schema: PackedElementField },
745
1271
  array: true,
746
1272
  description: "Fields in the `data`",
747
1273
  },
@@ -753,7 +1279,7 @@ const foxglove_PointCloud: FoxgloveMessageSchema = {
753
1279
  ],
754
1280
  };
755
1281
 
756
- const foxglove_LaserScan: FoxgloveMessageSchema = {
1282
+ const LaserScan: FoxgloveMessageSchema = {
757
1283
  type: "message",
758
1284
  name: "LaserScan",
759
1285
  description: "A single scan from a planar laser range-finder",
@@ -770,7 +1296,7 @@ const foxglove_LaserScan: FoxgloveMessageSchema = {
770
1296
  },
771
1297
  {
772
1298
  name: "pose",
773
- type: { type: "nested", schema: foxglove_Pose },
1299
+ type: { type: "nested", schema: Pose },
774
1300
  description:
775
1301
  "Origin of scan relative to frame of reference; points are positioned in the x-y plane relative to this origin; angles are interpreted as counterclockwise rotations around the z axis with 0 rad being in the +x direction",
776
1302
  },
@@ -801,34 +1327,48 @@ const foxglove_LaserScan: FoxgloveMessageSchema = {
801
1327
  };
802
1328
 
803
1329
  export const foxgloveMessageSchemas = {
804
- CameraCalibration: foxglove_CameraCalibration,
805
- CircleAnnotation: foxglove_CircleAnnotation,
806
- Color: foxglove_Color,
807
- CompressedImage: foxglove_CompressedImage,
808
- PackedElementField: foxglove_PackedElementField,
809
- FrameTransform: foxglove_FrameTransform,
810
- GeoJSON: foxglove_GeoJSON,
811
- Grid: foxglove_Grid,
812
- ImageAnnotations: foxglove_ImageAnnotations,
813
- LaserScan: foxglove_LaserScan,
814
- LocationFix: foxglove_LocationFix,
815
- Log: foxglove_Log,
816
- Point2: foxglove_Point2,
817
- Point3: foxglove_Point3,
818
- PointCloud: foxglove_PointCloud,
819
- PointsAnnotation: foxglove_PointsAnnotation,
820
- Pose: foxglove_Pose,
821
- PoseInFrame: foxglove_PoseInFrame,
822
- PosesInFrame: foxglove_PosesInFrame,
823
- Quaternion: foxglove_Quaternion,
824
- RawImage: foxglove_RawImage,
825
- Vector2: foxglove_Vector2,
826
- Vector3: foxglove_Vector3,
1330
+ ArrowPrimitive,
1331
+ CameraCalibration,
1332
+ CircleAnnotation,
1333
+ Color,
1334
+ CompressedImage,
1335
+ CylinderPrimitive,
1336
+ CubePrimitive,
1337
+ FrameTransform,
1338
+ GeoJSON,
1339
+ Grid,
1340
+ ImageAnnotations,
1341
+ KeyValuePair,
1342
+ LaserScan,
1343
+ LinePrimitive,
1344
+ LocationFix,
1345
+ Log,
1346
+ SceneEntityDeletion,
1347
+ SceneEntity,
1348
+ SceneUpdate,
1349
+ ModelPrimitive,
1350
+ PackedElementField,
1351
+ Point2,
1352
+ Point3,
1353
+ PointCloud,
1354
+ PointsAnnotation,
1355
+ Pose,
1356
+ PoseInFrame,
1357
+ PosesInFrame,
1358
+ Quaternion,
1359
+ RawImage,
1360
+ SpherePrimitive,
1361
+ TextPrimitive,
1362
+ TriangleListPrimitive,
1363
+ Vector2,
1364
+ Vector3,
827
1365
  };
828
1366
 
829
1367
  export const foxgloveEnumSchemas = {
830
- LogLevel: foxglove_LogLevel,
831
- NumericType: foxglove_NumericType,
832
- PointsAnnotationType: foxglove_PointsAnnotationType,
833
- PositionCovarianceType: foxglove_PositionCovarianceType,
1368
+ LineType,
1369
+ LogLevel,
1370
+ SceneEntityDeletionType,
1371
+ NumericType,
1372
+ PointsAnnotationType,
1373
+ PositionCovarianceType,
834
1374
  };