@foxglove/schemas 1.6.2 → 1.6.3
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.
- package/.github/workflows/ci.yml +11 -12
- package/.vscode/settings.json +2 -6
- package/README.md +11 -11
- package/internal/__snapshots__/exportTypeScriptSchemas.test.ts.snap +14 -5
- package/internal/generateFlatbufferSchema.d.ts +2 -2
- package/internal/generateFlatbufferSchema.d.ts.map +1 -1
- package/internal/generateFlatbufferSchema.js +4 -4
- package/internal/generateFlatbufferSchema.js.map +1 -1
- package/internal/generateFlatbufferSchema.test.js +25 -25
- package/internal/generateFlatbufferSchema.test.ts +25 -25
- package/internal/generateFlatbufferSchema.ts +4 -4
- package/internal/generateMarkdown.js +1 -1
- package/internal/generateMarkdown.ts +1 -1
- package/internal/generateRos.js +2 -2
- package/internal/generateRos.js.map +1 -1
- package/internal/generateRos.ts +2 -2
- package/internal/generateTypeScript.d.ts +1 -1
- package/internal/generateTypeScript.ts +1 -1
- package/internal/schemas.d.ts.map +1 -1
- package/internal/schemas.js +5 -5
- package/internal/schemas.js.map +1 -1
- package/internal/schemas.ts +8 -5
- package/package.json +1 -1
- package/python/Makefile +1 -0
- package/python/foxglove-schemas-flatbuffer/README.md +2 -2
- package/python/foxglove-schemas-flatbuffer/setup.cfg +1 -1
- package/python/foxglove-schemas-protobuf/README.md +2 -2
- package/python/foxglove-schemas-protobuf/setup.cfg +1 -1
- package/schemas/README.md +9 -6
- package/schemas/flatbuffer/ArrowPrimitive.fbs +6 -6
- package/schemas/flatbuffer/ByteVector.fbs +1 -1
- package/schemas/flatbuffer/CameraCalibration.fbs +10 -10
- package/schemas/flatbuffer/CircleAnnotation.fbs +8 -7
- package/schemas/flatbuffer/Color.fbs +4 -4
- package/schemas/flatbuffer/CompressedImage.fbs +4 -4
- package/schemas/flatbuffer/CompressedVideo.fbs +5 -5
- package/schemas/flatbuffer/CubePrimitive.fbs +3 -3
- package/schemas/flatbuffer/CylinderPrimitive.fbs +5 -5
- package/schemas/flatbuffer/Duration.fbs +1 -1
- package/schemas/flatbuffer/FrameTransform.fbs +5 -5
- package/schemas/flatbuffer/FrameTransforms.fbs +1 -1
- package/schemas/flatbuffer/GeoJSON.fbs +1 -1
- package/schemas/flatbuffer/Grid.fbs +9 -9
- package/schemas/flatbuffer/ImageAnnotations.fbs +3 -3
- package/schemas/flatbuffer/KeyValuePair.fbs +2 -2
- package/schemas/flatbuffer/LaserScan.fbs +7 -7
- package/schemas/flatbuffer/LinePrimitive.fbs +8 -8
- package/schemas/flatbuffer/LocationFix.fbs +7 -7
- package/schemas/flatbuffer/Log.fbs +6 -6
- package/schemas/flatbuffer/ModelPrimitive.fbs +7 -7
- package/schemas/flatbuffer/PackedElementField.fbs +3 -3
- package/schemas/flatbuffer/Point2.fbs +2 -2
- package/schemas/flatbuffer/Point3.fbs +3 -3
- package/schemas/flatbuffer/PointCloud.fbs +6 -6
- package/schemas/flatbuffer/PointsAnnotation.fbs +9 -8
- package/schemas/flatbuffer/Pose.fbs +2 -2
- package/schemas/flatbuffer/PoseInFrame.fbs +3 -3
- package/schemas/flatbuffer/PosesInFrame.fbs +3 -3
- package/schemas/flatbuffer/Quaternion.fbs +4 -4
- package/schemas/flatbuffer/RawImage.fbs +7 -7
- package/schemas/flatbuffer/SceneEntity.fbs +14 -14
- package/schemas/flatbuffer/SceneEntityDeletion.fbs +3 -3
- package/schemas/flatbuffer/SceneUpdate.fbs +2 -2
- package/schemas/flatbuffer/SpherePrimitive.fbs +3 -3
- package/schemas/flatbuffer/TextAnnotation.fbs +8 -7
- package/schemas/flatbuffer/TextPrimitive.fbs +6 -6
- package/schemas/flatbuffer/TriangleListPrimitive.fbs +5 -5
- package/schemas/flatbuffer/Vector2.fbs +2 -2
- package/schemas/flatbuffer/Vector3.fbs +3 -3
- package/schemas/jsonschema/CameraCalibration.json +1 -1
- package/schemas/jsonschema/CircleAnnotation.json +1 -1
- package/schemas/jsonschema/CompressedVideo.json +1 -1
- package/schemas/jsonschema/ImageAnnotations.json +3 -3
- package/schemas/jsonschema/PointsAnnotation.json +1 -1
- package/schemas/jsonschema/TextAnnotation.json +1 -1
- package/schemas/jsonschema/index.js +8 -8
- package/schemas/jsonschema/index.js.map +1 -1
- package/schemas/jsonschema/index.ts +8 -8
- package/schemas/omgidl/foxglove/CameraCalibration.idl +1 -1
- package/schemas/omgidl/foxglove/CircleAnnotation.idl +2 -1
- package/schemas/omgidl/foxglove/CompressedVideo.idl +1 -1
- package/schemas/omgidl/foxglove/PointsAnnotation.idl +2 -1
- package/schemas/omgidl/foxglove/TextAnnotation.idl +2 -1
- package/schemas/proto/foxglove/CameraCalibration.proto +1 -1
- package/schemas/proto/foxglove/CircleAnnotation.proto +2 -1
- package/schemas/proto/foxglove/CompressedVideo.proto +1 -1
- package/schemas/proto/foxglove/PointsAnnotation.proto +2 -1
- package/schemas/proto/foxglove/TextAnnotation.proto +2 -1
- package/schemas/ros1/CameraCalibration.msg +1 -1
- package/schemas/ros1/CircleAnnotation.msg +2 -1
- package/schemas/ros1/CompressedVideo.msg +1 -1
- package/schemas/ros1/PointsAnnotation.msg +2 -1
- package/schemas/ros1/TextAnnotation.msg +2 -1
- package/schemas/ros2/CameraCalibration.msg +1 -1
- package/schemas/ros2/CircleAnnotation.msg +2 -1
- package/schemas/ros2/CompressedVideo.msg +1 -1
- package/schemas/ros2/PointsAnnotation.msg +2 -1
- package/schemas/ros2/TextAnnotation.msg +2 -1
- package/schemas/typescript/CameraCalibration.d.ts +1 -1
- package/schemas/typescript/CameraCalibration.ts +1 -1
- package/schemas/typescript/CircleAnnotation.d.ts +4 -1
- package/schemas/typescript/CircleAnnotation.d.ts.map +1 -1
- package/schemas/typescript/CircleAnnotation.ts +4 -1
- package/schemas/typescript/CompressedVideo.d.ts +1 -1
- package/schemas/typescript/CompressedVideo.ts +1 -1
- package/schemas/typescript/PointsAnnotation.d.ts +4 -1
- package/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
- package/schemas/typescript/PointsAnnotation.ts +4 -1
- package/schemas/typescript/TextAnnotation.d.ts +4 -1
- package/schemas/typescript/TextAnnotation.d.ts.map +1 -1
- package/schemas/typescript/TextAnnotation.ts +4 -1
|
@@ -9,19 +9,19 @@ namespace foxglove;
|
|
|
9
9
|
/// A primitive representing a cylinder, elliptic cylinder, or truncated cone
|
|
10
10
|
table CylinderPrimitive {
|
|
11
11
|
/// Position of the center of the cylinder and orientation of the cylinder. The flat face(s) are perpendicular to the z-axis.
|
|
12
|
-
pose:foxglove.Pose;
|
|
12
|
+
pose:foxglove.Pose (id: 0);
|
|
13
13
|
|
|
14
14
|
/// Size of the cylinder's bounding box
|
|
15
|
-
size:foxglove.Vector3;
|
|
15
|
+
size:foxglove.Vector3 (id: 1);
|
|
16
16
|
|
|
17
17
|
/// 0-1, ratio of the diameter of the cylinder's bottom face (min z) to the bottom of the bounding box
|
|
18
|
-
bottom_scale:double;
|
|
18
|
+
bottom_scale:double (id: 2);
|
|
19
19
|
|
|
20
20
|
/// 0-1, ratio of the diameter of the cylinder's top face (max z) to the top of the bounding box
|
|
21
|
-
top_scale:double;
|
|
21
|
+
top_scale:double (id: 3);
|
|
22
22
|
|
|
23
23
|
/// Color of the cylinder
|
|
24
|
-
color:foxglove.Color;
|
|
24
|
+
color:foxglove.Color (id: 4);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
root_type CylinderPrimitive;
|
|
@@ -4,7 +4,7 @@ namespace foxglove;
|
|
|
4
4
|
struct Duration {
|
|
5
5
|
/// Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
|
|
6
6
|
sec:int32;
|
|
7
|
-
/// if sec === 0 : -999,999,999 <= nsec <= +999,999,999
|
|
7
|
+
/// if sec === 0 : -999,999,999 <= nsec <= +999,999,999
|
|
8
8
|
/// otherwise sign of sec must match sign of nsec or be 0 and abs(nsec) <= 999,999,999
|
|
9
9
|
nsec:int32;
|
|
10
10
|
}
|
|
@@ -9,19 +9,19 @@ namespace foxglove;
|
|
|
9
9
|
/// A transform between two reference frames in 3D space
|
|
10
10
|
table FrameTransform {
|
|
11
11
|
/// Timestamp of transform
|
|
12
|
-
timestamp:Time;
|
|
12
|
+
timestamp:Time (id: 0);
|
|
13
13
|
|
|
14
14
|
/// Name of the parent frame
|
|
15
|
-
parent_frame_id:string;
|
|
15
|
+
parent_frame_id:string (id: 1);
|
|
16
16
|
|
|
17
17
|
/// Name of the child frame
|
|
18
|
-
child_frame_id:string;
|
|
18
|
+
child_frame_id:string (id: 2);
|
|
19
19
|
|
|
20
20
|
/// Translation component of the transform
|
|
21
|
-
translation:foxglove.Vector3;
|
|
21
|
+
translation:foxglove.Vector3 (id: 3);
|
|
22
22
|
|
|
23
23
|
/// Rotation component of the transform
|
|
24
|
-
rotation:foxglove.Quaternion;
|
|
24
|
+
rotation:foxglove.Quaternion (id: 4);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
root_type FrameTransform;
|
|
@@ -10,31 +10,31 @@ namespace foxglove;
|
|
|
10
10
|
/// A 2D grid of data
|
|
11
11
|
table Grid {
|
|
12
12
|
/// Timestamp of grid
|
|
13
|
-
timestamp:Time;
|
|
13
|
+
timestamp:Time (id: 0);
|
|
14
14
|
|
|
15
15
|
/// Frame of reference
|
|
16
|
-
frame_id:string;
|
|
16
|
+
frame_id:string (id: 1);
|
|
17
17
|
|
|
18
18
|
/// Origin of grid's corner relative to frame of reference; grid is positioned in the x-y plane relative to this origin
|
|
19
|
-
pose:foxglove.Pose;
|
|
19
|
+
pose:foxglove.Pose (id: 2);
|
|
20
20
|
|
|
21
21
|
/// Number of grid columns
|
|
22
|
-
column_count:uint32;
|
|
22
|
+
column_count:uint32 (id: 3);
|
|
23
23
|
|
|
24
24
|
/// Size of single grid cell along x and y axes, relative to `pose`
|
|
25
|
-
cell_size:foxglove.Vector2;
|
|
25
|
+
cell_size:foxglove.Vector2 (id: 4);
|
|
26
26
|
|
|
27
27
|
/// Number of bytes between rows in `data`
|
|
28
|
-
row_stride:uint32;
|
|
28
|
+
row_stride:uint32 (id: 5);
|
|
29
29
|
|
|
30
30
|
/// Number of bytes between cells within a row in `data`
|
|
31
|
-
cell_stride:uint32;
|
|
31
|
+
cell_stride:uint32 (id: 6);
|
|
32
32
|
|
|
33
33
|
/// Fields in `data`. `red`, `green`, `blue`, and `alpha` are optional for customizing the grid's color.
|
|
34
|
-
fields:[foxglove.PackedElementField];
|
|
34
|
+
fields:[foxglove.PackedElementField] (id: 7);
|
|
35
35
|
|
|
36
36
|
/// Grid cell data, interpreted using `fields`, in row-major (y-major) order
|
|
37
|
-
data:[uint8];
|
|
37
|
+
data:[uint8] (id: 8);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
root_type Grid;
|
|
@@ -9,13 +9,13 @@ namespace foxglove;
|
|
|
9
9
|
/// Array of annotations for a 2D image
|
|
10
10
|
table ImageAnnotations {
|
|
11
11
|
/// Circle annotations
|
|
12
|
-
circles:[foxglove.CircleAnnotation];
|
|
12
|
+
circles:[foxglove.CircleAnnotation] (id: 0);
|
|
13
13
|
|
|
14
14
|
/// Points annotations
|
|
15
|
-
points:[foxglove.PointsAnnotation];
|
|
15
|
+
points:[foxglove.PointsAnnotation] (id: 1);
|
|
16
16
|
|
|
17
17
|
/// Text annotations
|
|
18
|
-
texts:[foxglove.TextAnnotation];
|
|
18
|
+
texts:[foxglove.TextAnnotation] (id: 2);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
root_type ImageAnnotations;
|
|
@@ -8,25 +8,25 @@ namespace foxglove;
|
|
|
8
8
|
/// A single scan from a planar laser range-finder
|
|
9
9
|
table LaserScan {
|
|
10
10
|
/// Timestamp of scan
|
|
11
|
-
timestamp:Time;
|
|
11
|
+
timestamp:Time (id: 0);
|
|
12
12
|
|
|
13
13
|
/// Frame of reference
|
|
14
|
-
frame_id:string;
|
|
14
|
+
frame_id:string (id: 1);
|
|
15
15
|
|
|
16
16
|
/// Origin of scan relative to frame of reference; points are positioned in the x-y plane relative to this origin; angles are interpreted as counterclockwise rotations around the z axis with 0 rad being in the +x direction
|
|
17
|
-
pose:foxglove.Pose;
|
|
17
|
+
pose:foxglove.Pose (id: 2);
|
|
18
18
|
|
|
19
19
|
/// Bearing of first point, in radians
|
|
20
|
-
start_angle:double;
|
|
20
|
+
start_angle:double (id: 3);
|
|
21
21
|
|
|
22
22
|
/// Bearing of last point, in radians
|
|
23
|
-
end_angle:double;
|
|
23
|
+
end_angle:double (id: 4);
|
|
24
24
|
|
|
25
25
|
/// Distance of detections from origin; assumed to be at equally-spaced angles between `start_angle` and `end_angle`
|
|
26
|
-
ranges:[double];
|
|
26
|
+
ranges:[double] (id: 5);
|
|
27
27
|
|
|
28
28
|
/// Intensity of detections
|
|
29
|
-
intensities:[double];
|
|
29
|
+
intensities:[double] (id: 6);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
root_type LaserScan;
|
|
@@ -20,30 +20,30 @@ enum LineType : ubyte {
|
|
|
20
20
|
/// A primitive representing a series of points connected by lines
|
|
21
21
|
table LinePrimitive {
|
|
22
22
|
/// Drawing primitive to use for lines
|
|
23
|
-
type:LineType;
|
|
23
|
+
type:LineType (id: 0);
|
|
24
24
|
|
|
25
25
|
/// Origin of lines relative to reference frame
|
|
26
|
-
pose:foxglove.Pose;
|
|
26
|
+
pose:foxglove.Pose (id: 1);
|
|
27
27
|
|
|
28
28
|
/// Line thickness
|
|
29
|
-
thickness:double;
|
|
29
|
+
thickness:double (id: 2);
|
|
30
30
|
|
|
31
31
|
/// Indicates whether `thickness` is a fixed size in screen pixels (true), or specified in world coordinates and scales with distance from the camera (false)
|
|
32
|
-
scale_invariant:bool;
|
|
32
|
+
scale_invariant:bool (id: 3);
|
|
33
33
|
|
|
34
34
|
/// Points along the line
|
|
35
|
-
points:[foxglove.Point3];
|
|
35
|
+
points:[foxglove.Point3] (id: 4);
|
|
36
36
|
|
|
37
37
|
/// Solid color to use for the whole line. One of `color` or `colors` must be provided.
|
|
38
|
-
color:foxglove.Color;
|
|
38
|
+
color:foxglove.Color (id: 5);
|
|
39
39
|
|
|
40
40
|
/// Per-point colors (if specified, must have the same length as `points`). One of `color` or `colors` must be provided.
|
|
41
|
-
colors:[foxglove.Color];
|
|
41
|
+
colors:[foxglove.Color] (id: 6);
|
|
42
42
|
|
|
43
43
|
/// Indices into the `points` and `colors` attribute arrays, which can be used to avoid duplicating attribute data.
|
|
44
44
|
///
|
|
45
45
|
/// If omitted or empty, indexing will not be used. This default behavior is equivalent to specifying [0, 1, ..., N-1] for the indices (where N is the number of `points` provided).
|
|
46
|
-
indices:[uint32];
|
|
46
|
+
indices:[uint32] (id: 7);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
root_type LinePrimitive;
|
|
@@ -17,26 +17,26 @@ enum PositionCovarianceType : ubyte {
|
|
|
17
17
|
/// A navigation satellite fix for any Global Navigation Satellite System
|
|
18
18
|
table LocationFix {
|
|
19
19
|
/// Timestamp of the message
|
|
20
|
-
timestamp:Time;
|
|
20
|
+
timestamp:Time (id: 0);
|
|
21
21
|
|
|
22
22
|
/// Frame for the sensor. Latitude and longitude readings are at the origin of the frame.
|
|
23
|
-
frame_id:string;
|
|
23
|
+
frame_id:string (id: 1);
|
|
24
24
|
|
|
25
25
|
/// Latitude in degrees
|
|
26
|
-
latitude:double;
|
|
26
|
+
latitude:double (id: 2);
|
|
27
27
|
|
|
28
28
|
/// Longitude in degrees
|
|
29
|
-
longitude:double;
|
|
29
|
+
longitude:double (id: 3);
|
|
30
30
|
|
|
31
31
|
/// Altitude in meters
|
|
32
|
-
altitude:double;
|
|
32
|
+
altitude:double (id: 4);
|
|
33
33
|
|
|
34
34
|
/// 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.
|
|
35
35
|
/// length 9
|
|
36
|
-
position_covariance:[double];
|
|
36
|
+
position_covariance:[double] (id: 5);
|
|
37
37
|
|
|
38
38
|
/// If `position_covariance` is available, `position_covariance_type` must be set to indicate the type of covariance.
|
|
39
|
-
position_covariance_type:PositionCovarianceType;
|
|
39
|
+
position_covariance_type:PositionCovarianceType (id: 6);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
root_type LocationFix;
|
|
@@ -21,22 +21,22 @@ enum LogLevel : ubyte {
|
|
|
21
21
|
/// A log message
|
|
22
22
|
table Log {
|
|
23
23
|
/// Timestamp of log message
|
|
24
|
-
timestamp:Time;
|
|
24
|
+
timestamp:Time (id: 0);
|
|
25
25
|
|
|
26
26
|
/// Log level
|
|
27
|
-
level:LogLevel;
|
|
27
|
+
level:LogLevel (id: 1);
|
|
28
28
|
|
|
29
29
|
/// Log message
|
|
30
|
-
message:string;
|
|
30
|
+
message:string (id: 2);
|
|
31
31
|
|
|
32
32
|
/// Process or node name
|
|
33
|
-
name:string;
|
|
33
|
+
name:string (id: 3);
|
|
34
34
|
|
|
35
35
|
/// Filename
|
|
36
|
-
file:string;
|
|
36
|
+
file:string (id: 4);
|
|
37
37
|
|
|
38
38
|
/// Line number in the file
|
|
39
|
-
line:uint32;
|
|
39
|
+
line:uint32 (id: 5);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
root_type Log;
|
|
@@ -9,25 +9,25 @@ namespace foxglove;
|
|
|
9
9
|
/// A primitive representing a 3D model file loaded from an external URL or embedded data
|
|
10
10
|
table ModelPrimitive {
|
|
11
11
|
/// Origin of model relative to reference frame
|
|
12
|
-
pose:foxglove.Pose;
|
|
12
|
+
pose:foxglove.Pose (id: 0);
|
|
13
13
|
|
|
14
14
|
/// Scale factor to apply to the model along each axis
|
|
15
|
-
scale:foxglove.Vector3;
|
|
15
|
+
scale:foxglove.Vector3 (id: 1);
|
|
16
16
|
|
|
17
17
|
/// Solid color to use for the whole model if `override_color` is true.
|
|
18
|
-
color:foxglove.Color;
|
|
18
|
+
color:foxglove.Color (id: 2);
|
|
19
19
|
|
|
20
20
|
/// Whether to use the color specified in `color` instead of any materials embedded in the original model.
|
|
21
|
-
override_color:bool;
|
|
21
|
+
override_color:bool (id: 3);
|
|
22
22
|
|
|
23
23
|
/// URL pointing to model file. One of `url` or `data` should be provided.
|
|
24
|
-
url:string;
|
|
24
|
+
url:string (id: 4);
|
|
25
25
|
|
|
26
26
|
/// [Media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of embedded model (e.g. `model/gltf-binary`). Required if `data` is provided instead of `url`. Overrides the inferred media type if `url` is provided.
|
|
27
|
-
media_type:string;
|
|
27
|
+
media_type:string (id: 5);
|
|
28
28
|
|
|
29
29
|
/// 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.
|
|
30
|
-
data:[uint8];
|
|
30
|
+
data:[uint8] (id: 6);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
root_type ModelPrimitive;
|
|
@@ -25,13 +25,13 @@ enum NumericType : ubyte {
|
|
|
25
25
|
/// A field present within each element in a byte array of packed elements.
|
|
26
26
|
table PackedElementField {
|
|
27
27
|
/// Name of the field
|
|
28
|
-
name:string;
|
|
28
|
+
name:string (id: 0);
|
|
29
29
|
|
|
30
30
|
/// Byte offset from start of data buffer
|
|
31
|
-
offset:uint32;
|
|
31
|
+
offset:uint32 (id: 1);
|
|
32
32
|
|
|
33
33
|
/// Type of data in the field. Integers are stored using little-endian byte order.
|
|
34
|
-
type:NumericType;
|
|
34
|
+
type:NumericType (id: 2);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
root_type PackedElementField;
|
|
@@ -5,13 +5,13 @@ namespace foxglove;
|
|
|
5
5
|
/// A point representing a position in 3D space
|
|
6
6
|
table Point3 {
|
|
7
7
|
/// x coordinate position
|
|
8
|
-
x:double;
|
|
8
|
+
x:double (id: 0);
|
|
9
9
|
|
|
10
10
|
/// y coordinate position
|
|
11
|
-
y:double;
|
|
11
|
+
y:double (id: 1);
|
|
12
12
|
|
|
13
13
|
/// z coordinate position
|
|
14
|
-
z:double;
|
|
14
|
+
z:double (id: 2);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
root_type Point3;
|
|
@@ -9,22 +9,22 @@ namespace foxglove;
|
|
|
9
9
|
/// A collection of N-dimensional points, which may contain additional fields with information like normals, intensity, etc.
|
|
10
10
|
table PointCloud {
|
|
11
11
|
/// Timestamp of point cloud
|
|
12
|
-
timestamp:Time;
|
|
12
|
+
timestamp:Time (id: 0);
|
|
13
13
|
|
|
14
14
|
/// Frame of reference
|
|
15
|
-
frame_id:string;
|
|
15
|
+
frame_id:string (id: 1);
|
|
16
16
|
|
|
17
17
|
/// The origin of the point cloud relative to the frame of reference
|
|
18
|
-
pose:foxglove.Pose;
|
|
18
|
+
pose:foxglove.Pose (id: 2);
|
|
19
19
|
|
|
20
20
|
/// Number of bytes between points in the `data`
|
|
21
|
-
point_stride:uint32;
|
|
21
|
+
point_stride:uint32 (id: 3);
|
|
22
22
|
|
|
23
23
|
/// 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.
|
|
24
|
-
fields:[foxglove.PackedElementField];
|
|
24
|
+
fields:[foxglove.PackedElementField] (id: 4);
|
|
25
25
|
|
|
26
26
|
/// Point data, interpreted using `fields`
|
|
27
|
-
data:[uint8];
|
|
27
|
+
data:[uint8] (id: 5);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
root_type PointCloud;
|
|
@@ -25,25 +25,26 @@ enum PointsAnnotationType : ubyte {
|
|
|
25
25
|
/// An array of points on a 2D image
|
|
26
26
|
table PointsAnnotation {
|
|
27
27
|
/// Timestamp of annotation
|
|
28
|
-
timestamp:Time;
|
|
28
|
+
timestamp:Time (id: 0);
|
|
29
29
|
|
|
30
30
|
/// Type of points annotation to draw
|
|
31
|
-
type:PointsAnnotationType;
|
|
31
|
+
type:PointsAnnotationType (id: 1);
|
|
32
32
|
|
|
33
|
-
/// Points in 2D image coordinates (pixels)
|
|
34
|
-
|
|
33
|
+
/// Points in 2D image coordinates (pixels).
|
|
34
|
+
/// These coordinates use the top-left corner of the top-left pixel of the image as the origin.
|
|
35
|
+
points:[foxglove.Point2] (id: 2);
|
|
35
36
|
|
|
36
37
|
/// Outline color
|
|
37
|
-
outline_color:foxglove.Color;
|
|
38
|
+
outline_color:foxglove.Color (id: 3);
|
|
38
39
|
|
|
39
40
|
/// Per-point colors, if `type` is `POINTS`, or per-segment stroke colors, if `type` is `LINE_LIST`, `LINE_STRIP` or `LINE_LOOP`.
|
|
40
|
-
outline_colors:[foxglove.Color];
|
|
41
|
+
outline_colors:[foxglove.Color] (id: 4);
|
|
41
42
|
|
|
42
43
|
/// Fill color
|
|
43
|
-
fill_color:foxglove.Color;
|
|
44
|
+
fill_color:foxglove.Color (id: 5);
|
|
44
45
|
|
|
45
46
|
/// Stroke thickness in pixels
|
|
46
|
-
thickness:double;
|
|
47
|
+
thickness:double (id: 6);
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
root_type PointsAnnotation;
|
|
@@ -8,10 +8,10 @@ namespace foxglove;
|
|
|
8
8
|
/// A position and orientation for an object or reference frame in 3D space
|
|
9
9
|
table Pose {
|
|
10
10
|
/// Point denoting position in 3D space
|
|
11
|
-
position:foxglove.Vector3;
|
|
11
|
+
position:foxglove.Vector3 (id: 0);
|
|
12
12
|
|
|
13
13
|
/// Quaternion denoting orientation in 3D space
|
|
14
|
-
orientation:foxglove.Quaternion;
|
|
14
|
+
orientation:foxglove.Quaternion (id: 1);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
root_type Pose;
|
|
@@ -8,13 +8,13 @@ namespace foxglove;
|
|
|
8
8
|
/// A timestamped pose for an object or reference frame in 3D space
|
|
9
9
|
table PoseInFrame {
|
|
10
10
|
/// Timestamp of pose
|
|
11
|
-
timestamp:Time;
|
|
11
|
+
timestamp:Time (id: 0);
|
|
12
12
|
|
|
13
13
|
/// Frame of reference for pose position and orientation
|
|
14
|
-
frame_id:string;
|
|
14
|
+
frame_id:string (id: 1);
|
|
15
15
|
|
|
16
16
|
/// Pose in 3D space
|
|
17
|
-
pose:foxglove.Pose;
|
|
17
|
+
pose:foxglove.Pose (id: 2);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
root_type PoseInFrame;
|
|
@@ -8,13 +8,13 @@ namespace foxglove;
|
|
|
8
8
|
/// An array of timestamped poses for an object or reference frame in 3D space
|
|
9
9
|
table PosesInFrame {
|
|
10
10
|
/// Timestamp of pose
|
|
11
|
-
timestamp:Time;
|
|
11
|
+
timestamp:Time (id: 0);
|
|
12
12
|
|
|
13
13
|
/// Frame of reference for pose position and orientation
|
|
14
|
-
frame_id:string;
|
|
14
|
+
frame_id:string (id: 1);
|
|
15
15
|
|
|
16
16
|
/// Poses in 3D space
|
|
17
|
-
poses:[foxglove.Pose];
|
|
17
|
+
poses:[foxglove.Pose] (id: 2);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
root_type PosesInFrame;
|
|
@@ -5,16 +5,16 @@ namespace foxglove;
|
|
|
5
5
|
/// A [quaternion](https://eater.net/quaternions) representing a rotation in 3D space
|
|
6
6
|
table Quaternion {
|
|
7
7
|
/// x value
|
|
8
|
-
x:double;
|
|
8
|
+
x:double (id: 0);
|
|
9
9
|
|
|
10
10
|
/// y value
|
|
11
|
-
y:double;
|
|
11
|
+
y:double (id: 1);
|
|
12
12
|
|
|
13
13
|
/// z value
|
|
14
|
-
z:double;
|
|
14
|
+
z:double (id: 2);
|
|
15
15
|
|
|
16
16
|
/// w value
|
|
17
|
-
w:double = 1.0;
|
|
17
|
+
w:double = 1.0 (id: 3);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
root_type Quaternion;
|
|
@@ -7,27 +7,27 @@ namespace foxglove;
|
|
|
7
7
|
/// A raw image
|
|
8
8
|
table RawImage {
|
|
9
9
|
/// Timestamp of image
|
|
10
|
-
timestamp:Time;
|
|
10
|
+
timestamp:Time (id: 0);
|
|
11
11
|
|
|
12
12
|
/// Frame of reference for the image. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image.
|
|
13
|
-
frame_id:string;
|
|
13
|
+
frame_id:string (id: 1);
|
|
14
14
|
|
|
15
15
|
/// Image width
|
|
16
|
-
width:uint32;
|
|
16
|
+
width:uint32 (id: 2);
|
|
17
17
|
|
|
18
18
|
/// Image height
|
|
19
|
-
height:uint32;
|
|
19
|
+
height:uint32 (id: 3);
|
|
20
20
|
|
|
21
21
|
/// Encoding of the raw image data
|
|
22
22
|
///
|
|
23
23
|
/// Supported values: `8UC1`, `8UC3`, `16UC1`, `32FC1`, `bayer_bggr8`, `bayer_gbrg8`, `bayer_grbg8`, `bayer_rggb8`, `bgr8`, `bgra8`, `mono8`, `mono16`, `rgb8`, `rgba8`, `uyvy` or `yuv422`, `yuyv` or `yuv422_yuy2`
|
|
24
|
-
encoding:string;
|
|
24
|
+
encoding:string (id: 4);
|
|
25
25
|
|
|
26
26
|
/// Byte length of a single row
|
|
27
|
-
step:uint32;
|
|
27
|
+
step:uint32 (id: 5);
|
|
28
28
|
|
|
29
29
|
/// Raw image data
|
|
30
|
-
data:[uint8];
|
|
30
|
+
data:[uint8] (id: 6);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
root_type RawImage;
|
|
@@ -17,46 +17,46 @@ namespace foxglove;
|
|
|
17
17
|
/// A visual element in a 3D scene. An entity may be composed of multiple primitives which all share the same frame of reference.
|
|
18
18
|
table SceneEntity {
|
|
19
19
|
/// Timestamp of the entity
|
|
20
|
-
timestamp:Time;
|
|
20
|
+
timestamp:Time (id: 0);
|
|
21
21
|
|
|
22
22
|
/// Frame of reference
|
|
23
|
-
frame_id:string;
|
|
23
|
+
frame_id:string (id: 1);
|
|
24
24
|
|
|
25
25
|
/// Identifier for the entity. A entity will replace any prior entity on the same topic with the same `id`.
|
|
26
|
-
id:string;
|
|
26
|
+
id:string (id: 2);
|
|
27
27
|
|
|
28
28
|
/// Length of time (relative to `timestamp`) after which the entity should be automatically removed. Zero value indicates the entity should remain visible until it is replaced or deleted.
|
|
29
|
-
lifetime:Duration;
|
|
29
|
+
lifetime:Duration (id: 3);
|
|
30
30
|
|
|
31
31
|
/// Whether the entity should keep its location in the fixed frame (false) or follow the frame specified in `frame_id` as it moves relative to the fixed frame (true)
|
|
32
|
-
frame_locked:bool;
|
|
32
|
+
frame_locked:bool (id: 4);
|
|
33
33
|
|
|
34
34
|
/// Additional user-provided metadata associated with the entity. Keys must be unique.
|
|
35
|
-
metadata:[foxglove.KeyValuePair];
|
|
35
|
+
metadata:[foxglove.KeyValuePair] (id: 5);
|
|
36
36
|
|
|
37
37
|
/// Arrow primitives
|
|
38
|
-
arrows:[foxglove.ArrowPrimitive];
|
|
38
|
+
arrows:[foxglove.ArrowPrimitive] (id: 6);
|
|
39
39
|
|
|
40
40
|
/// Cube primitives
|
|
41
|
-
cubes:[foxglove.CubePrimitive];
|
|
41
|
+
cubes:[foxglove.CubePrimitive] (id: 7);
|
|
42
42
|
|
|
43
43
|
/// Sphere primitives
|
|
44
|
-
spheres:[foxglove.SpherePrimitive];
|
|
44
|
+
spheres:[foxglove.SpherePrimitive] (id: 8);
|
|
45
45
|
|
|
46
46
|
/// Cylinder primitives
|
|
47
|
-
cylinders:[foxglove.CylinderPrimitive];
|
|
47
|
+
cylinders:[foxglove.CylinderPrimitive] (id: 9);
|
|
48
48
|
|
|
49
49
|
/// Line primitives
|
|
50
|
-
lines:[foxglove.LinePrimitive];
|
|
50
|
+
lines:[foxglove.LinePrimitive] (id: 10);
|
|
51
51
|
|
|
52
52
|
/// Triangle list primitives
|
|
53
|
-
triangles:[foxglove.TriangleListPrimitive];
|
|
53
|
+
triangles:[foxglove.TriangleListPrimitive] (id: 11);
|
|
54
54
|
|
|
55
55
|
/// Text primitives
|
|
56
|
-
texts:[foxglove.TextPrimitive];
|
|
56
|
+
texts:[foxglove.TextPrimitive] (id: 12);
|
|
57
57
|
|
|
58
58
|
/// Model primitives
|
|
59
|
-
models:[foxglove.ModelPrimitive];
|
|
59
|
+
models:[foxglove.ModelPrimitive] (id: 13);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
root_type SceneEntity;
|
|
@@ -15,13 +15,13 @@ enum SceneEntityDeletionType : ubyte {
|
|
|
15
15
|
/// Command to remove previously published entities
|
|
16
16
|
table SceneEntityDeletion {
|
|
17
17
|
/// Timestamp of the deletion. Only matching entities earlier than this timestamp will be deleted.
|
|
18
|
-
timestamp:Time;
|
|
18
|
+
timestamp:Time (id: 0);
|
|
19
19
|
|
|
20
20
|
/// Type of deletion action to perform
|
|
21
|
-
type:SceneEntityDeletionType;
|
|
21
|
+
type:SceneEntityDeletionType (id: 1);
|
|
22
22
|
|
|
23
23
|
/// Identifier which must match if `type` is `MATCHING_ID`.
|
|
24
|
-
id:string;
|
|
24
|
+
id:string (id: 2);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
root_type SceneEntityDeletion;
|
|
@@ -8,10 +8,10 @@ namespace foxglove;
|
|
|
8
8
|
/// An update to the entities displayed in a 3D scene
|
|
9
9
|
table SceneUpdate {
|
|
10
10
|
/// Scene entities to delete
|
|
11
|
-
deletions:[foxglove.SceneEntityDeletion];
|
|
11
|
+
deletions:[foxglove.SceneEntityDeletion] (id: 0);
|
|
12
12
|
|
|
13
13
|
/// Scene entities to add or replace
|
|
14
|
-
entities:[foxglove.SceneEntity];
|
|
14
|
+
entities:[foxglove.SceneEntity] (id: 1);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
root_type SceneUpdate;
|
|
@@ -9,13 +9,13 @@ namespace foxglove;
|
|
|
9
9
|
/// A primitive representing a sphere or ellipsoid
|
|
10
10
|
table SpherePrimitive {
|
|
11
11
|
/// Position of the center of the sphere and orientation of the sphere
|
|
12
|
-
pose:foxglove.Pose;
|
|
12
|
+
pose:foxglove.Pose (id: 0);
|
|
13
13
|
|
|
14
14
|
/// Size (diameter) of the sphere along each axis
|
|
15
|
-
size:foxglove.Vector3;
|
|
15
|
+
size:foxglove.Vector3 (id: 1);
|
|
16
16
|
|
|
17
17
|
/// Color of the sphere
|
|
18
|
-
color:foxglove.Color;
|
|
18
|
+
color:foxglove.Color (id: 2);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
root_type SpherePrimitive;
|