@viamrobotics/motion-tools 0.11.8 → 0.13.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/Detail.svelte.d.ts +41 -0
- package/dist/Detail.svelte.js +147 -0
- package/dist/WorldObject.svelte.d.ts +18 -27
- package/dist/WorldObject.svelte.js +48 -3
- package/dist/components/App.svelte +80 -30
- package/dist/components/App.svelte.d.ts +8 -0
- package/dist/components/Details.svelte +320 -37
- package/dist/components/FileDrop.svelte +5 -2
- package/dist/components/Geometry.svelte +86 -70
- package/dist/components/Geometry.svelte.d.ts +3 -3
- package/dist/components/LiveUpdatesBanner.svelte +39 -0
- package/dist/components/LiveUpdatesBanner.svelte.d.ts +3 -0
- package/dist/components/Pointcloud.svelte +3 -3
- package/dist/components/Pointcloud.svelte.d.ts +2 -5
- package/dist/components/RefreshRate.svelte +11 -6
- package/dist/components/RefreshRate.svelte.d.ts +3 -1
- package/dist/components/SceneProviders.svelte +5 -1
- package/dist/components/Selected.svelte +10 -10
- package/dist/components/StaticGeometries.svelte +2 -2
- package/dist/components/Tree/Settings.svelte +10 -4
- package/dist/components/Tree/TreeContainer.svelte +2 -0
- package/dist/components/Tree/Widgets.svelte +24 -0
- package/dist/components/Tree/Widgets.svelte.d.ts +18 -0
- package/dist/components/Tree/buildTree.js +1 -1
- package/dist/components/WorldObjects.svelte +12 -10
- package/dist/components/shared/Table.svelte +37 -0
- package/dist/components/shared/Table.svelte.d.ts +7 -0
- package/dist/components/weblab/WeblabActive.svelte +21 -0
- package/dist/components/weblab/WeblabActive.svelte.d.ts +9 -0
- package/dist/components/weblab/WeblabProvider.svelte +8 -0
- package/dist/components/weblab/WeblabProvider.svelte.d.ts +5 -0
- package/dist/components/widgets/ArmPositions.svelte +76 -0
- package/dist/components/widgets/ArmPositions.svelte.d.ts +3 -0
- package/dist/format.d.ts +1 -0
- package/dist/format.js +15 -0
- package/dist/hooks/useArmClient.svelte.d.ts +7 -0
- package/dist/hooks/useArmClient.svelte.js +36 -0
- package/dist/hooks/useArrows.svelte.d.ts +3 -0
- package/dist/hooks/useArrows.svelte.js +9 -0
- package/dist/hooks/useDrawAPI.svelte.d.ts +0 -4
- package/dist/hooks/useDrawAPI.svelte.js +34 -29
- package/dist/hooks/useFrames.svelte.d.ts +1 -0
- package/dist/hooks/useFrames.svelte.js +172 -11
- package/dist/hooks/useGeometries.svelte.js +4 -7
- package/dist/hooks/useMachineSettings.svelte.d.ts +4 -0
- package/dist/hooks/useMachineSettings.svelte.js +8 -1
- package/dist/hooks/usePartConfig.svelte.d.ts +98 -0
- package/dist/hooks/usePartConfig.svelte.js +230 -0
- package/dist/hooks/usePointclouds.svelte.js +3 -6
- package/dist/hooks/usePose.svelte.js +8 -3
- package/dist/hooks/useSettings.svelte.d.ts +2 -0
- package/dist/hooks/useSettings.svelte.js +2 -0
- package/dist/hooks/useStaticGeometries.svelte.js +1 -1
- package/dist/hooks/useWeblabs.svelte.d.ts +12 -0
- package/dist/hooks/useWeblabs.svelte.js +25 -0
- package/dist/hooks/useWorldState.svelte.d.ts +2 -38
- package/dist/three/BatchedArrow.d.ts +4 -3
- package/dist/three/BatchedArrow.js +14 -7
- package/dist/three/OBBHelper.d.ts +14 -0
- package/dist/three/OBBHelper.js +71 -0
- package/package.json +1 -1
- package/dist/hooks/usePoses.svelte.d.ts +0 -12
- package/dist/hooks/usePoses.svelte.js +0 -63
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { createQueries, queryOptions } from '@tanstack/svelte-query';
|
|
2
|
-
import { MotionClient, PoseInFrame, ResourceName } from '@viamrobotics/sdk';
|
|
3
|
-
import { createResourceClient, useResourceNames } from '@viamrobotics/svelte-sdk';
|
|
4
|
-
import { getContext, setContext } from 'svelte';
|
|
5
|
-
import { fromStore, toStore } from 'svelte/store';
|
|
6
|
-
import { useMachineSettings } from './useMachineSettings.svelte';
|
|
7
|
-
const key = Symbol('poses-context');
|
|
8
|
-
export const providePoses = (partID) => {
|
|
9
|
-
const { refreshRates } = useMachineSettings();
|
|
10
|
-
const resources = useResourceNames(partID);
|
|
11
|
-
const components = $derived(resources.current.filter(({ type }) => type === 'component'));
|
|
12
|
-
const motionResources = useResourceNames(partID, 'motion');
|
|
13
|
-
const clients = $derived(motionResources.current.map((resource) => createResourceClient(MotionClient, partID, () => resource.name)));
|
|
14
|
-
if (!refreshRates.has('Poses')) {
|
|
15
|
-
refreshRates.set('Poses', 1000);
|
|
16
|
-
}
|
|
17
|
-
const options = $derived(clients.map((motionClient) => {
|
|
18
|
-
const interval = refreshRates.get('Poses');
|
|
19
|
-
return queryOptions({
|
|
20
|
-
enabled: interval !== -1 && motionClient.current !== undefined,
|
|
21
|
-
refetchInterval: interval === 0 ? false : interval,
|
|
22
|
-
queryKey: ['partID', partID(), motionClient.current?.name, 'getPose'],
|
|
23
|
-
queryFn: async () => {
|
|
24
|
-
const client = motionClient.current;
|
|
25
|
-
if (!client) {
|
|
26
|
-
throw new Error('No client');
|
|
27
|
-
}
|
|
28
|
-
const promises = components.map((component) => {
|
|
29
|
-
return client.getPose(component.name, 'world', []);
|
|
30
|
-
});
|
|
31
|
-
const results = await Promise.allSettled(promises);
|
|
32
|
-
return results
|
|
33
|
-
.map((result, index) => ({ ...result, component: components[index] }))
|
|
34
|
-
.filter((result) => result.status === 'fulfilled')
|
|
35
|
-
.map((result) => ({ ...result.value, component: result.component }));
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
}));
|
|
39
|
-
const queries = fromStore(createQueries({
|
|
40
|
-
queries: toStore(() => options),
|
|
41
|
-
combine: (results) => {
|
|
42
|
-
const obj = {};
|
|
43
|
-
for (const service of results) {
|
|
44
|
-
let i = 0;
|
|
45
|
-
if (service.data) {
|
|
46
|
-
for (const pose of service.data) {
|
|
47
|
-
obj[components[i].name] = pose;
|
|
48
|
-
i += 1;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return obj;
|
|
53
|
-
},
|
|
54
|
-
}));
|
|
55
|
-
setContext(key, {
|
|
56
|
-
get current() {
|
|
57
|
-
return queries.current;
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
export const usePoses = () => {
|
|
62
|
-
return getContext(key);
|
|
63
|
-
};
|