@foxglove/schemas 1.7.3 → 1.9.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 (55) hide show
  1. package/dist/internal/generateJsonSchema.d.ts.map +1 -1
  2. package/dist/internal/generateJsonSchema.js +1 -0
  3. package/dist/internal/generateJsonSchema.js.map +1 -1
  4. package/dist/internal/generateJsonSchema.test.js +325 -292
  5. package/dist/internal/generateJsonSchema.test.js.map +1 -1
  6. package/dist/internal/generatePyclass.d.ts.map +1 -1
  7. package/dist/internal/generatePyclass.js +68 -28
  8. package/dist/internal/generatePyclass.js.map +1 -1
  9. package/dist/internal/generatePyclass.test.js +38 -31
  10. package/dist/internal/generatePyclass.test.js.map +1 -1
  11. package/dist/internal/generateSdkCpp.d.ts.map +1 -1
  12. package/dist/internal/generateSdkCpp.js +98 -7
  13. package/dist/internal/generateSdkCpp.js.map +1 -1
  14. package/dist/internal/generateSdkRustCTypes.d.ts.map +1 -1
  15. package/dist/internal/generateSdkRustCTypes.js +77 -3
  16. package/dist/internal/generateSdkRustCTypes.js.map +1 -1
  17. package/dist/internal/schemas.d.ts +3 -0
  18. package/dist/internal/schemas.d.ts.map +1 -1
  19. package/dist/internal/schemas.js +124 -11
  20. package/dist/internal/schemas.js.map +1 -1
  21. package/dist/internal/types.d.ts +0 -1
  22. package/dist/internal/types.d.ts.map +1 -1
  23. package/dist/jsonschema/index.d.ts +559 -0
  24. package/dist/jsonschema/index.d.ts.map +1 -1
  25. package/dist/jsonschema/index.js +2012 -251
  26. package/dist/jsonschema/index.js.map +1 -1
  27. package/dist/types/CameraCalibration.d.ts +2 -2
  28. package/dist/types/Grid.d.ts +47 -2
  29. package/dist/types/Grid.d.ts.map +1 -1
  30. package/dist/types/LinePrimitive.d.ts +2 -2
  31. package/dist/types/LinePrimitive.d.ts.map +1 -1
  32. package/dist/types/LocationFix.d.ts +3 -0
  33. package/dist/types/LocationFix.d.ts.map +1 -1
  34. package/dist/types/LocationFixes.d.ts +7 -0
  35. package/dist/types/LocationFixes.d.ts.map +1 -0
  36. package/dist/types/LocationFixes.js +5 -0
  37. package/dist/types/LocationFixes.js.map +1 -0
  38. package/dist/types/ModelPrimitive.d.ts +2 -2
  39. package/dist/types/ModelPrimitive.d.ts.map +1 -1
  40. package/dist/types/Point3InFrame.d.ts +12 -0
  41. package/dist/types/Point3InFrame.d.ts.map +1 -0
  42. package/dist/types/Point3InFrame.js +5 -0
  43. package/dist/types/Point3InFrame.js.map +1 -0
  44. package/dist/types/RawImage.d.ts +2 -2
  45. package/dist/types/TriangleListPrimitive.d.ts +2 -2
  46. package/dist/types/TriangleListPrimitive.d.ts.map +1 -1
  47. package/dist/types/VoxelGrid.d.ts +37 -0
  48. package/dist/types/VoxelGrid.d.ts.map +1 -0
  49. package/dist/types/VoxelGrid.js +5 -0
  50. package/dist/types/VoxelGrid.js.map +1 -0
  51. package/dist/types/index.d.ts +3 -0
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/dist/types/index.js +3 -0
  54. package/dist/types/index.js.map +1 -1
  55. package/package.json +4 -3
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // Generated by https://github.com/foxglove/foxglove-sdk
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Time = exports.Vector3 = exports.Vector2 = exports.TriangleListPrimitive = exports.Timestamp = exports.TextPrimitive = exports.TextAnnotation = exports.SpherePrimitive = exports.RawImage = exports.RawAudio = exports.Quaternion = exports.PosesInFrame = exports.PoseInFrame = exports.Pose = exports.PointsAnnotation = exports.PointCloud = exports.Point3 = exports.Point2 = exports.PackedElementField = exports.ModelPrimitive = exports.SceneUpdate = exports.SceneEntity = exports.SceneEntityDeletion = exports.Log = exports.LocationFix = exports.LinePrimitive = exports.LaserScan = exports.KeyValuePair = exports.ImageAnnotations = exports.Grid = exports.GeoJSON = exports.FrameTransforms = exports.FrameTransform = exports.Duration = exports.CubePrimitive = exports.CylinderPrimitive = exports.CompressedVideo = exports.CompressedImage = exports.Color = exports.CircleAnnotation = exports.CameraCalibration = exports.ArrowPrimitive = void 0;
4
+ exports.Time = exports.Vector3 = exports.Vector2 = exports.TriangleListPrimitive = exports.Timestamp = exports.TextPrimitive = exports.TextAnnotation = exports.SpherePrimitive = exports.RawImage = exports.RawAudio = exports.Quaternion = exports.PosesInFrame = exports.PoseInFrame = exports.Pose = exports.PointsAnnotation = exports.PointCloud = exports.Point3InFrame = exports.Point3 = exports.Point2 = exports.PackedElementField = exports.ModelPrimitive = exports.SceneUpdate = exports.SceneEntity = exports.SceneEntityDeletion = exports.Log = exports.LocationFixes = exports.LocationFix = exports.LinePrimitive = exports.LaserScan = exports.KeyValuePair = exports.ImageAnnotations = exports.VoxelGrid = exports.Grid = exports.GeoJSON = exports.FrameTransforms = exports.FrameTransform = exports.Duration = exports.CubePrimitive = exports.CylinderPrimitive = exports.CompressedVideo = exports.CompressedImage = exports.Color = exports.CircleAnnotation = exports.CameraCalibration = exports.ArrowPrimitive = void 0;
5
5
  exports.ArrowPrimitive = {
6
6
  "title": "foxglove.ArrowPrimitive",
7
7
  "description": "A primitive representing an arrow",
@@ -30,7 +30,12 @@ exports.ArrowPrimitive = {
30
30
  "type": "number",
31
31
  "description": "z coordinate length"
32
32
  }
33
- }
33
+ },
34
+ "required": [
35
+ "x",
36
+ "y",
37
+ "z"
38
+ ]
34
39
  },
35
40
  "orientation": {
36
41
  "title": "foxglove.Quaternion",
@@ -53,9 +58,19 @@ exports.ArrowPrimitive = {
53
58
  "type": "number",
54
59
  "description": "w value"
55
60
  }
56
- }
61
+ },
62
+ "required": [
63
+ "x",
64
+ "y",
65
+ "z",
66
+ "w"
67
+ ]
57
68
  }
58
- }
69
+ },
70
+ "required": [
71
+ "position",
72
+ "orientation"
73
+ ]
59
74
  },
60
75
  "shaft_length": {
61
76
  "type": "number",
@@ -94,9 +109,23 @@ exports.ArrowPrimitive = {
94
109
  "type": "number",
95
110
  "description": "Alpha value between 0 and 1"
96
111
  }
97
- }
112
+ },
113
+ "required": [
114
+ "r",
115
+ "g",
116
+ "b",
117
+ "a"
118
+ ]
98
119
  }
99
- }
120
+ },
121
+ "required": [
122
+ "pose",
123
+ "shaft_length",
124
+ "shaft_diameter",
125
+ "head_length",
126
+ "head_diameter",
127
+ "color"
128
+ ]
100
129
  };
101
130
  exports.CameraCalibration = {
102
131
  "title": "foxglove.CameraCalibration",
@@ -136,7 +165,7 @@ exports.CameraCalibration = {
136
165
  },
137
166
  "distortion_model": {
138
167
  "type": "string",
139
- "description": "Name of distortion model\n\nSupported parameters: `plumb_bob` (k1, k2, p1, p2, k3), `rational_polynomial` (k1, k2, p1, p2, k3, k4, k5, k6), and `kannala_brandt` (k1, k2, k3, k4). `plumb_bob` and `rational_polynomial` models are based on the pinhole model [OpenCV's](https://docs.opencv.org/4.11.0/d9/d0c/group__calib3d.html) [pinhole camera model](https://en.wikipedia.org/wiki/Distortion_%28optics%29#Software_correction). The `kannala_brandt` model matches the [OpenvCV fisheye](https://docs.opencv.org/4.11.0/db/d58/group__calib3d__fisheye.html) model."
168
+ "description": "Name of distortion model\n\nSupported parameters: `plumb_bob` (k1, k2, p1, p2, k3), `rational_polynomial` (k1, k2, p1, p2, k3, k4, k5, k6), and `kannala_brandt` (k1, k2, k3, k4), and `fisheye62` (k0, k1, k2, k3, p0, p1, crit_theta [optional]). `plumb_bob` and `rational_polynomial` models are based on the pinhole model [OpenCV's](https://docs.opencv.org/4.11.0/d9/d0c/group__calib3d.html) [pinhole camera model](https://en.wikipedia.org/wiki/Distortion_%28optics%29#Software_correction). The `kannala_brandt` model matches the [OpenvCV fisheye](https://docs.opencv.org/4.11.0/db/d58/group__calib3d__fisheye.html) model. The `fisheye62` model matches the [Project Aria's Fisheye62 Model](https://facebookresearch.github.io/projectaria_tools/docs/tech_insights/camera_intrinsic_models)."
140
169
  },
141
170
  "D": {
142
171
  "type": "array",
@@ -170,9 +199,20 @@ exports.CameraCalibration = {
170
199
  },
171
200
  "minItems": 12,
172
201
  "maxItems": 12,
173
- "description": "Projection/camera matrix (3x4 row-major matrix)\n\n```\n [fx' 0 cx' Tx]\nP = [ 0 fy' cy' Ty]\n [ 0 0 1 0]\n```\n\nBy 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.\n\nIt 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.\n\nFor monocular cameras, Tx = Ty = 0. Normally, monocular cameras will also have R = the identity and P[1:3,1:3] = K.\n\nFor 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.\n\nGiven a 3D point [X Y Z]', the projection (x, y) of the point onto the rectified image is given by:\n\n```\n[u v w]' = P * [X Y Z 1]'\n x = u / w\n y = v / w\n```\n\nThis holds for both images of a stereo pair.\n"
202
+ "description": "Projection/camera matrix (3x4 row-major matrix)\n\n```\n [fx' 0 cx' Tx]\nP = [ 0 fy' cy' Ty]\n [ 0 0 1 0]\n```\n\nBy 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.\n\nIt 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.\n\nFor monocular cameras, Tx = Ty = 0. Normally, monocular cameras will also have R = the identity and P[1:3,1:3] = K.\n\nFoxglove currently does not support displaying stereo images, so Tx and Ty are ignored.\n\nGiven a 3D point [X Y Z]', the projection (x, y) of the point onto the rectified image is given by:\n\n```\n[u v w]' = P * [X Y Z 1]'\n x = u / w\n y = v / w\n```\n\nThis holds for both images of a stereo pair.\n"
174
203
  }
175
- }
204
+ },
205
+ "required": [
206
+ "timestamp",
207
+ "frame_id",
208
+ "width",
209
+ "height",
210
+ "distortion_model",
211
+ "D",
212
+ "K",
213
+ "R",
214
+ "P"
215
+ ]
176
216
  };
177
217
  exports.CircleAnnotation = {
178
218
  "title": "foxglove.CircleAnnotation",
@@ -209,7 +249,11 @@ exports.CircleAnnotation = {
209
249
  "type": "number",
210
250
  "description": "y coordinate position"
211
251
  }
212
- }
252
+ },
253
+ "required": [
254
+ "x",
255
+ "y"
256
+ ]
213
257
  },
214
258
  "diameter": {
215
259
  "type": "number",
@@ -240,7 +284,13 @@ exports.CircleAnnotation = {
240
284
  "type": "number",
241
285
  "description": "Alpha value between 0 and 1"
242
286
  }
243
- }
287
+ },
288
+ "required": [
289
+ "r",
290
+ "g",
291
+ "b",
292
+ "a"
293
+ ]
244
294
  },
245
295
  "outline_color": {
246
296
  "title": "foxglove.Color",
@@ -263,9 +313,23 @@ exports.CircleAnnotation = {
263
313
  "type": "number",
264
314
  "description": "Alpha value between 0 and 1"
265
315
  }
266
- }
316
+ },
317
+ "required": [
318
+ "r",
319
+ "g",
320
+ "b",
321
+ "a"
322
+ ]
267
323
  }
268
- }
324
+ },
325
+ "required": [
326
+ "timestamp",
327
+ "position",
328
+ "diameter",
329
+ "thickness",
330
+ "fill_color",
331
+ "outline_color"
332
+ ]
269
333
  };
270
334
  exports.Color = {
271
335
  "title": "foxglove.Color",
@@ -289,7 +353,13 @@ exports.Color = {
289
353
  "type": "number",
290
354
  "description": "Alpha value between 0 and 1"
291
355
  }
292
- }
356
+ },
357
+ "required": [
358
+ "r",
359
+ "g",
360
+ "b",
361
+ "a"
362
+ ]
293
363
  };
294
364
  exports.CompressedImage = {
295
365
  "title": "foxglove.CompressedImage",
@@ -326,7 +396,13 @@ exports.CompressedImage = {
326
396
  "type": "string",
327
397
  "description": "Image format\n\nSupported values: `jpeg`, `png`, `webp`, `avif`"
328
398
  }
329
- }
399
+ },
400
+ "required": [
401
+ "timestamp",
402
+ "frame_id",
403
+ "data",
404
+ "format"
405
+ ]
330
406
  };
331
407
  exports.CompressedVideo = {
332
408
  "title": "foxglove.CompressedVideo",
@@ -363,7 +439,13 @@ exports.CompressedVideo = {
363
439
  "type": "string",
364
440
  "description": "Video format.\n\nSupported values: `h264`, `h265`, `vp9`, `av1`.\n\nNote: compressed video support is subject to hardware limitations and patent licensing, so not all encodings may be supported on all platforms. See more about [H.265 support](https://caniuse.com/hevc), [VP9 support](https://caniuse.com/webm), and [AV1 support](https://caniuse.com/av1)."
365
441
  }
366
- }
442
+ },
443
+ "required": [
444
+ "timestamp",
445
+ "frame_id",
446
+ "data",
447
+ "format"
448
+ ]
367
449
  };
368
450
  exports.CylinderPrimitive = {
369
451
  "title": "foxglove.CylinderPrimitive",
@@ -393,7 +475,12 @@ exports.CylinderPrimitive = {
393
475
  "type": "number",
394
476
  "description": "z coordinate length"
395
477
  }
396
- }
478
+ },
479
+ "required": [
480
+ "x",
481
+ "y",
482
+ "z"
483
+ ]
397
484
  },
398
485
  "orientation": {
399
486
  "title": "foxglove.Quaternion",
@@ -416,9 +503,19 @@ exports.CylinderPrimitive = {
416
503
  "type": "number",
417
504
  "description": "w value"
418
505
  }
419
- }
506
+ },
507
+ "required": [
508
+ "x",
509
+ "y",
510
+ "z",
511
+ "w"
512
+ ]
420
513
  }
421
- }
514
+ },
515
+ "required": [
516
+ "position",
517
+ "orientation"
518
+ ]
422
519
  },
423
520
  "size": {
424
521
  "title": "foxglove.Vector3",
@@ -437,7 +534,12 @@ exports.CylinderPrimitive = {
437
534
  "type": "number",
438
535
  "description": "z coordinate length"
439
536
  }
440
- }
537
+ },
538
+ "required": [
539
+ "x",
540
+ "y",
541
+ "z"
542
+ ]
441
543
  },
442
544
  "bottom_scale": {
443
545
  "type": "number",
@@ -468,9 +570,22 @@ exports.CylinderPrimitive = {
468
570
  "type": "number",
469
571
  "description": "Alpha value between 0 and 1"
470
572
  }
471
- }
573
+ },
574
+ "required": [
575
+ "r",
576
+ "g",
577
+ "b",
578
+ "a"
579
+ ]
472
580
  }
473
- }
581
+ },
582
+ "required": [
583
+ "pose",
584
+ "size",
585
+ "bottom_scale",
586
+ "top_scale",
587
+ "color"
588
+ ]
474
589
  };
475
590
  exports.CubePrimitive = {
476
591
  "title": "foxglove.CubePrimitive",
@@ -500,7 +615,12 @@ exports.CubePrimitive = {
500
615
  "type": "number",
501
616
  "description": "z coordinate length"
502
617
  }
503
- }
618
+ },
619
+ "required": [
620
+ "x",
621
+ "y",
622
+ "z"
623
+ ]
504
624
  },
505
625
  "orientation": {
506
626
  "title": "foxglove.Quaternion",
@@ -523,9 +643,19 @@ exports.CubePrimitive = {
523
643
  "type": "number",
524
644
  "description": "w value"
525
645
  }
526
- }
646
+ },
647
+ "required": [
648
+ "x",
649
+ "y",
650
+ "z",
651
+ "w"
652
+ ]
527
653
  }
528
- }
654
+ },
655
+ "required": [
656
+ "position",
657
+ "orientation"
658
+ ]
529
659
  },
530
660
  "size": {
531
661
  "title": "foxglove.Vector3",
@@ -544,7 +674,12 @@ exports.CubePrimitive = {
544
674
  "type": "number",
545
675
  "description": "z coordinate length"
546
676
  }
547
- }
677
+ },
678
+ "required": [
679
+ "x",
680
+ "y",
681
+ "z"
682
+ ]
548
683
  },
549
684
  "color": {
550
685
  "title": "foxglove.Color",
@@ -567,9 +702,20 @@ exports.CubePrimitive = {
567
702
  "type": "number",
568
703
  "description": "Alpha value between 0 and 1"
569
704
  }
570
- }
705
+ },
706
+ "required": [
707
+ "r",
708
+ "g",
709
+ "b",
710
+ "a"
711
+ ]
571
712
  }
572
- }
713
+ },
714
+ "required": [
715
+ "pose",
716
+ "size",
717
+ "color"
718
+ ]
573
719
  };
574
720
  exports.Duration = {
575
721
  "title": "foxglove.Duration",
@@ -586,7 +732,11 @@ exports.Duration = {
586
732
  "minimum": 0,
587
733
  "description": "The number of nanoseconds in the positive direction"
588
734
  }
589
- }
735
+ },
736
+ "required": [
737
+ "sec",
738
+ "nsec"
739
+ ]
590
740
  };
591
741
  exports.FrameTransform = {
592
742
  "title": "foxglove.FrameTransform",
@@ -635,7 +785,12 @@ exports.FrameTransform = {
635
785
  "type": "number",
636
786
  "description": "z coordinate length"
637
787
  }
638
- }
788
+ },
789
+ "required": [
790
+ "x",
791
+ "y",
792
+ "z"
793
+ ]
639
794
  },
640
795
  "rotation": {
641
796
  "title": "foxglove.Quaternion",
@@ -658,9 +813,22 @@ exports.FrameTransform = {
658
813
  "type": "number",
659
814
  "description": "w value"
660
815
  }
661
- }
816
+ },
817
+ "required": [
818
+ "x",
819
+ "y",
820
+ "z",
821
+ "w"
822
+ ]
662
823
  }
663
- }
824
+ },
825
+ "required": [
826
+ "timestamp",
827
+ "parent_frame_id",
828
+ "child_frame_id",
829
+ "translation",
830
+ "rotation"
831
+ ]
664
832
  };
665
833
  exports.FrameTransforms = {
666
834
  "title": "foxglove.FrameTransforms",
@@ -716,7 +884,12 @@ exports.FrameTransforms = {
716
884
  "type": "number",
717
885
  "description": "z coordinate length"
718
886
  }
719
- }
887
+ },
888
+ "required": [
889
+ "x",
890
+ "y",
891
+ "z"
892
+ ]
720
893
  },
721
894
  "rotation": {
722
895
  "title": "foxglove.Quaternion",
@@ -739,13 +912,29 @@ exports.FrameTransforms = {
739
912
  "type": "number",
740
913
  "description": "w value"
741
914
  }
742
- }
915
+ },
916
+ "required": [
917
+ "x",
918
+ "y",
919
+ "z",
920
+ "w"
921
+ ]
743
922
  }
744
- }
923
+ },
924
+ "required": [
925
+ "timestamp",
926
+ "parent_frame_id",
927
+ "child_frame_id",
928
+ "translation",
929
+ "rotation"
930
+ ]
745
931
  },
746
932
  "description": "Array of transforms"
747
933
  }
748
- }
934
+ },
935
+ "required": [
936
+ "transforms"
937
+ ]
749
938
  };
750
939
  exports.GeoJSON = {
751
940
  "title": "foxglove.GeoJSON",
@@ -757,7 +946,10 @@ exports.GeoJSON = {
757
946
  "type": "string",
758
947
  "description": "GeoJSON data encoded as a UTF-8 string"
759
948
  }
760
- }
949
+ },
950
+ "required": [
951
+ "geojson"
952
+ ]
761
953
  };
762
954
  exports.Grid = {
763
955
  "title": "foxglove.Grid",
@@ -807,7 +999,12 @@ exports.Grid = {
807
999
  "type": "number",
808
1000
  "description": "z coordinate length"
809
1001
  }
810
- }
1002
+ },
1003
+ "required": [
1004
+ "x",
1005
+ "y",
1006
+ "z"
1007
+ ]
811
1008
  },
812
1009
  "orientation": {
813
1010
  "title": "foxglove.Quaternion",
@@ -830,9 +1027,19 @@ exports.Grid = {
830
1027
  "type": "number",
831
1028
  "description": "w value"
832
1029
  }
833
- }
1030
+ },
1031
+ "required": [
1032
+ "x",
1033
+ "y",
1034
+ "z",
1035
+ "w"
1036
+ ]
834
1037
  }
835
- }
1038
+ },
1039
+ "required": [
1040
+ "position",
1041
+ "orientation"
1042
+ ]
836
1043
  },
837
1044
  "column_count": {
838
1045
  "type": "integer",
@@ -852,7 +1059,11 @@ exports.Grid = {
852
1059
  "type": "number",
853
1060
  "description": "y coordinate length"
854
1061
  }
855
- }
1062
+ },
1063
+ "required": [
1064
+ "x",
1065
+ "y"
1066
+ ]
856
1067
  },
857
1068
  "row_stride": {
858
1069
  "type": "integer",
@@ -931,16 +1142,267 @@ exports.Grid = {
931
1142
  }
932
1143
  ]
933
1144
  }
1145
+ },
1146
+ "required": [
1147
+ "name",
1148
+ "offset",
1149
+ "type"
1150
+ ]
1151
+ },
1152
+ "description": "Fields in `data`. `red`, `green`, `blue`, and `alpha` are optional for customizing the grid's color.\nTo enable RGB color visualization in the [3D panel](https://docs.foxglove.dev/docs/visualization/panels/3d#rgba-separate-fields-color-mode), include **all four** of these fields in your `fields` array:\n\n- `red` - Red channel value\n- `green` - Green channel value\n- `blue` - Blue channel value\n- `alpha` - Alpha/transparency channel value\n\n**note:** All four fields must be present with these exact names for RGB visualization to work. The order of fields doesn't matter, but the names must match exactly.\n\nRecommended type: `UINT8` (0-255 range) for standard 8-bit color channels.\n\nExample field definitions:\n\n**RGB color only:**\n\n```javascript\nfields: [\n { name: \"red\", offset: 0, type: NumericType.UINT8 },\n { name: \"green\", offset: 1, type: NumericType.UINT8 },\n { name: \"blue\", offset: 2, type: NumericType.UINT8 },\n { name: \"alpha\", offset: 3, type: NumericType.UINT8 },\n];\n```\n\n**RGB color with elevation (for 3D terrain visualization):**\n\n```javascript\nfields: [\n { name: \"red\", offset: 0, type: NumericType.UINT8 },\n { name: \"green\", offset: 1, type: NumericType.UINT8 },\n { name: \"blue\", offset: 2, type: NumericType.UINT8 },\n { name: \"alpha\", offset: 3, type: NumericType.UINT8 },\n { name: \"elevation\", offset: 4, type: NumericType.FLOAT32 },\n];\n```\n\nWhen these fields are present, the 3D panel will offer additional \"Color Mode\" options including \"RGBA (separate fields)\" to visualize the RGB data directly. For elevation visualization, set the \"Elevation field\" to your elevation layer name."
1153
+ },
1154
+ "data": {
1155
+ "type": "string",
1156
+ "contentEncoding": "base64",
1157
+ "description": "Grid cell data, interpreted using `fields`, in row-major (y-major) order.\nFor the data element starting at byte offset i, the coordinates of its corner closest to the origin will be:\n\n- y = i / row_stride * cell_size.y\n- x = (i % row_stride) / cell_stride * cell_size.x"
1158
+ }
1159
+ },
1160
+ "required": [
1161
+ "timestamp",
1162
+ "frame_id",
1163
+ "pose",
1164
+ "column_count",
1165
+ "cell_size",
1166
+ "row_stride",
1167
+ "cell_stride",
1168
+ "fields",
1169
+ "data"
1170
+ ]
1171
+ };
1172
+ exports.VoxelGrid = {
1173
+ "title": "foxglove.VoxelGrid",
1174
+ "description": "A 3D grid of data",
1175
+ "$comment": "Generated by https://github.com/foxglove/foxglove-sdk",
1176
+ "type": "object",
1177
+ "properties": {
1178
+ "timestamp": {
1179
+ "type": "object",
1180
+ "title": "time",
1181
+ "properties": {
1182
+ "sec": {
1183
+ "type": "integer",
1184
+ "minimum": 0
1185
+ },
1186
+ "nsec": {
1187
+ "type": "integer",
1188
+ "minimum": 0,
1189
+ "maximum": 999999999
1190
+ }
1191
+ },
1192
+ "description": "Timestamp of grid"
1193
+ },
1194
+ "frame_id": {
1195
+ "type": "string",
1196
+ "description": "Frame of reference"
1197
+ },
1198
+ "pose": {
1199
+ "title": "foxglove.Pose",
1200
+ "description": "Origin of the grid’s lower-front-left corner in the reference frame. The grid’s pose is defined relative to this corner, so an untransformed grid with an identity orientation has this corner at the origin.",
1201
+ "type": "object",
1202
+ "properties": {
1203
+ "position": {
1204
+ "title": "foxglove.Vector3",
1205
+ "description": "Point denoting position in 3D space",
1206
+ "type": "object",
1207
+ "properties": {
1208
+ "x": {
1209
+ "type": "number",
1210
+ "description": "x coordinate length"
1211
+ },
1212
+ "y": {
1213
+ "type": "number",
1214
+ "description": "y coordinate length"
1215
+ },
1216
+ "z": {
1217
+ "type": "number",
1218
+ "description": "z coordinate length"
1219
+ }
1220
+ },
1221
+ "required": [
1222
+ "x",
1223
+ "y",
1224
+ "z"
1225
+ ]
1226
+ },
1227
+ "orientation": {
1228
+ "title": "foxglove.Quaternion",
1229
+ "description": "Quaternion denoting orientation in 3D space",
1230
+ "type": "object",
1231
+ "properties": {
1232
+ "x": {
1233
+ "type": "number",
1234
+ "description": "x value"
1235
+ },
1236
+ "y": {
1237
+ "type": "number",
1238
+ "description": "y value"
1239
+ },
1240
+ "z": {
1241
+ "type": "number",
1242
+ "description": "z value"
1243
+ },
1244
+ "w": {
1245
+ "type": "number",
1246
+ "description": "w value"
1247
+ }
1248
+ },
1249
+ "required": [
1250
+ "x",
1251
+ "y",
1252
+ "z",
1253
+ "w"
1254
+ ]
1255
+ }
1256
+ },
1257
+ "required": [
1258
+ "position",
1259
+ "orientation"
1260
+ ]
1261
+ },
1262
+ "row_count": {
1263
+ "type": "integer",
1264
+ "minimum": 0,
1265
+ "description": "Number of grid rows"
1266
+ },
1267
+ "column_count": {
1268
+ "type": "integer",
1269
+ "minimum": 0,
1270
+ "description": "Number of grid columns"
1271
+ },
1272
+ "cell_size": {
1273
+ "title": "foxglove.Vector3",
1274
+ "description": "Size of single grid cell along x, y, and z axes, relative to `pose`",
1275
+ "type": "object",
1276
+ "properties": {
1277
+ "x": {
1278
+ "type": "number",
1279
+ "description": "x coordinate length"
1280
+ },
1281
+ "y": {
1282
+ "type": "number",
1283
+ "description": "y coordinate length"
1284
+ },
1285
+ "z": {
1286
+ "type": "number",
1287
+ "description": "z coordinate length"
934
1288
  }
935
1289
  },
1290
+ "required": [
1291
+ "x",
1292
+ "y",
1293
+ "z"
1294
+ ]
1295
+ },
1296
+ "slice_stride": {
1297
+ "type": "integer",
1298
+ "minimum": 0,
1299
+ "description": "Number of bytes between depth slices in `data`"
1300
+ },
1301
+ "row_stride": {
1302
+ "type": "integer",
1303
+ "minimum": 0,
1304
+ "description": "Number of bytes between rows in `data`"
1305
+ },
1306
+ "cell_stride": {
1307
+ "type": "integer",
1308
+ "minimum": 0,
1309
+ "description": "Number of bytes between cells within a row in `data`"
1310
+ },
1311
+ "fields": {
1312
+ "type": "array",
1313
+ "items": {
1314
+ "title": "foxglove.PackedElementField",
1315
+ "description": "A field present within each element in a byte array of packed elements.",
1316
+ "type": "object",
1317
+ "properties": {
1318
+ "name": {
1319
+ "type": "string",
1320
+ "description": "Name of the field"
1321
+ },
1322
+ "offset": {
1323
+ "type": "integer",
1324
+ "minimum": 0,
1325
+ "description": "Byte offset from start of data buffer"
1326
+ },
1327
+ "type": {
1328
+ "title": "foxglove.NumericType",
1329
+ "description": "Type of data in the field. Integers are stored using little-endian byte order.",
1330
+ "oneOf": [
1331
+ {
1332
+ "title": "UNKNOWN",
1333
+ "const": 0,
1334
+ "description": "Unknown numeric type"
1335
+ },
1336
+ {
1337
+ "title": "UINT8",
1338
+ "const": 1,
1339
+ "description": "Unsigned 8-bit integer"
1340
+ },
1341
+ {
1342
+ "title": "INT8",
1343
+ "const": 2,
1344
+ "description": "Signed 8-bit integer"
1345
+ },
1346
+ {
1347
+ "title": "UINT16",
1348
+ "const": 3,
1349
+ "description": "Unsigned 16-bit integer"
1350
+ },
1351
+ {
1352
+ "title": "INT16",
1353
+ "const": 4,
1354
+ "description": "Signed 16-bit integer"
1355
+ },
1356
+ {
1357
+ "title": "UINT32",
1358
+ "const": 5,
1359
+ "description": "Unsigned 32-bit integer"
1360
+ },
1361
+ {
1362
+ "title": "INT32",
1363
+ "const": 6,
1364
+ "description": "Signed 32-bit integer"
1365
+ },
1366
+ {
1367
+ "title": "FLOAT32",
1368
+ "const": 7,
1369
+ "description": "32-bit floating-point number"
1370
+ },
1371
+ {
1372
+ "title": "FLOAT64",
1373
+ "const": 8,
1374
+ "description": "64-bit floating-point number"
1375
+ }
1376
+ ]
1377
+ }
1378
+ },
1379
+ "required": [
1380
+ "name",
1381
+ "offset",
1382
+ "type"
1383
+ ]
1384
+ },
936
1385
  "description": "Fields in `data`. `red`, `green`, `blue`, and `alpha` are optional for customizing the grid's color."
937
1386
  },
938
1387
  "data": {
939
1388
  "type": "string",
940
1389
  "contentEncoding": "base64",
941
- "description": "Grid cell data, interpreted using `fields`, in row-major (y-major) order values fill each row from left to right along the X axis, with rows ordered from top to bottom along the Y axis, starting at the bottom-left corner when viewed from +Z looking towards -Z with identity orientations"
1390
+ "description": "Grid cell data, interpreted using `fields`, in depth-major, row-major (Z-Y-X) order.\nFor the data element starting at byte offset i, the coordinates of its corner closest to the origin will be:\n\n- z = i / slice_stride * cell_size.z\n- y = (i % slice_stride) / row_stride * cell_size.y\n- x = (i % row_stride) / cell_stride * cell_size.x"
942
1391
  }
943
- }
1392
+ },
1393
+ "required": [
1394
+ "timestamp",
1395
+ "frame_id",
1396
+ "pose",
1397
+ "row_count",
1398
+ "column_count",
1399
+ "cell_size",
1400
+ "slice_stride",
1401
+ "row_stride",
1402
+ "cell_stride",
1403
+ "fields",
1404
+ "data"
1405
+ ]
944
1406
  };
945
1407
  exports.ImageAnnotations = {
946
1408
  "title": "foxglove.ImageAnnotations",
@@ -984,7 +1446,11 @@ exports.ImageAnnotations = {
984
1446
  "type": "number",
985
1447
  "description": "y coordinate position"
986
1448
  }
987
- }
1449
+ },
1450
+ "required": [
1451
+ "x",
1452
+ "y"
1453
+ ]
988
1454
  },
989
1455
  "diameter": {
990
1456
  "type": "number",
@@ -1015,7 +1481,13 @@ exports.ImageAnnotations = {
1015
1481
  "type": "number",
1016
1482
  "description": "Alpha value between 0 and 1"
1017
1483
  }
1018
- }
1484
+ },
1485
+ "required": [
1486
+ "r",
1487
+ "g",
1488
+ "b",
1489
+ "a"
1490
+ ]
1019
1491
  },
1020
1492
  "outline_color": {
1021
1493
  "title": "foxglove.Color",
@@ -1038,9 +1510,23 @@ exports.ImageAnnotations = {
1038
1510
  "type": "number",
1039
1511
  "description": "Alpha value between 0 and 1"
1040
1512
  }
1041
- }
1513
+ },
1514
+ "required": [
1515
+ "r",
1516
+ "g",
1517
+ "b",
1518
+ "a"
1519
+ ]
1042
1520
  }
1043
- }
1521
+ },
1522
+ "required": [
1523
+ "timestamp",
1524
+ "position",
1525
+ "diameter",
1526
+ "thickness",
1527
+ "fill_color",
1528
+ "outline_color"
1529
+ ]
1044
1530
  },
1045
1531
  "description": "Circle annotations"
1046
1532
  },
@@ -1113,7 +1599,11 @@ exports.ImageAnnotations = {
1113
1599
  "type": "number",
1114
1600
  "description": "y coordinate position"
1115
1601
  }
1116
- }
1602
+ },
1603
+ "required": [
1604
+ "x",
1605
+ "y"
1606
+ ]
1117
1607
  },
1118
1608
  "description": "Points in 2D image coordinates (pixels).\nThese coordinates use the top-left corner of the top-left pixel of the image as the origin."
1119
1609
  },
@@ -1138,7 +1628,13 @@ exports.ImageAnnotations = {
1138
1628
  "type": "number",
1139
1629
  "description": "Alpha value between 0 and 1"
1140
1630
  }
1141
- }
1631
+ },
1632
+ "required": [
1633
+ "r",
1634
+ "g",
1635
+ "b",
1636
+ "a"
1637
+ ]
1142
1638
  },
1143
1639
  "outline_colors": {
1144
1640
  "type": "array",
@@ -1163,7 +1659,13 @@ exports.ImageAnnotations = {
1163
1659
  "type": "number",
1164
1660
  "description": "Alpha value between 0 and 1"
1165
1661
  }
1166
- }
1662
+ },
1663
+ "required": [
1664
+ "r",
1665
+ "g",
1666
+ "b",
1667
+ "a"
1668
+ ]
1167
1669
  },
1168
1670
  "description": "Per-point colors, if `type` is `POINTS`, or per-segment stroke colors, if `type` is `LINE_LIST`, `LINE_STRIP` or `LINE_LOOP`."
1169
1671
  },
@@ -1188,13 +1690,28 @@ exports.ImageAnnotations = {
1188
1690
  "type": "number",
1189
1691
  "description": "Alpha value between 0 and 1"
1190
1692
  }
1191
- }
1693
+ },
1694
+ "required": [
1695
+ "r",
1696
+ "g",
1697
+ "b",
1698
+ "a"
1699
+ ]
1192
1700
  },
1193
1701
  "thickness": {
1194
1702
  "type": "number",
1195
1703
  "description": "Stroke thickness in pixels"
1196
1704
  }
1197
- }
1705
+ },
1706
+ "required": [
1707
+ "timestamp",
1708
+ "type",
1709
+ "points",
1710
+ "outline_color",
1711
+ "outline_colors",
1712
+ "fill_color",
1713
+ "thickness"
1714
+ ]
1198
1715
  },
1199
1716
  "description": "Points annotations"
1200
1717
  },
@@ -1234,7 +1751,11 @@ exports.ImageAnnotations = {
1234
1751
  "type": "number",
1235
1752
  "description": "y coordinate position"
1236
1753
  }
1237
- }
1754
+ },
1755
+ "required": [
1756
+ "x",
1757
+ "y"
1758
+ ]
1238
1759
  },
1239
1760
  "text": {
1240
1761
  "type": "string",
@@ -1265,7 +1786,13 @@ exports.ImageAnnotations = {
1265
1786
  "type": "number",
1266
1787
  "description": "Alpha value between 0 and 1"
1267
1788
  }
1268
- }
1789
+ },
1790
+ "required": [
1791
+ "r",
1792
+ "g",
1793
+ "b",
1794
+ "a"
1795
+ ]
1269
1796
  },
1270
1797
  "background_color": {
1271
1798
  "title": "foxglove.Color",
@@ -1288,13 +1815,32 @@ exports.ImageAnnotations = {
1288
1815
  "type": "number",
1289
1816
  "description": "Alpha value between 0 and 1"
1290
1817
  }
1291
- }
1818
+ },
1819
+ "required": [
1820
+ "r",
1821
+ "g",
1822
+ "b",
1823
+ "a"
1824
+ ]
1292
1825
  }
1293
- }
1826
+ },
1827
+ "required": [
1828
+ "timestamp",
1829
+ "position",
1830
+ "text",
1831
+ "font_size",
1832
+ "text_color",
1833
+ "background_color"
1834
+ ]
1294
1835
  },
1295
1836
  "description": "Text annotations"
1296
1837
  }
1297
- }
1838
+ },
1839
+ "required": [
1840
+ "circles",
1841
+ "points",
1842
+ "texts"
1843
+ ]
1298
1844
  };
1299
1845
  exports.KeyValuePair = {
1300
1846
  "title": "foxglove.KeyValuePair",
@@ -1310,7 +1856,11 @@ exports.KeyValuePair = {
1310
1856
  "type": "string",
1311
1857
  "description": "Value"
1312
1858
  }
1313
- }
1859
+ },
1860
+ "required": [
1861
+ "key",
1862
+ "value"
1863
+ ]
1314
1864
  };
1315
1865
  exports.LaserScan = {
1316
1866
  "title": "foxglove.LaserScan",
@@ -1360,7 +1910,12 @@ exports.LaserScan = {
1360
1910
  "type": "number",
1361
1911
  "description": "z coordinate length"
1362
1912
  }
1363
- }
1913
+ },
1914
+ "required": [
1915
+ "x",
1916
+ "y",
1917
+ "z"
1918
+ ]
1364
1919
  },
1365
1920
  "orientation": {
1366
1921
  "title": "foxglove.Quaternion",
@@ -1383,9 +1938,19 @@ exports.LaserScan = {
1383
1938
  "type": "number",
1384
1939
  "description": "w value"
1385
1940
  }
1386
- }
1941
+ },
1942
+ "required": [
1943
+ "x",
1944
+ "y",
1945
+ "z",
1946
+ "w"
1947
+ ]
1387
1948
  }
1388
- }
1949
+ },
1950
+ "required": [
1951
+ "position",
1952
+ "orientation"
1953
+ ]
1389
1954
  },
1390
1955
  "start_angle": {
1391
1956
  "type": "number",
@@ -1409,7 +1974,16 @@ exports.LaserScan = {
1409
1974
  },
1410
1975
  "description": "Intensity of detections"
1411
1976
  }
1412
- }
1977
+ },
1978
+ "required": [
1979
+ "timestamp",
1980
+ "frame_id",
1981
+ "pose",
1982
+ "start_angle",
1983
+ "end_angle",
1984
+ "ranges",
1985
+ "intensities"
1986
+ ]
1413
1987
  };
1414
1988
  exports.LinePrimitive = {
1415
1989
  "title": "foxglove.LinePrimitive",
@@ -1460,7 +2034,12 @@ exports.LinePrimitive = {
1460
2034
  "type": "number",
1461
2035
  "description": "z coordinate length"
1462
2036
  }
1463
- }
2037
+ },
2038
+ "required": [
2039
+ "x",
2040
+ "y",
2041
+ "z"
2042
+ ]
1464
2043
  },
1465
2044
  "orientation": {
1466
2045
  "title": "foxglove.Quaternion",
@@ -1483,9 +2062,19 @@ exports.LinePrimitive = {
1483
2062
  "type": "number",
1484
2063
  "description": "w value"
1485
2064
  }
1486
- }
2065
+ },
2066
+ "required": [
2067
+ "x",
2068
+ "y",
2069
+ "z",
2070
+ "w"
2071
+ ]
1487
2072
  }
1488
- }
2073
+ },
2074
+ "required": [
2075
+ "position",
2076
+ "orientation"
2077
+ ]
1489
2078
  },
1490
2079
  "thickness": {
1491
2080
  "type": "number",
@@ -1514,13 +2103,18 @@ exports.LinePrimitive = {
1514
2103
  "type": "number",
1515
2104
  "description": "z coordinate position"
1516
2105
  }
1517
- }
2106
+ },
2107
+ "required": [
2108
+ "x",
2109
+ "y",
2110
+ "z"
2111
+ ]
1518
2112
  },
1519
2113
  "description": "Points along the line"
1520
2114
  },
1521
2115
  "color": {
1522
2116
  "title": "foxglove.Color",
1523
- "description": "Solid color to use for the whole line. One of `color` or `colors` must be provided.",
2117
+ "description": "Solid color to use for the whole line. Ignored if `colors` is non-empty.",
1524
2118
  "type": "object",
1525
2119
  "properties": {
1526
2120
  "r": {
@@ -1539,7 +2133,13 @@ exports.LinePrimitive = {
1539
2133
  "type": "number",
1540
2134
  "description": "Alpha value between 0 and 1"
1541
2135
  }
1542
- }
2136
+ },
2137
+ "required": [
2138
+ "r",
2139
+ "g",
2140
+ "b",
2141
+ "a"
2142
+ ]
1543
2143
  },
1544
2144
  "colors": {
1545
2145
  "type": "array",
@@ -1564,9 +2164,15 @@ exports.LinePrimitive = {
1564
2164
  "type": "number",
1565
2165
  "description": "Alpha value between 0 and 1"
1566
2166
  }
1567
- }
2167
+ },
2168
+ "required": [
2169
+ "r",
2170
+ "g",
2171
+ "b",
2172
+ "a"
2173
+ ]
1568
2174
  },
1569
- "description": "Per-point colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided."
2175
+ "description": "Per-point colors (if non-empty, must have the same length as `points`)."
1570
2176
  },
1571
2177
  "indices": {
1572
2178
  "type": "array",
@@ -1576,7 +2182,17 @@ exports.LinePrimitive = {
1576
2182
  },
1577
2183
  "description": "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)."
1578
2184
  }
1579
- }
2185
+ },
2186
+ "required": [
2187
+ "type",
2188
+ "pose",
2189
+ "thickness",
2190
+ "scale_invariant",
2191
+ "points",
2192
+ "color",
2193
+ "colors",
2194
+ "indices"
2195
+ ]
1580
2196
  };
1581
2197
  exports.LocationFix = {
1582
2198
  "title": "foxglove.LocationFix",
@@ -1650,8 +2266,175 @@ exports.LocationFix = {
1650
2266
  "description": "Position covariance of the fix is known"
1651
2267
  }
1652
2268
  ]
2269
+ },
2270
+ "color": {
2271
+ "title": "foxglove.Color",
2272
+ "description": "Color used to visualize the location",
2273
+ "type": "object",
2274
+ "properties": {
2275
+ "r": {
2276
+ "type": "number",
2277
+ "description": "Red value between 0 and 1"
2278
+ },
2279
+ "g": {
2280
+ "type": "number",
2281
+ "description": "Green value between 0 and 1"
2282
+ },
2283
+ "b": {
2284
+ "type": "number",
2285
+ "description": "Blue value between 0 and 1"
2286
+ },
2287
+ "a": {
2288
+ "type": "number",
2289
+ "description": "Alpha value between 0 and 1"
2290
+ }
2291
+ },
2292
+ "required": [
2293
+ "r",
2294
+ "g",
2295
+ "b",
2296
+ "a"
2297
+ ]
2298
+ }
2299
+ },
2300
+ "required": [
2301
+ "timestamp",
2302
+ "frame_id",
2303
+ "latitude",
2304
+ "longitude",
2305
+ "altitude",
2306
+ "position_covariance",
2307
+ "position_covariance_type",
2308
+ "color"
2309
+ ]
2310
+ };
2311
+ exports.LocationFixes = {
2312
+ "title": "foxglove.LocationFixes",
2313
+ "description": "A group of LocationFix messages",
2314
+ "$comment": "Generated by https://github.com/foxglove/foxglove-sdk",
2315
+ "type": "object",
2316
+ "properties": {
2317
+ "fixes": {
2318
+ "type": "array",
2319
+ "items": {
2320
+ "title": "foxglove.LocationFix",
2321
+ "description": "A navigation satellite fix for any Global Navigation Satellite System",
2322
+ "type": "object",
2323
+ "properties": {
2324
+ "timestamp": {
2325
+ "type": "object",
2326
+ "title": "time",
2327
+ "properties": {
2328
+ "sec": {
2329
+ "type": "integer",
2330
+ "minimum": 0
2331
+ },
2332
+ "nsec": {
2333
+ "type": "integer",
2334
+ "minimum": 0,
2335
+ "maximum": 999999999
2336
+ }
2337
+ },
2338
+ "description": "Timestamp of the message"
2339
+ },
2340
+ "frame_id": {
2341
+ "type": "string",
2342
+ "description": "Frame for the sensor. Latitude and longitude readings are at the origin of the frame."
2343
+ },
2344
+ "latitude": {
2345
+ "type": "number",
2346
+ "description": "Latitude in degrees"
2347
+ },
2348
+ "longitude": {
2349
+ "type": "number",
2350
+ "description": "Longitude in degrees"
2351
+ },
2352
+ "altitude": {
2353
+ "type": "number",
2354
+ "description": "Altitude in meters"
2355
+ },
2356
+ "position_covariance": {
2357
+ "type": "array",
2358
+ "items": {
2359
+ "type": "number"
2360
+ },
2361
+ "minItems": 9,
2362
+ "maxItems": 9,
2363
+ "description": "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."
2364
+ },
2365
+ "position_covariance_type": {
2366
+ "title": "foxglove.PositionCovarianceType",
2367
+ "description": "If `position_covariance` is available, `position_covariance_type` must be set to indicate the type of covariance.",
2368
+ "oneOf": [
2369
+ {
2370
+ "title": "UNKNOWN",
2371
+ "const": 0,
2372
+ "description": "Unknown position covariance type"
2373
+ },
2374
+ {
2375
+ "title": "APPROXIMATED",
2376
+ "const": 1,
2377
+ "description": "Position covariance is approximated"
2378
+ },
2379
+ {
2380
+ "title": "DIAGONAL_KNOWN",
2381
+ "const": 2,
2382
+ "description": "Position covariance is per-axis, so put it along the diagonal"
2383
+ },
2384
+ {
2385
+ "title": "KNOWN",
2386
+ "const": 3,
2387
+ "description": "Position covariance of the fix is known"
2388
+ }
2389
+ ]
2390
+ },
2391
+ "color": {
2392
+ "title": "foxglove.Color",
2393
+ "description": "Color used to visualize the location",
2394
+ "type": "object",
2395
+ "properties": {
2396
+ "r": {
2397
+ "type": "number",
2398
+ "description": "Red value between 0 and 1"
2399
+ },
2400
+ "g": {
2401
+ "type": "number",
2402
+ "description": "Green value between 0 and 1"
2403
+ },
2404
+ "b": {
2405
+ "type": "number",
2406
+ "description": "Blue value between 0 and 1"
2407
+ },
2408
+ "a": {
2409
+ "type": "number",
2410
+ "description": "Alpha value between 0 and 1"
2411
+ }
2412
+ },
2413
+ "required": [
2414
+ "r",
2415
+ "g",
2416
+ "b",
2417
+ "a"
2418
+ ]
2419
+ }
2420
+ },
2421
+ "required": [
2422
+ "timestamp",
2423
+ "frame_id",
2424
+ "latitude",
2425
+ "longitude",
2426
+ "altitude",
2427
+ "position_covariance",
2428
+ "position_covariance_type",
2429
+ "color"
2430
+ ]
2431
+ },
2432
+ "description": "An array of location fixes"
1653
2433
  }
1654
- }
2434
+ },
2435
+ "required": [
2436
+ "fixes"
2437
+ ]
1655
2438
  };
1656
2439
  exports.Log = {
1657
2440
  "title": "foxglove.Log",
@@ -1728,7 +2511,15 @@ exports.Log = {
1728
2511
  "minimum": 0,
1729
2512
  "description": "Line number in the file"
1730
2513
  }
1731
- }
2514
+ },
2515
+ "required": [
2516
+ "timestamp",
2517
+ "level",
2518
+ "message",
2519
+ "name",
2520
+ "file",
2521
+ "line"
2522
+ ]
1732
2523
  };
1733
2524
  exports.SceneEntityDeletion = {
1734
2525
  "title": "foxglove.SceneEntityDeletion",
@@ -1772,7 +2563,12 @@ exports.SceneEntityDeletion = {
1772
2563
  "type": "string",
1773
2564
  "description": "Identifier which must match if `type` is `MATCHING_ID`."
1774
2565
  }
1775
- }
2566
+ },
2567
+ "required": [
2568
+ "timestamp",
2569
+ "type",
2570
+ "id"
2571
+ ]
1776
2572
  };
1777
2573
  exports.SceneEntity = {
1778
2574
  "title": "foxglove.SceneEntity",
@@ -1838,7 +2634,11 @@ exports.SceneEntity = {
1838
2634
  "type": "string",
1839
2635
  "description": "Value"
1840
2636
  }
1841
- }
2637
+ },
2638
+ "required": [
2639
+ "key",
2640
+ "value"
2641
+ ]
1842
2642
  },
1843
2643
  "description": "Additional user-provided metadata associated with the entity. Keys must be unique."
1844
2644
  },
@@ -1871,7 +2671,12 @@ exports.SceneEntity = {
1871
2671
  "type": "number",
1872
2672
  "description": "z coordinate length"
1873
2673
  }
1874
- }
2674
+ },
2675
+ "required": [
2676
+ "x",
2677
+ "y",
2678
+ "z"
2679
+ ]
1875
2680
  },
1876
2681
  "orientation": {
1877
2682
  "title": "foxglove.Quaternion",
@@ -1894,9 +2699,19 @@ exports.SceneEntity = {
1894
2699
  "type": "number",
1895
2700
  "description": "w value"
1896
2701
  }
1897
- }
2702
+ },
2703
+ "required": [
2704
+ "x",
2705
+ "y",
2706
+ "z",
2707
+ "w"
2708
+ ]
1898
2709
  }
1899
- }
2710
+ },
2711
+ "required": [
2712
+ "position",
2713
+ "orientation"
2714
+ ]
1900
2715
  },
1901
2716
  "shaft_length": {
1902
2717
  "type": "number",
@@ -1935,9 +2750,23 @@ exports.SceneEntity = {
1935
2750
  "type": "number",
1936
2751
  "description": "Alpha value between 0 and 1"
1937
2752
  }
1938
- }
2753
+ },
2754
+ "required": [
2755
+ "r",
2756
+ "g",
2757
+ "b",
2758
+ "a"
2759
+ ]
1939
2760
  }
1940
- }
2761
+ },
2762
+ "required": [
2763
+ "pose",
2764
+ "shaft_length",
2765
+ "shaft_diameter",
2766
+ "head_length",
2767
+ "head_diameter",
2768
+ "color"
2769
+ ]
1941
2770
  },
1942
2771
  "description": "Arrow primitives"
1943
2772
  },
@@ -1970,7 +2799,12 @@ exports.SceneEntity = {
1970
2799
  "type": "number",
1971
2800
  "description": "z coordinate length"
1972
2801
  }
1973
- }
2802
+ },
2803
+ "required": [
2804
+ "x",
2805
+ "y",
2806
+ "z"
2807
+ ]
1974
2808
  },
1975
2809
  "orientation": {
1976
2810
  "title": "foxglove.Quaternion",
@@ -1993,9 +2827,19 @@ exports.SceneEntity = {
1993
2827
  "type": "number",
1994
2828
  "description": "w value"
1995
2829
  }
1996
- }
2830
+ },
2831
+ "required": [
2832
+ "x",
2833
+ "y",
2834
+ "z",
2835
+ "w"
2836
+ ]
1997
2837
  }
1998
- }
2838
+ },
2839
+ "required": [
2840
+ "position",
2841
+ "orientation"
2842
+ ]
1999
2843
  },
2000
2844
  "size": {
2001
2845
  "title": "foxglove.Vector3",
@@ -2014,7 +2858,12 @@ exports.SceneEntity = {
2014
2858
  "type": "number",
2015
2859
  "description": "z coordinate length"
2016
2860
  }
2017
- }
2861
+ },
2862
+ "required": [
2863
+ "x",
2864
+ "y",
2865
+ "z"
2866
+ ]
2018
2867
  },
2019
2868
  "color": {
2020
2869
  "title": "foxglove.Color",
@@ -2037,9 +2886,20 @@ exports.SceneEntity = {
2037
2886
  "type": "number",
2038
2887
  "description": "Alpha value between 0 and 1"
2039
2888
  }
2040
- }
2889
+ },
2890
+ "required": [
2891
+ "r",
2892
+ "g",
2893
+ "b",
2894
+ "a"
2895
+ ]
2041
2896
  }
2042
- }
2897
+ },
2898
+ "required": [
2899
+ "pose",
2900
+ "size",
2901
+ "color"
2902
+ ]
2043
2903
  },
2044
2904
  "description": "Cube primitives"
2045
2905
  },
@@ -2072,7 +2932,12 @@ exports.SceneEntity = {
2072
2932
  "type": "number",
2073
2933
  "description": "z coordinate length"
2074
2934
  }
2075
- }
2935
+ },
2936
+ "required": [
2937
+ "x",
2938
+ "y",
2939
+ "z"
2940
+ ]
2076
2941
  },
2077
2942
  "orientation": {
2078
2943
  "title": "foxglove.Quaternion",
@@ -2095,9 +2960,19 @@ exports.SceneEntity = {
2095
2960
  "type": "number",
2096
2961
  "description": "w value"
2097
2962
  }
2098
- }
2963
+ },
2964
+ "required": [
2965
+ "x",
2966
+ "y",
2967
+ "z",
2968
+ "w"
2969
+ ]
2099
2970
  }
2100
- }
2971
+ },
2972
+ "required": [
2973
+ "position",
2974
+ "orientation"
2975
+ ]
2101
2976
  },
2102
2977
  "size": {
2103
2978
  "title": "foxglove.Vector3",
@@ -2116,7 +2991,12 @@ exports.SceneEntity = {
2116
2991
  "type": "number",
2117
2992
  "description": "z coordinate length"
2118
2993
  }
2119
- }
2994
+ },
2995
+ "required": [
2996
+ "x",
2997
+ "y",
2998
+ "z"
2999
+ ]
2120
3000
  },
2121
3001
  "color": {
2122
3002
  "title": "foxglove.Color",
@@ -2139,9 +3019,20 @@ exports.SceneEntity = {
2139
3019
  "type": "number",
2140
3020
  "description": "Alpha value between 0 and 1"
2141
3021
  }
2142
- }
3022
+ },
3023
+ "required": [
3024
+ "r",
3025
+ "g",
3026
+ "b",
3027
+ "a"
3028
+ ]
2143
3029
  }
2144
- }
3030
+ },
3031
+ "required": [
3032
+ "pose",
3033
+ "size",
3034
+ "color"
3035
+ ]
2145
3036
  },
2146
3037
  "description": "Sphere primitives"
2147
3038
  },
@@ -2174,7 +3065,12 @@ exports.SceneEntity = {
2174
3065
  "type": "number",
2175
3066
  "description": "z coordinate length"
2176
3067
  }
2177
- }
3068
+ },
3069
+ "required": [
3070
+ "x",
3071
+ "y",
3072
+ "z"
3073
+ ]
2178
3074
  },
2179
3075
  "orientation": {
2180
3076
  "title": "foxglove.Quaternion",
@@ -2197,9 +3093,19 @@ exports.SceneEntity = {
2197
3093
  "type": "number",
2198
3094
  "description": "w value"
2199
3095
  }
2200
- }
3096
+ },
3097
+ "required": [
3098
+ "x",
3099
+ "y",
3100
+ "z",
3101
+ "w"
3102
+ ]
2201
3103
  }
2202
- }
3104
+ },
3105
+ "required": [
3106
+ "position",
3107
+ "orientation"
3108
+ ]
2203
3109
  },
2204
3110
  "size": {
2205
3111
  "title": "foxglove.Vector3",
@@ -2218,7 +3124,12 @@ exports.SceneEntity = {
2218
3124
  "type": "number",
2219
3125
  "description": "z coordinate length"
2220
3126
  }
2221
- }
3127
+ },
3128
+ "required": [
3129
+ "x",
3130
+ "y",
3131
+ "z"
3132
+ ]
2222
3133
  },
2223
3134
  "bottom_scale": {
2224
3135
  "type": "number",
@@ -2249,9 +3160,22 @@ exports.SceneEntity = {
2249
3160
  "type": "number",
2250
3161
  "description": "Alpha value between 0 and 1"
2251
3162
  }
2252
- }
3163
+ },
3164
+ "required": [
3165
+ "r",
3166
+ "g",
3167
+ "b",
3168
+ "a"
3169
+ ]
2253
3170
  }
2254
- }
3171
+ },
3172
+ "required": [
3173
+ "pose",
3174
+ "size",
3175
+ "bottom_scale",
3176
+ "top_scale",
3177
+ "color"
3178
+ ]
2255
3179
  },
2256
3180
  "description": "Cylinder primitives"
2257
3181
  },
@@ -2305,7 +3229,12 @@ exports.SceneEntity = {
2305
3229
  "type": "number",
2306
3230
  "description": "z coordinate length"
2307
3231
  }
2308
- }
3232
+ },
3233
+ "required": [
3234
+ "x",
3235
+ "y",
3236
+ "z"
3237
+ ]
2309
3238
  },
2310
3239
  "orientation": {
2311
3240
  "title": "foxglove.Quaternion",
@@ -2328,9 +3257,19 @@ exports.SceneEntity = {
2328
3257
  "type": "number",
2329
3258
  "description": "w value"
2330
3259
  }
2331
- }
3260
+ },
3261
+ "required": [
3262
+ "x",
3263
+ "y",
3264
+ "z",
3265
+ "w"
3266
+ ]
2332
3267
  }
2333
- }
3268
+ },
3269
+ "required": [
3270
+ "position",
3271
+ "orientation"
3272
+ ]
2334
3273
  },
2335
3274
  "thickness": {
2336
3275
  "type": "number",
@@ -2359,13 +3298,18 @@ exports.SceneEntity = {
2359
3298
  "type": "number",
2360
3299
  "description": "z coordinate position"
2361
3300
  }
2362
- }
3301
+ },
3302
+ "required": [
3303
+ "x",
3304
+ "y",
3305
+ "z"
3306
+ ]
2363
3307
  },
2364
3308
  "description": "Points along the line"
2365
3309
  },
2366
3310
  "color": {
2367
3311
  "title": "foxglove.Color",
2368
- "description": "Solid color to use for the whole line. One of `color` or `colors` must be provided.",
3312
+ "description": "Solid color to use for the whole line. Ignored if `colors` is non-empty.",
2369
3313
  "type": "object",
2370
3314
  "properties": {
2371
3315
  "r": {
@@ -2384,7 +3328,13 @@ exports.SceneEntity = {
2384
3328
  "type": "number",
2385
3329
  "description": "Alpha value between 0 and 1"
2386
3330
  }
2387
- }
3331
+ },
3332
+ "required": [
3333
+ "r",
3334
+ "g",
3335
+ "b",
3336
+ "a"
3337
+ ]
2388
3338
  },
2389
3339
  "colors": {
2390
3340
  "type": "array",
@@ -2409,9 +3359,15 @@ exports.SceneEntity = {
2409
3359
  "type": "number",
2410
3360
  "description": "Alpha value between 0 and 1"
2411
3361
  }
2412
- }
3362
+ },
3363
+ "required": [
3364
+ "r",
3365
+ "g",
3366
+ "b",
3367
+ "a"
3368
+ ]
2413
3369
  },
2414
- "description": "Per-point colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided."
3370
+ "description": "Per-point colors (if non-empty, must have the same length as `points`)."
2415
3371
  },
2416
3372
  "indices": {
2417
3373
  "type": "array",
@@ -2421,7 +3377,17 @@ exports.SceneEntity = {
2421
3377
  },
2422
3378
  "description": "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)."
2423
3379
  }
2424
- }
3380
+ },
3381
+ "required": [
3382
+ "type",
3383
+ "pose",
3384
+ "thickness",
3385
+ "scale_invariant",
3386
+ "points",
3387
+ "color",
3388
+ "colors",
3389
+ "indices"
3390
+ ]
2425
3391
  },
2426
3392
  "description": "Line primitives"
2427
3393
  },
@@ -2454,7 +3420,12 @@ exports.SceneEntity = {
2454
3420
  "type": "number",
2455
3421
  "description": "z coordinate length"
2456
3422
  }
2457
- }
3423
+ },
3424
+ "required": [
3425
+ "x",
3426
+ "y",
3427
+ "z"
3428
+ ]
2458
3429
  },
2459
3430
  "orientation": {
2460
3431
  "title": "foxglove.Quaternion",
@@ -2477,9 +3448,19 @@ exports.SceneEntity = {
2477
3448
  "type": "number",
2478
3449
  "description": "w value"
2479
3450
  }
2480
- }
3451
+ },
3452
+ "required": [
3453
+ "x",
3454
+ "y",
3455
+ "z",
3456
+ "w"
3457
+ ]
2481
3458
  }
2482
- }
3459
+ },
3460
+ "required": [
3461
+ "position",
3462
+ "orientation"
3463
+ ]
2483
3464
  },
2484
3465
  "points": {
2485
3466
  "type": "array",
@@ -2500,13 +3481,18 @@ exports.SceneEntity = {
2500
3481
  "type": "number",
2501
3482
  "description": "z coordinate position"
2502
3483
  }
2503
- }
3484
+ },
3485
+ "required": [
3486
+ "x",
3487
+ "y",
3488
+ "z"
3489
+ ]
2504
3490
  },
2505
3491
  "description": "Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...)"
2506
3492
  },
2507
3493
  "color": {
2508
3494
  "title": "foxglove.Color",
2509
- "description": "Solid color to use for the whole shape. One of `color` or `colors` must be provided.",
3495
+ "description": "Solid color to use for the whole shape. Ignored if `colors` is non-empty.",
2510
3496
  "type": "object",
2511
3497
  "properties": {
2512
3498
  "r": {
@@ -2525,7 +3511,13 @@ exports.SceneEntity = {
2525
3511
  "type": "number",
2526
3512
  "description": "Alpha value between 0 and 1"
2527
3513
  }
2528
- }
3514
+ },
3515
+ "required": [
3516
+ "r",
3517
+ "g",
3518
+ "b",
3519
+ "a"
3520
+ ]
2529
3521
  },
2530
3522
  "colors": {
2531
3523
  "type": "array",
@@ -2550,9 +3542,15 @@ exports.SceneEntity = {
2550
3542
  "type": "number",
2551
3543
  "description": "Alpha value between 0 and 1"
2552
3544
  }
2553
- }
3545
+ },
3546
+ "required": [
3547
+ "r",
3548
+ "g",
3549
+ "b",
3550
+ "a"
3551
+ ]
2554
3552
  },
2555
- "description": "Per-vertex colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided."
3553
+ "description": "Per-vertex colors (if specified, must have the same length as `points`)."
2556
3554
  },
2557
3555
  "indices": {
2558
3556
  "type": "array",
@@ -2562,7 +3560,14 @@ exports.SceneEntity = {
2562
3560
  },
2563
3561
  "description": "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)."
2564
3562
  }
2565
- }
3563
+ },
3564
+ "required": [
3565
+ "pose",
3566
+ "points",
3567
+ "color",
3568
+ "colors",
3569
+ "indices"
3570
+ ]
2566
3571
  },
2567
3572
  "description": "Triangle list primitives"
2568
3573
  },
@@ -2595,7 +3600,12 @@ exports.SceneEntity = {
2595
3600
  "type": "number",
2596
3601
  "description": "z coordinate length"
2597
3602
  }
2598
- }
3603
+ },
3604
+ "required": [
3605
+ "x",
3606
+ "y",
3607
+ "z"
3608
+ ]
2599
3609
  },
2600
3610
  "orientation": {
2601
3611
  "title": "foxglove.Quaternion",
@@ -2618,9 +3628,19 @@ exports.SceneEntity = {
2618
3628
  "type": "number",
2619
3629
  "description": "w value"
2620
3630
  }
2621
- }
3631
+ },
3632
+ "required": [
3633
+ "x",
3634
+ "y",
3635
+ "z",
3636
+ "w"
3637
+ ]
2622
3638
  }
2623
- }
3639
+ },
3640
+ "required": [
3641
+ "position",
3642
+ "orientation"
3643
+ ]
2624
3644
  },
2625
3645
  "billboard": {
2626
3646
  "type": "boolean",
@@ -2655,13 +3675,27 @@ exports.SceneEntity = {
2655
3675
  "type": "number",
2656
3676
  "description": "Alpha value between 0 and 1"
2657
3677
  }
2658
- }
3678
+ },
3679
+ "required": [
3680
+ "r",
3681
+ "g",
3682
+ "b",
3683
+ "a"
3684
+ ]
2659
3685
  },
2660
3686
  "text": {
2661
3687
  "type": "string",
2662
3688
  "description": "Text"
2663
3689
  }
2664
- }
3690
+ },
3691
+ "required": [
3692
+ "pose",
3693
+ "billboard",
3694
+ "font_size",
3695
+ "scale_invariant",
3696
+ "color",
3697
+ "text"
3698
+ ]
2665
3699
  },
2666
3700
  "description": "Text primitives"
2667
3701
  },
@@ -2694,7 +3728,12 @@ exports.SceneEntity = {
2694
3728
  "type": "number",
2695
3729
  "description": "z coordinate length"
2696
3730
  }
2697
- }
3731
+ },
3732
+ "required": [
3733
+ "x",
3734
+ "y",
3735
+ "z"
3736
+ ]
2698
3737
  },
2699
3738
  "orientation": {
2700
3739
  "title": "foxglove.Quaternion",
@@ -2717,9 +3756,19 @@ exports.SceneEntity = {
2717
3756
  "type": "number",
2718
3757
  "description": "w value"
2719
3758
  }
2720
- }
3759
+ },
3760
+ "required": [
3761
+ "x",
3762
+ "y",
3763
+ "z",
3764
+ "w"
3765
+ ]
2721
3766
  }
2722
- }
3767
+ },
3768
+ "required": [
3769
+ "position",
3770
+ "orientation"
3771
+ ]
2723
3772
  },
2724
3773
  "scale": {
2725
3774
  "title": "foxglove.Vector3",
@@ -2738,7 +3787,12 @@ exports.SceneEntity = {
2738
3787
  "type": "number",
2739
3788
  "description": "z coordinate length"
2740
3789
  }
2741
- }
3790
+ },
3791
+ "required": [
3792
+ "x",
3793
+ "y",
3794
+ "z"
3795
+ ]
2742
3796
  },
2743
3797
  "color": {
2744
3798
  "title": "foxglove.Color",
@@ -2761,7 +3815,13 @@ exports.SceneEntity = {
2761
3815
  "type": "number",
2762
3816
  "description": "Alpha value between 0 and 1"
2763
3817
  }
2764
- }
3818
+ },
3819
+ "required": [
3820
+ "r",
3821
+ "g",
3822
+ "b",
3823
+ "a"
3824
+ ]
2765
3825
  },
2766
3826
  "override_color": {
2767
3827
  "type": "boolean",
@@ -2769,7 +3829,7 @@ exports.SceneEntity = {
2769
3829
  },
2770
3830
  "url": {
2771
3831
  "type": "string",
2772
- "description": "URL pointing to model file. One of `url` or `data` should be provided."
3832
+ "description": "URL pointing to model file. One of `url` or `data` should be non-empty."
2773
3833
  },
2774
3834
  "media_type": {
2775
3835
  "type": "string",
@@ -2778,13 +3838,38 @@ exports.SceneEntity = {
2778
3838
  "data": {
2779
3839
  "type": "string",
2780
3840
  "contentEncoding": "base64",
2781
- "description": "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."
3841
+ "description": "Embedded model. One of `url` or `data` should be non-empty. If `data` is non-empty, `media_type` must be set to indicate the type of the data."
2782
3842
  }
2783
- }
3843
+ },
3844
+ "required": [
3845
+ "pose",
3846
+ "scale",
3847
+ "color",
3848
+ "override_color",
3849
+ "url",
3850
+ "media_type",
3851
+ "data"
3852
+ ]
2784
3853
  },
2785
3854
  "description": "Model primitives"
2786
3855
  }
2787
- }
3856
+ },
3857
+ "required": [
3858
+ "timestamp",
3859
+ "frame_id",
3860
+ "id",
3861
+ "lifetime",
3862
+ "frame_locked",
3863
+ "metadata",
3864
+ "arrows",
3865
+ "cubes",
3866
+ "spheres",
3867
+ "cylinders",
3868
+ "lines",
3869
+ "triangles",
3870
+ "texts",
3871
+ "models"
3872
+ ]
2788
3873
  };
2789
3874
  exports.SceneUpdate = {
2790
3875
  "title": "foxglove.SceneUpdate",
@@ -2835,7 +3920,12 @@ exports.SceneUpdate = {
2835
3920
  "type": "string",
2836
3921
  "description": "Identifier which must match if `type` is `MATCHING_ID`."
2837
3922
  }
2838
- }
3923
+ },
3924
+ "required": [
3925
+ "timestamp",
3926
+ "type",
3927
+ "id"
3928
+ ]
2839
3929
  },
2840
3930
  "description": "Scene entities to delete"
2841
3931
  },
@@ -2904,7 +3994,11 @@ exports.SceneUpdate = {
2904
3994
  "type": "string",
2905
3995
  "description": "Value"
2906
3996
  }
2907
- }
3997
+ },
3998
+ "required": [
3999
+ "key",
4000
+ "value"
4001
+ ]
2908
4002
  },
2909
4003
  "description": "Additional user-provided metadata associated with the entity. Keys must be unique."
2910
4004
  },
@@ -2937,7 +4031,12 @@ exports.SceneUpdate = {
2937
4031
  "type": "number",
2938
4032
  "description": "z coordinate length"
2939
4033
  }
2940
- }
4034
+ },
4035
+ "required": [
4036
+ "x",
4037
+ "y",
4038
+ "z"
4039
+ ]
2941
4040
  },
2942
4041
  "orientation": {
2943
4042
  "title": "foxglove.Quaternion",
@@ -2960,9 +4059,19 @@ exports.SceneUpdate = {
2960
4059
  "type": "number",
2961
4060
  "description": "w value"
2962
4061
  }
2963
- }
4062
+ },
4063
+ "required": [
4064
+ "x",
4065
+ "y",
4066
+ "z",
4067
+ "w"
4068
+ ]
2964
4069
  }
2965
- }
4070
+ },
4071
+ "required": [
4072
+ "position",
4073
+ "orientation"
4074
+ ]
2966
4075
  },
2967
4076
  "shaft_length": {
2968
4077
  "type": "number",
@@ -3001,9 +4110,23 @@ exports.SceneUpdate = {
3001
4110
  "type": "number",
3002
4111
  "description": "Alpha value between 0 and 1"
3003
4112
  }
3004
- }
4113
+ },
4114
+ "required": [
4115
+ "r",
4116
+ "g",
4117
+ "b",
4118
+ "a"
4119
+ ]
3005
4120
  }
3006
- }
4121
+ },
4122
+ "required": [
4123
+ "pose",
4124
+ "shaft_length",
4125
+ "shaft_diameter",
4126
+ "head_length",
4127
+ "head_diameter",
4128
+ "color"
4129
+ ]
3007
4130
  },
3008
4131
  "description": "Arrow primitives"
3009
4132
  },
@@ -3036,7 +4159,12 @@ exports.SceneUpdate = {
3036
4159
  "type": "number",
3037
4160
  "description": "z coordinate length"
3038
4161
  }
3039
- }
4162
+ },
4163
+ "required": [
4164
+ "x",
4165
+ "y",
4166
+ "z"
4167
+ ]
3040
4168
  },
3041
4169
  "orientation": {
3042
4170
  "title": "foxglove.Quaternion",
@@ -3059,9 +4187,19 @@ exports.SceneUpdate = {
3059
4187
  "type": "number",
3060
4188
  "description": "w value"
3061
4189
  }
3062
- }
4190
+ },
4191
+ "required": [
4192
+ "x",
4193
+ "y",
4194
+ "z",
4195
+ "w"
4196
+ ]
3063
4197
  }
3064
- }
4198
+ },
4199
+ "required": [
4200
+ "position",
4201
+ "orientation"
4202
+ ]
3065
4203
  },
3066
4204
  "size": {
3067
4205
  "title": "foxglove.Vector3",
@@ -3080,7 +4218,12 @@ exports.SceneUpdate = {
3080
4218
  "type": "number",
3081
4219
  "description": "z coordinate length"
3082
4220
  }
3083
- }
4221
+ },
4222
+ "required": [
4223
+ "x",
4224
+ "y",
4225
+ "z"
4226
+ ]
3084
4227
  },
3085
4228
  "color": {
3086
4229
  "title": "foxglove.Color",
@@ -3103,9 +4246,20 @@ exports.SceneUpdate = {
3103
4246
  "type": "number",
3104
4247
  "description": "Alpha value between 0 and 1"
3105
4248
  }
3106
- }
4249
+ },
4250
+ "required": [
4251
+ "r",
4252
+ "g",
4253
+ "b",
4254
+ "a"
4255
+ ]
3107
4256
  }
3108
- }
4257
+ },
4258
+ "required": [
4259
+ "pose",
4260
+ "size",
4261
+ "color"
4262
+ ]
3109
4263
  },
3110
4264
  "description": "Cube primitives"
3111
4265
  },
@@ -3138,7 +4292,12 @@ exports.SceneUpdate = {
3138
4292
  "type": "number",
3139
4293
  "description": "z coordinate length"
3140
4294
  }
3141
- }
4295
+ },
4296
+ "required": [
4297
+ "x",
4298
+ "y",
4299
+ "z"
4300
+ ]
3142
4301
  },
3143
4302
  "orientation": {
3144
4303
  "title": "foxglove.Quaternion",
@@ -3161,9 +4320,19 @@ exports.SceneUpdate = {
3161
4320
  "type": "number",
3162
4321
  "description": "w value"
3163
4322
  }
3164
- }
4323
+ },
4324
+ "required": [
4325
+ "x",
4326
+ "y",
4327
+ "z",
4328
+ "w"
4329
+ ]
3165
4330
  }
3166
- }
4331
+ },
4332
+ "required": [
4333
+ "position",
4334
+ "orientation"
4335
+ ]
3167
4336
  },
3168
4337
  "size": {
3169
4338
  "title": "foxglove.Vector3",
@@ -3182,7 +4351,12 @@ exports.SceneUpdate = {
3182
4351
  "type": "number",
3183
4352
  "description": "z coordinate length"
3184
4353
  }
3185
- }
4354
+ },
4355
+ "required": [
4356
+ "x",
4357
+ "y",
4358
+ "z"
4359
+ ]
3186
4360
  },
3187
4361
  "color": {
3188
4362
  "title": "foxglove.Color",
@@ -3205,9 +4379,20 @@ exports.SceneUpdate = {
3205
4379
  "type": "number",
3206
4380
  "description": "Alpha value between 0 and 1"
3207
4381
  }
3208
- }
4382
+ },
4383
+ "required": [
4384
+ "r",
4385
+ "g",
4386
+ "b",
4387
+ "a"
4388
+ ]
3209
4389
  }
3210
- }
4390
+ },
4391
+ "required": [
4392
+ "pose",
4393
+ "size",
4394
+ "color"
4395
+ ]
3211
4396
  },
3212
4397
  "description": "Sphere primitives"
3213
4398
  },
@@ -3240,7 +4425,12 @@ exports.SceneUpdate = {
3240
4425
  "type": "number",
3241
4426
  "description": "z coordinate length"
3242
4427
  }
3243
- }
4428
+ },
4429
+ "required": [
4430
+ "x",
4431
+ "y",
4432
+ "z"
4433
+ ]
3244
4434
  },
3245
4435
  "orientation": {
3246
4436
  "title": "foxglove.Quaternion",
@@ -3263,9 +4453,19 @@ exports.SceneUpdate = {
3263
4453
  "type": "number",
3264
4454
  "description": "w value"
3265
4455
  }
3266
- }
4456
+ },
4457
+ "required": [
4458
+ "x",
4459
+ "y",
4460
+ "z",
4461
+ "w"
4462
+ ]
3267
4463
  }
3268
- }
4464
+ },
4465
+ "required": [
4466
+ "position",
4467
+ "orientation"
4468
+ ]
3269
4469
  },
3270
4470
  "size": {
3271
4471
  "title": "foxglove.Vector3",
@@ -3284,7 +4484,12 @@ exports.SceneUpdate = {
3284
4484
  "type": "number",
3285
4485
  "description": "z coordinate length"
3286
4486
  }
3287
- }
4487
+ },
4488
+ "required": [
4489
+ "x",
4490
+ "y",
4491
+ "z"
4492
+ ]
3288
4493
  },
3289
4494
  "bottom_scale": {
3290
4495
  "type": "number",
@@ -3315,9 +4520,22 @@ exports.SceneUpdate = {
3315
4520
  "type": "number",
3316
4521
  "description": "Alpha value between 0 and 1"
3317
4522
  }
3318
- }
4523
+ },
4524
+ "required": [
4525
+ "r",
4526
+ "g",
4527
+ "b",
4528
+ "a"
4529
+ ]
3319
4530
  }
3320
- }
4531
+ },
4532
+ "required": [
4533
+ "pose",
4534
+ "size",
4535
+ "bottom_scale",
4536
+ "top_scale",
4537
+ "color"
4538
+ ]
3321
4539
  },
3322
4540
  "description": "Cylinder primitives"
3323
4541
  },
@@ -3371,7 +4589,12 @@ exports.SceneUpdate = {
3371
4589
  "type": "number",
3372
4590
  "description": "z coordinate length"
3373
4591
  }
3374
- }
4592
+ },
4593
+ "required": [
4594
+ "x",
4595
+ "y",
4596
+ "z"
4597
+ ]
3375
4598
  },
3376
4599
  "orientation": {
3377
4600
  "title": "foxglove.Quaternion",
@@ -3394,9 +4617,19 @@ exports.SceneUpdate = {
3394
4617
  "type": "number",
3395
4618
  "description": "w value"
3396
4619
  }
3397
- }
4620
+ },
4621
+ "required": [
4622
+ "x",
4623
+ "y",
4624
+ "z",
4625
+ "w"
4626
+ ]
3398
4627
  }
3399
- }
4628
+ },
4629
+ "required": [
4630
+ "position",
4631
+ "orientation"
4632
+ ]
3400
4633
  },
3401
4634
  "thickness": {
3402
4635
  "type": "number",
@@ -3425,13 +4658,18 @@ exports.SceneUpdate = {
3425
4658
  "type": "number",
3426
4659
  "description": "z coordinate position"
3427
4660
  }
3428
- }
4661
+ },
4662
+ "required": [
4663
+ "x",
4664
+ "y",
4665
+ "z"
4666
+ ]
3429
4667
  },
3430
4668
  "description": "Points along the line"
3431
4669
  },
3432
4670
  "color": {
3433
4671
  "title": "foxglove.Color",
3434
- "description": "Solid color to use for the whole line. One of `color` or `colors` must be provided.",
4672
+ "description": "Solid color to use for the whole line. Ignored if `colors` is non-empty.",
3435
4673
  "type": "object",
3436
4674
  "properties": {
3437
4675
  "r": {
@@ -3450,7 +4688,13 @@ exports.SceneUpdate = {
3450
4688
  "type": "number",
3451
4689
  "description": "Alpha value between 0 and 1"
3452
4690
  }
3453
- }
4691
+ },
4692
+ "required": [
4693
+ "r",
4694
+ "g",
4695
+ "b",
4696
+ "a"
4697
+ ]
3454
4698
  },
3455
4699
  "colors": {
3456
4700
  "type": "array",
@@ -3475,9 +4719,15 @@ exports.SceneUpdate = {
3475
4719
  "type": "number",
3476
4720
  "description": "Alpha value between 0 and 1"
3477
4721
  }
3478
- }
4722
+ },
4723
+ "required": [
4724
+ "r",
4725
+ "g",
4726
+ "b",
4727
+ "a"
4728
+ ]
3479
4729
  },
3480
- "description": "Per-point colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided."
4730
+ "description": "Per-point colors (if non-empty, must have the same length as `points`)."
3481
4731
  },
3482
4732
  "indices": {
3483
4733
  "type": "array",
@@ -3487,7 +4737,17 @@ exports.SceneUpdate = {
3487
4737
  },
3488
4738
  "description": "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)."
3489
4739
  }
3490
- }
4740
+ },
4741
+ "required": [
4742
+ "type",
4743
+ "pose",
4744
+ "thickness",
4745
+ "scale_invariant",
4746
+ "points",
4747
+ "color",
4748
+ "colors",
4749
+ "indices"
4750
+ ]
3491
4751
  },
3492
4752
  "description": "Line primitives"
3493
4753
  },
@@ -3520,7 +4780,12 @@ exports.SceneUpdate = {
3520
4780
  "type": "number",
3521
4781
  "description": "z coordinate length"
3522
4782
  }
3523
- }
4783
+ },
4784
+ "required": [
4785
+ "x",
4786
+ "y",
4787
+ "z"
4788
+ ]
3524
4789
  },
3525
4790
  "orientation": {
3526
4791
  "title": "foxglove.Quaternion",
@@ -3543,9 +4808,19 @@ exports.SceneUpdate = {
3543
4808
  "type": "number",
3544
4809
  "description": "w value"
3545
4810
  }
3546
- }
4811
+ },
4812
+ "required": [
4813
+ "x",
4814
+ "y",
4815
+ "z",
4816
+ "w"
4817
+ ]
3547
4818
  }
3548
- }
4819
+ },
4820
+ "required": [
4821
+ "position",
4822
+ "orientation"
4823
+ ]
3549
4824
  },
3550
4825
  "points": {
3551
4826
  "type": "array",
@@ -3566,13 +4841,18 @@ exports.SceneUpdate = {
3566
4841
  "type": "number",
3567
4842
  "description": "z coordinate position"
3568
4843
  }
3569
- }
4844
+ },
4845
+ "required": [
4846
+ "x",
4847
+ "y",
4848
+ "z"
4849
+ ]
3570
4850
  },
3571
4851
  "description": "Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...)"
3572
4852
  },
3573
4853
  "color": {
3574
4854
  "title": "foxglove.Color",
3575
- "description": "Solid color to use for the whole shape. One of `color` or `colors` must be provided.",
4855
+ "description": "Solid color to use for the whole shape. Ignored if `colors` is non-empty.",
3576
4856
  "type": "object",
3577
4857
  "properties": {
3578
4858
  "r": {
@@ -3591,7 +4871,13 @@ exports.SceneUpdate = {
3591
4871
  "type": "number",
3592
4872
  "description": "Alpha value between 0 and 1"
3593
4873
  }
3594
- }
4874
+ },
4875
+ "required": [
4876
+ "r",
4877
+ "g",
4878
+ "b",
4879
+ "a"
4880
+ ]
3595
4881
  },
3596
4882
  "colors": {
3597
4883
  "type": "array",
@@ -3616,9 +4902,15 @@ exports.SceneUpdate = {
3616
4902
  "type": "number",
3617
4903
  "description": "Alpha value between 0 and 1"
3618
4904
  }
3619
- }
4905
+ },
4906
+ "required": [
4907
+ "r",
4908
+ "g",
4909
+ "b",
4910
+ "a"
4911
+ ]
3620
4912
  },
3621
- "description": "Per-vertex colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided."
4913
+ "description": "Per-vertex colors (if specified, must have the same length as `points`)."
3622
4914
  },
3623
4915
  "indices": {
3624
4916
  "type": "array",
@@ -3628,7 +4920,14 @@ exports.SceneUpdate = {
3628
4920
  },
3629
4921
  "description": "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)."
3630
4922
  }
3631
- }
4923
+ },
4924
+ "required": [
4925
+ "pose",
4926
+ "points",
4927
+ "color",
4928
+ "colors",
4929
+ "indices"
4930
+ ]
3632
4931
  },
3633
4932
  "description": "Triangle list primitives"
3634
4933
  },
@@ -3661,7 +4960,12 @@ exports.SceneUpdate = {
3661
4960
  "type": "number",
3662
4961
  "description": "z coordinate length"
3663
4962
  }
3664
- }
4963
+ },
4964
+ "required": [
4965
+ "x",
4966
+ "y",
4967
+ "z"
4968
+ ]
3665
4969
  },
3666
4970
  "orientation": {
3667
4971
  "title": "foxglove.Quaternion",
@@ -3684,9 +4988,19 @@ exports.SceneUpdate = {
3684
4988
  "type": "number",
3685
4989
  "description": "w value"
3686
4990
  }
3687
- }
4991
+ },
4992
+ "required": [
4993
+ "x",
4994
+ "y",
4995
+ "z",
4996
+ "w"
4997
+ ]
3688
4998
  }
3689
- }
4999
+ },
5000
+ "required": [
5001
+ "position",
5002
+ "orientation"
5003
+ ]
3690
5004
  },
3691
5005
  "billboard": {
3692
5006
  "type": "boolean",
@@ -3721,13 +5035,27 @@ exports.SceneUpdate = {
3721
5035
  "type": "number",
3722
5036
  "description": "Alpha value between 0 and 1"
3723
5037
  }
3724
- }
5038
+ },
5039
+ "required": [
5040
+ "r",
5041
+ "g",
5042
+ "b",
5043
+ "a"
5044
+ ]
3725
5045
  },
3726
5046
  "text": {
3727
5047
  "type": "string",
3728
5048
  "description": "Text"
3729
5049
  }
3730
- }
5050
+ },
5051
+ "required": [
5052
+ "pose",
5053
+ "billboard",
5054
+ "font_size",
5055
+ "scale_invariant",
5056
+ "color",
5057
+ "text"
5058
+ ]
3731
5059
  },
3732
5060
  "description": "Text primitives"
3733
5061
  },
@@ -3760,7 +5088,12 @@ exports.SceneUpdate = {
3760
5088
  "type": "number",
3761
5089
  "description": "z coordinate length"
3762
5090
  }
3763
- }
5091
+ },
5092
+ "required": [
5093
+ "x",
5094
+ "y",
5095
+ "z"
5096
+ ]
3764
5097
  },
3765
5098
  "orientation": {
3766
5099
  "title": "foxglove.Quaternion",
@@ -3783,9 +5116,19 @@ exports.SceneUpdate = {
3783
5116
  "type": "number",
3784
5117
  "description": "w value"
3785
5118
  }
3786
- }
5119
+ },
5120
+ "required": [
5121
+ "x",
5122
+ "y",
5123
+ "z",
5124
+ "w"
5125
+ ]
3787
5126
  }
3788
- }
5127
+ },
5128
+ "required": [
5129
+ "position",
5130
+ "orientation"
5131
+ ]
3789
5132
  },
3790
5133
  "scale": {
3791
5134
  "title": "foxglove.Vector3",
@@ -3804,7 +5147,12 @@ exports.SceneUpdate = {
3804
5147
  "type": "number",
3805
5148
  "description": "z coordinate length"
3806
5149
  }
3807
- }
5150
+ },
5151
+ "required": [
5152
+ "x",
5153
+ "y",
5154
+ "z"
5155
+ ]
3808
5156
  },
3809
5157
  "color": {
3810
5158
  "title": "foxglove.Color",
@@ -3827,7 +5175,13 @@ exports.SceneUpdate = {
3827
5175
  "type": "number",
3828
5176
  "description": "Alpha value between 0 and 1"
3829
5177
  }
3830
- }
5178
+ },
5179
+ "required": [
5180
+ "r",
5181
+ "g",
5182
+ "b",
5183
+ "a"
5184
+ ]
3831
5185
  },
3832
5186
  "override_color": {
3833
5187
  "type": "boolean",
@@ -3835,7 +5189,7 @@ exports.SceneUpdate = {
3835
5189
  },
3836
5190
  "url": {
3837
5191
  "type": "string",
3838
- "description": "URL pointing to model file. One of `url` or `data` should be provided."
5192
+ "description": "URL pointing to model file. One of `url` or `data` should be non-empty."
3839
5193
  },
3840
5194
  "media_type": {
3841
5195
  "type": "string",
@@ -3844,17 +5198,46 @@ exports.SceneUpdate = {
3844
5198
  "data": {
3845
5199
  "type": "string",
3846
5200
  "contentEncoding": "base64",
3847
- "description": "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."
5201
+ "description": "Embedded model. One of `url` or `data` should be non-empty. If `data` is non-empty, `media_type` must be set to indicate the type of the data."
3848
5202
  }
3849
- }
5203
+ },
5204
+ "required": [
5205
+ "pose",
5206
+ "scale",
5207
+ "color",
5208
+ "override_color",
5209
+ "url",
5210
+ "media_type",
5211
+ "data"
5212
+ ]
3850
5213
  },
3851
5214
  "description": "Model primitives"
3852
5215
  }
3853
- }
5216
+ },
5217
+ "required": [
5218
+ "timestamp",
5219
+ "frame_id",
5220
+ "id",
5221
+ "lifetime",
5222
+ "frame_locked",
5223
+ "metadata",
5224
+ "arrows",
5225
+ "cubes",
5226
+ "spheres",
5227
+ "cylinders",
5228
+ "lines",
5229
+ "triangles",
5230
+ "texts",
5231
+ "models"
5232
+ ]
3854
5233
  },
3855
5234
  "description": "Scene entities to add or replace"
3856
5235
  }
3857
- }
5236
+ },
5237
+ "required": [
5238
+ "deletions",
5239
+ "entities"
5240
+ ]
3858
5241
  };
3859
5242
  exports.ModelPrimitive = {
3860
5243
  "title": "foxglove.ModelPrimitive",
@@ -3884,7 +5267,12 @@ exports.ModelPrimitive = {
3884
5267
  "type": "number",
3885
5268
  "description": "z coordinate length"
3886
5269
  }
3887
- }
5270
+ },
5271
+ "required": [
5272
+ "x",
5273
+ "y",
5274
+ "z"
5275
+ ]
3888
5276
  },
3889
5277
  "orientation": {
3890
5278
  "title": "foxglove.Quaternion",
@@ -3907,9 +5295,19 @@ exports.ModelPrimitive = {
3907
5295
  "type": "number",
3908
5296
  "description": "w value"
3909
5297
  }
3910
- }
5298
+ },
5299
+ "required": [
5300
+ "x",
5301
+ "y",
5302
+ "z",
5303
+ "w"
5304
+ ]
3911
5305
  }
3912
- }
5306
+ },
5307
+ "required": [
5308
+ "position",
5309
+ "orientation"
5310
+ ]
3913
5311
  },
3914
5312
  "scale": {
3915
5313
  "title": "foxglove.Vector3",
@@ -3928,7 +5326,12 @@ exports.ModelPrimitive = {
3928
5326
  "type": "number",
3929
5327
  "description": "z coordinate length"
3930
5328
  }
3931
- }
5329
+ },
5330
+ "required": [
5331
+ "x",
5332
+ "y",
5333
+ "z"
5334
+ ]
3932
5335
  },
3933
5336
  "color": {
3934
5337
  "title": "foxglove.Color",
@@ -3951,7 +5354,13 @@ exports.ModelPrimitive = {
3951
5354
  "type": "number",
3952
5355
  "description": "Alpha value between 0 and 1"
3953
5356
  }
3954
- }
5357
+ },
5358
+ "required": [
5359
+ "r",
5360
+ "g",
5361
+ "b",
5362
+ "a"
5363
+ ]
3955
5364
  },
3956
5365
  "override_color": {
3957
5366
  "type": "boolean",
@@ -3959,7 +5368,7 @@ exports.ModelPrimitive = {
3959
5368
  },
3960
5369
  "url": {
3961
5370
  "type": "string",
3962
- "description": "URL pointing to model file. One of `url` or `data` should be provided."
5371
+ "description": "URL pointing to model file. One of `url` or `data` should be non-empty."
3963
5372
  },
3964
5373
  "media_type": {
3965
5374
  "type": "string",
@@ -3968,9 +5377,18 @@ exports.ModelPrimitive = {
3968
5377
  "data": {
3969
5378
  "type": "string",
3970
5379
  "contentEncoding": "base64",
3971
- "description": "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."
5380
+ "description": "Embedded model. One of `url` or `data` should be non-empty. If `data` is non-empty, `media_type` must be set to indicate the type of the data."
3972
5381
  }
3973
- }
5382
+ },
5383
+ "required": [
5384
+ "pose",
5385
+ "scale",
5386
+ "color",
5387
+ "override_color",
5388
+ "url",
5389
+ "media_type",
5390
+ "data"
5391
+ ]
3974
5392
  };
3975
5393
  exports.PackedElementField = {
3976
5394
  "title": "foxglove.PackedElementField",
@@ -4038,7 +5456,12 @@ exports.PackedElementField = {
4038
5456
  }
4039
5457
  ]
4040
5458
  }
4041
- }
5459
+ },
5460
+ "required": [
5461
+ "name",
5462
+ "offset",
5463
+ "type"
5464
+ ]
4042
5465
  };
4043
5466
  exports.Point2 = {
4044
5467
  "title": "foxglove.Point2",
@@ -4054,7 +5477,11 @@ exports.Point2 = {
4054
5477
  "type": "number",
4055
5478
  "description": "y coordinate position"
4056
5479
  }
4057
- }
5480
+ },
5481
+ "required": [
5482
+ "x",
5483
+ "y"
5484
+ ]
4058
5485
  };
4059
5486
  exports.Point3 = {
4060
5487
  "title": "foxglove.Point3",
@@ -4074,7 +5501,69 @@ exports.Point3 = {
4074
5501
  "type": "number",
4075
5502
  "description": "z coordinate position"
4076
5503
  }
4077
- }
5504
+ },
5505
+ "required": [
5506
+ "x",
5507
+ "y",
5508
+ "z"
5509
+ ]
5510
+ };
5511
+ exports.Point3InFrame = {
5512
+ "title": "foxglove.Point3InFrame",
5513
+ "description": "A timestamped point for a position in 3D space",
5514
+ "$comment": "Generated by https://github.com/foxglove/foxglove-sdk",
5515
+ "type": "object",
5516
+ "properties": {
5517
+ "timestamp": {
5518
+ "type": "object",
5519
+ "title": "time",
5520
+ "properties": {
5521
+ "sec": {
5522
+ "type": "integer",
5523
+ "minimum": 0
5524
+ },
5525
+ "nsec": {
5526
+ "type": "integer",
5527
+ "minimum": 0,
5528
+ "maximum": 999999999
5529
+ }
5530
+ },
5531
+ "description": "Timestamp of point"
5532
+ },
5533
+ "frame_id": {
5534
+ "type": "string",
5535
+ "description": "Frame of reference for point position"
5536
+ },
5537
+ "point": {
5538
+ "title": "foxglove.Point3",
5539
+ "description": "Point in 3D space",
5540
+ "type": "object",
5541
+ "properties": {
5542
+ "x": {
5543
+ "type": "number",
5544
+ "description": "x coordinate position"
5545
+ },
5546
+ "y": {
5547
+ "type": "number",
5548
+ "description": "y coordinate position"
5549
+ },
5550
+ "z": {
5551
+ "type": "number",
5552
+ "description": "z coordinate position"
5553
+ }
5554
+ },
5555
+ "required": [
5556
+ "x",
5557
+ "y",
5558
+ "z"
5559
+ ]
5560
+ }
5561
+ },
5562
+ "required": [
5563
+ "timestamp",
5564
+ "frame_id",
5565
+ "point"
5566
+ ]
4078
5567
  };
4079
5568
  exports.PointCloud = {
4080
5569
  "title": "foxglove.PointCloud",
@@ -4124,7 +5613,12 @@ exports.PointCloud = {
4124
5613
  "type": "number",
4125
5614
  "description": "z coordinate length"
4126
5615
  }
4127
- }
5616
+ },
5617
+ "required": [
5618
+ "x",
5619
+ "y",
5620
+ "z"
5621
+ ]
4128
5622
  },
4129
5623
  "orientation": {
4130
5624
  "title": "foxglove.Quaternion",
@@ -4147,9 +5641,19 @@ exports.PointCloud = {
4147
5641
  "type": "number",
4148
5642
  "description": "w value"
4149
5643
  }
4150
- }
5644
+ },
5645
+ "required": [
5646
+ "x",
5647
+ "y",
5648
+ "z",
5649
+ "w"
5650
+ ]
4151
5651
  }
4152
- }
5652
+ },
5653
+ "required": [
5654
+ "position",
5655
+ "orientation"
5656
+ ]
4153
5657
  },
4154
5658
  "point_stride": {
4155
5659
  "type": "integer",
@@ -4223,7 +5727,12 @@ exports.PointCloud = {
4223
5727
  }
4224
5728
  ]
4225
5729
  }
4226
- }
5730
+ },
5731
+ "required": [
5732
+ "name",
5733
+ "offset",
5734
+ "type"
5735
+ ]
4227
5736
  },
4228
5737
  "description": "Fields in `data`. At least 2 coordinate fields from `x`, `y`, and `z` are required for each point's position; `red`, `green`, `blue`, and `alpha` are optional for customizing each point's color."
4229
5738
  },
@@ -4232,7 +5741,15 @@ exports.PointCloud = {
4232
5741
  "contentEncoding": "base64",
4233
5742
  "description": "Point data, interpreted using `fields`"
4234
5743
  }
4235
- }
5744
+ },
5745
+ "required": [
5746
+ "timestamp",
5747
+ "frame_id",
5748
+ "pose",
5749
+ "point_stride",
5750
+ "fields",
5751
+ "data"
5752
+ ]
4236
5753
  };
4237
5754
  exports.PointsAnnotation = {
4238
5755
  "title": "foxglove.PointsAnnotation",
@@ -4302,7 +5819,11 @@ exports.PointsAnnotation = {
4302
5819
  "type": "number",
4303
5820
  "description": "y coordinate position"
4304
5821
  }
4305
- }
5822
+ },
5823
+ "required": [
5824
+ "x",
5825
+ "y"
5826
+ ]
4306
5827
  },
4307
5828
  "description": "Points in 2D image coordinates (pixels).\nThese coordinates use the top-left corner of the top-left pixel of the image as the origin."
4308
5829
  },
@@ -4327,7 +5848,13 @@ exports.PointsAnnotation = {
4327
5848
  "type": "number",
4328
5849
  "description": "Alpha value between 0 and 1"
4329
5850
  }
4330
- }
5851
+ },
5852
+ "required": [
5853
+ "r",
5854
+ "g",
5855
+ "b",
5856
+ "a"
5857
+ ]
4331
5858
  },
4332
5859
  "outline_colors": {
4333
5860
  "type": "array",
@@ -4352,7 +5879,13 @@ exports.PointsAnnotation = {
4352
5879
  "type": "number",
4353
5880
  "description": "Alpha value between 0 and 1"
4354
5881
  }
4355
- }
5882
+ },
5883
+ "required": [
5884
+ "r",
5885
+ "g",
5886
+ "b",
5887
+ "a"
5888
+ ]
4356
5889
  },
4357
5890
  "description": "Per-point colors, if `type` is `POINTS`, or per-segment stroke colors, if `type` is `LINE_LIST`, `LINE_STRIP` or `LINE_LOOP`."
4358
5891
  },
@@ -4377,13 +5910,28 @@ exports.PointsAnnotation = {
4377
5910
  "type": "number",
4378
5911
  "description": "Alpha value between 0 and 1"
4379
5912
  }
4380
- }
5913
+ },
5914
+ "required": [
5915
+ "r",
5916
+ "g",
5917
+ "b",
5918
+ "a"
5919
+ ]
4381
5920
  },
4382
5921
  "thickness": {
4383
5922
  "type": "number",
4384
5923
  "description": "Stroke thickness in pixels"
4385
5924
  }
4386
- }
5925
+ },
5926
+ "required": [
5927
+ "timestamp",
5928
+ "type",
5929
+ "points",
5930
+ "outline_color",
5931
+ "outline_colors",
5932
+ "fill_color",
5933
+ "thickness"
5934
+ ]
4387
5935
  };
4388
5936
  exports.Pose = {
4389
5937
  "title": "foxglove.Pose",
@@ -4408,7 +5956,12 @@ exports.Pose = {
4408
5956
  "type": "number",
4409
5957
  "description": "z coordinate length"
4410
5958
  }
4411
- }
5959
+ },
5960
+ "required": [
5961
+ "x",
5962
+ "y",
5963
+ "z"
5964
+ ]
4412
5965
  },
4413
5966
  "orientation": {
4414
5967
  "title": "foxglove.Quaternion",
@@ -4431,9 +5984,19 @@ exports.Pose = {
4431
5984
  "type": "number",
4432
5985
  "description": "w value"
4433
5986
  }
4434
- }
5987
+ },
5988
+ "required": [
5989
+ "x",
5990
+ "y",
5991
+ "z",
5992
+ "w"
5993
+ ]
4435
5994
  }
4436
- }
5995
+ },
5996
+ "required": [
5997
+ "position",
5998
+ "orientation"
5999
+ ]
4437
6000
  };
4438
6001
  exports.PoseInFrame = {
4439
6002
  "title": "foxglove.PoseInFrame",
@@ -4483,7 +6046,12 @@ exports.PoseInFrame = {
4483
6046
  "type": "number",
4484
6047
  "description": "z coordinate length"
4485
6048
  }
4486
- }
6049
+ },
6050
+ "required": [
6051
+ "x",
6052
+ "y",
6053
+ "z"
6054
+ ]
4487
6055
  },
4488
6056
  "orientation": {
4489
6057
  "title": "foxglove.Quaternion",
@@ -4506,11 +6074,26 @@ exports.PoseInFrame = {
4506
6074
  "type": "number",
4507
6075
  "description": "w value"
4508
6076
  }
4509
- }
6077
+ },
6078
+ "required": [
6079
+ "x",
6080
+ "y",
6081
+ "z",
6082
+ "w"
6083
+ ]
4510
6084
  }
4511
- }
6085
+ },
6086
+ "required": [
6087
+ "position",
6088
+ "orientation"
6089
+ ]
4512
6090
  }
4513
- }
6091
+ },
6092
+ "required": [
6093
+ "timestamp",
6094
+ "frame_id",
6095
+ "pose"
6096
+ ]
4514
6097
  };
4515
6098
  exports.PosesInFrame = {
4516
6099
  "title": "foxglove.PosesInFrame",
@@ -4562,7 +6145,12 @@ exports.PosesInFrame = {
4562
6145
  "type": "number",
4563
6146
  "description": "z coordinate length"
4564
6147
  }
4565
- }
6148
+ },
6149
+ "required": [
6150
+ "x",
6151
+ "y",
6152
+ "z"
6153
+ ]
4566
6154
  },
4567
6155
  "orientation": {
4568
6156
  "title": "foxglove.Quaternion",
@@ -4585,13 +6173,28 @@ exports.PosesInFrame = {
4585
6173
  "type": "number",
4586
6174
  "description": "w value"
4587
6175
  }
4588
- }
6176
+ },
6177
+ "required": [
6178
+ "x",
6179
+ "y",
6180
+ "z",
6181
+ "w"
6182
+ ]
4589
6183
  }
4590
- }
6184
+ },
6185
+ "required": [
6186
+ "position",
6187
+ "orientation"
6188
+ ]
4591
6189
  },
4592
6190
  "description": "Poses in 3D space"
4593
6191
  }
4594
- }
6192
+ },
6193
+ "required": [
6194
+ "timestamp",
6195
+ "frame_id",
6196
+ "poses"
6197
+ ]
4595
6198
  };
4596
6199
  exports.Quaternion = {
4597
6200
  "title": "foxglove.Quaternion",
@@ -4615,7 +6218,13 @@ exports.Quaternion = {
4615
6218
  "type": "number",
4616
6219
  "description": "w value"
4617
6220
  }
4618
- }
6221
+ },
6222
+ "required": [
6223
+ "x",
6224
+ "y",
6225
+ "z",
6226
+ "w"
6227
+ ]
4619
6228
  };
4620
6229
  exports.RawAudio = {
4621
6230
  "title": "foxglove.RawAudio",
@@ -4658,7 +6267,14 @@ exports.RawAudio = {
4658
6267
  "minimum": 0,
4659
6268
  "description": "Number of channels in the audio block"
4660
6269
  }
4661
- }
6270
+ },
6271
+ "required": [
6272
+ "timestamp",
6273
+ "data",
6274
+ "format",
6275
+ "sample_rate",
6276
+ "number_of_channels"
6277
+ ]
4662
6278
  };
4663
6279
  exports.RawImage = {
4664
6280
  "title": "foxglove.RawImage",
@@ -4708,9 +6324,18 @@ exports.RawImage = {
4708
6324
  "data": {
4709
6325
  "type": "string",
4710
6326
  "contentEncoding": "base64",
4711
- "description": "Raw image data.\n\nFor each `encoding` value, the `data` field contains image pixel data serialized as follows:\n\n- `yuv422` or `uyvy`:\n - Pixel colors are decomposed into [Y'UV](https://en.wikipedia.org/wiki/Y%E2%80%B2UV) channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - U and V values are shared between horizontal pairs of pixels. Each pair of output pixels is serialized as [U, Y1, V, Y2].\n - `step` must be greater than or equal to `width` * 2.\n- `yuv422_yuy2` or `yuyv`:\n - Pixel colors are decomposed into [Y'UV](https://en.wikipedia.org/wiki/Y%E2%80%B2UV) channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - U and V values are shared between horizontal pairs of pixels. Each pair of output pixels is encoded as [Y1, U, Y2, V].\n - `step` must be greater than or equal to `width` * 2.\n- `rgb8`:\n - Pixel colors are decomposed into Red, Green, and Blue channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - Each output pixel is serialized as [R, G, B].\n - `step` must be greater than or equal to `width` * 3.\n- `rgba8`:\n - Pixel colors are decomposed into Red, Green, Blue, and Alpha channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - Each output pixel is serialized as [R, G, B, Alpha].\n - `step` must be greater than or equal to `width` * 4.\n- `bgr8` or `8UC3`:\n - Pixel colors are decomposed into Red, Blue, Green, and Alpha channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - Each output pixel is serialized as [B, G, R].\n - `step` must be greater than or equal to `width` * 3.\n- `bgra8`:\n - Pixel colors are decomposed into Blue, Green, Red, and Alpha channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - Each output pixel is encoded as [B, G, R, Alpha].\n - `step` must be greater than or equal to `width` * 4.\n- `32FC1`:\n - Pixel brightness is represented as a single-channel, 32-bit little-endian IEEE 754 floating-point value, ranging from 0.0 (black) to 1.0 (white).\n - `step` must be greater than or equal to `width` * 4.\n- `bayer_rggb8`, `bayer_bggr8`, `bayer_rggb8`, `bayer_gbrg8`, or `bayer_grgb8`:\n - Pixel colors are decomposed into Red, Blue and Green channels.\n - Pixel channel values are represented as unsigned 8-bit integers, and serialized in a 2x2 bayer filter pattern.\n - The order of the four letters after `bayer_` determine the layout, so for `bayer_wxyz8` the pattern is:\n ```plaintext\n w | x\n - + -\n y | z\n ```\n - `step` must be greater than or equal to `width`.\n- `mono8` or `8UC1`:\n - Pixel brightness is represented as unsigned 8-bit integers.\n - `step` must be greater than or equal to `width`.\n- `mono16` or `16UC1`:\n - Pixel brightness is represented as 16-bit unsigned little-endian integers. Rendering of these values is controlled in [Image panel color mode settings](https://docs.foxglove.dev/docs/visualization/panels/image#general).\n - `step` must be greater than or equal to `width` * 2.\n"
6327
+ "description": "Raw image data.\n\nFor each `encoding` value, the `data` field contains image pixel data serialized as follows:\n\n- `yuv422` or `uyvy`:\n - Pixel colors are decomposed into [Y'UV](https://en.wikipedia.org/wiki/Y%E2%80%B2UV) channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - U and V values are shared between horizontal pairs of pixels. Each pair of output pixels is serialized as [U, Y1, V, Y2].\n - `step` must be greater than or equal to `width` * 2.\n- `yuv422_yuy2` or `yuyv`:\n - Pixel colors are decomposed into [Y'UV](https://en.wikipedia.org/wiki/Y%E2%80%B2UV) channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - U and V values are shared between horizontal pairs of pixels. Each pair of output pixels is encoded as [Y1, U, Y2, V].\n - `step` must be greater than or equal to `width` * 2.\n- `rgb8`:\n - Pixel colors are decomposed into Red, Green, and Blue channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - Each output pixel is serialized as [R, G, B].\n - `step` must be greater than or equal to `width` * 3.\n- `rgba8`:\n - Pixel colors are decomposed into Red, Green, Blue, and Alpha channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - Each output pixel is serialized as [R, G, B, Alpha].\n - `step` must be greater than or equal to `width` * 4.\n- `bgr8` or `8UC3`:\n - Pixel colors are decomposed into Blue, Green, and Red channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - Each output pixel is serialized as [B, G, R].\n - `step` must be greater than or equal to `width` * 3.\n- `bgra8`:\n - Pixel colors are decomposed into Blue, Green, Red, and Alpha channels.\n - Pixel channel values are represented as unsigned 8-bit integers.\n - Each output pixel is encoded as [B, G, R, Alpha].\n - `step` must be greater than or equal to `width` * 4.\n- `32FC1`:\n - Pixel brightness is represented as a single-channel, 32-bit little-endian IEEE 754 floating-point value, ranging from 0.0 (black) to 1.0 (white).\n - `step` must be greater than or equal to `width` * 4.\n- `bayer_rggb8`, `bayer_bggr8`, `bayer_gbrg8`, or `bayer_grbg8`:\n - Pixel colors are decomposed into Red, Blue and Green channels.\n - Pixel channel values are represented as unsigned 8-bit integers, and serialized in a 2x2 bayer filter pattern.\n - The order of the four letters after `bayer_` determine the layout, so for `bayer_wxyz8` the pattern is:\n ```plaintext\n w | x\n - + -\n y | z\n ```\n - `step` must be greater than or equal to `width`.\n- `mono8` or `8UC1`:\n - Pixel brightness is represented as unsigned 8-bit integers.\n - `step` must be greater than or equal to `width`.\n- `mono16` or `16UC1`:\n - Pixel brightness is represented as 16-bit unsigned little-endian integers. Rendering of these values is controlled in [Image panel color mode settings](https://docs.foxglove.dev/docs/visualization/panels/image#general).\n - `step` must be greater than or equal to `width` * 2.\n"
4712
6328
  }
4713
- }
6329
+ },
6330
+ "required": [
6331
+ "timestamp",
6332
+ "frame_id",
6333
+ "width",
6334
+ "height",
6335
+ "encoding",
6336
+ "step",
6337
+ "data"
6338
+ ]
4714
6339
  };
4715
6340
  exports.SpherePrimitive = {
4716
6341
  "title": "foxglove.SpherePrimitive",
@@ -4740,7 +6365,12 @@ exports.SpherePrimitive = {
4740
6365
  "type": "number",
4741
6366
  "description": "z coordinate length"
4742
6367
  }
4743
- }
6368
+ },
6369
+ "required": [
6370
+ "x",
6371
+ "y",
6372
+ "z"
6373
+ ]
4744
6374
  },
4745
6375
  "orientation": {
4746
6376
  "title": "foxglove.Quaternion",
@@ -4763,9 +6393,19 @@ exports.SpherePrimitive = {
4763
6393
  "type": "number",
4764
6394
  "description": "w value"
4765
6395
  }
4766
- }
6396
+ },
6397
+ "required": [
6398
+ "x",
6399
+ "y",
6400
+ "z",
6401
+ "w"
6402
+ ]
4767
6403
  }
4768
- }
6404
+ },
6405
+ "required": [
6406
+ "position",
6407
+ "orientation"
6408
+ ]
4769
6409
  },
4770
6410
  "size": {
4771
6411
  "title": "foxglove.Vector3",
@@ -4784,7 +6424,12 @@ exports.SpherePrimitive = {
4784
6424
  "type": "number",
4785
6425
  "description": "z coordinate length"
4786
6426
  }
4787
- }
6427
+ },
6428
+ "required": [
6429
+ "x",
6430
+ "y",
6431
+ "z"
6432
+ ]
4788
6433
  },
4789
6434
  "color": {
4790
6435
  "title": "foxglove.Color",
@@ -4807,9 +6452,20 @@ exports.SpherePrimitive = {
4807
6452
  "type": "number",
4808
6453
  "description": "Alpha value between 0 and 1"
4809
6454
  }
4810
- }
6455
+ },
6456
+ "required": [
6457
+ "r",
6458
+ "g",
6459
+ "b",
6460
+ "a"
6461
+ ]
4811
6462
  }
4812
- }
6463
+ },
6464
+ "required": [
6465
+ "pose",
6466
+ "size",
6467
+ "color"
6468
+ ]
4813
6469
  };
4814
6470
  exports.TextAnnotation = {
4815
6471
  "title": "foxglove.TextAnnotation",
@@ -4846,7 +6502,11 @@ exports.TextAnnotation = {
4846
6502
  "type": "number",
4847
6503
  "description": "y coordinate position"
4848
6504
  }
4849
- }
6505
+ },
6506
+ "required": [
6507
+ "x",
6508
+ "y"
6509
+ ]
4850
6510
  },
4851
6511
  "text": {
4852
6512
  "type": "string",
@@ -4877,7 +6537,13 @@ exports.TextAnnotation = {
4877
6537
  "type": "number",
4878
6538
  "description": "Alpha value between 0 and 1"
4879
6539
  }
4880
- }
6540
+ },
6541
+ "required": [
6542
+ "r",
6543
+ "g",
6544
+ "b",
6545
+ "a"
6546
+ ]
4881
6547
  },
4882
6548
  "background_color": {
4883
6549
  "title": "foxglove.Color",
@@ -4900,9 +6566,23 @@ exports.TextAnnotation = {
4900
6566
  "type": "number",
4901
6567
  "description": "Alpha value between 0 and 1"
4902
6568
  }
4903
- }
6569
+ },
6570
+ "required": [
6571
+ "r",
6572
+ "g",
6573
+ "b",
6574
+ "a"
6575
+ ]
4904
6576
  }
4905
- }
6577
+ },
6578
+ "required": [
6579
+ "timestamp",
6580
+ "position",
6581
+ "text",
6582
+ "font_size",
6583
+ "text_color",
6584
+ "background_color"
6585
+ ]
4906
6586
  };
4907
6587
  exports.TextPrimitive = {
4908
6588
  "title": "foxglove.TextPrimitive",
@@ -4932,7 +6612,12 @@ exports.TextPrimitive = {
4932
6612
  "type": "number",
4933
6613
  "description": "z coordinate length"
4934
6614
  }
4935
- }
6615
+ },
6616
+ "required": [
6617
+ "x",
6618
+ "y",
6619
+ "z"
6620
+ ]
4936
6621
  },
4937
6622
  "orientation": {
4938
6623
  "title": "foxglove.Quaternion",
@@ -4955,9 +6640,19 @@ exports.TextPrimitive = {
4955
6640
  "type": "number",
4956
6641
  "description": "w value"
4957
6642
  }
4958
- }
6643
+ },
6644
+ "required": [
6645
+ "x",
6646
+ "y",
6647
+ "z",
6648
+ "w"
6649
+ ]
4959
6650
  }
4960
- }
6651
+ },
6652
+ "required": [
6653
+ "position",
6654
+ "orientation"
6655
+ ]
4961
6656
  },
4962
6657
  "billboard": {
4963
6658
  "type": "boolean",
@@ -4992,13 +6687,27 @@ exports.TextPrimitive = {
4992
6687
  "type": "number",
4993
6688
  "description": "Alpha value between 0 and 1"
4994
6689
  }
4995
- }
6690
+ },
6691
+ "required": [
6692
+ "r",
6693
+ "g",
6694
+ "b",
6695
+ "a"
6696
+ ]
4996
6697
  },
4997
6698
  "text": {
4998
6699
  "type": "string",
4999
6700
  "description": "Text"
5000
6701
  }
5001
- }
6702
+ },
6703
+ "required": [
6704
+ "pose",
6705
+ "billboard",
6706
+ "font_size",
6707
+ "scale_invariant",
6708
+ "color",
6709
+ "text"
6710
+ ]
5002
6711
  };
5003
6712
  exports.Timestamp = {
5004
6713
  "title": "foxglove.Timestamp",
@@ -5016,7 +6725,11 @@ exports.Timestamp = {
5016
6725
  "minimum": 0,
5017
6726
  "description": "The number of nanoseconds since the sec value"
5018
6727
  }
5019
- }
6728
+ },
6729
+ "required": [
6730
+ "sec",
6731
+ "nsec"
6732
+ ]
5020
6733
  };
5021
6734
  exports.TriangleListPrimitive = {
5022
6735
  "title": "foxglove.TriangleListPrimitive",
@@ -5046,7 +6759,12 @@ exports.TriangleListPrimitive = {
5046
6759
  "type": "number",
5047
6760
  "description": "z coordinate length"
5048
6761
  }
5049
- }
6762
+ },
6763
+ "required": [
6764
+ "x",
6765
+ "y",
6766
+ "z"
6767
+ ]
5050
6768
  },
5051
6769
  "orientation": {
5052
6770
  "title": "foxglove.Quaternion",
@@ -5069,9 +6787,19 @@ exports.TriangleListPrimitive = {
5069
6787
  "type": "number",
5070
6788
  "description": "w value"
5071
6789
  }
5072
- }
6790
+ },
6791
+ "required": [
6792
+ "x",
6793
+ "y",
6794
+ "z",
6795
+ "w"
6796
+ ]
5073
6797
  }
5074
- }
6798
+ },
6799
+ "required": [
6800
+ "position",
6801
+ "orientation"
6802
+ ]
5075
6803
  },
5076
6804
  "points": {
5077
6805
  "type": "array",
@@ -5092,13 +6820,18 @@ exports.TriangleListPrimitive = {
5092
6820
  "type": "number",
5093
6821
  "description": "z coordinate position"
5094
6822
  }
5095
- }
6823
+ },
6824
+ "required": [
6825
+ "x",
6826
+ "y",
6827
+ "z"
6828
+ ]
5096
6829
  },
5097
6830
  "description": "Vertices to use for triangles, interpreted as a list of triples (0-1-2, 3-4-5, ...)"
5098
6831
  },
5099
6832
  "color": {
5100
6833
  "title": "foxglove.Color",
5101
- "description": "Solid color to use for the whole shape. One of `color` or `colors` must be provided.",
6834
+ "description": "Solid color to use for the whole shape. Ignored if `colors` is non-empty.",
5102
6835
  "type": "object",
5103
6836
  "properties": {
5104
6837
  "r": {
@@ -5117,7 +6850,13 @@ exports.TriangleListPrimitive = {
5117
6850
  "type": "number",
5118
6851
  "description": "Alpha value between 0 and 1"
5119
6852
  }
5120
- }
6853
+ },
6854
+ "required": [
6855
+ "r",
6856
+ "g",
6857
+ "b",
6858
+ "a"
6859
+ ]
5121
6860
  },
5122
6861
  "colors": {
5123
6862
  "type": "array",
@@ -5142,9 +6881,15 @@ exports.TriangleListPrimitive = {
5142
6881
  "type": "number",
5143
6882
  "description": "Alpha value between 0 and 1"
5144
6883
  }
5145
- }
6884
+ },
6885
+ "required": [
6886
+ "r",
6887
+ "g",
6888
+ "b",
6889
+ "a"
6890
+ ]
5146
6891
  },
5147
- "description": "Per-vertex colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided."
6892
+ "description": "Per-vertex colors (if specified, must have the same length as `points`)."
5148
6893
  },
5149
6894
  "indices": {
5150
6895
  "type": "array",
@@ -5154,7 +6899,14 @@ exports.TriangleListPrimitive = {
5154
6899
  },
5155
6900
  "description": "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)."
5156
6901
  }
5157
- }
6902
+ },
6903
+ "required": [
6904
+ "pose",
6905
+ "points",
6906
+ "color",
6907
+ "colors",
6908
+ "indices"
6909
+ ]
5158
6910
  };
5159
6911
  exports.Vector2 = {
5160
6912
  "title": "foxglove.Vector2",
@@ -5170,7 +6922,11 @@ exports.Vector2 = {
5170
6922
  "type": "number",
5171
6923
  "description": "y coordinate length"
5172
6924
  }
5173
- }
6925
+ },
6926
+ "required": [
6927
+ "x",
6928
+ "y"
6929
+ ]
5174
6930
  };
5175
6931
  exports.Vector3 = {
5176
6932
  "title": "foxglove.Vector3",
@@ -5190,7 +6946,12 @@ exports.Vector3 = {
5190
6946
  "type": "number",
5191
6947
  "description": "z coordinate length"
5192
6948
  }
5193
- }
6949
+ },
6950
+ "required": [
6951
+ "x",
6952
+ "y",
6953
+ "z"
6954
+ ]
5194
6955
  };
5195
6956
  exports.Time = exports.Timestamp;
5196
6957
  //# sourceMappingURL=index.js.map