@viamrobotics/motion-tools 1.14.0 → 1.15.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/FrameConfigUpdater.svelte.d.ts +2 -2
- package/dist/HoverUpdater.svelte.d.ts +1 -1
- package/dist/attribute.js +1 -1
- package/dist/color.d.ts +1 -1
- package/dist/color.js +2 -2
- package/dist/components/App.svelte +25 -21
- package/dist/components/App.svelte.d.ts +1 -1
- package/dist/components/BatchedArrows.svelte +5 -3
- package/dist/components/Camera.svelte +1 -0
- package/dist/components/CameraControls.svelte +5 -3
- package/dist/components/Entities/Arrows/ArrowGroups.svelte +6 -3
- package/dist/components/Entities/Arrows/Arrows.svelte +6 -3
- package/dist/components/Entities/Entities.svelte +7 -5
- package/dist/components/Entities/Frame.svelte +8 -5
- package/dist/components/Entities/Frame.svelte.d.ts +2 -2
- package/dist/components/Entities/GLTF.svelte +8 -5
- package/dist/components/Entities/GLTF.svelte.d.ts +2 -2
- package/dist/components/Entities/Geometry.svelte +8 -5
- package/dist/components/Entities/Line.svelte +8 -5
- package/dist/components/Entities/Line.svelte.d.ts +1 -1
- package/dist/components/Entities/LineDots.svelte +1 -1
- package/dist/components/Entities/LineGeometry.svelte +1 -1
- package/dist/components/Entities/Mesh.svelte +8 -5
- package/dist/components/Entities/Points.svelte +9 -6
- package/dist/components/Entities/Points.svelte.d.ts +2 -2
- package/dist/components/Entities/Pose.svelte +4 -3
- package/dist/components/Entities/hooks/useEntityEvents.svelte.d.ts +1 -1
- package/dist/components/Entities/hooks/useEntityEvents.svelte.js +2 -2
- package/dist/components/FileDrop/FileDrop.svelte +10 -6
- package/dist/components/FileDrop/file-dropper.d.ts +1 -1
- package/dist/components/FileDrop/pcd-dropper.js +1 -1
- package/dist/components/FileDrop/ply-dropper.js +1 -1
- package/dist/components/FileDrop/snapshot-dropper.js +1 -1
- package/dist/components/Focus.svelte +4 -2
- package/dist/components/KeyboardControls.svelte +4 -2
- package/dist/components/Lasso/Debug.svelte +5 -2
- package/dist/components/Lasso/Lasso.svelte +9 -6
- package/dist/components/Lasso/Tool.svelte +10 -7
- package/dist/components/MeasureTool/MeasurePoint.svelte +2 -1
- package/dist/components/MeasureTool/MeasurePoint.svelte.d.ts +1 -1
- package/dist/components/MeasureTool/MeasureTool.svelte +7 -5
- package/dist/components/PCD.svelte +4 -3
- package/dist/components/PointerMissBox.svelte +3 -2
- package/dist/components/Scene.svelte +12 -9
- package/dist/components/SceneProviders.svelte +20 -18
- package/dist/components/Selected.svelte +5 -3
- package/dist/components/Snapshot.svelte +8 -5
- package/dist/components/StaticGeometries.svelte +10 -7
- package/dist/components/hover/HoveredEntities.svelte +2 -1
- package/dist/components/hover/HoveredEntity.svelte +2 -1
- package/dist/components/hover/HoveredEntityTooltip.svelte +1 -0
- package/dist/components/hover/LinkedHoveredEntity.svelte +7 -5
- package/dist/components/overlay/AddRelationship.svelte +4 -2
- package/dist/components/overlay/Details.svelte +21 -19
- package/dist/components/overlay/FloatingPanel.svelte +40 -3
- package/dist/components/overlay/FloatingPanel.svelte.d.ts +1 -0
- package/dist/components/overlay/LiveUpdatesBanner.svelte +1 -0
- package/dist/components/overlay/Logs.svelte +4 -2
- package/dist/components/overlay/Popover.svelte +3 -2
- package/dist/components/overlay/RefreshRate.svelte +4 -2
- package/dist/components/overlay/dashboard/Button.svelte +2 -1
- package/dist/components/overlay/dashboard/Button.svelte.d.ts +1 -1
- package/dist/components/overlay/dashboard/Dashboard.svelte +3 -1
- package/dist/components/overlay/left-pane/AddFrames.svelte +4 -2
- package/dist/components/overlay/left-pane/Drawer.svelte +3 -2
- package/dist/components/overlay/left-pane/Tree.svelte +6 -12
- package/dist/components/overlay/left-pane/TreeContainer.svelte +33 -50
- package/dist/components/overlay/left-pane/TreeContainer.svelte.d.ts +1 -1
- package/dist/components/overlay/settings/Settings.svelte +37 -10
- package/dist/components/overlay/settings/Tabs.svelte +2 -1
- package/dist/components/overlay/widgets/ArmPositions.svelte +3 -2
- package/dist/components/overlay/widgets/Camera.svelte +6 -5
- package/dist/components/weblab/WeblabActive.svelte +2 -1
- package/dist/components/xr/ArmTeleop.svelte +7 -6
- package/dist/components/xr/BentPlaneGeometry.svelte +3 -2
- package/dist/components/xr/CameraFeed.svelte +2 -0
- package/dist/components/xr/Controllers.svelte +5 -3
- package/dist/components/xr/Draggable.svelte +4 -3
- package/dist/components/xr/HandCollider.svelte +2 -1
- package/dist/components/xr/JointLimitsWidget.svelte +1 -0
- package/dist/components/xr/OriginMarker.svelte +2 -1
- package/dist/components/xr/PointDistance.svelte +3 -2
- package/dist/components/xr/XR.svelte +8 -6
- package/dist/components/xr/XRConfigPanel.svelte +4 -3
- package/dist/components/xr/XRControllerSettings.svelte +2 -1
- package/dist/components/xr/XRToast.svelte +4 -3
- package/dist/ecs/traits.d.ts +1 -1
- package/dist/ecs/traits.js +1 -1
- package/dist/ecs/useQuery.svelte.js +1 -1
- package/dist/frame.js +1 -1
- package/dist/hooks/use3DModels.svelte.js +3 -3
- package/dist/hooks/useConfigFrames.svelte.js +3 -3
- package/dist/hooks/useDrawAPI.svelte.js +9 -9
- package/dist/hooks/useFramelessComponents.svelte.js +1 -1
- package/dist/hooks/useFrames.svelte.js +7 -7
- package/dist/hooks/useGeometries.svelte.js +8 -8
- package/dist/hooks/useMouseRaycaster.svelte.d.ts +1 -1
- package/dist/hooks/useMouseRaycaster.svelte.js +1 -1
- package/dist/hooks/usePartConfig.svelte.d.ts +1 -1
- package/dist/hooks/usePartConfig.svelte.js +3 -3
- package/dist/hooks/usePointcloudObjects.svelte.js +6 -6
- package/dist/hooks/usePointclouds.svelte.js +5 -5
- package/dist/hooks/usePose.svelte.js +7 -7
- package/dist/hooks/useSelection.svelte.d.ts +1 -1
- package/dist/hooks/useWeblabs.svelte.d.ts +1 -0
- package/dist/hooks/useWeblabs.svelte.js +15 -3
- package/dist/hooks/useWorldState.svelte.js +8 -8
- package/dist/plugins/bvh.svelte.js +2 -2
- package/dist/snapshot.d.ts +2 -2
- package/dist/snapshot.js +4 -4
- package/dist/three/BatchedArrow.d.ts +1 -1
- package/dist/three/BatchedArrow.js +1 -1
- package/dist/three/InstancedArrows/InstancedArrows.d.ts +1 -1
- package/dist/three/InstancedArrows/InstancedArrows.js +3 -3
- package/dist/three/InstancedArrows/box.js +1 -1
- package/dist/three/InstancedArrows/geometry.js +1 -1
- package/dist/three/InstancedArrows/raycast.d.ts +1 -1
- package/dist/three/InstancedArrows/raycast.js +1 -1
- package/dist/three/OBBHelper.d.ts +1 -1
- package/dist/three/OBBHelper.js +1 -1
- package/dist/three/OrientationVector.js +1 -1
- package/dist/transform.js +1 -1
- package/package.json +3 -2
- package/dist/hooks/__tests__/fixtures/ResizableTestWrapper.svelte +0 -41
- package/dist/hooks/__tests__/fixtures/ResizableTestWrapper.svelte.d.ts +0 -6
- package/dist/hooks/useResizable.svelte.d.ts +0 -12
- package/dist/hooks/useResizable.svelte.js +0 -46
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import { provideTreeExpandedContext } from './useExpanded.svelte'
|
|
6
|
-
import AddFrames from './AddFrames.svelte'
|
|
2
|
+
import { type Entity, IsExcluded } from 'koota'
|
|
3
|
+
|
|
4
|
+
import { traits, useQuery, useWorld } from '../../../ecs'
|
|
7
5
|
import { useEnvironment } from '../../../hooks/useEnvironment.svelte'
|
|
8
|
-
import { usePartID } from '../../../hooks/usePartID.svelte'
|
|
9
|
-
import { usePartConfig } from '../../../hooks/usePartConfig.svelte'
|
|
10
6
|
import { useFrames } from '../../../hooks/useFrames.svelte'
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { MIN_DIMENSIONS, useResizable } from '../../../hooks/useResizable.svelte'
|
|
7
|
+
import { usePartConfig } from '../../../hooks/usePartConfig.svelte'
|
|
8
|
+
import { usePartID } from '../../../hooks/usePartID.svelte'
|
|
9
|
+
import { useSelectedEntity } from '../../../hooks/useSelection.svelte'
|
|
15
10
|
|
|
16
|
-
|
|
11
|
+
import FloatingPanel from '../FloatingPanel.svelte'
|
|
12
|
+
import AddFrames from './AddFrames.svelte'
|
|
13
|
+
import { buildTreeNodes, type TreeNode } from './buildTree'
|
|
14
|
+
import Tree from './Tree.svelte'
|
|
15
|
+
import { provideTreeExpandedContext } from './useExpanded.svelte'
|
|
17
16
|
|
|
18
17
|
provideTreeExpandedContext()
|
|
19
18
|
|
|
20
|
-
let container = $state.raw<HTMLDivElement>()
|
|
21
|
-
let dragElement = $state.raw<HTMLElement>()
|
|
22
|
-
|
|
23
19
|
const partID = usePartID()
|
|
24
20
|
const selectedEntity = useSelectedEntity()
|
|
25
|
-
|
|
26
|
-
() => 'treeview',
|
|
27
|
-
() => ({ width: 240, height: window.innerHeight - 20 })
|
|
28
|
-
)
|
|
21
|
+
|
|
29
22
|
const environment = useEnvironment()
|
|
30
23
|
const partConfig = usePartConfig()
|
|
31
24
|
const frames = useFrames()
|
|
@@ -46,39 +39,29 @@
|
|
|
46
39
|
entity: worldEntity,
|
|
47
40
|
children: rootNodes,
|
|
48
41
|
})
|
|
49
|
-
|
|
50
|
-
$effect(() => {
|
|
51
|
-
if (container) {
|
|
52
|
-
resizable.observe(container)
|
|
53
|
-
}
|
|
54
|
-
})
|
|
55
42
|
</script>
|
|
56
43
|
|
|
57
|
-
<
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
use:draggable={{
|
|
65
|
-
bounds: 'body',
|
|
66
|
-
handle: dragElement,
|
|
67
|
-
}}
|
|
68
|
-
{...rest}
|
|
44
|
+
<FloatingPanel
|
|
45
|
+
isOpen
|
|
46
|
+
defaultPosition={{ x: 10, y: 10 }}
|
|
47
|
+
defaultSize={{ width: 240, height: 400 }}
|
|
48
|
+
title="World"
|
|
49
|
+
exitable={false}
|
|
50
|
+
resizable
|
|
69
51
|
>
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
52
|
+
<div class="text-xs">
|
|
53
|
+
<Tree
|
|
54
|
+
{rootNode}
|
|
55
|
+
{nodeMap}
|
|
56
|
+
onSelectionChange={(event) => {
|
|
57
|
+
const value = event.selectedValue[0]
|
|
76
58
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
59
|
+
selectedEntity.set(value ? (Number(value) as Entity) : undefined)
|
|
60
|
+
}}
|
|
61
|
+
/>
|
|
80
62
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
</div>
|
|
63
|
+
{#if environment.current.isStandalone && partID.current && partConfig.hasEditPermissions}
|
|
64
|
+
<AddFrames />
|
|
65
|
+
{/if}
|
|
66
|
+
</div>
|
|
67
|
+
</FloatingPanel>
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import { useThrelte } from '@threlte/core'
|
|
3
3
|
import { Portal } from '@threlte/extras'
|
|
4
|
-
import
|
|
5
|
-
import { useSettings } from '../../../hooks/useSettings.svelte'
|
|
4
|
+
import { Input, Switch } from '@viamrobotics/prime-core'
|
|
6
5
|
import { useResourceNames } from '@viamrobotics/svelte-sdk'
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { PersistedState } from 'runed'
|
|
7
|
+
import { onMount } from 'svelte'
|
|
8
|
+
|
|
9
|
+
import DashboardButton from '../dashboard/Button.svelte'
|
|
10
|
+
import XRControllerSettings from '../../xr/XRControllerSettings.svelte'
|
|
9
11
|
import { useGeometries } from '../../../hooks/useGeometries.svelte'
|
|
12
|
+
import { RefreshRates, useMachineSettings } from '../../../hooks/useMachineSettings.svelte'
|
|
13
|
+
import { usePartID } from '../../../hooks/usePartID.svelte'
|
|
10
14
|
import { usePointClouds } from '../../../hooks/usePointclouds.svelte'
|
|
11
|
-
import { useThrelte } from '@threlte/core'
|
|
12
15
|
import { useRefetchPoses } from '../../../hooks/useRefetchPoses'
|
|
16
|
+
import { useSettings } from '../../../hooks/useSettings.svelte'
|
|
17
|
+
import { useWeblabs, WEBLABS_EXPERIMENTS } from '../../../hooks/useWeblabs.svelte'
|
|
18
|
+
|
|
13
19
|
import FloatingPanel from '../FloatingPanel.svelte'
|
|
14
|
-
import
|
|
15
|
-
import Tabs from './Tabs.svelte'
|
|
16
|
-
import { PersistedState } from 'runed'
|
|
20
|
+
import RefreshRate from '../RefreshRate.svelte'
|
|
17
21
|
import ToggleGroup from '../ToggleGroup.svelte'
|
|
18
|
-
import
|
|
22
|
+
import Tabs from './Tabs.svelte'
|
|
19
23
|
|
|
20
24
|
const { invalidate } = useThrelte()
|
|
21
25
|
const partID = usePartID()
|
|
@@ -26,6 +30,12 @@
|
|
|
26
30
|
const geometries = useGeometries()
|
|
27
31
|
const pointclouds = usePointClouds()
|
|
28
32
|
const { refetchPoses } = useRefetchPoses()
|
|
33
|
+
const weblabs = useWeblabs()
|
|
34
|
+
const knownWeblabs = Object.keys(WEBLABS_EXPERIMENTS)
|
|
35
|
+
|
|
36
|
+
onMount(() => {
|
|
37
|
+
weblabs.load(knownWeblabs)
|
|
38
|
+
})
|
|
29
39
|
|
|
30
40
|
// Invalidate the renderer for any settings change
|
|
31
41
|
$effect(() => {
|
|
@@ -269,6 +279,22 @@
|
|
|
269
279
|
</div>
|
|
270
280
|
{/snippet}
|
|
271
281
|
|
|
282
|
+
{#snippet Weblabs()}
|
|
283
|
+
<div class="flex flex-col gap-1 text-xs">
|
|
284
|
+
{#each knownWeblabs as experiment (experiment)}
|
|
285
|
+
<label class="flex items-center justify-between gap-2 py-0.5">
|
|
286
|
+
{experiment}
|
|
287
|
+
<Switch
|
|
288
|
+
on={weblabs.isActive(experiment)}
|
|
289
|
+
on:change={() => weblabs.toggle(experiment)}
|
|
290
|
+
/>
|
|
291
|
+
</label>
|
|
292
|
+
{:else}
|
|
293
|
+
No weblabs defined
|
|
294
|
+
{/each}
|
|
295
|
+
</div>
|
|
296
|
+
{/snippet}
|
|
297
|
+
|
|
272
298
|
{#snippet Widgets()}
|
|
273
299
|
<div class="text-gray-9 flex flex-col gap-1 text-xs">
|
|
274
300
|
<label class="flex items-center justify-between gap-2 py-1">
|
|
@@ -319,6 +345,7 @@
|
|
|
319
345
|
{ label: 'Vision', content: Vision },
|
|
320
346
|
{ label: 'Widgets', content: Widgets },
|
|
321
347
|
{ label: 'Stats', content: Stats },
|
|
348
|
+
{ label: 'Weblabs', content: Weblabs },
|
|
322
349
|
...('xr' in navigator ? [{ label: 'VR / AR', content: XR }] : []),
|
|
323
350
|
]}
|
|
324
351
|
onValueChange={(value) => {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from 'svelte'
|
|
3
|
+
|
|
4
|
+
import { normalizeProps, useMachine } from '@zag-js/svelte'
|
|
3
5
|
import * as tabs from '@zag-js/tabs'
|
|
4
|
-
import { useMachine, normalizeProps } from '@zag-js/svelte'
|
|
5
6
|
|
|
6
7
|
interface Props {
|
|
7
8
|
defaultTab?: string
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { draggable } from '@neodrag/svelte'
|
|
3
|
-
import {
|
|
3
|
+
import { Icon, Label, Select } from '@viamrobotics/prime-core'
|
|
4
|
+
|
|
4
5
|
import Table from '../Table.svelte'
|
|
6
|
+
import { formatNumeric } from '../../../format'
|
|
5
7
|
import { useArmClient } from '../../../hooks/useArmClient.svelte'
|
|
6
|
-
import { Icon, Label, Select } from '@viamrobotics/prime-core'
|
|
7
8
|
|
|
8
9
|
const { ...rest } = $props()
|
|
9
10
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { draggable } from '@neodrag/svelte'
|
|
3
3
|
import { Icon, Select } from '@viamrobotics/prime-core'
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import { usePartID } from '../../../hooks/usePartID.svelte'
|
|
4
|
+
import { MachineConnectionEvent, StreamClient } from '@viamrobotics/sdk'
|
|
5
|
+
import { CameraStream, useConnectionStatus, useRobotClient } from '@viamrobotics/svelte-sdk'
|
|
6
|
+
|
|
8
7
|
import { useEnvironment } from '../../../hooks/useEnvironment.svelte'
|
|
8
|
+
import { usePartID } from '../../../hooks/usePartID.svelte'
|
|
9
|
+
import { useSettings } from '../../../hooks/useSettings.svelte'
|
|
9
10
|
|
|
10
11
|
interface Resolution {
|
|
11
12
|
width: number
|
|
@@ -115,7 +116,7 @@
|
|
|
115
116
|
</script>
|
|
116
117
|
|
|
117
118
|
<div
|
|
118
|
-
class="bg-extralight border-medium absolute top-0 left-0 z-4 m-2 flex resize-x flex-col overflow-hidden border text-xs"
|
|
119
|
+
class="bg-extralight border-medium absolute top-0 left-0 z-4 m-2 flex resize-x flex-col overflow-hidden border text-xs dark:text-black"
|
|
119
120
|
style:width="320px"
|
|
120
121
|
style:height="auto !important"
|
|
121
122
|
use:draggable={{
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import { T, useTask } from '@threlte/core'
|
|
3
3
|
import { useController, useXR, type XRController } from '@threlte/xr'
|
|
4
|
-
import { Vector3, Quaternion } from 'three'
|
|
5
|
-
import { createResourceClient } from '@viamrobotics/svelte-sdk'
|
|
6
4
|
import { ArmClient, GripperClient } from '@viamrobotics/sdk'
|
|
7
5
|
import * as VIAM from '@viamrobotics/sdk'
|
|
8
|
-
import {
|
|
6
|
+
import { createResourceClient } from '@viamrobotics/svelte-sdk'
|
|
7
|
+
import { Quaternion, Vector3 } from 'three'
|
|
8
|
+
|
|
9
9
|
import {
|
|
10
|
-
getFrameTransformationQuaternion,
|
|
11
10
|
calculatePositionTarget,
|
|
11
|
+
getFrameTransformationQuaternion,
|
|
12
12
|
} from './math'
|
|
13
|
-
import { OrientationVector } from '../../three/OrientationVector'
|
|
14
13
|
import { xrToast } from './toasts.svelte'
|
|
14
|
+
import { usePartID } from '../../hooks/usePartID.svelte'
|
|
15
|
+
import { OrientationVector } from '../../three/OrientationVector'
|
|
15
16
|
|
|
16
17
|
interface Props {
|
|
17
18
|
armName: string
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { Vector2, PlaneGeometry } from 'three'
|
|
3
|
-
import { T } from '@threlte/core'
|
|
4
2
|
import type { BufferAttribute } from 'three'
|
|
5
3
|
|
|
4
|
+
import { T } from '@threlte/core'
|
|
5
|
+
import { PlaneGeometry, Vector2 } from 'three'
|
|
6
|
+
|
|
6
7
|
export let args: [
|
|
7
8
|
radius: number,
|
|
8
9
|
width?: number | undefined,
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
import { T, useTask } from '@threlte/core'
|
|
3
3
|
import { createStreamClient } from '@viamrobotics/svelte-sdk'
|
|
4
4
|
import { VideoTexture } from 'three'
|
|
5
|
+
|
|
5
6
|
import { usePartID } from '../../hooks/usePartID.svelte'
|
|
7
|
+
|
|
6
8
|
import BentPlaneGeometry from './BentPlaneGeometry.svelte'
|
|
7
9
|
|
|
8
10
|
interface CameraFeedProps {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { Controller } from '@threlte/xr'
|
|
3
2
|
import { RigidBody } from '@threlte/rapier'
|
|
4
|
-
import
|
|
5
|
-
|
|
3
|
+
import { Controller } from '@threlte/xr'
|
|
4
|
+
|
|
6
5
|
import { useSettings } from '../../hooks/useSettings.svelte'
|
|
7
6
|
|
|
7
|
+
import ArmTeleop from './ArmTeleop.svelte'
|
|
8
|
+
import HandCollider from './HandCollider.svelte'
|
|
9
|
+
|
|
8
10
|
const settings = useSettings()
|
|
9
11
|
|
|
10
12
|
// Get controller config from settings
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte'
|
|
3
|
+
|
|
4
|
+
import { RigidBody as RigidBodyType } from '@dimforge/rapier3d-compat'
|
|
2
5
|
import { T, useTask } from '@threlte/core'
|
|
3
6
|
import { useGamepad } from '@threlte/extras'
|
|
7
|
+
import { AutoColliders, RigidBody } from '@threlte/rapier'
|
|
4
8
|
import { useController } from '@threlte/xr'
|
|
5
|
-
import { RigidBody as RigidBodyType } from '@dimforge/rapier3d-compat'
|
|
6
|
-
import type { Snippet } from 'svelte'
|
|
7
9
|
import { Group, Vector3 } from 'three'
|
|
8
|
-
import { AutoColliders, RigidBody } from '@threlte/rapier'
|
|
9
10
|
|
|
10
11
|
interface Props {
|
|
11
12
|
children: Snippet
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import type { Group } from 'three'
|
|
3
|
+
|
|
2
4
|
import { useParent, useTask } from '@threlte/core'
|
|
3
5
|
import { Collider, useRigidBody } from '@threlte/rapier'
|
|
4
|
-
import type { Group } from 'three'
|
|
5
6
|
|
|
6
7
|
const parent = useParent()
|
|
7
8
|
const rb = useRigidBody()
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { RigidBody as RigidBodyType } from '@dimforge/rapier3d-compat'
|
|
2
3
|
import { T, useTask } from '@threlte/core'
|
|
3
4
|
import { Grid, useGamepad } from '@threlte/extras'
|
|
4
5
|
import { Collider, RigidBody } from '@threlte/rapier'
|
|
5
|
-
import { RigidBody as RigidBodyType } from '@dimforge/rapier3d-compat'
|
|
6
6
|
import { useController } from '@threlte/xr'
|
|
7
7
|
import { Euler, Group, Quaternion, Vector3 } from 'three'
|
|
8
|
+
|
|
8
9
|
import { useOrigin } from './useOrigin.svelte'
|
|
9
10
|
|
|
10
11
|
const origin = useOrigin()
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { T, useTask } from '@threlte/core'
|
|
3
|
-
import
|
|
3
|
+
import { Billboard, Text } from '@threlte/extras'
|
|
4
4
|
import { Mesh, Vector3 } from 'three'
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
import Draggable from './Draggable.svelte'
|
|
6
7
|
|
|
7
8
|
const mesh1 = new Mesh()
|
|
8
9
|
const mesh2 = new Mesh()
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { T } from '@threlte/core'
|
|
3
|
-
import { useXR, XR, XRButton } from '@threlte/xr'
|
|
4
3
|
import { World } from '@threlte/rapier'
|
|
5
|
-
import
|
|
4
|
+
import { useXR, XR, XRButton } from '@threlte/xr'
|
|
5
|
+
import { SvelteMap } from 'svelte/reactivity'
|
|
6
|
+
|
|
7
|
+
import { usePartID } from '../../hooks/usePartID.svelte'
|
|
6
8
|
import { useSettings } from '../../hooks/useSettings.svelte'
|
|
7
|
-
|
|
9
|
+
|
|
8
10
|
import CameraFeed from './CameraFeed.svelte'
|
|
11
|
+
import Controllers from './Controllers.svelte'
|
|
9
12
|
import JointLimitsWidget from './JointLimitsWidget.svelte'
|
|
10
|
-
import
|
|
11
|
-
import XRToast from './XRToast.svelte'
|
|
13
|
+
import OriginMarker from './OriginMarker.svelte'
|
|
12
14
|
import { useOrigin } from './useOrigin.svelte'
|
|
13
|
-
import
|
|
15
|
+
import XRToast from './XRToast.svelte'
|
|
14
16
|
|
|
15
17
|
const { ...rest } = $props()
|
|
16
18
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { T, useTask } from '@threlte/core'
|
|
3
|
-
import {
|
|
3
|
+
import { useController, type XRController } from '@threlte/xr'
|
|
4
|
+
import { useResourceNames } from '@viamrobotics/svelte-sdk'
|
|
5
|
+
import { CanvasTexture, Mesh, PlaneGeometry, Raycaster } from 'three'
|
|
6
|
+
|
|
4
7
|
import { useArmClient } from '../../hooks/useArmClient.svelte'
|
|
5
8
|
import { usePartID } from '../../hooks/usePartID.svelte'
|
|
6
|
-
import { useResourceNames } from '@viamrobotics/svelte-sdk'
|
|
7
9
|
import { useSettings } from '../../hooks/useSettings.svelte'
|
|
8
|
-
import { useController, type XRController } from '@threlte/xr'
|
|
9
10
|
|
|
10
11
|
interface XRConfigPanelProps {
|
|
11
12
|
offset?: { x?: number; y?: number; z?: number }
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { Select, Switch } from '@viamrobotics/prime-core'
|
|
3
|
+
import { useResourceNames } from '@viamrobotics/svelte-sdk'
|
|
4
|
+
|
|
3
5
|
import { useArmClient } from '../../hooks/useArmClient.svelte'
|
|
4
6
|
import { usePartID } from '../../hooks/usePartID.svelte'
|
|
5
|
-
import { useResourceNames } from '@viamrobotics/svelte-sdk'
|
|
6
7
|
import { useSettings } from '../../hooks/useSettings.svelte'
|
|
7
8
|
|
|
8
9
|
const settings = useSettings()
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { untrack } from 'svelte'
|
|
3
2
|
import { T } from '@threlte/core'
|
|
4
|
-
import { CanvasTexture, PlaneGeometry } from 'three'
|
|
5
|
-
import { xrToast, type XRToastItem, type ToastVariant } from './toasts.svelte'
|
|
6
3
|
import { Headset } from '@threlte/xr'
|
|
4
|
+
import { untrack } from 'svelte'
|
|
5
|
+
import { CanvasTexture, PlaneGeometry } from 'three'
|
|
6
|
+
|
|
7
|
+
import { type ToastVariant, xrToast, type XRToastItem } from './toasts.svelte'
|
|
7
8
|
|
|
8
9
|
const CANVAS_WIDTH = 700
|
|
9
10
|
const TOAST_HEIGHT = 80
|
package/dist/ecs/traits.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { GLTF as ThreeGltf } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
2
|
+
import { Geometry as ViamGeometry } from '@viamrobotics/sdk';
|
|
2
3
|
import { type Entity } from 'koota';
|
|
3
4
|
import { BufferGeometry as ThreeBufferGeometry } from 'three';
|
|
4
|
-
import { Geometry as ViamGeometry } from '@viamrobotics/sdk';
|
|
5
5
|
export declare const Name: import("koota").Trait<() => string>;
|
|
6
6
|
export declare const Parent: import("koota").Trait<() => string>;
|
|
7
7
|
export declare const Pose: import("koota").Trait<{
|
package/dist/ecs/traits.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { Geometry as ViamGeometry } from '@viamrobotics/sdk';
|
|
1
2
|
import { trait } from 'koota';
|
|
2
3
|
import { BufferGeometry as ThreeBufferGeometry } from 'three';
|
|
3
|
-
import { Geometry as ViamGeometry } from '@viamrobotics/sdk';
|
|
4
4
|
import { createBox, createCapsule, createSphere } from '../geometry';
|
|
5
5
|
import { parsePlyInput } from '../ply';
|
|
6
6
|
export const Name = trait(() => '');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { createQuery, $internal as internal } from 'koota';
|
|
1
2
|
import { untrack } from 'svelte';
|
|
2
|
-
import { $internal as internal, createQuery } from 'koota';
|
|
3
3
|
import { useWorld } from './useWorld';
|
|
4
4
|
export function useQuery(...parameters) {
|
|
5
5
|
const world = useWorld();
|
package/dist/frame.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// TODO: replace with types exported from the sdk when created
|
|
2
2
|
import { UuidTool } from 'uuid-tool';
|
|
3
|
-
import { createPoseFromFrame } from './transform';
|
|
4
3
|
import { createGeometryFromFrame } from './geometry';
|
|
4
|
+
import { createPoseFromFrame } from './transform';
|
|
5
5
|
export const createFrame = (geometry) => {
|
|
6
6
|
return {
|
|
7
7
|
parent: 'world',
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { isInstanceOf } from '@threlte/core';
|
|
1
2
|
import { ArmClient } from '@viamrobotics/sdk';
|
|
2
3
|
import { createResourceClient, useResourceNames } from '@viamrobotics/svelte-sdk';
|
|
3
4
|
import { getContext, setContext } from 'svelte';
|
|
4
|
-
import { useSettings } from './useSettings.svelte';
|
|
5
|
-
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
6
5
|
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
|
|
7
|
-
import {
|
|
6
|
+
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
7
|
+
import { useSettings } from './useSettings.svelte';
|
|
8
8
|
const gltfLoader = new GLTFLoader();
|
|
9
9
|
const dracoLoader = new DRACOLoader();
|
|
10
10
|
dracoLoader.setDecoderPath('https://www.gstatic.com/draco/versioned/decoders/1.5.6/');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { useEnvironment } from './useEnvironment.svelte';
|
|
2
|
-
import { usePartConfig } from './usePartConfig.svelte';
|
|
3
|
-
import { createTransformFromFrame } from '../frame';
|
|
4
1
|
import { Transform } from '@viamrobotics/sdk';
|
|
5
2
|
import { getContext, setContext } from 'svelte';
|
|
3
|
+
import { createTransformFromFrame } from '../frame';
|
|
4
|
+
import { useEnvironment } from './useEnvironment.svelte';
|
|
5
|
+
import { usePartConfig } from './usePartConfig.svelte';
|
|
6
6
|
const key = Symbol('config-frames-context');
|
|
7
7
|
export const provideConfigFrames = () => {
|
|
8
8
|
const environment = useEnvironment();
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
+
import { useThrelte } from '@threlte/core';
|
|
2
|
+
import {} from 'koota';
|
|
1
3
|
import { getContext, setContext } from 'svelte';
|
|
2
4
|
import { Color, Vector3, Vector4 } from 'three';
|
|
3
5
|
import { NURBSCurve } from 'three/addons/curves/NURBSCurve.js';
|
|
4
|
-
import { UuidTool } from 'uuid-tool';
|
|
5
6
|
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
7
|
+
import { UuidTool } from 'uuid-tool';
|
|
8
|
+
import { createBufferGeometry, updateBufferGeometry } from '../attribute';
|
|
9
|
+
import { STRIDE } from '../buffer';
|
|
10
|
+
import { traits, useWorld } from '../ecs';
|
|
11
|
+
import { createBox, createCapsule, createSphere } from '../geometry';
|
|
12
|
+
import { parsePlyInput } from '../ply';
|
|
6
13
|
import { createPose, createPoseFromFrame } from '../transform';
|
|
7
14
|
import { useCameraControls } from './useControls.svelte';
|
|
8
|
-
import { useWorld, traits } from '../ecs';
|
|
9
|
-
import { useThrelte } from '@threlte/core';
|
|
10
|
-
import {} from 'koota';
|
|
11
|
-
import { parsePlyInput } from '../ply';
|
|
12
|
-
import { useLogs } from './useLogs.svelte';
|
|
13
|
-
import { createBox, createCapsule, createSphere } from '../geometry';
|
|
14
15
|
import { useDrawConnectionConfig } from './useDrawConnectionConfig.svelte';
|
|
15
|
-
import {
|
|
16
|
-
import { STRIDE } from '../buffer';
|
|
16
|
+
import { useLogs } from './useLogs.svelte';
|
|
17
17
|
const colorUtil = new Color();
|
|
18
18
|
const bufferTypes = {
|
|
19
19
|
DRAW_POINTS: 0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getContext, setContext } from 'svelte';
|
|
2
|
-
import { usePartConfig } from './usePartConfig.svelte';
|
|
3
2
|
import { useFrames } from './useFrames.svelte';
|
|
3
|
+
import { usePartConfig } from './usePartConfig.svelte';
|
|
4
4
|
const key = Symbol('frameless-components-context');
|
|
5
5
|
export const provideFramelessComponents = () => {
|
|
6
6
|
const partConfig = usePartConfig();
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { getContext, setContext, untrack } from 'svelte';
|
|
2
1
|
import { MachineConnectionEvent, Transform } from '@viamrobotics/sdk';
|
|
3
|
-
import {
|
|
2
|
+
import { createRobotQuery, useConnectionStatus, useMachineStatus, useRobotClient, } from '@viamrobotics/svelte-sdk';
|
|
4
3
|
import {} from 'koota';
|
|
5
|
-
import {
|
|
4
|
+
import { getContext, setContext, untrack } from 'svelte';
|
|
6
5
|
import { resourceNameToColor } from '../color';
|
|
7
|
-
import { useEnvironment } from './useEnvironment.svelte';
|
|
8
|
-
import { createPose } from '../transform';
|
|
9
|
-
import { useResourceByName } from './useResourceByName.svelte';
|
|
10
6
|
import { traits, useWorld } from '../ecs';
|
|
11
|
-
import { useConfigFrames } from './useConfigFrames.svelte';
|
|
12
7
|
import { updateGeometryTrait } from '../ecs/traits';
|
|
8
|
+
import { createPose } from '../transform';
|
|
9
|
+
import { useConfigFrames } from './useConfigFrames.svelte';
|
|
10
|
+
import { useEnvironment } from './useEnvironment.svelte';
|
|
11
|
+
import { useLogs } from './useLogs.svelte';
|
|
12
|
+
import { useResourceByName } from './useResourceByName.svelte';
|
|
13
13
|
const key = Symbol('frames-context');
|
|
14
14
|
export const provideFrames = (partID) => {
|
|
15
15
|
const configFrames = useConfigFrames();
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { ArmClient, CameraClient, GantryClient, GripperClient } from '@viamrobotics/sdk';
|
|
2
|
-
import { untrack, setContext, getContext } from 'svelte';
|
|
3
|
-
import { RefreshRates, useMachineSettings } from './useMachineSettings.svelte';
|
|
4
2
|
import { createResourceClient, createResourceQuery, useResourceNames, } from '@viamrobotics/svelte-sdk';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import {} from 'koota';
|
|
4
|
+
import { getContext, setContext, untrack } from 'svelte';
|
|
7
5
|
import { Color } from 'three';
|
|
8
|
-
import {
|
|
6
|
+
import { resourceColors } from '../color';
|
|
7
|
+
import { RefetchRates } from '../components/overlay/RefreshRate.svelte';
|
|
9
8
|
import { traits, useWorld } from '../ecs';
|
|
10
|
-
import {} from '
|
|
9
|
+
import { updateGeometryTrait } from '../ecs/traits';
|
|
11
10
|
import { createPose } from '../transform';
|
|
12
|
-
import { RefetchRates } from '../components/overlay/RefreshRate.svelte';
|
|
13
11
|
import { useEnvironment } from './useEnvironment.svelte';
|
|
14
|
-
import {
|
|
12
|
+
import { useLogs } from './useLogs.svelte';
|
|
13
|
+
import { RefreshRates, useMachineSettings } from './useMachineSettings.svelte';
|
|
14
|
+
import { useResourceByName } from './useResourceByName.svelte';
|
|
15
15
|
const key = Symbol('geometries-context');
|
|
16
16
|
const colorUtil = new Color();
|
|
17
17
|
export const provideGeometries = (partID) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Vector2, Raycaster, EventDispatcher } from 'three';
|
|
2
1
|
import { useThrelte } from '@threlte/core';
|
|
2
|
+
import { EventDispatcher, Raycaster, Vector2 } from 'three';
|
|
3
3
|
const pointerDown = new Vector2();
|
|
4
4
|
const pointerUp = new Vector2();
|
|
5
5
|
const pointerMove = new Vector2();
|