diff --git a/app/package.json b/app/package.json index bdad5cc..af93a57 100644 --- a/app/package.json +++ b/app/package.json @@ -48,6 +48,7 @@ }, "type": "module", "dependencies": { + "@bufbuild/protobuf": "^2.10.2", "@msgpack/msgpack": "^3.1.2", "@niku/vite-env-caster": "^1.1.2", "@sveltejs/adapter-auto": "^6.1.1", @@ -60,6 +61,7 @@ "svelte-dnd-list": "^0.1.8", "svelte-modals": "^2.0.1", "three": "^0.180.0", + "ts-proto": "^2.10.1", "urdf-loader": "^0.12.6", "uzip": "^0.20201231.0", "xacro-parser": "^0.3.10" diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml index 14a7ac5..93b949c 100644 --- a/app/pnpm-lock.yaml +++ b/app/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@bufbuild/protobuf': + specifier: ^2.10.2 + version: 2.10.2 '@msgpack/msgpack': specifier: ^3.1.2 version: 3.1.2 @@ -44,6 +47,9 @@ importers: three: specifier: ^0.180.0 version: 0.180.0 + ts-proto: + specifier: ^2.10.1 + version: 2.10.1 urdf-loader: specifier: ^0.12.6 version: 0.12.6(three@0.180.0) @@ -159,6 +165,9 @@ packages: '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} + '@bufbuild/protobuf@2.10.2': + resolution: {integrity: sha512-uFsRXwIGyu+r6AMdz+XijIIZJYpoWeYzILt5yZ2d3mCjQrWUTVpVD9WL/jZAbvp+Ed04rOhrsk7FiTcEDseB5A==} + '@csstools/color-helpers@5.1.0': resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} engines: {node: '>=18'} @@ -987,6 +996,10 @@ packages: caniuse-lite@1.0.30001749: resolution: {integrity: sha512-0rw2fJOmLfnzCRbkm8EyHL8SvI2Apu5UbnQuTsJ0ClgrH8hcwFooJ1s5R0EP8o8aVrFu8++ae29Kt9/gZAZp/Q==} + case-anything@2.1.13: + resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==} + engines: {node: '>=12.13'} + chai@5.3.3: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} @@ -1094,6 +1107,11 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -1101,6 +1119,9 @@ packages: devalue@5.3.2: resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==} + dprint-node@1.0.8: + resolution: {integrity: sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==} + electron-to-chromium@1.5.234: resolution: {integrity: sha512-RXfEp2x+VRYn8jbKfQlRImzoJU01kyDvVPBmG39eU2iuRVhuS6vQNocB8J0/8GrIMLnPzgz4eW6WiRnJkTuNWg==} @@ -2247,6 +2268,8 @@ snapshots: '@asamuzakjp/nwsapi@2.3.9': {} + '@bufbuild/protobuf@2.10.2': {} + '@csstools/color-helpers@5.1.0': {} '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': @@ -3015,6 +3038,8 @@ snapshots: caniuse-lite@1.0.30001749: {} + case-anything@2.1.13: {} + chai@5.3.3: dependencies: assertion-error: 2.0.1 @@ -3109,10 +3134,16 @@ snapshots: deepmerge@4.3.1: {} + detect-libc@1.0.3: {} + detect-libc@2.1.2: {} devalue@5.3.2: {} + dprint-node@1.0.8: + dependencies: + detect-libc: 1.0.3 + electron-to-chromium@1.5.234: {} emoji-regex@8.0.0: {} diff --git a/platform_shared/example.proto b/platform_shared/example.proto new file mode 100644 index 0000000..e7e6929 --- /dev/null +++ b/platform_shared/example.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; + + +enum IMUType { + IMU_NONE = 0; + IMU_ACCEL = 1; + IMU_GYRO = 2; +} + +message IMUReport { + IMUType type = 1; + double x_val = 2; +} \ No newline at end of file