@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,2728 @@
1
+ # Foxglove schemas
2
+
3
+ See [Foxglove Schemas documentation](https://foxglove.dev/docs/studio/messages).
4
+
5
+ All schemas are generated from [schemas.ts](/src/schemas.ts).
6
+
7
+ ## Contents
8
+
9
+ - [enum LineType](#enum-linetype)
10
+ - [enum LogLevel](#enum-loglevel)
11
+ - [enum NumericType](#enum-numerictype)
12
+ - [enum PointsAnnotationType](#enum-pointsannotationtype)
13
+ - [enum PositionCovarianceType](#enum-positioncovariancetype)
14
+ - [enum SceneEntityDeletionType](#enum-sceneentitydeletiontype)
15
+ - [ArrowPrimitive](#arrowprimitive)
16
+ - [CameraCalibration](#cameracalibration)
17
+ - [CircleAnnotation](#circleannotation)
18
+ - [Color](#color)
19
+ - [CompressedImage](#compressedimage)
20
+ - [CubePrimitive](#cubeprimitive)
21
+ - [CylinderPrimitive](#cylinderprimitive)
22
+ - [FrameTransform](#frametransform)
23
+ - [GeoJSON](#geojson)
24
+ - [Grid](#grid)
25
+ - [ImageAnnotations](#imageannotations)
26
+ - [KeyValuePair](#keyvaluepair)
27
+ - [LaserScan](#laserscan)
28
+ - [LinePrimitive](#lineprimitive)
29
+ - [LocationFix](#locationfix)
30
+ - [Log](#log)
31
+ - [ModelPrimitive](#modelprimitive)
32
+ - [PackedElementField](#packedelementfield)
33
+ - [Point2](#point2)
34
+ - [Point3](#point3)
35
+ - [PointCloud](#pointcloud)
36
+ - [PointsAnnotation](#pointsannotation)
37
+ - [Pose](#pose)
38
+ - [PoseInFrame](#poseinframe)
39
+ - [PosesInFrame](#posesinframe)
40
+ - [Quaternion](#quaternion)
41
+ - [RawImage](#rawimage)
42
+ - [SceneEntity](#sceneentity)
43
+ - [SceneEntityDeletion](#sceneentitydeletion)
44
+ - [SceneUpdate](#sceneupdate)
45
+ - [SpherePrimitive](#sphereprimitive)
46
+ - [TextPrimitive](#textprimitive)
47
+ - [TriangleListPrimitive](#trianglelistprimitive)
48
+ - [Vector2](#vector2)
49
+ - [Vector3](#vector3)
50
+
51
+ ----
52
+
53
+ ## enum LineType
54
+
55
+ (Experimental, subject to change) An enumeration indicating how input points should be interpreted to create lines
56
+
57
+ name | value | description
58
+ ---- | ----- | -----------
59
+ `LINE_STRIP` | 0 | 0-1, 1-2, ..., (n-1)-n
60
+ `LINE_LOOP` | 1 | 0-1, 1-2, ..., (n-1)-n, n-0
61
+ `LINE_LIST` | 2 | 0-1, 2-3, 4-5, ...
62
+
63
+
64
+
65
+ ## enum LogLevel
66
+
67
+ Log level
68
+
69
+ name | value | description
70
+ ---- | ----- | -----------
71
+ `UNKNOWN` | 0 |
72
+ `DEBUG` | 1 |
73
+ `INFO` | 2 |
74
+ `WARNING` | 3 |
75
+ `ERROR` | 4 |
76
+ `FATAL` | 5 |
77
+
78
+
79
+
80
+ ## enum NumericType
81
+
82
+ Numeric type
83
+
84
+ name | value | description
85
+ ---- | ----- | -----------
86
+ `UNKNOWN` | 0 |
87
+ `UINT8` | 1 |
88
+ `INT8` | 2 |
89
+ `UINT16` | 3 |
90
+ `INT16` | 4 |
91
+ `UINT32` | 5 |
92
+ `INT32` | 6 |
93
+ `FLOAT32` | 7 |
94
+ `FLOAT64` | 8 |
95
+
96
+
97
+
98
+ ## enum PointsAnnotationType
99
+
100
+ Type of points annotation
101
+
102
+ name | value | description
103
+ ---- | ----- | -----------
104
+ `UNKNOWN` | 0 |
105
+ `POINTS` | 1 |
106
+ `LINE_LOOP` | 2 |
107
+ `LINE_STRIP` | 3 |
108
+ `LINE_LIST` | 4 |
109
+
110
+
111
+
112
+ ## enum PositionCovarianceType
113
+
114
+ Type of position covariance
115
+
116
+ name | value | description
117
+ ---- | ----- | -----------
118
+ `UNKNOWN` | 0 |
119
+ `APPROXIMATED` | 1 |
120
+ `DIAGONAL_KNOWN` | 2 |
121
+ `KNOWN` | 3 |
122
+
123
+
124
+
125
+ ## enum SceneEntityDeletionType
126
+
127
+ (Experimental, subject to change) An enumeration indicating which entities should match a SceneEntityDeletion command
128
+
129
+ name | value | description
130
+ ---- | ----- | -----------
131
+ `MATCHING_ID` | 0 | Delete the existing entity on the same topic that has the provided `id`
132
+ `ALL` | 1 | Delete all existing entities on the same topic
133
+
134
+
135
+
136
+ ## ArrowPrimitive
137
+
138
+ (Experimental, subject to change) A primitive representing an arrow
139
+
140
+ <table>
141
+ <tr>
142
+ <th>field</th>
143
+ <th>type</th>
144
+ <th>description</th>
145
+ </tr>
146
+ <tr>
147
+ <td><code>pose</code></td>
148
+ <td>
149
+
150
+ [Pose](#pose)
151
+
152
+ </td>
153
+ <td>
154
+
155
+ Position of the arrow's tail and orientation of the arrow. Identity orientation means the arrow points in the +x direction.
156
+
157
+ </td>
158
+ </tr>
159
+ <tr>
160
+ <td><code>shaft_length</code></td>
161
+ <td>
162
+
163
+ float64
164
+
165
+ </td>
166
+ <td>
167
+
168
+ Length of the arrow shaft
169
+
170
+ </td>
171
+ </tr>
172
+ <tr>
173
+ <td><code>shaft_diameter</code></td>
174
+ <td>
175
+
176
+ float64
177
+
178
+ </td>
179
+ <td>
180
+
181
+ Diameter of the arrow shaft
182
+
183
+ </td>
184
+ </tr>
185
+ <tr>
186
+ <td><code>head_length</code></td>
187
+ <td>
188
+
189
+ float64
190
+
191
+ </td>
192
+ <td>
193
+
194
+ Length of the arrow head
195
+
196
+ </td>
197
+ </tr>
198
+ <tr>
199
+ <td><code>head_diameter</code></td>
200
+ <td>
201
+
202
+ float64
203
+
204
+ </td>
205
+ <td>
206
+
207
+ Diameter of the arrow head
208
+
209
+ </td>
210
+ </tr>
211
+ <tr>
212
+ <td><code>color</code></td>
213
+ <td>
214
+
215
+ [Color](#color)
216
+
217
+ </td>
218
+ <td>
219
+
220
+ Color of the arrow
221
+
222
+ </td>
223
+ </tr>
224
+ </table>
225
+
226
+ ## CameraCalibration
227
+
228
+ Camera calibration parameters
229
+
230
+ <table>
231
+ <tr>
232
+ <th>field</th>
233
+ <th>type</th>
234
+ <th>description</th>
235
+ </tr>
236
+ <tr>
237
+ <td><code>timestamp</code></td>
238
+ <td>
239
+
240
+ time
241
+
242
+ </td>
243
+ <td>
244
+
245
+ Timestamp of calibration data
246
+
247
+ </td>
248
+ </tr>
249
+ <tr>
250
+ <td><code>width</code></td>
251
+ <td>
252
+
253
+ uint32
254
+
255
+ </td>
256
+ <td>
257
+
258
+ Image width
259
+
260
+ </td>
261
+ </tr>
262
+ <tr>
263
+ <td><code>height</code></td>
264
+ <td>
265
+
266
+ uint32
267
+
268
+ </td>
269
+ <td>
270
+
271
+ Image height
272
+
273
+ </td>
274
+ </tr>
275
+ <tr>
276
+ <td><code>distortion_model</code></td>
277
+ <td>
278
+
279
+ string
280
+
281
+ </td>
282
+ <td>
283
+
284
+ Name of distortion model
285
+
286
+ </td>
287
+ </tr>
288
+ <tr>
289
+ <td><code>D</code></td>
290
+ <td>
291
+
292
+ float64[]
293
+
294
+ </td>
295
+ <td>
296
+
297
+ Distortion parameters
298
+
299
+ </td>
300
+ </tr>
301
+ <tr>
302
+ <td><code>K</code></td>
303
+ <td>
304
+
305
+ float64[9]
306
+
307
+ </td>
308
+ <td>
309
+
310
+ Intrinsic camera matrix (3x3 row-major matrix)
311
+
312
+ A 3x3 row-major matrix for the raw (distorted) image.
313
+
314
+ Projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx, fy) and principal point (cx, cy).
315
+
316
+ ```
317
+ [fx 0 cx]
318
+ K = [ 0 fy cy]
319
+ [ 0 0 1]
320
+ ```
321
+
322
+
323
+ </td>
324
+ </tr>
325
+ <tr>
326
+ <td><code>R</code></td>
327
+ <td>
328
+
329
+ float64[9]
330
+
331
+ </td>
332
+ <td>
333
+
334
+ Rectification matrix (3x3 row-major matrix)
335
+
336
+ A rotation matrix aligning the camera coordinate system to the ideal stereo image plane so that epipolar lines in both stereo images are parallel.
337
+
338
+ </td>
339
+ </tr>
340
+ <tr>
341
+ <td><code>P</code></td>
342
+ <td>
343
+
344
+ float64[12]
345
+
346
+ </td>
347
+ <td>
348
+
349
+ Projection/camera matrix (3x4 row-major matrix)
350
+
351
+ ```
352
+ [fx' 0 cx' Tx]
353
+ P = [ 0 fy' cy' Ty]
354
+ [ 0 0 1 0]
355
+ ```
356
+
357
+ By convention, this matrix specifies the intrinsic (camera) matrix of the processed (rectified) image. That is, the left 3x3 portion is the normal camera intrinsic matrix for the rectified image.
358
+
359
+ It projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx', fy') and principal point (cx', cy') - these may differ from the values in K.
360
+
361
+ For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will also have R = the identity and P[1:3,1:3] = K.
362
+
363
+ For a stereo pair, the fourth column [Tx Ty 0]' is related to the position of the optical center of the second camera in the first camera's frame. We assume Tz = 0 so both cameras are in the same stereo image plane. The first camera always has Tx = Ty = 0. For the right (second) camera of a horizontal stereo pair, Ty = 0 and Tx = -fx' * B, where B is the baseline between the cameras.
364
+
365
+ Given a 3D point [X Y Z]', the projection (x, y) of the point onto the rectified image is given by:
366
+
367
+ ```
368
+ [u v w]' = P * [X Y Z 1]'
369
+ x = u / w
370
+ y = v / w
371
+ ```
372
+
373
+ This holds for both images of a stereo pair.
374
+
375
+
376
+ </td>
377
+ </tr>
378
+ </table>
379
+
380
+ ## CircleAnnotation
381
+
382
+ A circle annotation on a 2D image
383
+
384
+ <table>
385
+ <tr>
386
+ <th>field</th>
387
+ <th>type</th>
388
+ <th>description</th>
389
+ </tr>
390
+ <tr>
391
+ <td><code>timestamp</code></td>
392
+ <td>
393
+
394
+ time
395
+
396
+ </td>
397
+ <td>
398
+
399
+ Timestamp of circle
400
+
401
+ </td>
402
+ </tr>
403
+ <tr>
404
+ <td><code>position</code></td>
405
+ <td>
406
+
407
+ [Point2](#point2)
408
+
409
+ </td>
410
+ <td>
411
+
412
+ Center of the circle in 2D image coordinates
413
+
414
+ </td>
415
+ </tr>
416
+ <tr>
417
+ <td><code>diameter</code></td>
418
+ <td>
419
+
420
+ float64
421
+
422
+ </td>
423
+ <td>
424
+
425
+ Circle diameter
426
+
427
+ </td>
428
+ </tr>
429
+ <tr>
430
+ <td><code>thickness</code></td>
431
+ <td>
432
+
433
+ float64
434
+
435
+ </td>
436
+ <td>
437
+
438
+ Line thickness
439
+
440
+ </td>
441
+ </tr>
442
+ <tr>
443
+ <td><code>fill_color</code></td>
444
+ <td>
445
+
446
+ [Color](#color)
447
+
448
+ </td>
449
+ <td>
450
+
451
+ Fill color
452
+
453
+ </td>
454
+ </tr>
455
+ <tr>
456
+ <td><code>outline_color</code></td>
457
+ <td>
458
+
459
+ [Color](#color)
460
+
461
+ </td>
462
+ <td>
463
+
464
+ Outline color
465
+
466
+ </td>
467
+ </tr>
468
+ </table>
469
+
470
+ ## Color
471
+
472
+ A color in RGBA format
473
+
474
+ <table>
475
+ <tr>
476
+ <th>field</th>
477
+ <th>type</th>
478
+ <th>description</th>
479
+ </tr>
480
+ <tr>
481
+ <td><code>r</code></td>
482
+ <td>
483
+
484
+ float64
485
+
486
+ </td>
487
+ <td>
488
+
489
+ Red value between 0 and 1
490
+
491
+ </td>
492
+ </tr>
493
+ <tr>
494
+ <td><code>g</code></td>
495
+ <td>
496
+
497
+ float64
498
+
499
+ </td>
500
+ <td>
501
+
502
+ Green value between 0 and 1
503
+
504
+ </td>
505
+ </tr>
506
+ <tr>
507
+ <td><code>b</code></td>
508
+ <td>
509
+
510
+ float64
511
+
512
+ </td>
513
+ <td>
514
+
515
+ Blue value between 0 and 1
516
+
517
+ </td>
518
+ </tr>
519
+ <tr>
520
+ <td><code>a</code></td>
521
+ <td>
522
+
523
+ float64
524
+
525
+ </td>
526
+ <td>
527
+
528
+ Alpha value between 0 and 1
529
+
530
+ </td>
531
+ </tr>
532
+ </table>
533
+
534
+ ## CompressedImage
535
+
536
+ A compressed image
537
+
538
+ <table>
539
+ <tr>
540
+ <th>field</th>
541
+ <th>type</th>
542
+ <th>description</th>
543
+ </tr>
544
+ <tr>
545
+ <td><code>timestamp</code></td>
546
+ <td>
547
+
548
+ time
549
+
550
+ </td>
551
+ <td>
552
+
553
+ Timestamp of image
554
+
555
+ </td>
556
+ </tr>
557
+ <tr>
558
+ <td><code>data</code></td>
559
+ <td>
560
+
561
+ bytes
562
+
563
+ </td>
564
+ <td>
565
+
566
+ Compressed image data
567
+
568
+ </td>
569
+ </tr>
570
+ <tr>
571
+ <td><code>format</code></td>
572
+ <td>
573
+
574
+ string
575
+
576
+ </td>
577
+ <td>
578
+
579
+ Image format
580
+
581
+ </td>
582
+ </tr>
583
+ </table>
584
+
585
+ ## CubePrimitive
586
+
587
+ (Experimental, subject to change) A primitive representing a cube or rectangular prism
588
+
589
+ <table>
590
+ <tr>
591
+ <th>field</th>
592
+ <th>type</th>
593
+ <th>description</th>
594
+ </tr>
595
+ <tr>
596
+ <td><code>pose</code></td>
597
+ <td>
598
+
599
+ [Pose](#pose)
600
+
601
+ </td>
602
+ <td>
603
+
604
+ Position of the center of the cube and orientation of the cube
605
+
606
+ </td>
607
+ </tr>
608
+ <tr>
609
+ <td><code>size</code></td>
610
+ <td>
611
+
612
+ [Vector3](#vector3)
613
+
614
+ </td>
615
+ <td>
616
+
617
+ Size of the cube along each axis
618
+
619
+ </td>
620
+ </tr>
621
+ <tr>
622
+ <td><code>color</code></td>
623
+ <td>
624
+
625
+ [Color](#color)
626
+
627
+ </td>
628
+ <td>
629
+
630
+ Color of the arrow
631
+
632
+ </td>
633
+ </tr>
634
+ </table>
635
+
636
+ ## CylinderPrimitive
637
+
638
+ (Experimental, subject to change) A primitive representing a cylinder, elliptic cylinder, or truncated cone
639
+
640
+ <table>
641
+ <tr>
642
+ <th>field</th>
643
+ <th>type</th>
644
+ <th>description</th>
645
+ </tr>
646
+ <tr>
647
+ <td><code>pose</code></td>
648
+ <td>
649
+
650
+ [Pose](#pose)
651
+
652
+ </td>
653
+ <td>
654
+
655
+ Position of the center of the cylinder and orientation of the cylinder. The flat face(s) are perpendicular to the z-axis.
656
+
657
+ </td>
658
+ </tr>
659
+ <tr>
660
+ <td><code>size</code></td>
661
+ <td>
662
+
663
+ [Vector3](#vector3)
664
+
665
+ </td>
666
+ <td>
667
+
668
+ Size of the cylinder's bounding box
669
+
670
+ </td>
671
+ </tr>
672
+ <tr>
673
+ <td><code>bottom_scale</code></td>
674
+ <td>
675
+
676
+ float64
677
+
678
+ </td>
679
+ <td>
680
+
681
+ 0-1, ratio of the diameter of the cylinder's bottom face (min z) to the bottom of the bounding box
682
+
683
+ </td>
684
+ </tr>
685
+ <tr>
686
+ <td><code>top_scale</code></td>
687
+ <td>
688
+
689
+ float64
690
+
691
+ </td>
692
+ <td>
693
+
694
+ 0-1, ratio of the diameter of the cylinder's top face (max z) to the top of the bounding box
695
+
696
+ </td>
697
+ </tr>
698
+ <tr>
699
+ <td><code>color</code></td>
700
+ <td>
701
+
702
+ [Color](#color)
703
+
704
+ </td>
705
+ <td>
706
+
707
+ Color of the cylinder
708
+
709
+ </td>
710
+ </tr>
711
+ </table>
712
+
713
+ ## FrameTransform
714
+
715
+ A transform between two reference frames in 3D space
716
+
717
+ <table>
718
+ <tr>
719
+ <th>field</th>
720
+ <th>type</th>
721
+ <th>description</th>
722
+ </tr>
723
+ <tr>
724
+ <td><code>timestamp</code></td>
725
+ <td>
726
+
727
+ time
728
+
729
+ </td>
730
+ <td>
731
+
732
+ Timestamp of transform
733
+
734
+ </td>
735
+ </tr>
736
+ <tr>
737
+ <td><code>parent_frame_id</code></td>
738
+ <td>
739
+
740
+ string
741
+
742
+ </td>
743
+ <td>
744
+
745
+ Name of the parent frame
746
+
747
+ </td>
748
+ </tr>
749
+ <tr>
750
+ <td><code>child_frame_id</code></td>
751
+ <td>
752
+
753
+ string
754
+
755
+ </td>
756
+ <td>
757
+
758
+ Name of the child frame
759
+
760
+ </td>
761
+ </tr>
762
+ <tr>
763
+ <td><code>translation</code></td>
764
+ <td>
765
+
766
+ [Vector3](#vector3)
767
+
768
+ </td>
769
+ <td>
770
+
771
+ Translation component of the transform
772
+
773
+ </td>
774
+ </tr>
775
+ <tr>
776
+ <td><code>rotation</code></td>
777
+ <td>
778
+
779
+ [Quaternion](#quaternion)
780
+
781
+ </td>
782
+ <td>
783
+
784
+ Rotation component of the transform
785
+
786
+ </td>
787
+ </tr>
788
+ </table>
789
+
790
+ ## GeoJSON
791
+
792
+ GeoJSON data for annotating maps
793
+
794
+ <table>
795
+ <tr>
796
+ <th>field</th>
797
+ <th>type</th>
798
+ <th>description</th>
799
+ </tr>
800
+ <tr>
801
+ <td><code>geojson</code></td>
802
+ <td>
803
+
804
+ string
805
+
806
+ </td>
807
+ <td>
808
+
809
+ GeoJSON data encoded as a UTF-8 string
810
+
811
+ </td>
812
+ </tr>
813
+ </table>
814
+
815
+ ## Grid
816
+
817
+ A 2D grid of data
818
+
819
+ <table>
820
+ <tr>
821
+ <th>field</th>
822
+ <th>type</th>
823
+ <th>description</th>
824
+ </tr>
825
+ <tr>
826
+ <td><code>timestamp</code></td>
827
+ <td>
828
+
829
+ time
830
+
831
+ </td>
832
+ <td>
833
+
834
+ Timestamp of grid
835
+
836
+ </td>
837
+ </tr>
838
+ <tr>
839
+ <td><code>frame_id</code></td>
840
+ <td>
841
+
842
+ string
843
+
844
+ </td>
845
+ <td>
846
+
847
+ Frame of reference
848
+
849
+ </td>
850
+ </tr>
851
+ <tr>
852
+ <td><code>pose</code></td>
853
+ <td>
854
+
855
+ [Pose](#pose)
856
+
857
+ </td>
858
+ <td>
859
+
860
+ Origin of grid's corner relative to frame of reference; grid is positioned in the x-y plane relative to this origin
861
+
862
+ </td>
863
+ </tr>
864
+ <tr>
865
+ <td><code>column_count</code></td>
866
+ <td>
867
+
868
+ uint32
869
+
870
+ </td>
871
+ <td>
872
+
873
+ Number of grid columns
874
+
875
+ </td>
876
+ </tr>
877
+ <tr>
878
+ <td><code>cell_size</code></td>
879
+ <td>
880
+
881
+ [Vector2](#vector2)
882
+
883
+ </td>
884
+ <td>
885
+
886
+ Size of single grid cell along x and y axes, relative to `pose`
887
+
888
+ </td>
889
+ </tr>
890
+ <tr>
891
+ <td><code>row_stride</code></td>
892
+ <td>
893
+
894
+ uint32
895
+
896
+ </td>
897
+ <td>
898
+
899
+ Number of bytes between rows in `data`
900
+
901
+ </td>
902
+ </tr>
903
+ <tr>
904
+ <td><code>cell_stride</code></td>
905
+ <td>
906
+
907
+ uint32
908
+
909
+ </td>
910
+ <td>
911
+
912
+ Number of bytes between cells within a row in `data`
913
+
914
+ </td>
915
+ </tr>
916
+ <tr>
917
+ <td><code>fields</code></td>
918
+ <td>
919
+
920
+ [PackedElementField](#packedelementfield)[]
921
+
922
+ </td>
923
+ <td>
924
+
925
+ Fields in `data`
926
+
927
+ </td>
928
+ </tr>
929
+ <tr>
930
+ <td><code>data</code></td>
931
+ <td>
932
+
933
+ bytes
934
+
935
+ </td>
936
+ <td>
937
+
938
+ Grid cell data, interpreted using `fields`, in row-major (y-major) order
939
+
940
+ </td>
941
+ </tr>
942
+ </table>
943
+
944
+ ## ImageAnnotations
945
+
946
+ Array of annotations for a 2D image
947
+
948
+ <table>
949
+ <tr>
950
+ <th>field</th>
951
+ <th>type</th>
952
+ <th>description</th>
953
+ </tr>
954
+ <tr>
955
+ <td><code>circles</code></td>
956
+ <td>
957
+
958
+ [CircleAnnotation](#circleannotation)[]
959
+
960
+ </td>
961
+ <td>
962
+
963
+ Circle annotations
964
+
965
+ </td>
966
+ </tr>
967
+ <tr>
968
+ <td><code>points</code></td>
969
+ <td>
970
+
971
+ [PointsAnnotation](#pointsannotation)[]
972
+
973
+ </td>
974
+ <td>
975
+
976
+ Points annotations
977
+
978
+ </td>
979
+ </tr>
980
+ </table>
981
+
982
+ ## KeyValuePair
983
+
984
+ (Experimental, subject to change) A key with its associated value
985
+
986
+ <table>
987
+ <tr>
988
+ <th>field</th>
989
+ <th>type</th>
990
+ <th>description</th>
991
+ </tr>
992
+ <tr>
993
+ <td><code>key</code></td>
994
+ <td>
995
+
996
+ string
997
+
998
+ </td>
999
+ <td>
1000
+
1001
+ Key
1002
+
1003
+ </td>
1004
+ </tr>
1005
+ <tr>
1006
+ <td><code>value</code></td>
1007
+ <td>
1008
+
1009
+ string
1010
+
1011
+ </td>
1012
+ <td>
1013
+
1014
+ Value
1015
+
1016
+ </td>
1017
+ </tr>
1018
+ </table>
1019
+
1020
+ ## LaserScan
1021
+
1022
+ A single scan from a planar laser range-finder
1023
+
1024
+ <table>
1025
+ <tr>
1026
+ <th>field</th>
1027
+ <th>type</th>
1028
+ <th>description</th>
1029
+ </tr>
1030
+ <tr>
1031
+ <td><code>timestamp</code></td>
1032
+ <td>
1033
+
1034
+ time
1035
+
1036
+ </td>
1037
+ <td>
1038
+
1039
+ Timestamp of scan
1040
+
1041
+ </td>
1042
+ </tr>
1043
+ <tr>
1044
+ <td><code>frame_id</code></td>
1045
+ <td>
1046
+
1047
+ string
1048
+
1049
+ </td>
1050
+ <td>
1051
+
1052
+ Frame of reference
1053
+
1054
+ </td>
1055
+ </tr>
1056
+ <tr>
1057
+ <td><code>pose</code></td>
1058
+ <td>
1059
+
1060
+ [Pose](#pose)
1061
+
1062
+ </td>
1063
+ <td>
1064
+
1065
+ 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
1066
+
1067
+ </td>
1068
+ </tr>
1069
+ <tr>
1070
+ <td><code>start_angle</code></td>
1071
+ <td>
1072
+
1073
+ float64
1074
+
1075
+ </td>
1076
+ <td>
1077
+
1078
+ Bearing of first point, in radians
1079
+
1080
+ </td>
1081
+ </tr>
1082
+ <tr>
1083
+ <td><code>end_angle</code></td>
1084
+ <td>
1085
+
1086
+ float64
1087
+
1088
+ </td>
1089
+ <td>
1090
+
1091
+ Bearing of last point, in radians
1092
+
1093
+ </td>
1094
+ </tr>
1095
+ <tr>
1096
+ <td><code>ranges</code></td>
1097
+ <td>
1098
+
1099
+ float64[]
1100
+
1101
+ </td>
1102
+ <td>
1103
+
1104
+ Distance of detections from origin; assumed to be at equally-spaced angles between `start_angle` and `end_angle`
1105
+
1106
+ </td>
1107
+ </tr>
1108
+ <tr>
1109
+ <td><code>intensities</code></td>
1110
+ <td>
1111
+
1112
+ float64[]
1113
+
1114
+ </td>
1115
+ <td>
1116
+
1117
+ Intensity of detections
1118
+
1119
+ </td>
1120
+ </tr>
1121
+ </table>
1122
+
1123
+ ## LinePrimitive
1124
+
1125
+ (Experimental, subject to change) A primitive representing a series of points connected by lines
1126
+
1127
+ <table>
1128
+ <tr>
1129
+ <th>field</th>
1130
+ <th>type</th>
1131
+ <th>description</th>
1132
+ </tr>
1133
+ <tr>
1134
+ <td><code>type</code></td>
1135
+ <td>
1136
+
1137
+ [enum LineType](#enum-linetype)
1138
+
1139
+ </td>
1140
+ <td>
1141
+
1142
+ Drawing primitive to use for lines
1143
+
1144
+ </td>
1145
+ </tr>
1146
+ <tr>
1147
+ <td><code>pose</code></td>
1148
+ <td>
1149
+
1150
+ [Pose](#pose)
1151
+
1152
+ </td>
1153
+ <td>
1154
+
1155
+ Origin of lines relative to reference frame
1156
+
1157
+ </td>
1158
+ </tr>
1159
+ <tr>
1160
+ <td><code>thickness</code></td>
1161
+ <td>
1162
+
1163
+ float64
1164
+
1165
+ </td>
1166
+ <td>
1167
+
1168
+ Line thickness
1169
+
1170
+ </td>
1171
+ </tr>
1172
+ <tr>
1173
+ <td><code>scale_invariant</code></td>
1174
+ <td>
1175
+
1176
+ boolean
1177
+
1178
+ </td>
1179
+ <td>
1180
+
1181
+ Indicates whether `thickness` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false)
1182
+
1183
+ </td>
1184
+ </tr>
1185
+ <tr>
1186
+ <td><code>points</code></td>
1187
+ <td>
1188
+
1189
+ [Point3](#point3)[]
1190
+
1191
+ </td>
1192
+ <td>
1193
+
1194
+ Points along the line
1195
+
1196
+ </td>
1197
+ </tr>
1198
+ <tr>
1199
+ <td><code>color</code></td>
1200
+ <td>
1201
+
1202
+ [Color](#color)
1203
+
1204
+ </td>
1205
+ <td>
1206
+
1207
+ Solid color to use for the whole line. One of `color` or `colors` must be provided.
1208
+
1209
+ </td>
1210
+ </tr>
1211
+ <tr>
1212
+ <td><code>colors</code></td>
1213
+ <td>
1214
+
1215
+ [Color](#color)[]
1216
+
1217
+ </td>
1218
+ <td>
1219
+
1220
+ Per-point colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided.
1221
+
1222
+ </td>
1223
+ </tr>
1224
+ <tr>
1225
+ <td><code>indices</code></td>
1226
+ <td>
1227
+
1228
+ uint32[]
1229
+
1230
+ </td>
1231
+ <td>
1232
+
1233
+ Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data.
1234
+
1235
+ 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).
1236
+
1237
+ </td>
1238
+ </tr>
1239
+ </table>
1240
+
1241
+ ## LocationFix
1242
+
1243
+ A navigation satellite fix for any Global Navigation Satellite System
1244
+
1245
+ <table>
1246
+ <tr>
1247
+ <th>field</th>
1248
+ <th>type</th>
1249
+ <th>description</th>
1250
+ </tr>
1251
+ <tr>
1252
+ <td><code>latitude</code></td>
1253
+ <td>
1254
+
1255
+ float64
1256
+
1257
+ </td>
1258
+ <td>
1259
+
1260
+ Latitude in degrees
1261
+
1262
+ </td>
1263
+ </tr>
1264
+ <tr>
1265
+ <td><code>longitude</code></td>
1266
+ <td>
1267
+
1268
+ float64
1269
+
1270
+ </td>
1271
+ <td>
1272
+
1273
+ Longitude in degrees
1274
+
1275
+ </td>
1276
+ </tr>
1277
+ <tr>
1278
+ <td><code>altitude</code></td>
1279
+ <td>
1280
+
1281
+ float64
1282
+
1283
+ </td>
1284
+ <td>
1285
+
1286
+ Altitude in meters
1287
+
1288
+ </td>
1289
+ </tr>
1290
+ <tr>
1291
+ <td><code>position_covariance</code></td>
1292
+ <td>
1293
+
1294
+ float64[9]
1295
+
1296
+ </td>
1297
+ <td>
1298
+
1299
+ Position covariance (m^2) defined relative to a tangential plane through the reported position. The components are East, North, and Up (ENU), in row-major order.
1300
+
1301
+ </td>
1302
+ </tr>
1303
+ <tr>
1304
+ <td><code>position_covariance_type</code></td>
1305
+ <td>
1306
+
1307
+ [enum PositionCovarianceType](#enum-positioncovariancetype)
1308
+
1309
+ </td>
1310
+ <td>
1311
+
1312
+ If `position_covariance` is available, `position_covariance_type` must be set to indicate the type of covariance.
1313
+
1314
+ </td>
1315
+ </tr>
1316
+ </table>
1317
+
1318
+ ## Log
1319
+
1320
+ A log message
1321
+
1322
+ <table>
1323
+ <tr>
1324
+ <th>field</th>
1325
+ <th>type</th>
1326
+ <th>description</th>
1327
+ </tr>
1328
+ <tr>
1329
+ <td><code>timestamp</code></td>
1330
+ <td>
1331
+
1332
+ time
1333
+
1334
+ </td>
1335
+ <td>
1336
+
1337
+ Timestamp of log message
1338
+
1339
+ </td>
1340
+ </tr>
1341
+ <tr>
1342
+ <td><code>level</code></td>
1343
+ <td>
1344
+
1345
+ [enum LogLevel](#enum-loglevel)
1346
+
1347
+ </td>
1348
+ <td>
1349
+
1350
+ Log level
1351
+
1352
+ </td>
1353
+ </tr>
1354
+ <tr>
1355
+ <td><code>message</code></td>
1356
+ <td>
1357
+
1358
+ string
1359
+
1360
+ </td>
1361
+ <td>
1362
+
1363
+ Log message
1364
+
1365
+ </td>
1366
+ </tr>
1367
+ <tr>
1368
+ <td><code>name</code></td>
1369
+ <td>
1370
+
1371
+ string
1372
+
1373
+ </td>
1374
+ <td>
1375
+
1376
+ Process or node name
1377
+
1378
+ </td>
1379
+ </tr>
1380
+ <tr>
1381
+ <td><code>file</code></td>
1382
+ <td>
1383
+
1384
+ string
1385
+
1386
+ </td>
1387
+ <td>
1388
+
1389
+ Filename
1390
+
1391
+ </td>
1392
+ </tr>
1393
+ <tr>
1394
+ <td><code>line</code></td>
1395
+ <td>
1396
+
1397
+ uint32
1398
+
1399
+ </td>
1400
+ <td>
1401
+
1402
+ Line number in the file
1403
+
1404
+ </td>
1405
+ </tr>
1406
+ </table>
1407
+
1408
+ ## ModelPrimitive
1409
+
1410
+ (Experimental, subject to change) A primitive representing a 3D model file loaded from an external URL or embedded data
1411
+
1412
+ <table>
1413
+ <tr>
1414
+ <th>field</th>
1415
+ <th>type</th>
1416
+ <th>description</th>
1417
+ </tr>
1418
+ <tr>
1419
+ <td><code>pose</code></td>
1420
+ <td>
1421
+
1422
+ [Pose](#pose)
1423
+
1424
+ </td>
1425
+ <td>
1426
+
1427
+ Origin of model relative to reference frame
1428
+
1429
+ </td>
1430
+ </tr>
1431
+ <tr>
1432
+ <td><code>scale</code></td>
1433
+ <td>
1434
+
1435
+ [Vector3](#vector3)
1436
+
1437
+ </td>
1438
+ <td>
1439
+
1440
+ Scale factor to apply to the model along each axis
1441
+
1442
+ </td>
1443
+ </tr>
1444
+ <tr>
1445
+ <td><code>color</code></td>
1446
+ <td>
1447
+
1448
+ [Color](#color)
1449
+
1450
+ </td>
1451
+ <td>
1452
+
1453
+ Solid color to use for the whole model if `override_color` is true.
1454
+
1455
+ </td>
1456
+ </tr>
1457
+ <tr>
1458
+ <td><code>override_color</code></td>
1459
+ <td>
1460
+
1461
+ boolean
1462
+
1463
+ </td>
1464
+ <td>
1465
+
1466
+ Whether to use the color specified in `color` instead of any materials embedded in the original model.
1467
+
1468
+ </td>
1469
+ </tr>
1470
+ <tr>
1471
+ <td><code>url</code></td>
1472
+ <td>
1473
+
1474
+ string
1475
+
1476
+ </td>
1477
+ <td>
1478
+
1479
+ URL pointing to model file. One of `url` or `data` should be provided.
1480
+
1481
+ </td>
1482
+ </tr>
1483
+ <tr>
1484
+ <td><code>media_type</code></td>
1485
+ <td>
1486
+
1487
+ string
1488
+
1489
+ </td>
1490
+ <td>
1491
+
1492
+ [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.
1493
+
1494
+ </td>
1495
+ </tr>
1496
+ <tr>
1497
+ <td><code>data</code></td>
1498
+ <td>
1499
+
1500
+ bytes
1501
+
1502
+ </td>
1503
+ <td>
1504
+
1505
+ 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.
1506
+
1507
+ </td>
1508
+ </tr>
1509
+ </table>
1510
+
1511
+ ## PackedElementField
1512
+
1513
+ A field present within each element in a byte array of packed elements.
1514
+
1515
+ <table>
1516
+ <tr>
1517
+ <th>field</th>
1518
+ <th>type</th>
1519
+ <th>description</th>
1520
+ </tr>
1521
+ <tr>
1522
+ <td><code>name</code></td>
1523
+ <td>
1524
+
1525
+ string
1526
+
1527
+ </td>
1528
+ <td>
1529
+
1530
+ Name of the field
1531
+
1532
+ </td>
1533
+ </tr>
1534
+ <tr>
1535
+ <td><code>offset</code></td>
1536
+ <td>
1537
+
1538
+ uint32
1539
+
1540
+ </td>
1541
+ <td>
1542
+
1543
+ Byte offset from start of data buffer
1544
+
1545
+ </td>
1546
+ </tr>
1547
+ <tr>
1548
+ <td><code>type</code></td>
1549
+ <td>
1550
+
1551
+ [enum NumericType](#enum-numerictype)
1552
+
1553
+ </td>
1554
+ <td>
1555
+
1556
+ Type of data in the field. Integers are stored using little-endian byte order.
1557
+
1558
+ </td>
1559
+ </tr>
1560
+ </table>
1561
+
1562
+ ## Point2
1563
+
1564
+ A point representing a position in 2D space
1565
+
1566
+ <table>
1567
+ <tr>
1568
+ <th>field</th>
1569
+ <th>type</th>
1570
+ <th>description</th>
1571
+ </tr>
1572
+ <tr>
1573
+ <td><code>x</code></td>
1574
+ <td>
1575
+
1576
+ float64
1577
+
1578
+ </td>
1579
+ <td>
1580
+
1581
+ x coordinate position
1582
+
1583
+ </td>
1584
+ </tr>
1585
+ <tr>
1586
+ <td><code>y</code></td>
1587
+ <td>
1588
+
1589
+ float64
1590
+
1591
+ </td>
1592
+ <td>
1593
+
1594
+ y coordinate position
1595
+
1596
+ </td>
1597
+ </tr>
1598
+ </table>
1599
+
1600
+ ## Point3
1601
+
1602
+ A point representing a position in 3D space
1603
+
1604
+ <table>
1605
+ <tr>
1606
+ <th>field</th>
1607
+ <th>type</th>
1608
+ <th>description</th>
1609
+ </tr>
1610
+ <tr>
1611
+ <td><code>x</code></td>
1612
+ <td>
1613
+
1614
+ float64
1615
+
1616
+ </td>
1617
+ <td>
1618
+
1619
+ x coordinate position
1620
+
1621
+ </td>
1622
+ </tr>
1623
+ <tr>
1624
+ <td><code>y</code></td>
1625
+ <td>
1626
+
1627
+ float64
1628
+
1629
+ </td>
1630
+ <td>
1631
+
1632
+ y coordinate position
1633
+
1634
+ </td>
1635
+ </tr>
1636
+ <tr>
1637
+ <td><code>z</code></td>
1638
+ <td>
1639
+
1640
+ float64
1641
+
1642
+ </td>
1643
+ <td>
1644
+
1645
+ z coordinate position
1646
+
1647
+ </td>
1648
+ </tr>
1649
+ </table>
1650
+
1651
+ ## PointCloud
1652
+
1653
+ A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc.
1654
+
1655
+ <table>
1656
+ <tr>
1657
+ <th>field</th>
1658
+ <th>type</th>
1659
+ <th>description</th>
1660
+ </tr>
1661
+ <tr>
1662
+ <td><code>timestamp</code></td>
1663
+ <td>
1664
+
1665
+ time
1666
+
1667
+ </td>
1668
+ <td>
1669
+
1670
+ Timestamp of point cloud
1671
+
1672
+ </td>
1673
+ </tr>
1674
+ <tr>
1675
+ <td><code>frame_id</code></td>
1676
+ <td>
1677
+
1678
+ string
1679
+
1680
+ </td>
1681
+ <td>
1682
+
1683
+ Frame of reference
1684
+
1685
+ </td>
1686
+ </tr>
1687
+ <tr>
1688
+ <td><code>pose</code></td>
1689
+ <td>
1690
+
1691
+ [Pose](#pose)
1692
+
1693
+ </td>
1694
+ <td>
1695
+
1696
+ The origin of the point cloud relative to the frame of reference
1697
+
1698
+ </td>
1699
+ </tr>
1700
+ <tr>
1701
+ <td><code>point_stride</code></td>
1702
+ <td>
1703
+
1704
+ uint32
1705
+
1706
+ </td>
1707
+ <td>
1708
+
1709
+ Number of bytes between points in the `data`
1710
+
1711
+ </td>
1712
+ </tr>
1713
+ <tr>
1714
+ <td><code>fields</code></td>
1715
+ <td>
1716
+
1717
+ [PackedElementField](#packedelementfield)[]
1718
+
1719
+ </td>
1720
+ <td>
1721
+
1722
+ Fields in the `data`
1723
+
1724
+ </td>
1725
+ </tr>
1726
+ <tr>
1727
+ <td><code>data</code></td>
1728
+ <td>
1729
+
1730
+ bytes
1731
+
1732
+ </td>
1733
+ <td>
1734
+
1735
+ Point data, interpreted using `fields`
1736
+
1737
+ </td>
1738
+ </tr>
1739
+ </table>
1740
+
1741
+ ## PointsAnnotation
1742
+
1743
+ An array of points on a 2D image
1744
+
1745
+ <table>
1746
+ <tr>
1747
+ <th>field</th>
1748
+ <th>type</th>
1749
+ <th>description</th>
1750
+ </tr>
1751
+ <tr>
1752
+ <td><code>timestamp</code></td>
1753
+ <td>
1754
+
1755
+ time
1756
+
1757
+ </td>
1758
+ <td>
1759
+
1760
+ Timestamp of annotation
1761
+
1762
+ </td>
1763
+ </tr>
1764
+ <tr>
1765
+ <td><code>type</code></td>
1766
+ <td>
1767
+
1768
+ [enum PointsAnnotationType](#enum-pointsannotationtype)
1769
+
1770
+ </td>
1771
+ <td>
1772
+
1773
+ Type of points annotation to draw
1774
+
1775
+ </td>
1776
+ </tr>
1777
+ <tr>
1778
+ <td><code>points</code></td>
1779
+ <td>
1780
+
1781
+ [Point2](#point2)[]
1782
+
1783
+ </td>
1784
+ <td>
1785
+
1786
+ Points in 2D image coordinates
1787
+
1788
+ </td>
1789
+ </tr>
1790
+ <tr>
1791
+ <td><code>outline_color</code></td>
1792
+ <td>
1793
+
1794
+ [Color](#color)
1795
+
1796
+ </td>
1797
+ <td>
1798
+
1799
+ Outline color
1800
+
1801
+ </td>
1802
+ </tr>
1803
+ <tr>
1804
+ <td><code>outline_colors</code></td>
1805
+ <td>
1806
+
1807
+ [Color](#color)[]
1808
+
1809
+ </td>
1810
+ <td>
1811
+
1812
+ Per-point colors, if `type` is `POINTS`, or per-segment stroke colors, if `type` is `LINE_LIST`.
1813
+
1814
+ </td>
1815
+ </tr>
1816
+ <tr>
1817
+ <td><code>fill_color</code></td>
1818
+ <td>
1819
+
1820
+ [Color](#color)
1821
+
1822
+ </td>
1823
+ <td>
1824
+
1825
+ Fill color
1826
+
1827
+ </td>
1828
+ </tr>
1829
+ <tr>
1830
+ <td><code>thickness</code></td>
1831
+ <td>
1832
+
1833
+ float64
1834
+
1835
+ </td>
1836
+ <td>
1837
+
1838
+ Stroke thickness
1839
+
1840
+ </td>
1841
+ </tr>
1842
+ </table>
1843
+
1844
+ ## Pose
1845
+
1846
+ A position and orientation for an object or reference frame in 3D space
1847
+
1848
+ <table>
1849
+ <tr>
1850
+ <th>field</th>
1851
+ <th>type</th>
1852
+ <th>description</th>
1853
+ </tr>
1854
+ <tr>
1855
+ <td><code>position</code></td>
1856
+ <td>
1857
+
1858
+ [Vector3](#vector3)
1859
+
1860
+ </td>
1861
+ <td>
1862
+
1863
+ Point denoting position in 3D space
1864
+
1865
+ </td>
1866
+ </tr>
1867
+ <tr>
1868
+ <td><code>orientation</code></td>
1869
+ <td>
1870
+
1871
+ [Quaternion](#quaternion)
1872
+
1873
+ </td>
1874
+ <td>
1875
+
1876
+ Quaternion denoting orientation in 3D space
1877
+
1878
+ </td>
1879
+ </tr>
1880
+ </table>
1881
+
1882
+ ## PoseInFrame
1883
+
1884
+ A timestamped pose for an object or reference frame in 3D space
1885
+
1886
+ <table>
1887
+ <tr>
1888
+ <th>field</th>
1889
+ <th>type</th>
1890
+ <th>description</th>
1891
+ </tr>
1892
+ <tr>
1893
+ <td><code>timestamp</code></td>
1894
+ <td>
1895
+
1896
+ time
1897
+
1898
+ </td>
1899
+ <td>
1900
+
1901
+ Timestamp of pose
1902
+
1903
+ </td>
1904
+ </tr>
1905
+ <tr>
1906
+ <td><code>frame_id</code></td>
1907
+ <td>
1908
+
1909
+ string
1910
+
1911
+ </td>
1912
+ <td>
1913
+
1914
+ Frame of reference for pose position and orientation
1915
+
1916
+ </td>
1917
+ </tr>
1918
+ <tr>
1919
+ <td><code>pose</code></td>
1920
+ <td>
1921
+
1922
+ [Pose](#pose)
1923
+
1924
+ </td>
1925
+ <td>
1926
+
1927
+ Pose in 3D space
1928
+
1929
+ </td>
1930
+ </tr>
1931
+ </table>
1932
+
1933
+ ## PosesInFrame
1934
+
1935
+ An array of timestamped poses for an object or reference frame in 3D space
1936
+
1937
+ <table>
1938
+ <tr>
1939
+ <th>field</th>
1940
+ <th>type</th>
1941
+ <th>description</th>
1942
+ </tr>
1943
+ <tr>
1944
+ <td><code>timestamp</code></td>
1945
+ <td>
1946
+
1947
+ time
1948
+
1949
+ </td>
1950
+ <td>
1951
+
1952
+ Timestamp of pose
1953
+
1954
+ </td>
1955
+ </tr>
1956
+ <tr>
1957
+ <td><code>frame_id</code></td>
1958
+ <td>
1959
+
1960
+ string
1961
+
1962
+ </td>
1963
+ <td>
1964
+
1965
+ Frame of reference for pose position and orientation
1966
+
1967
+ </td>
1968
+ </tr>
1969
+ <tr>
1970
+ <td><code>poses</code></td>
1971
+ <td>
1972
+
1973
+ [Pose](#pose)[]
1974
+
1975
+ </td>
1976
+ <td>
1977
+
1978
+ Poses in 3D space
1979
+
1980
+ </td>
1981
+ </tr>
1982
+ </table>
1983
+
1984
+ ## Quaternion
1985
+
1986
+ A [quaternion](https://eater.net/quaternions) representing a rotation in 3D space
1987
+
1988
+ <table>
1989
+ <tr>
1990
+ <th>field</th>
1991
+ <th>type</th>
1992
+ <th>description</th>
1993
+ </tr>
1994
+ <tr>
1995
+ <td><code>x</code></td>
1996
+ <td>
1997
+
1998
+ float64
1999
+
2000
+ </td>
2001
+ <td>
2002
+
2003
+ x value
2004
+
2005
+ </td>
2006
+ </tr>
2007
+ <tr>
2008
+ <td><code>y</code></td>
2009
+ <td>
2010
+
2011
+ float64
2012
+
2013
+ </td>
2014
+ <td>
2015
+
2016
+ y value
2017
+
2018
+ </td>
2019
+ </tr>
2020
+ <tr>
2021
+ <td><code>z</code></td>
2022
+ <td>
2023
+
2024
+ float64
2025
+
2026
+ </td>
2027
+ <td>
2028
+
2029
+ z value
2030
+
2031
+ </td>
2032
+ </tr>
2033
+ <tr>
2034
+ <td><code>w</code></td>
2035
+ <td>
2036
+
2037
+ float64
2038
+
2039
+ </td>
2040
+ <td>
2041
+
2042
+ w value
2043
+
2044
+ </td>
2045
+ </tr>
2046
+ </table>
2047
+
2048
+ ## RawImage
2049
+
2050
+ A raw image
2051
+
2052
+ <table>
2053
+ <tr>
2054
+ <th>field</th>
2055
+ <th>type</th>
2056
+ <th>description</th>
2057
+ </tr>
2058
+ <tr>
2059
+ <td><code>timestamp</code></td>
2060
+ <td>
2061
+
2062
+ time
2063
+
2064
+ </td>
2065
+ <td>
2066
+
2067
+ Timestamp of image
2068
+
2069
+ </td>
2070
+ </tr>
2071
+ <tr>
2072
+ <td><code>width</code></td>
2073
+ <td>
2074
+
2075
+ uint32
2076
+
2077
+ </td>
2078
+ <td>
2079
+
2080
+ Image width
2081
+
2082
+ </td>
2083
+ </tr>
2084
+ <tr>
2085
+ <td><code>height</code></td>
2086
+ <td>
2087
+
2088
+ uint32
2089
+
2090
+ </td>
2091
+ <td>
2092
+
2093
+ Image height
2094
+
2095
+ </td>
2096
+ </tr>
2097
+ <tr>
2098
+ <td><code>encoding</code></td>
2099
+ <td>
2100
+
2101
+ string
2102
+
2103
+ </td>
2104
+ <td>
2105
+
2106
+ Encoding of the raw image data
2107
+
2108
+ </td>
2109
+ </tr>
2110
+ <tr>
2111
+ <td><code>step</code></td>
2112
+ <td>
2113
+
2114
+ uint32
2115
+
2116
+ </td>
2117
+ <td>
2118
+
2119
+ Byte length of a single row
2120
+
2121
+ </td>
2122
+ </tr>
2123
+ <tr>
2124
+ <td><code>data</code></td>
2125
+ <td>
2126
+
2127
+ bytes
2128
+
2129
+ </td>
2130
+ <td>
2131
+
2132
+ Raw image data
2133
+
2134
+ </td>
2135
+ </tr>
2136
+ </table>
2137
+
2138
+ ## SceneEntity
2139
+
2140
+ (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.
2141
+
2142
+ <table>
2143
+ <tr>
2144
+ <th>field</th>
2145
+ <th>type</th>
2146
+ <th>description</th>
2147
+ </tr>
2148
+ <tr>
2149
+ <td><code>timestamp</code></td>
2150
+ <td>
2151
+
2152
+ time
2153
+
2154
+ </td>
2155
+ <td>
2156
+
2157
+ Timestamp of the entity
2158
+
2159
+ </td>
2160
+ </tr>
2161
+ <tr>
2162
+ <td><code>frame_id</code></td>
2163
+ <td>
2164
+
2165
+ string
2166
+
2167
+ </td>
2168
+ <td>
2169
+
2170
+ Frame of reference
2171
+
2172
+ </td>
2173
+ </tr>
2174
+ <tr>
2175
+ <td><code>id</code></td>
2176
+ <td>
2177
+
2178
+ string
2179
+
2180
+ </td>
2181
+ <td>
2182
+
2183
+ Identifier for the entity. A entity will replace any prior entity on the same topic with the same `id`.
2184
+
2185
+ </td>
2186
+ </tr>
2187
+ <tr>
2188
+ <td><code>lifetime</code></td>
2189
+ <td>
2190
+
2191
+ duration
2192
+
2193
+ </td>
2194
+ <td>
2195
+
2196
+ 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.
2197
+
2198
+ </td>
2199
+ </tr>
2200
+ <tr>
2201
+ <td><code>frame_locked</code></td>
2202
+ <td>
2203
+
2204
+ boolean
2205
+
2206
+ </td>
2207
+ <td>
2208
+
2209
+ 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)
2210
+
2211
+ </td>
2212
+ </tr>
2213
+ <tr>
2214
+ <td><code>metadata</code></td>
2215
+ <td>
2216
+
2217
+ [KeyValuePair](#keyvaluepair)[]
2218
+
2219
+ </td>
2220
+ <td>
2221
+
2222
+ Additional user-provided metadata associated with the entity. Keys must be unique.
2223
+
2224
+ </td>
2225
+ </tr>
2226
+ <tr>
2227
+ <td><code>arrows</code></td>
2228
+ <td>
2229
+
2230
+ [ArrowPrimitive](#arrowprimitive)[]
2231
+
2232
+ </td>
2233
+ <td>
2234
+
2235
+ Arrow primitives
2236
+
2237
+ </td>
2238
+ </tr>
2239
+ <tr>
2240
+ <td><code>cubes</code></td>
2241
+ <td>
2242
+
2243
+ [CubePrimitive](#cubeprimitive)[]
2244
+
2245
+ </td>
2246
+ <td>
2247
+
2248
+ Cube primitives
2249
+
2250
+ </td>
2251
+ </tr>
2252
+ <tr>
2253
+ <td><code>spheres</code></td>
2254
+ <td>
2255
+
2256
+ [SpherePrimitive](#sphereprimitive)[]
2257
+
2258
+ </td>
2259
+ <td>
2260
+
2261
+ Sphere primitives
2262
+
2263
+ </td>
2264
+ </tr>
2265
+ <tr>
2266
+ <td><code>cylinders</code></td>
2267
+ <td>
2268
+
2269
+ [CylinderPrimitive](#cylinderprimitive)[]
2270
+
2271
+ </td>
2272
+ <td>
2273
+
2274
+ Cylinder primitives
2275
+
2276
+ </td>
2277
+ </tr>
2278
+ <tr>
2279
+ <td><code>lines</code></td>
2280
+ <td>
2281
+
2282
+ [LinePrimitive](#lineprimitive)[]
2283
+
2284
+ </td>
2285
+ <td>
2286
+
2287
+ Line primitives
2288
+
2289
+ </td>
2290
+ </tr>
2291
+ <tr>
2292
+ <td><code>triangles</code></td>
2293
+ <td>
2294
+
2295
+ [TriangleListPrimitive](#trianglelistprimitive)[]
2296
+
2297
+ </td>
2298
+ <td>
2299
+
2300
+ Triangle list primitives
2301
+
2302
+ </td>
2303
+ </tr>
2304
+ <tr>
2305
+ <td><code>texts</code></td>
2306
+ <td>
2307
+
2308
+ [TextPrimitive](#textprimitive)[]
2309
+
2310
+ </td>
2311
+ <td>
2312
+
2313
+ Text primitives
2314
+
2315
+ </td>
2316
+ </tr>
2317
+ <tr>
2318
+ <td><code>models</code></td>
2319
+ <td>
2320
+
2321
+ [ModelPrimitive](#modelprimitive)[]
2322
+
2323
+ </td>
2324
+ <td>
2325
+
2326
+ Model primitives
2327
+
2328
+ </td>
2329
+ </tr>
2330
+ </table>
2331
+
2332
+ ## SceneEntityDeletion
2333
+
2334
+ (Experimental, subject to change) Command to remove previously published entities
2335
+
2336
+ <table>
2337
+ <tr>
2338
+ <th>field</th>
2339
+ <th>type</th>
2340
+ <th>description</th>
2341
+ </tr>
2342
+ <tr>
2343
+ <td><code>timestamp</code></td>
2344
+ <td>
2345
+
2346
+ time
2347
+
2348
+ </td>
2349
+ <td>
2350
+
2351
+ Timestamp of the deletion. Only matching entities earlier than this timestamp will be deleted.
2352
+
2353
+ </td>
2354
+ </tr>
2355
+ <tr>
2356
+ <td><code>type</code></td>
2357
+ <td>
2358
+
2359
+ [enum SceneEntityDeletionType](#enum-sceneentitydeletiontype)
2360
+
2361
+ </td>
2362
+ <td>
2363
+
2364
+ Type of deletion action to perform
2365
+
2366
+ </td>
2367
+ </tr>
2368
+ <tr>
2369
+ <td><code>id</code></td>
2370
+ <td>
2371
+
2372
+ string
2373
+
2374
+ </td>
2375
+ <td>
2376
+
2377
+ Identifier which must match if `type` is `MATCHING_ID`.
2378
+
2379
+ </td>
2380
+ </tr>
2381
+ </table>
2382
+
2383
+ ## SceneUpdate
2384
+
2385
+ (Experimental, subject to change) An update to the entities displayed in a 3D scene
2386
+
2387
+ <table>
2388
+ <tr>
2389
+ <th>field</th>
2390
+ <th>type</th>
2391
+ <th>description</th>
2392
+ </tr>
2393
+ <tr>
2394
+ <td><code>deletions</code></td>
2395
+ <td>
2396
+
2397
+ [SceneEntityDeletion](#sceneentitydeletion)[]
2398
+
2399
+ </td>
2400
+ <td>
2401
+
2402
+ Scene entities to delete
2403
+
2404
+ </td>
2405
+ </tr>
2406
+ <tr>
2407
+ <td><code>entities</code></td>
2408
+ <td>
2409
+
2410
+ [SceneEntity](#sceneentity)[]
2411
+
2412
+ </td>
2413
+ <td>
2414
+
2415
+ Scene entities to add or replace
2416
+
2417
+ </td>
2418
+ </tr>
2419
+ </table>
2420
+
2421
+ ## SpherePrimitive
2422
+
2423
+ (Experimental, subject to change) A primitive representing a sphere or ellipsoid
2424
+
2425
+ <table>
2426
+ <tr>
2427
+ <th>field</th>
2428
+ <th>type</th>
2429
+ <th>description</th>
2430
+ </tr>
2431
+ <tr>
2432
+ <td><code>pose</code></td>
2433
+ <td>
2434
+
2435
+ [Pose](#pose)
2436
+
2437
+ </td>
2438
+ <td>
2439
+
2440
+ Position of the center of the sphere and orientation of the sphere
2441
+
2442
+ </td>
2443
+ </tr>
2444
+ <tr>
2445
+ <td><code>size</code></td>
2446
+ <td>
2447
+
2448
+ [Vector3](#vector3)
2449
+
2450
+ </td>
2451
+ <td>
2452
+
2453
+ Size (diameter) of the sphere along each axis
2454
+
2455
+ </td>
2456
+ </tr>
2457
+ <tr>
2458
+ <td><code>color</code></td>
2459
+ <td>
2460
+
2461
+ [Color](#color)
2462
+
2463
+ </td>
2464
+ <td>
2465
+
2466
+ Color of the sphere
2467
+
2468
+ </td>
2469
+ </tr>
2470
+ </table>
2471
+
2472
+ ## TextPrimitive
2473
+
2474
+ (Experimental, subject to change) A primitive representing a text label
2475
+
2476
+ <table>
2477
+ <tr>
2478
+ <th>field</th>
2479
+ <th>type</th>
2480
+ <th>description</th>
2481
+ </tr>
2482
+ <tr>
2483
+ <td><code>pose</code></td>
2484
+ <td>
2485
+
2486
+ [Pose](#pose)
2487
+
2488
+ </td>
2489
+ <td>
2490
+
2491
+ 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.
2492
+
2493
+ </td>
2494
+ </tr>
2495
+ <tr>
2496
+ <td><code>billboard</code></td>
2497
+ <td>
2498
+
2499
+ boolean
2500
+
2501
+ </td>
2502
+ <td>
2503
+
2504
+ Whether the text should respect `pose.orientation` (false) or always face the camera (true)
2505
+
2506
+ </td>
2507
+ </tr>
2508
+ <tr>
2509
+ <td><code>font_size</code></td>
2510
+ <td>
2511
+
2512
+ float64
2513
+
2514
+ </td>
2515
+ <td>
2516
+
2517
+ Font size (height of one line of text)
2518
+
2519
+ </td>
2520
+ </tr>
2521
+ <tr>
2522
+ <td><code>scale_invariant</code></td>
2523
+ <td>
2524
+
2525
+ boolean
2526
+
2527
+ </td>
2528
+ <td>
2529
+
2530
+ 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)
2531
+
2532
+ </td>
2533
+ </tr>
2534
+ <tr>
2535
+ <td><code>color</code></td>
2536
+ <td>
2537
+
2538
+ [Color](#color)
2539
+
2540
+ </td>
2541
+ <td>
2542
+
2543
+ Color of the text
2544
+
2545
+ </td>
2546
+ </tr>
2547
+ <tr>
2548
+ <td><code>text</code></td>
2549
+ <td>
2550
+
2551
+ string
2552
+
2553
+ </td>
2554
+ <td>
2555
+
2556
+ Text
2557
+
2558
+ </td>
2559
+ </tr>
2560
+ </table>
2561
+
2562
+ ## TriangleListPrimitive
2563
+
2564
+ (Experimental, subject to change) A primitive representing a set of triangles or a surface tiled by triangles
2565
+
2566
+ <table>
2567
+ <tr>
2568
+ <th>field</th>
2569
+ <th>type</th>
2570
+ <th>description</th>
2571
+ </tr>
2572
+ <tr>
2573
+ <td><code>pose</code></td>
2574
+ <td>
2575
+
2576
+ [Pose](#pose)
2577
+
2578
+ </td>
2579
+ <td>
2580
+
2581
+ Origin of triangles relative to reference frame
2582
+
2583
+ </td>
2584
+ </tr>
2585
+ <tr>
2586
+ <td><code>points</code></td>
2587
+ <td>
2588
+
2589
+ [Point3](#point3)[]
2590
+
2591
+ </td>
2592
+ <td>
2593
+
2594
+ Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...)
2595
+
2596
+ </td>
2597
+ </tr>
2598
+ <tr>
2599
+ <td><code>color</code></td>
2600
+ <td>
2601
+
2602
+ [Color](#color)
2603
+
2604
+ </td>
2605
+ <td>
2606
+
2607
+ Solid color to use for the whole shape. One of `color` or `colors` must be provided.
2608
+
2609
+ </td>
2610
+ </tr>
2611
+ <tr>
2612
+ <td><code>colors</code></td>
2613
+ <td>
2614
+
2615
+ [Color](#color)[]
2616
+
2617
+ </td>
2618
+ <td>
2619
+
2620
+ Per-vertex colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided.
2621
+
2622
+ </td>
2623
+ </tr>
2624
+ <tr>
2625
+ <td><code>indices</code></td>
2626
+ <td>
2627
+
2628
+ uint32[]
2629
+
2630
+ </td>
2631
+ <td>
2632
+
2633
+ Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data.
2634
+
2635
+ 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).
2636
+
2637
+ </td>
2638
+ </tr>
2639
+ </table>
2640
+
2641
+ ## Vector2
2642
+
2643
+ A vector in 2D space that represents a direction only
2644
+
2645
+ <table>
2646
+ <tr>
2647
+ <th>field</th>
2648
+ <th>type</th>
2649
+ <th>description</th>
2650
+ </tr>
2651
+ <tr>
2652
+ <td><code>x</code></td>
2653
+ <td>
2654
+
2655
+ float64
2656
+
2657
+ </td>
2658
+ <td>
2659
+
2660
+ x coordinate length
2661
+
2662
+ </td>
2663
+ </tr>
2664
+ <tr>
2665
+ <td><code>y</code></td>
2666
+ <td>
2667
+
2668
+ float64
2669
+
2670
+ </td>
2671
+ <td>
2672
+
2673
+ y coordinate length
2674
+
2675
+ </td>
2676
+ </tr>
2677
+ </table>
2678
+
2679
+ ## Vector3
2680
+
2681
+ A vector in 3D space that represents a direction only
2682
+
2683
+ <table>
2684
+ <tr>
2685
+ <th>field</th>
2686
+ <th>type</th>
2687
+ <th>description</th>
2688
+ </tr>
2689
+ <tr>
2690
+ <td><code>x</code></td>
2691
+ <td>
2692
+
2693
+ float64
2694
+
2695
+ </td>
2696
+ <td>
2697
+
2698
+ x coordinate length
2699
+
2700
+ </td>
2701
+ </tr>
2702
+ <tr>
2703
+ <td><code>y</code></td>
2704
+ <td>
2705
+
2706
+ float64
2707
+
2708
+ </td>
2709
+ <td>
2710
+
2711
+ y coordinate length
2712
+
2713
+ </td>
2714
+ </tr>
2715
+ <tr>
2716
+ <td><code>z</code></td>
2717
+ <td>
2718
+
2719
+ float64
2720
+
2721
+ </td>
2722
+ <td>
2723
+
2724
+ z coordinate length
2725
+
2726
+ </td>
2727
+ </tr>
2728
+ </table>