@foxglove/schemas 0.7.1 → 0.7.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.
Files changed (119) hide show
  1. package/.github/workflows/ci.yml +51 -1
  2. package/.vscode/settings.json +10 -1
  3. package/Linux.flatc.binary.clang++-12.zip +0 -0
  4. package/README.md +5 -25
  5. package/flatc +0 -0
  6. package/internal/generateFlatbufferSchema.d.ts +6 -0
  7. package/internal/generateFlatbufferSchema.d.ts.map +1 -0
  8. package/internal/generateFlatbufferSchema.js +172 -0
  9. package/internal/generateFlatbufferSchema.js.map +1 -0
  10. package/internal/generateFlatbufferSchema.test.d.ts +2 -0
  11. package/internal/generateFlatbufferSchema.test.d.ts.map +1 -0
  12. package/internal/generateFlatbufferSchema.test.js +120 -0
  13. package/internal/generateFlatbufferSchema.test.js.map +1 -0
  14. package/internal/generateFlatbufferSchema.test.ts +118 -0
  15. package/internal/generateFlatbufferSchema.ts +189 -0
  16. package/internal/generateProto.test.js +1 -1
  17. package/internal/generateProto.test.js.map +1 -1
  18. package/internal/generateProto.test.ts +1 -1
  19. package/internal/schemas.d.ts.map +1 -1
  20. package/internal/schemas.js +21 -11
  21. package/internal/schemas.js.map +1 -1
  22. package/internal/schemas.test.js +1 -1
  23. package/internal/schemas.test.js.map +1 -1
  24. package/internal/schemas.test.ts +1 -1
  25. package/internal/schemas.ts +23 -11
  26. package/internal/testFixtures.d.ts.map +1 -1
  27. package/internal/testFixtures.js +11 -1
  28. package/internal/testFixtures.js.map +1 -1
  29. package/internal/testFixtures.ts +12 -1
  30. package/internal/types.d.ts +2 -1
  31. package/internal/types.d.ts.map +1 -1
  32. package/internal/types.ts +2 -1
  33. package/package.json +1 -1
  34. package/python/Makefile +39 -0
  35. package/python/Pipfile +17 -0
  36. package/python/Pipfile.lock +329 -0
  37. package/python/foxglove-schemas-protobuf/README.md +23 -0
  38. package/python/foxglove-schemas-protobuf/foxglove_schemas_protobuf/__init__.py +0 -0
  39. package/python/foxglove-schemas-protobuf/foxglove_schemas_protobuf/py.typed +0 -0
  40. package/python/foxglove-schemas-protobuf/pyproject.toml +11 -0
  41. package/python/foxglove-schemas-protobuf/setup.cfg +21 -0
  42. package/python/foxglove-schemas-protobuf/tests/test_schemas.py +5 -0
  43. package/schemas/README.md +8 -2
  44. package/schemas/flatbuffer/ArrowPrimitive.fbs +29 -0
  45. package/schemas/flatbuffer/ByteVector.fbs +8 -0
  46. package/schemas/flatbuffer/CameraCalibration.fbs +78 -0
  47. package/schemas/flatbuffer/CircleAnnotation.fbs +30 -0
  48. package/schemas/flatbuffer/Color.fbs +20 -0
  49. package/schemas/flatbuffer/CompressedImage.fbs +24 -0
  50. package/schemas/flatbuffer/CubePrimitive.fbs +21 -0
  51. package/schemas/flatbuffer/CylinderPrimitive.fbs +27 -0
  52. package/schemas/flatbuffer/Duration.fbs +10 -0
  53. package/schemas/flatbuffer/FrameTransform.fbs +27 -0
  54. package/schemas/flatbuffer/GeoJSON.fbs +11 -0
  55. package/schemas/flatbuffer/Grid.fbs +40 -0
  56. package/schemas/flatbuffer/ImageAnnotations.fbs +17 -0
  57. package/schemas/flatbuffer/KeyValuePair.fbs +14 -0
  58. package/schemas/flatbuffer/LaserScan.fbs +32 -0
  59. package/schemas/flatbuffer/LinePrimitive.fbs +49 -0
  60. package/schemas/flatbuffer/LocationFix.fbs +34 -0
  61. package/schemas/flatbuffer/Log.fbs +42 -0
  62. package/schemas/flatbuffer/ModelPrimitive.fbs +33 -0
  63. package/schemas/flatbuffer/PackedElementField.fbs +37 -0
  64. package/schemas/flatbuffer/Point2.fbs +14 -0
  65. package/schemas/flatbuffer/Point3.fbs +17 -0
  66. package/schemas/flatbuffer/PointCloud.fbs +30 -0
  67. package/schemas/flatbuffer/PointsAnnotation.fbs +45 -0
  68. package/schemas/flatbuffer/Pose.fbs +17 -0
  69. package/schemas/flatbuffer/PoseInFrame.fbs +20 -0
  70. package/schemas/flatbuffer/PosesInFrame.fbs +20 -0
  71. package/schemas/flatbuffer/Quaternion.fbs +20 -0
  72. package/schemas/flatbuffer/RawImage.fbs +33 -0
  73. package/schemas/flatbuffer/SceneEntity.fbs +62 -0
  74. package/schemas/flatbuffer/SceneEntityDeletion.fbs +27 -0
  75. package/schemas/flatbuffer/SceneUpdate.fbs +17 -0
  76. package/schemas/flatbuffer/SpherePrimitive.fbs +21 -0
  77. package/schemas/flatbuffer/TextPrimitive.fbs +29 -0
  78. package/schemas/flatbuffer/Time.fbs +9 -0
  79. package/schemas/flatbuffer/TriangleListPrimitive.fbs +29 -0
  80. package/schemas/flatbuffer/Vector2.fbs +14 -0
  81. package/schemas/flatbuffer/Vector3.fbs +17 -0
  82. package/schemas/jsonschema/CameraCalibration.json +2 -2
  83. package/schemas/jsonschema/CompressedImage.json +1 -1
  84. package/schemas/jsonschema/CubePrimitive.json +1 -1
  85. package/schemas/jsonschema/RawImage.json +1 -1
  86. package/schemas/jsonschema/SceneEntity.json +1 -1
  87. package/schemas/jsonschema/SceneUpdate.json +1 -1
  88. package/schemas/jsonschema/index.d.ts +4510 -35
  89. package/schemas/jsonschema/index.d.ts.map +1 -1
  90. package/schemas/jsonschema/index.js +7 -7
  91. package/schemas/jsonschema/index.js.map +1 -1
  92. package/schemas/jsonschema/index.ts +42 -42
  93. package/schemas/proto/foxglove/CameraCalibration.proto +3 -1
  94. package/schemas/proto/foxglove/CompressedImage.proto +2 -0
  95. package/schemas/proto/foxglove/CubePrimitive.proto +1 -1
  96. package/schemas/proto/foxglove/RawImage.proto +2 -0
  97. package/schemas/ros1/CameraCalibration.msg +3 -1
  98. package/schemas/ros1/CompressedImage.msg +2 -0
  99. package/schemas/ros1/CubePrimitive.msg +1 -1
  100. package/schemas/ros1/RawImage.msg +2 -0
  101. package/schemas/ros2/CameraCalibration.msg +3 -1
  102. package/schemas/ros2/CompressedImage.msg +2 -0
  103. package/schemas/ros2/CubePrimitive.msg +1 -1
  104. package/schemas/ros2/RawImage.msg +2 -0
  105. package/schemas/typescript/CameraCalibration.d.ts +6 -2
  106. package/schemas/typescript/CameraCalibration.d.ts.map +1 -1
  107. package/schemas/typescript/CameraCalibration.ts +6 -2
  108. package/schemas/typescript/CompressedImage.d.ts +5 -1
  109. package/schemas/typescript/CompressedImage.d.ts.map +1 -1
  110. package/schemas/typescript/CompressedImage.ts +5 -1
  111. package/schemas/typescript/CubePrimitive.d.ts +1 -1
  112. package/schemas/typescript/CubePrimitive.d.ts.map +1 -1
  113. package/schemas/typescript/CubePrimitive.ts +1 -1
  114. package/schemas/typescript/RawImage.d.ts +5 -1
  115. package/schemas/typescript/RawImage.d.ts.map +1 -1
  116. package/schemas/typescript/RawImage.ts +5 -1
  117. package/scripts/updateGeneratedFiles.js +14 -2
  118. package/scripts/updateGeneratedFiles.js.map +1 -1
  119. package/scripts/updateGeneratedFiles.ts +26 -2
@@ -9,21 +9,25 @@ const Color: FoxgloveMessageSchema = {
9
9
  name: "r",
10
10
  type: { type: "primitive", name: "float64" },
11
11
  description: "Red value between 0 and 1",
12
+ defaultValue: 1.0,
12
13
  },
13
14
  {
14
15
  name: "g",
15
16
  type: { type: "primitive", name: "float64" },
16
17
  description: "Green value between 0 and 1",
18
+ defaultValue: 1.0,
17
19
  },
18
20
  {
19
21
  name: "b",
20
22
  type: { type: "primitive", name: "float64" },
21
23
  description: "Blue value between 0 and 1",
24
+ defaultValue: 1.0,
22
25
  },
23
26
  {
24
27
  name: "a",
25
28
  type: { type: "primitive", name: "float64" },
26
29
  description: "Alpha value between 0 and 1",
30
+ defaultValue: 1.0,
27
31
  },
28
32
  ],
29
33
  };
@@ -37,11 +41,13 @@ const Vector2: FoxgloveMessageSchema = {
37
41
  name: "x",
38
42
  type: { type: "primitive", name: "float64" },
39
43
  description: "x coordinate length",
44
+ defaultValue: 1.0,
40
45
  },
41
46
  {
42
47
  name: "y",
43
48
  type: { type: "primitive", name: "float64" },
44
49
  description: "y coordinate length",
50
+ defaultValue: 1.0,
45
51
  },
46
52
  ],
47
53
  };
@@ -56,16 +62,19 @@ const Vector3: FoxgloveMessageSchema = {
56
62
  name: "x",
57
63
  type: { type: "primitive", name: "float64" },
58
64
  description: "x coordinate length",
65
+ defaultValue: 1.0,
59
66
  },
60
67
  {
61
68
  name: "y",
62
69
  type: { type: "primitive", name: "float64" },
63
70
  description: "y coordinate length",
71
+ defaultValue: 1.0,
64
72
  },
65
73
  {
66
74
  name: "z",
67
75
  type: { type: "primitive", name: "float64" },
68
76
  description: "z coordinate length",
77
+ defaultValue: 1.0,
69
78
  },
70
79
  ],
71
80
  };
@@ -137,6 +146,7 @@ const Quaternion: FoxgloveMessageSchema = {
137
146
  name: "w",
138
147
  type: { type: "primitive", name: "float64" },
139
148
  description: "w value",
149
+ defaultValue: 1.0,
140
150
  },
141
151
  ],
142
152
  };
@@ -181,7 +191,7 @@ const KeyValuePair: FoxgloveMessageSchema = {
181
191
  const SceneEntityDeletionType: FoxgloveEnumSchema = {
182
192
  type: "enum",
183
193
  name: "SceneEntityDeletionType",
184
- protobufParentMessageName: "SceneEntityDeletion",
194
+ parentSchemaName: "SceneEntityDeletion",
185
195
  protobufEnumName: "Type",
186
196
  description:
187
197
  "An enumeration indicating which entities should match a SceneEntityDeletion command",
@@ -276,7 +286,7 @@ const CubePrimitive: FoxgloveMessageSchema = {
276
286
  {
277
287
  name: "color",
278
288
  type: { type: "nested", schema: Color },
279
- description: "Color of the arrow",
289
+ description: "Color of the cube",
280
290
  },
281
291
  ],
282
292
  };
@@ -343,7 +353,7 @@ const CylinderPrimitive: FoxgloveMessageSchema = {
343
353
  const LineType: FoxgloveEnumSchema = {
344
354
  type: "enum",
345
355
  name: "LineType",
346
- protobufParentMessageName: "LinePrimitive",
356
+ parentSchemaName: "LinePrimitive",
347
357
  protobufEnumName: "Type",
348
358
  description: "An enumeration indicating how input points should be interpreted to create lines",
349
359
  values: [
@@ -678,7 +688,8 @@ const CameraCalibration: FoxgloveMessageSchema = {
678
688
  {
679
689
  name: "distortion_model",
680
690
  type: { type: "primitive", name: "string" },
681
- description: "Name of distortion model",
691
+ description:
692
+ "Name of distortion model\n\nSupported values: `plumb_bob` and `rational_polynomial`",
682
693
  },
683
694
  {
684
695
  name: "D",
@@ -707,7 +718,7 @@ K = [ 0 fy cy]
707
718
  name: "R",
708
719
  type: { type: "primitive", name: "float64" },
709
720
  array: 9,
710
- description: `Rectification matrix (3x3 row-major matrix)
721
+ description: `Rectification matrix (stereo cameras only, 3x3 row-major matrix)
711
722
 
712
723
  A rotation matrix aligning the camera coordinate system to the ideal stereo image plane so that epipolar lines in both stereo images are parallel.`,
713
724
  },
@@ -770,7 +781,7 @@ const CompressedImage: FoxgloveMessageSchema = {
770
781
  {
771
782
  name: "format",
772
783
  type: { type: "primitive", name: "string" },
773
- description: "Image format",
784
+ description: "Image format\n\nSupported values: `webp`, `jpeg`, `png`",
774
785
  },
775
786
  ],
776
787
  };
@@ -805,7 +816,8 @@ const RawImage: FoxgloveMessageSchema = {
805
816
  {
806
817
  name: "encoding",
807
818
  type: { type: "primitive", name: "string" },
808
- description: "Encoding of the raw image data",
819
+ description:
820
+ "Encoding of the raw image data\n\nSupported values: `8UC1`, `8UC3`, `16UC1`, `32FC1`, `bayer_bggr8`, `bayer_gbrg8`, `bayer_grbg8`, `bayer_rggb8`, `bgr8`, `bgra8`, `mono8`, `mono16`, `rgb8`, `rgba8`, `yuv422`",
809
821
  },
810
822
  {
811
823
  name: "step",
@@ -917,7 +929,7 @@ const NumericType: FoxgloveEnumSchema = {
917
929
  type: "enum",
918
930
  name: "NumericType",
919
931
  description: "Numeric type",
920
- protobufParentMessageName: "PackedElementField",
932
+ parentSchemaName: "PackedElementField",
921
933
  protobufEnumName: "NumericType",
922
934
  values: [
923
935
  { name: "UNKNOWN", value: 0 },
@@ -1052,7 +1064,7 @@ const PointsAnnotationType: FoxgloveEnumSchema = {
1052
1064
  type: "enum",
1053
1065
  name: "PointsAnnotationType",
1054
1066
  description: "Type of points annotation",
1055
- protobufParentMessageName: "PointsAnnotation",
1067
+ parentSchemaName: "PointsAnnotation",
1056
1068
  protobufEnumName: "Type",
1057
1069
  values: [
1058
1070
  { name: "UNKNOWN", value: 0 },
@@ -1133,7 +1145,7 @@ const PositionCovarianceType: FoxgloveEnumSchema = {
1133
1145
  type: "enum",
1134
1146
  name: "PositionCovarianceType",
1135
1147
  description: "Type of position covariance",
1136
- protobufParentMessageName: "LocationFix",
1148
+ parentSchemaName: "LocationFix",
1137
1149
  protobufEnumName: "PositionCovarianceType",
1138
1150
  values: [
1139
1151
  { name: "UNKNOWN", value: 0 },
@@ -1183,7 +1195,7 @@ const LogLevel: FoxgloveEnumSchema = {
1183
1195
  type: "enum",
1184
1196
  name: "LogLevel",
1185
1197
  description: "Log level",
1186
- protobufParentMessageName: "Log",
1198
+ parentSchemaName: "Log",
1187
1199
  protobufEnumName: "Level",
1188
1200
  values: [
1189
1201
  { name: "UNKNOWN", value: 0 },
@@ -1 +1 @@
1
- {"version":3,"file":"testFixtures.d.ts","sourceRoot":"","sources":["testFixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAYvF,eAAO,MAAM,WAAW,EAAE,kBAUzB,CAAC;AAeF,eAAO,MAAM,cAAc,EAAE,qBA8C5B,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,qBAK/C,CAAC"}
1
+ {"version":3,"file":"testFixtures.d.ts","sourceRoot":"","sources":["testFixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAYvF,eAAO,MAAM,WAAW,EAAE,kBAUzB,CAAC;AAeF,eAAO,MAAM,cAAc,EAAE,qBAyD5B,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,qBAK/C,CAAC"}
@@ -14,7 +14,7 @@ exports.exampleEnum = {
14
14
  type: "enum",
15
15
  name: "ExampleEnum",
16
16
  protobufEnumName: "ExampleProtoEnum",
17
- protobufParentMessageName: "ExampleMessage",
17
+ parentSchemaName: "ExampleMessage",
18
18
  description: "An example enum",
19
19
  values: [
20
20
  { name: "A", value: 1, description: "Value A" },
@@ -42,6 +42,16 @@ exports.exampleMessage = {
42
42
  name: `field_${name}`,
43
43
  description: `${name} field`,
44
44
  type: { type: "primitive", name },
45
+ defaultValue: name === "boolean"
46
+ ? true
47
+ : name === "string"
48
+ ? "string-type"
49
+ : name === "uint32"
50
+ ? 5
51
+ : name === "float64"
52
+ ? 1.0
53
+ : // time and duration and bytes
54
+ undefined,
45
55
  })),
46
56
  ...allPrimitives.map((name) => ({
47
57
  name: `field_${name}_array`,
@@ -1 +1 @@
1
- {"version":3,"file":"testFixtures.js","sourceRoot":"","sources":["testFixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testFixtures.js","sourceRoot":"","sources":["testFixtures.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export const exampleEnum: FoxgloveEnumSchema = {
14
14
  type: "enum",
15
15
  name: "ExampleEnum",
16
16
  protobufEnumName: "ExampleProtoEnum",
17
- protobufParentMessageName: "ExampleMessage",
17
+ parentSchemaName: "ExampleMessage",
18
18
  description: "An example enum",
19
19
  values: [
20
20
  { name: "A", value: 1, description: "Value A" },
@@ -44,6 +44,17 @@ export const exampleMessage: FoxgloveMessageSchema = {
44
44
  name: `field_${name}`,
45
45
  description: `${name} field`,
46
46
  type: { type: "primitive", name },
47
+ defaultValue:
48
+ name === "boolean"
49
+ ? true
50
+ : name === "string"
51
+ ? "string-type"
52
+ : name === "uint32"
53
+ ? 5
54
+ : name === "float64"
55
+ ? 1.0
56
+ : // time and duration and bytes
57
+ undefined,
47
58
  })),
48
59
  ...allPrimitives.map((name): FoxgloveMessageSchema["fields"][0] => ({
49
60
  name: `field_${name}_array`,
@@ -3,7 +3,7 @@ export declare type FoxgloveEnumSchema = {
3
3
  type: "enum";
4
4
  name: string;
5
5
  description: string;
6
- protobufParentMessageName: string;
6
+ parentSchemaName: string;
7
7
  protobufEnumName: string;
8
8
  values: ReadonlyArray<{
9
9
  value: number;
@@ -27,6 +27,7 @@ export declare type FoxgloveMessageField = {
27
27
  required?: true;
28
28
  description: string;
29
29
  protobufFieldNumber?: number;
30
+ defaultValue?: string | number | boolean;
30
31
  };
31
32
  export declare type FoxgloveMessageSchema = {
32
33
  type: "message";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,UAAU,CAAC;AAEf,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EACA;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE,GAC9C;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,GACjD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC/C,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,cAAc,8BAA8B,EAAE,IAAI,CAAC;IACzE,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;CAC7C,CAAC;AAEF,oBAAY,cAAc,GAAG,qBAAqB,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,UAAU,CAAC;AAEf,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EACA;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE,GAC9C;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,GACjD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC/C,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,cAAc,8BAA8B,EAAE,IAAI,CAAC;IACzE,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;CAC7C,CAAC;AAEF,oBAAY,cAAc,GAAG,qBAAqB,GAAG,kBAAkB,CAAC"}
package/internal/types.ts CHANGED
@@ -11,7 +11,7 @@ export type FoxgloveEnumSchema = {
11
11
  type: "enum";
12
12
  name: string;
13
13
  description: string;
14
- protobufParentMessageName: string;
14
+ parentSchemaName: string;
15
15
  protobufEnumName: string;
16
16
  values: ReadonlyArray<{
17
17
  value: number;
@@ -30,6 +30,7 @@ export type FoxgloveMessageField = {
30
30
  required?: true;
31
31
  description: string;
32
32
  protobufFieldNumber?: number;
33
+ defaultValue?: string | number | boolean;
33
34
  };
34
35
 
35
36
  export type FoxgloveMessageSchema = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foxglove/schemas",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Foxglove-defined message schemas for ROS, Protobuf, and JSON",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -0,0 +1,39 @@
1
+ .PHONY: pipenv
2
+ pipenv:
3
+ SETUPTOOLS_ENABLE_FEATURES="legacy-editable" pipenv install --dev --deploy
4
+
5
+ ifeq ($(shell uname),Darwin)
6
+ SED_ARGS = -i ''
7
+ else
8
+ SED_ARGS = -i
9
+ endif
10
+
11
+ .PHONY: generate-protobuf
12
+ generate-protobuf:
13
+ rm -rf foxglove-schemas-protobuf/foxglove_schemas_protobuf/*_pb2*
14
+ pipenv run protoc \
15
+ --python_out=foxglove-schemas-protobuf/foxglove_schemas_protobuf \
16
+ --mypy_out=foxglove-schemas-protobuf/foxglove_schemas_protobuf \
17
+ --proto_path ../schemas/proto \
18
+ ../schemas/proto/foxglove/*.proto
19
+ mv foxglove-schemas-protobuf/foxglove_schemas_protobuf/foxglove/* foxglove-schemas-protobuf/foxglove_schemas_protobuf
20
+ rmdir foxglove-schemas-protobuf/foxglove_schemas_protobuf/foxglove
21
+ sed -E $(SED_ARGS) 's/from foxglove import/from . import/g' foxglove-schemas-protobuf/foxglove_schemas_protobuf/*_pb2.py
22
+ sed -E $(SED_ARGS) 's/import foxglove\.(.+)$$/from . import \1 as foxglove_\1/g' foxglove-schemas-protobuf/foxglove_schemas_protobuf/*_pb2.pyi
23
+ sed -E $(SED_ARGS) 's/foxglove\./foxglove_/g' foxglove-schemas-protobuf/foxglove_schemas_protobuf/*_pb2.pyi
24
+
25
+ .PHONY: build
26
+ build: pipenv generate-protobuf
27
+ pipenv run python -m build foxglove-schemas-protobuf
28
+
29
+ .PHONY: test
30
+ test: pipenv generate-protobuf
31
+ pipenv run python -m pytest foxglove-schemas-protobuf
32
+
33
+ .PHONY: clean
34
+ clean:
35
+ rm -rf dist
36
+ find . -name "build" -type d -exec rm -rf {} +
37
+ find . -name "dist" -type d -exec rm -rf {} +
38
+ find . -name "*.egg-info" -type d -exec rm -rf {} +
39
+ find . -name "*_pb2*" -delete
package/python/Pipfile ADDED
@@ -0,0 +1,17 @@
1
+ [[source]]
2
+ url = "https://pypi.org/simple"
3
+ verify_ssl = true
4
+ name = "pypi"
5
+
6
+ [packages]
7
+ protobuf = "*"
8
+ foxglove-schemas-protobuf = {editable = true, path = "./foxglove-schemas-protobuf"}
9
+
10
+ [dev-packages]
11
+ build = "*"
12
+ mypy-protobuf = "*"
13
+ pipenv = "*"
14
+ pytest = "*"
15
+
16
+ [requires]
17
+ python_version = "3"