@viamrobotics/motion-tools 0.9.5 → 0.10.0
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/dist/{WorldObject.d.ts → WorldObject.svelte.d.ts} +1 -1
- package/dist/{WorldObject.js → WorldObject.svelte.js} +4 -2
- package/dist/components/Frame.svelte +1 -1
- package/dist/components/Frame.svelte.d.ts +1 -1
- package/dist/components/Geometry.svelte +1 -1
- package/dist/components/Geometry.svelte.d.ts +1 -1
- package/dist/components/Line.svelte +1 -1
- package/dist/components/Line.svelte.d.ts +1 -1
- package/dist/components/Pointcloud.svelte +1 -1
- package/dist/components/Pointcloud.svelte.d.ts +1 -1
- package/dist/components/Tree/buildTree.d.ts +1 -1
- package/dist/components/WorldObject.svelte +1 -1
- package/dist/components/WorldObject.svelte.d.ts +1 -1
- package/dist/components/WorldState.svelte +1 -1
- package/dist/components/WorldState.svelte.d.ts +1 -1
- package/dist/hooks/useDrawAPI.svelte.d.ts +1 -1
- package/dist/hooks/useDrawAPI.svelte.js +16 -11
- package/dist/hooks/useFrames.svelte.d.ts +1 -1
- package/dist/hooks/useFrames.svelte.js +1 -1
- package/dist/hooks/useGeometries.svelte.d.ts +1 -1
- package/dist/hooks/useGeometries.svelte.js +1 -1
- package/dist/hooks/useObjects.svelte.d.ts +1 -1
- package/dist/hooks/usePersistentUUIDs.svelte.d.ts +1 -1
- package/dist/hooks/usePointclouds.svelte.d.ts +1 -1
- package/dist/hooks/usePointclouds.svelte.js +1 -1
- package/dist/hooks/useSelection.svelte.d.ts +1 -1
- package/dist/hooks/useStaticGeometries.svelte.d.ts +1 -1
- package/dist/hooks/useStaticGeometries.svelte.js +1 -1
- package/dist/hooks/useWorldState.svelte.d.ts +3 -3
- package/dist/hooks/useWorldState.svelte.js +1 -1
- package/dist/lib.d.ts +1 -1
- package/dist/lib.js +1 -1
- package/package.json +1 -1
|
@@ -29,7 +29,7 @@ export declare class WorldObject<T extends Geometries = Geometries> {
|
|
|
29
29
|
uuid: string;
|
|
30
30
|
name: string;
|
|
31
31
|
referenceFrame: string;
|
|
32
|
-
pose: Pose
|
|
32
|
+
pose: import("@viamrobotics/sdk").PlainMessage<import("@viamrobotics/sdk/dist/gen/common/v1/common_pb").Pose>;
|
|
33
33
|
geometry?: T;
|
|
34
34
|
metadata: Metadata;
|
|
35
35
|
constructor(name: string, pose?: Pose, parent?: string, geometry?: T, metadata?: Metadata);
|
|
@@ -4,16 +4,18 @@ export class WorldObject {
|
|
|
4
4
|
uuid;
|
|
5
5
|
name;
|
|
6
6
|
referenceFrame;
|
|
7
|
-
pose;
|
|
7
|
+
pose = $state.raw(createPose());
|
|
8
8
|
geometry;
|
|
9
9
|
metadata;
|
|
10
10
|
constructor(name, pose, parent = 'world', geometry, metadata) {
|
|
11
11
|
this.uuid = MathUtils.generateUUID();
|
|
12
12
|
this.name = name;
|
|
13
13
|
this.referenceFrame = parent;
|
|
14
|
-
this.pose = pose ?? createPose();
|
|
15
14
|
this.geometry = geometry;
|
|
16
15
|
this.metadata = metadata ?? {};
|
|
16
|
+
if (pose) {
|
|
17
|
+
this.pose = pose;
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
export const fromTransform = (transform) => {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
<script lang="ts">
|
|
8
8
|
import type { Snippet } from 'svelte'
|
|
9
|
-
import type { WorldObject } from '../WorldObject'
|
|
9
|
+
import type { WorldObject } from '../WorldObject.svelte'
|
|
10
10
|
import { useObjectEvents } from '../hooks/useObjectEvents.svelte'
|
|
11
11
|
import Geometry from './Geometry.svelte'
|
|
12
12
|
import { useSelected } from '../hooks/useSelection.svelte'
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { poseToObject3d } from '../transform'
|
|
8
8
|
import { colors, darkenColor } from '../color'
|
|
9
9
|
import AxesHelper from './AxesHelper.svelte'
|
|
10
|
-
import type { WorldObject } from '../WorldObject'
|
|
10
|
+
import type { WorldObject } from '../WorldObject.svelte'
|
|
11
11
|
import { PLYLoader } from 'three/addons/loaders/PLYLoader.js'
|
|
12
12
|
|
|
13
13
|
const plyLoader = new PLYLoader()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Props as ThrelteProps } from '@threlte/core';
|
|
2
2
|
import { type Snippet } from 'svelte';
|
|
3
3
|
import { Object3D } from 'three';
|
|
4
|
-
import type { WorldObject } from '../WorldObject';
|
|
4
|
+
import type { WorldObject } from '../WorldObject.svelte';
|
|
5
5
|
interface Props extends ThrelteProps<Object3D> {
|
|
6
6
|
uuid: string;
|
|
7
7
|
name: string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { T } from '@threlte/core'
|
|
3
3
|
import { Instance, InstancedMesh } from '@threlte/extras'
|
|
4
4
|
import Frame from './Frame.svelte'
|
|
5
|
-
import type { WorldObject } from '../WorldObject'
|
|
5
|
+
import type { WorldObject } from '../WorldObject.svelte'
|
|
6
6
|
import { useSettings } from '../hooks/useSettings.svelte'
|
|
7
7
|
import type { Snippet } from 'svelte'
|
|
8
8
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
OrthographicCamera,
|
|
8
8
|
} from 'three'
|
|
9
9
|
import { T, useTask, useThrelte } from '@threlte/core'
|
|
10
|
-
import type { WorldObject } from '../WorldObject'
|
|
10
|
+
import type { WorldObject } from '../WorldObject.svelte'
|
|
11
11
|
import { useObjectEvents } from '../hooks/useObjectEvents.svelte'
|
|
12
12
|
import { poseToObject3d } from '../transform'
|
|
13
13
|
import { useSettings } from '../hooks/useSettings.svelte'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { T, type Props as ThrelteProps } from '@threlte/core'
|
|
3
3
|
import type { Snippet } from 'svelte'
|
|
4
4
|
import type { Object3D } from 'three'
|
|
5
|
-
import type { WorldObject } from '../WorldObject'
|
|
5
|
+
import type { WorldObject } from '../WorldObject.svelte'
|
|
6
6
|
import { useObjectEvents } from '../hooks/useObjectEvents.svelte'
|
|
7
7
|
|
|
8
8
|
interface Props extends ThrelteProps<Object3D> {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Props as ThrelteProps } from '@threlte/core';
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
3
|
import type { Object3D } from 'three';
|
|
4
|
-
import type { WorldObject } from '../WorldObject';
|
|
4
|
+
import type { WorldObject } from '../WorldObject.svelte';
|
|
5
5
|
interface Props extends ThrelteProps<Object3D> {
|
|
6
6
|
object: WorldObject;
|
|
7
7
|
children?: Snippet;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import Label from './Label.svelte'
|
|
4
4
|
import Portal from './portal/Portal.svelte'
|
|
5
5
|
import PortalTarget from './portal/PortalTarget.svelte'
|
|
6
|
-
import { WorldObject } from '../WorldObject'
|
|
6
|
+
import { WorldObject } from '../WorldObject.svelte'
|
|
7
7
|
|
|
8
8
|
interface Props {
|
|
9
9
|
objects: WorldObject[]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Vector3 } from 'three';
|
|
2
2
|
import { BatchedArrow } from '../three/BatchedArrow';
|
|
3
|
-
import { WorldObject, type PointsGeometry } from '../WorldObject';
|
|
3
|
+
import { WorldObject, type PointsGeometry } from '../WorldObject.svelte';
|
|
4
4
|
type ConnectionStatus = 'connecting' | 'open' | 'closed';
|
|
5
5
|
interface Context {
|
|
6
6
|
points: WorldObject<PointsGeometry>[];
|
|
@@ -4,7 +4,7 @@ import { NURBSCurve } from 'three/addons/curves/NURBSCurve.js';
|
|
|
4
4
|
import { parsePcdInWorker } from '../loaders/pcd';
|
|
5
5
|
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
6
6
|
import { BatchedArrow } from '../three/BatchedArrow';
|
|
7
|
-
import { WorldObject } from '../WorldObject';
|
|
7
|
+
import { WorldObject } from '../WorldObject.svelte';
|
|
8
8
|
const key = Symbol('draw-api-context-key');
|
|
9
9
|
const tryParse = (json) => {
|
|
10
10
|
try {
|
|
@@ -59,8 +59,13 @@ export const provideDrawAPI = () => {
|
|
|
59
59
|
}, colors ? { colors } : undefined));
|
|
60
60
|
};
|
|
61
61
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62
|
-
const
|
|
62
|
+
const drawGeometry = (data, color, parent) => {
|
|
63
63
|
let geometry;
|
|
64
|
+
const existingMesh = meshes.find((mesh) => mesh.name === data.label);
|
|
65
|
+
if (existingMesh) {
|
|
66
|
+
existingMesh.pose = data.center;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
64
69
|
if ('mesh' in data) {
|
|
65
70
|
geometry = {
|
|
66
71
|
case: 'mesh',
|
|
@@ -214,10 +219,10 @@ export const provideDrawAPI = () => {
|
|
|
214
219
|
}));
|
|
215
220
|
};
|
|
216
221
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
217
|
-
const
|
|
222
|
+
const drawGeometries = (geometries, colors, parent) => {
|
|
218
223
|
let i = 0;
|
|
219
224
|
for (const geometry of geometries) {
|
|
220
|
-
|
|
225
|
+
drawGeometry(geometry, colors[i], parent);
|
|
221
226
|
i += 1;
|
|
222
227
|
}
|
|
223
228
|
};
|
|
@@ -332,7 +337,13 @@ export const provideDrawAPI = () => {
|
|
|
332
337
|
};
|
|
333
338
|
}
|
|
334
339
|
if ('geometries' in data) {
|
|
335
|
-
return
|
|
340
|
+
return drawGeometries(data.geometries, data.colors, data.parent);
|
|
341
|
+
}
|
|
342
|
+
if ('geometry' in data) {
|
|
343
|
+
return drawGeometry(data.geometry, data.color);
|
|
344
|
+
}
|
|
345
|
+
if ('Knots' in data) {
|
|
346
|
+
return addNurbs(data, data.Color);
|
|
336
347
|
}
|
|
337
348
|
if ('remove' in data) {
|
|
338
349
|
return remove(data.names);
|
|
@@ -340,12 +351,6 @@ export const provideDrawAPI = () => {
|
|
|
340
351
|
if ('removeAll' in data) {
|
|
341
352
|
return removeAll();
|
|
342
353
|
}
|
|
343
|
-
if ('Knots' in data) {
|
|
344
|
-
return addNurbs(data, data.Color);
|
|
345
|
-
}
|
|
346
|
-
if ('geometry' in data) {
|
|
347
|
-
addGeometry(data.geometry, data.color);
|
|
348
|
-
}
|
|
349
354
|
};
|
|
350
355
|
const connect = () => {
|
|
351
356
|
if (BACKEND_IP && BUN_SERVER_PORT) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getContext, setContext, untrack } from 'svelte';
|
|
2
2
|
import { useRobotClient, createRobotQuery, useMachineStatus, useResourceNames, } from '@viamrobotics/svelte-sdk';
|
|
3
|
-
import { WorldObject } from '../WorldObject';
|
|
3
|
+
import { WorldObject } from '../WorldObject.svelte';
|
|
4
4
|
import { observe } from '@threlte/core';
|
|
5
5
|
import { useLogs } from './useLogs.svelte';
|
|
6
6
|
import { resourceColors } from '../color';
|
|
@@ -4,7 +4,7 @@ import { createResourceClient, useResourceNames } from '@viamrobotics/svelte-sdk
|
|
|
4
4
|
import { setContext, getContext } from 'svelte';
|
|
5
5
|
import { fromStore, toStore } from 'svelte/store';
|
|
6
6
|
import { useMachineSettings } from './useMachineSettings.svelte';
|
|
7
|
-
import { WorldObject } from '../WorldObject';
|
|
7
|
+
import { WorldObject } from '../WorldObject.svelte';
|
|
8
8
|
import { usePersistentUUIDs } from './usePersistentUUIDs.svelte';
|
|
9
9
|
import { useLogs } from './useLogs.svelte';
|
|
10
10
|
import { resourceColors } from '../color';
|
|
@@ -5,7 +5,7 @@ import { fromStore, toStore } from 'svelte/store';
|
|
|
5
5
|
import { createResourceClient, useResourceNames } from '@viamrobotics/svelte-sdk';
|
|
6
6
|
import { parsePcdInWorker } from '../loaders/pcd';
|
|
7
7
|
import { useMachineSettings } from './useMachineSettings.svelte';
|
|
8
|
-
import { WorldObject } from '../WorldObject';
|
|
8
|
+
import { WorldObject } from '../WorldObject.svelte';
|
|
9
9
|
import { usePersistentUUIDs } from './usePersistentUUIDs.svelte';
|
|
10
10
|
import { useLogs } from './useLogs.svelte';
|
|
11
11
|
const key = Symbol('pointcloud-context');
|
|
@@ -2,7 +2,7 @@ import { getContext, setContext } from 'svelte';
|
|
|
2
2
|
import { get, set } from 'idb-keyval';
|
|
3
3
|
import { Debounced } from 'runed';
|
|
4
4
|
import { createGeometry } from '../transform';
|
|
5
|
-
import { WorldObject } from '../WorldObject';
|
|
5
|
+
import { WorldObject } from '../WorldObject.svelte';
|
|
6
6
|
const key = Symbol('static-geometries-context');
|
|
7
7
|
export const provideStaticGeometries = () => {
|
|
8
8
|
let geometries = $state([]);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type TransformChangeEvent } from '@viamrobotics/sdk';
|
|
2
|
-
import { WorldObject } from '../WorldObject';
|
|
2
|
+
import { WorldObject } from '../WorldObject.svelte';
|
|
3
3
|
export declare const useWorldStates: () => {
|
|
4
4
|
readonly names: import("@viamrobotics/sdk").PlainMessage<import("@viamrobotics/sdk/dist/gen/common/v1/common_pb").ResourceName>[];
|
|
5
5
|
readonly current: {
|
|
6
6
|
readonly name: string;
|
|
7
|
-
readonly objects: WorldObject<import("../WorldObject").Geometries>[];
|
|
7
|
+
readonly objects: WorldObject<import("../WorldObject.svelte").Geometries>[];
|
|
8
8
|
readonly listUUIDs: import("@tanstack/svelte-query").QueryObserverResult<string[]>;
|
|
9
9
|
readonly getTransforms: import("@tanstack/svelte-query").QueryObserverResult<import("@viamrobotics/sdk").TransformWithUUID>[] | undefined;
|
|
10
10
|
readonly changeStream: import("@tanstack/svelte-query").DefinedQueryObserverResult<TransformChangeEvent[], Error> | import("@tanstack/svelte-query").QueryObserverLoadingErrorResult<TransformChangeEvent[], Error> | import("@tanstack/svelte-query").QueryObserverLoadingResult<TransformChangeEvent[], Error> | import("@tanstack/svelte-query").QueryObserverPendingResult<TransformChangeEvent[], Error> | import("@tanstack/svelte-query").QueryObserverPlaceholderResult<TransformChangeEvent[], Error>;
|
|
@@ -12,7 +12,7 @@ export declare const useWorldStates: () => {
|
|
|
12
12
|
};
|
|
13
13
|
export declare const useWorldState: (partID: () => string, resourceName: () => string) => {
|
|
14
14
|
readonly name: string;
|
|
15
|
-
readonly objects: WorldObject<import("../WorldObject").Geometries>[];
|
|
15
|
+
readonly objects: WorldObject<import("../WorldObject.svelte").Geometries>[];
|
|
16
16
|
readonly listUUIDs: import("@tanstack/svelte-query").QueryObserverResult<string[]>;
|
|
17
17
|
readonly getTransforms: import("@tanstack/svelte-query").QueryObserverResult<import("@viamrobotics/sdk").TransformWithUUID>[] | undefined;
|
|
18
18
|
readonly changeStream: import("@tanstack/svelte-query").DefinedQueryObserverResult<TransformChangeEvent[], Error> | import("@tanstack/svelte-query").QueryObserverLoadingErrorResult<TransformChangeEvent[], Error> | import("@tanstack/svelte-query").QueryObserverLoadingResult<TransformChangeEvent[], Error> | import("@tanstack/svelte-query").QueryObserverPendingResult<TransformChangeEvent[], Error> | import("@tanstack/svelte-query").QueryObserverPlaceholderResult<TransformChangeEvent[], Error>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { toPath, getInUnsafe, mutInUnsafe } from '@thi.ng/paths';
|
|
2
2
|
import { WorldStateStoreClient, TransformChangeType, } from '@viamrobotics/sdk';
|
|
3
3
|
import { createResourceClient, createResourceQuery, createResourceStream, useResourceNames, } from '@viamrobotics/svelte-sdk';
|
|
4
|
-
import { fromTransform, WorldObject } from '../WorldObject';
|
|
4
|
+
import { fromTransform, WorldObject } from '../WorldObject.svelte';
|
|
5
5
|
import { usePartID } from './usePartID.svelte';
|
|
6
6
|
export const useWorldStates = () => {
|
|
7
7
|
const partID = usePartID();
|
package/dist/lib.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export { default as AxesHelper } from './components/AxesHelper.svelte';
|
|
|
3
3
|
export { BatchedArrow } from './three/BatchedArrow';
|
|
4
4
|
export { CapsuleGeometry } from './three/CapsuleGeometry';
|
|
5
5
|
export { OrientationVector } from './three/OrientationVector';
|
|
6
|
-
export { WorldObject } from './WorldObject';
|
|
6
|
+
export { WorldObject } from './WorldObject.svelte';
|
|
7
7
|
export { parsePcdInWorker } from './loaders/pcd';
|
package/dist/lib.js
CHANGED
|
@@ -5,6 +5,6 @@ export { default as AxesHelper } from './components/AxesHelper.svelte';
|
|
|
5
5
|
export { BatchedArrow } from './three/BatchedArrow';
|
|
6
6
|
export { CapsuleGeometry } from './three/CapsuleGeometry';
|
|
7
7
|
export { OrientationVector } from './three/OrientationVector';
|
|
8
|
-
export { WorldObject } from './WorldObject';
|
|
8
|
+
export { WorldObject } from './WorldObject.svelte';
|
|
9
9
|
// Functions
|
|
10
10
|
export { parsePcdInWorker } from './loaders/pcd';
|