@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.
- package/.github/workflows/ci.yml +51 -1
- package/.vscode/settings.json +10 -1
- package/Linux.flatc.binary.clang++-12.zip +0 -0
- package/README.md +5 -25
- package/flatc +0 -0
- package/internal/generateFlatbufferSchema.d.ts +6 -0
- package/internal/generateFlatbufferSchema.d.ts.map +1 -0
- package/internal/generateFlatbufferSchema.js +172 -0
- package/internal/generateFlatbufferSchema.js.map +1 -0
- package/internal/generateFlatbufferSchema.test.d.ts +2 -0
- package/internal/generateFlatbufferSchema.test.d.ts.map +1 -0
- package/internal/generateFlatbufferSchema.test.js +120 -0
- package/internal/generateFlatbufferSchema.test.js.map +1 -0
- package/internal/generateFlatbufferSchema.test.ts +118 -0
- package/internal/generateFlatbufferSchema.ts +189 -0
- package/internal/generateProto.test.js +1 -1
- package/internal/generateProto.test.js.map +1 -1
- package/internal/generateProto.test.ts +1 -1
- package/internal/schemas.d.ts.map +1 -1
- package/internal/schemas.js +21 -11
- package/internal/schemas.js.map +1 -1
- package/internal/schemas.test.js +1 -1
- package/internal/schemas.test.js.map +1 -1
- package/internal/schemas.test.ts +1 -1
- package/internal/schemas.ts +23 -11
- package/internal/testFixtures.d.ts.map +1 -1
- package/internal/testFixtures.js +11 -1
- package/internal/testFixtures.js.map +1 -1
- package/internal/testFixtures.ts +12 -1
- package/internal/types.d.ts +2 -1
- package/internal/types.d.ts.map +1 -1
- package/internal/types.ts +2 -1
- package/package.json +1 -1
- package/python/Makefile +39 -0
- package/python/Pipfile +17 -0
- package/python/Pipfile.lock +329 -0
- package/python/foxglove-schemas-protobuf/README.md +23 -0
- package/python/foxglove-schemas-protobuf/foxglove_schemas_protobuf/__init__.py +0 -0
- package/python/foxglove-schemas-protobuf/foxglove_schemas_protobuf/py.typed +0 -0
- package/python/foxglove-schemas-protobuf/pyproject.toml +11 -0
- package/python/foxglove-schemas-protobuf/setup.cfg +21 -0
- package/python/foxglove-schemas-protobuf/tests/test_schemas.py +5 -0
- package/schemas/README.md +8 -2
- package/schemas/flatbuffer/ArrowPrimitive.fbs +29 -0
- package/schemas/flatbuffer/ByteVector.fbs +8 -0
- package/schemas/flatbuffer/CameraCalibration.fbs +78 -0
- package/schemas/flatbuffer/CircleAnnotation.fbs +30 -0
- package/schemas/flatbuffer/Color.fbs +20 -0
- package/schemas/flatbuffer/CompressedImage.fbs +24 -0
- package/schemas/flatbuffer/CubePrimitive.fbs +21 -0
- package/schemas/flatbuffer/CylinderPrimitive.fbs +27 -0
- package/schemas/flatbuffer/Duration.fbs +10 -0
- package/schemas/flatbuffer/FrameTransform.fbs +27 -0
- package/schemas/flatbuffer/GeoJSON.fbs +11 -0
- package/schemas/flatbuffer/Grid.fbs +40 -0
- package/schemas/flatbuffer/ImageAnnotations.fbs +17 -0
- package/schemas/flatbuffer/KeyValuePair.fbs +14 -0
- package/schemas/flatbuffer/LaserScan.fbs +32 -0
- package/schemas/flatbuffer/LinePrimitive.fbs +49 -0
- package/schemas/flatbuffer/LocationFix.fbs +34 -0
- package/schemas/flatbuffer/Log.fbs +42 -0
- package/schemas/flatbuffer/ModelPrimitive.fbs +33 -0
- package/schemas/flatbuffer/PackedElementField.fbs +37 -0
- package/schemas/flatbuffer/Point2.fbs +14 -0
- package/schemas/flatbuffer/Point3.fbs +17 -0
- package/schemas/flatbuffer/PointCloud.fbs +30 -0
- package/schemas/flatbuffer/PointsAnnotation.fbs +45 -0
- package/schemas/flatbuffer/Pose.fbs +17 -0
- package/schemas/flatbuffer/PoseInFrame.fbs +20 -0
- package/schemas/flatbuffer/PosesInFrame.fbs +20 -0
- package/schemas/flatbuffer/Quaternion.fbs +20 -0
- package/schemas/flatbuffer/RawImage.fbs +33 -0
- package/schemas/flatbuffer/SceneEntity.fbs +62 -0
- package/schemas/flatbuffer/SceneEntityDeletion.fbs +27 -0
- package/schemas/flatbuffer/SceneUpdate.fbs +17 -0
- package/schemas/flatbuffer/SpherePrimitive.fbs +21 -0
- package/schemas/flatbuffer/TextPrimitive.fbs +29 -0
- package/schemas/flatbuffer/Time.fbs +9 -0
- package/schemas/flatbuffer/TriangleListPrimitive.fbs +29 -0
- package/schemas/flatbuffer/Vector2.fbs +14 -0
- package/schemas/flatbuffer/Vector3.fbs +17 -0
- package/schemas/jsonschema/CameraCalibration.json +2 -2
- package/schemas/jsonschema/CompressedImage.json +1 -1
- package/schemas/jsonschema/CubePrimitive.json +1 -1
- package/schemas/jsonschema/RawImage.json +1 -1
- package/schemas/jsonschema/SceneEntity.json +1 -1
- package/schemas/jsonschema/SceneUpdate.json +1 -1
- package/schemas/jsonschema/index.d.ts +4510 -35
- package/schemas/jsonschema/index.d.ts.map +1 -1
- package/schemas/jsonschema/index.js +7 -7
- package/schemas/jsonschema/index.js.map +1 -1
- package/schemas/jsonschema/index.ts +42 -42
- package/schemas/proto/foxglove/CameraCalibration.proto +3 -1
- package/schemas/proto/foxglove/CompressedImage.proto +2 -0
- package/schemas/proto/foxglove/CubePrimitive.proto +1 -1
- package/schemas/proto/foxglove/RawImage.proto +2 -0
- package/schemas/ros1/CameraCalibration.msg +3 -1
- package/schemas/ros1/CompressedImage.msg +2 -0
- package/schemas/ros1/CubePrimitive.msg +1 -1
- package/schemas/ros1/RawImage.msg +2 -0
- package/schemas/ros2/CameraCalibration.msg +3 -1
- package/schemas/ros2/CompressedImage.msg +2 -0
- package/schemas/ros2/CubePrimitive.msg +1 -1
- package/schemas/ros2/RawImage.msg +2 -0
- package/schemas/typescript/CameraCalibration.d.ts +6 -2
- package/schemas/typescript/CameraCalibration.d.ts.map +1 -1
- package/schemas/typescript/CameraCalibration.ts +6 -2
- package/schemas/typescript/CompressedImage.d.ts +5 -1
- package/schemas/typescript/CompressedImage.d.ts.map +1 -1
- package/schemas/typescript/CompressedImage.ts +5 -1
- package/schemas/typescript/CubePrimitive.d.ts +1 -1
- package/schemas/typescript/CubePrimitive.d.ts.map +1 -1
- package/schemas/typescript/CubePrimitive.ts +1 -1
- package/schemas/typescript/RawImage.d.ts +5 -1
- package/schemas/typescript/RawImage.d.ts.map +1 -1
- package/schemas/typescript/RawImage.ts +5 -1
- package/scripts/updateGeneratedFiles.js +14 -2
- package/scripts/updateGeneratedFiles.js.map +1 -1
- 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}
|
|
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.
|
|
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":";;;AAAA,yCAAoC;AACpC,mEAA6B;AAC7B,wDAAwB;AACxB,4DAA4B;AAC5B,+BAAiC;AAEjC,0CAAuE;AACvE,uEAAoE;AACpE,mEAAgE;AAChE,6DAA0D;AAC1D,uEAA0F;AAC1F,iDAAkF;AAElF,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,IAAyB;IACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,EAAE,CAAC;IACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAyC;IAC9E,MAAM,WAAW,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAA,gBAAS,EAAC,gBAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,IAAI,OAAO,GAAG,yDAAyD,CAAC;QACxE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAsB,CAAC,EAAE;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAA,uCAAkB,EAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACtE,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;YACxF,OAAO,IAAI,gBAAgB,MAAM,CAAC,IAAI,
|
|
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}
|
|
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.
|
|
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);
|