@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
@@ -7,6 +7,7 @@ const path_1 = tslib_1.__importDefault(require("path"));
7
7
  const rimraf_1 = tslib_1.__importDefault(require("rimraf"));
8
8
  const util_1 = require("util");
9
9
  const internal_1 = require("../internal");
10
+ const generateFlatbufferSchema_1 = require("../internal/generateFlatbufferSchema");
10
11
  const generateJsonSchema_1 = require("../internal/generateJsonSchema");
11
12
  const generateMarkdown_1 = require("../internal/generateMarkdown");
12
13
  const generateProto_1 = require("../internal/generateProto");
@@ -27,7 +28,7 @@ async function main({ outDir, rosOutDir }) {
27
28
  for (const schema of Object.values(schemas_1.foxgloveMessageSchemas)) {
28
29
  const json = JSON.stringify((0, generateJsonSchema_1.generateJsonSchema)(schema), undefined, 2);
29
30
  await promises_1.default.writeFile(path_1.default.join(outDir, "jsonschema", `${schema.name}.json`), json + "\n");
30
- indexTS += `export const ${schema.name}: unknown = ${json};\n\n`;
31
+ indexTS += `export const ${schema.name} = ${json};\n\n`;
31
32
  }
32
33
  await promises_1.default.writeFile(path_1.default.join(outDir, "jsonschema", `index.ts`), indexTS);
33
34
  });
@@ -58,10 +59,21 @@ async function main({ outDir, rosOutDir }) {
58
59
  await logProgress("Generating Protobuf definitions", async () => {
59
60
  await promises_1.default.mkdir(path_1.default.join(outDir, "proto", "foxglove"), { recursive: true });
60
61
  for (const schema of Object.values(schemas_1.foxgloveMessageSchemas)) {
61
- const enums = Object.values(schemas_1.foxgloveEnumSchemas).filter((enumSchema) => enumSchema.protobufParentMessageName === schema.name);
62
+ const enums = Object.values(schemas_1.foxgloveEnumSchemas).filter((enumSchema) => enumSchema.parentSchemaName === schema.name);
62
63
  await promises_1.default.writeFile(path_1.default.join(outDir, "proto", "foxglove", `${schema.name}.proto`), (0, generateProto_1.generateProto)(schema, enums));
63
64
  }
64
65
  });
66
+ await logProgress("Generating FlatBuffer definitions", async () => {
67
+ await promises_1.default.mkdir(path_1.default.join(outDir, "flatbuffer"), { recursive: true });
68
+ await promises_1.default.writeFile(path_1.default.join(outDir, "flatbuffer", "ByteVector.fbs"), generateFlatbufferSchema_1.BYTE_VECTOR_FB);
69
+ await promises_1.default.writeFile(path_1.default.join(outDir, "flatbuffer", "Time.fbs"), generateFlatbufferSchema_1.TIME_FB);
70
+ await promises_1.default.writeFile(path_1.default.join(outDir, "flatbuffer", "Duration.fbs"), generateFlatbufferSchema_1.DURATION_FB);
71
+ for (const schema of Object.values(schemas_1.foxgloveMessageSchemas)) {
72
+ // want enums with their corresponding parent tables for usage
73
+ const enums = Object.values(schemas_1.foxgloveEnumSchemas).filter((enumSchema) => enumSchema.parentSchemaName === schema.name);
74
+ await promises_1.default.writeFile(path_1.default.join(outDir, "flatbuffer", `${schema.name}.fbs`), (0, generateFlatbufferSchema_1.generateFlatbuffers)(schema, enums));
75
+ }
76
+ });
65
77
  await logProgress("Generating TypeScript definitions", async () => {
66
78
  await promises_1.default.mkdir(path_1.default.join(outDir, "typescript"), { recursive: true });
67
79
  await promises_1.default.writeFile(path_1.default.join(outDir, "typescript", "Time.ts"), generateTypeScript_1.TIME_TS);
@@ -1 +1 @@
1
- {"version":3,"file":"updateGeneratedFiles.js","sourceRoot":"","sources":["updateGeneratedFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateGeneratedFiles.js","sourceRoot":"","sources":["updateGeneratedFiles.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,12 @@ import rimraf from "rimraf";
5
5
  import { promisify } from "util";
6
6
 
7
7
  import { generateRosMsg, generateRosMsgDefinition } from "../internal";
8
+ import {
9
+ BYTE_VECTOR_FB,
10
+ DURATION_FB,
11
+ generateFlatbuffers,
12
+ TIME_FB,
13
+ } from "../internal/generateFlatbufferSchema";
8
14
  import { generateJsonSchema } from "../internal/generateJsonSchema";
9
15
  import { generateMarkdown } from "../internal/generateMarkdown";
10
16
  import { generateProto } from "../internal/generateProto";
@@ -28,7 +34,7 @@ async function main({ outDir, rosOutDir }: { outDir: string; rosOutDir: string }
28
34
  for (const schema of Object.values(foxgloveMessageSchemas)) {
29
35
  const json = JSON.stringify(generateJsonSchema(schema), undefined, 2);
30
36
  await fs.writeFile(path.join(outDir, "jsonschema", `${schema.name}.json`), json + "\n");
31
- indexTS += `export const ${schema.name}: unknown = ${json};\n\n`;
37
+ indexTS += `export const ${schema.name} = ${json};\n\n`;
32
38
  }
33
39
  await fs.writeFile(path.join(outDir, "jsonschema", `index.ts`), indexTS);
34
40
  });
@@ -63,7 +69,7 @@ async function main({ outDir, rosOutDir }: { outDir: string; rosOutDir: string }
63
69
  await fs.mkdir(path.join(outDir, "proto", "foxglove"), { recursive: true });
64
70
  for (const schema of Object.values(foxgloveMessageSchemas)) {
65
71
  const enums = Object.values(foxgloveEnumSchemas).filter(
66
- (enumSchema) => enumSchema.protobufParentMessageName === schema.name,
72
+ (enumSchema) => enumSchema.parentSchemaName === schema.name,
67
73
  );
68
74
  await fs.writeFile(
69
75
  path.join(outDir, "proto", "foxglove", `${schema.name}.proto`),
@@ -72,6 +78,24 @@ async function main({ outDir, rosOutDir }: { outDir: string; rosOutDir: string }
72
78
  }
73
79
  });
74
80
 
81
+ await logProgress("Generating FlatBuffer definitions", async () => {
82
+ await fs.mkdir(path.join(outDir, "flatbuffer"), { recursive: true });
83
+ await fs.writeFile(path.join(outDir, "flatbuffer", "ByteVector.fbs"), BYTE_VECTOR_FB);
84
+ await fs.writeFile(path.join(outDir, "flatbuffer", "Time.fbs"), TIME_FB);
85
+ await fs.writeFile(path.join(outDir, "flatbuffer", "Duration.fbs"), DURATION_FB);
86
+
87
+ for (const schema of Object.values(foxgloveMessageSchemas)) {
88
+ // want enums with their corresponding parent tables for usage
89
+ const enums = Object.values(foxgloveEnumSchemas).filter(
90
+ (enumSchema) => enumSchema.parentSchemaName === schema.name,
91
+ );
92
+ await fs.writeFile(
93
+ path.join(outDir, "flatbuffer", `${schema.name}.fbs`),
94
+ generateFlatbuffers(schema, enums),
95
+ );
96
+ }
97
+ });
98
+
75
99
  await logProgress("Generating TypeScript definitions", async () => {
76
100
  await fs.mkdir(path.join(outDir, "typescript"), { recursive: true });
77
101
  await fs.writeFile(path.join(outDir, "typescript", "Time.ts"), TIME_TS);