@viamrobotics/motion-tools 1.9.1 → 1.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/HoverUpdater.svelte.d.ts +19 -0
- package/dist/HoverUpdater.svelte.js +120 -0
- package/dist/components/App.svelte +28 -29
- package/dist/components/MeasureTool/MeasurePoint.svelte +3 -3
- package/dist/components/MeasureTool/MeasureTool.svelte +6 -6
- package/dist/components/SceneProviders.svelte +2 -0
- package/dist/components/hover/HoveredEntities.svelte +23 -0
- package/dist/components/hover/HoveredEntity.svelte +15 -0
- package/dist/components/hover/HoveredEntity.svelte.d.ts +3 -0
- package/dist/components/hover/HoveredEntityTooltip.svelte +70 -0
- package/dist/components/{HoveredEntityTooltip.svelte.d.ts → hover/HoveredEntityTooltip.svelte.d.ts} +2 -2
- package/dist/components/hover/LinkedHoveredEntity.svelte +55 -0
- package/dist/components/hover/LinkedHoveredEntity.svelte.d.ts +9 -0
- package/dist/components/overlay/AddRelationship.svelte +131 -0
- package/dist/components/overlay/AddRelationship.svelte.d.ts +7 -0
- package/dist/components/overlay/Details.svelte +35 -2
- package/dist/components/overlay/FloatingPanel.svelte +78 -0
- package/dist/components/overlay/FloatingPanel.svelte.d.ts +13 -0
- package/dist/components/overlay/{left-pane/RefreshRate.svelte → RefreshRate.svelte} +1 -1
- package/dist/components/overlay/ToggleGroup.svelte +22 -26
- package/dist/components/overlay/ToggleGroup.svelte.d.ts +6 -7
- package/dist/components/overlay/left-pane/TreeContainer.svelte +0 -2
- package/dist/components/overlay/settings/Settings.svelte +279 -0
- package/dist/components/overlay/settings/Tabs.svelte +54 -0
- package/dist/components/overlay/settings/Tabs.svelte.d.ts +12 -0
- package/dist/ecs/index.d.ts +1 -0
- package/dist/ecs/index.js +1 -0
- package/dist/ecs/relations.d.ts +7 -0
- package/dist/ecs/relations.js +7 -0
- package/dist/ecs/traits.d.ts +7 -2
- package/dist/ecs/traits.js +10 -5
- package/dist/hooks/useGeometries.svelte.js +1 -1
- package/dist/hooks/useLinked.svelte.d.ts +7 -0
- package/dist/hooks/useLinked.svelte.js +35 -0
- package/dist/hooks/useObjectEvents.svelte.js +35 -16
- package/dist/hooks/usePointcloudObjects.svelte.js +1 -1
- package/dist/hooks/usePointclouds.svelte.js +3 -3
- package/dist/hooks/usePose.svelte.js +1 -1
- package/package.json +4 -1
- package/dist/components/HoveredEntities.svelte +0 -19
- package/dist/components/HoveredEntityTooltip.svelte +0 -242
- package/dist/components/overlay/left-pane/Settings.svelte +0 -221
- /package/dist/components/{HoveredEntities.svelte.d.ts → hover/HoveredEntities.svelte.d.ts} +0 -0
- /package/dist/components/overlay/{left-pane/RefreshRate.svelte.d.ts → RefreshRate.svelte.d.ts} +0 -0
- /package/dist/components/overlay/{left-pane → settings}/Settings.svelte.d.ts +0 -0
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { Select, Switch, Input } from '@viamrobotics/prime-core'
|
|
3
|
-
import RefreshRate from './RefreshRate.svelte'
|
|
4
|
-
import Drawer from './Drawer.svelte'
|
|
5
|
-
import { useSettings } from '../../../hooks/useSettings.svelte'
|
|
6
|
-
import { useResourceNames } from '@viamrobotics/svelte-sdk'
|
|
7
|
-
import { usePartID } from '../../../hooks/usePartID.svelte'
|
|
8
|
-
import { RefreshRates, useMachineSettings } from '../../../hooks/useMachineSettings.svelte'
|
|
9
|
-
import { useGeometries } from '../../../hooks/useGeometries.svelte'
|
|
10
|
-
import { usePointClouds } from '../../../hooks/usePointclouds.svelte'
|
|
11
|
-
import { useThrelte } from '@threlte/core'
|
|
12
|
-
import { useRefetchPoses } from '../../../hooks/useRefetchPoses'
|
|
13
|
-
|
|
14
|
-
const { invalidate } = useThrelte()
|
|
15
|
-
const partID = usePartID()
|
|
16
|
-
const cameras = useResourceNames(() => partID.current, 'camera')
|
|
17
|
-
const visionServices = useResourceNames(() => partID.current, 'vision')
|
|
18
|
-
const settings = useSettings()
|
|
19
|
-
const { disabledCameras, disabledVisionServices } = useMachineSettings()
|
|
20
|
-
const geometries = useGeometries()
|
|
21
|
-
const pointclouds = usePointClouds()
|
|
22
|
-
const { refetchPoses } = useRefetchPoses()
|
|
23
|
-
|
|
24
|
-
// Invalidate the renderer for any settings change
|
|
25
|
-
$effect(() => {
|
|
26
|
-
for (const key in settings.current) {
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
28
|
-
settings.current[key as keyof typeof settings.current]
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
invalidate()
|
|
32
|
-
})
|
|
33
|
-
</script>
|
|
34
|
-
|
|
35
|
-
<Drawer
|
|
36
|
-
name="Settings"
|
|
37
|
-
defaultOpen
|
|
38
|
-
>
|
|
39
|
-
<div class="flex h-100 flex-col gap-2 overflow-scroll p-3">
|
|
40
|
-
<h3 class="text-sm"><strong>Machine connection</strong></h3>
|
|
41
|
-
|
|
42
|
-
<RefreshRate
|
|
43
|
-
id={RefreshRates.poses}
|
|
44
|
-
label="Poses"
|
|
45
|
-
allowLive
|
|
46
|
-
onManualRefetch={() => {
|
|
47
|
-
refetchPoses()
|
|
48
|
-
geometries.refetch()
|
|
49
|
-
}}
|
|
50
|
-
/>
|
|
51
|
-
<RefreshRate
|
|
52
|
-
id={RefreshRates.pointclouds}
|
|
53
|
-
label="Pointclouds"
|
|
54
|
-
onManualRefetch={() => {
|
|
55
|
-
pointclouds.refetch()
|
|
56
|
-
}}
|
|
57
|
-
/>
|
|
58
|
-
|
|
59
|
-
<div class="mt-4">
|
|
60
|
-
<h3 class="text-sm"><strong>Enabled pointcloud cameras</strong></h3>
|
|
61
|
-
{#each cameras.current as camera (camera)}
|
|
62
|
-
<div class="flex items-center justify-between gap-4 py-2">
|
|
63
|
-
{camera.name}
|
|
64
|
-
<Switch
|
|
65
|
-
on={disabledCameras.get(camera.name) !== true}
|
|
66
|
-
on:change={(event) => {
|
|
67
|
-
disabledCameras.set(camera.name, !event.detail)
|
|
68
|
-
}}
|
|
69
|
-
/>
|
|
70
|
-
</div>
|
|
71
|
-
{:else}
|
|
72
|
-
No cameras detected
|
|
73
|
-
{/each}
|
|
74
|
-
</div>
|
|
75
|
-
|
|
76
|
-
<div class="mt-4">
|
|
77
|
-
<h3 class="text-sm"><strong>Enabled vision services</strong></h3>
|
|
78
|
-
{#each visionServices.current as visionService (visionService)}
|
|
79
|
-
<div class="flex items-center justify-between gap-4 py-2">
|
|
80
|
-
{visionService.name}
|
|
81
|
-
<Switch
|
|
82
|
-
on={disabledVisionServices.get(visionService.name) !== true}
|
|
83
|
-
on:change={(event) => {
|
|
84
|
-
disabledVisionServices.set(visionService.name, !event.detail)
|
|
85
|
-
}}
|
|
86
|
-
/>
|
|
87
|
-
</div>
|
|
88
|
-
{:else}
|
|
89
|
-
No vision services detected
|
|
90
|
-
{/each}
|
|
91
|
-
</div>
|
|
92
|
-
|
|
93
|
-
<h3 class="pt-2 text-sm"><strong>Pointclouds</strong></h3>
|
|
94
|
-
<div class="flex flex-col gap-2.5">
|
|
95
|
-
<label class="flex items-center justify-between gap-2">
|
|
96
|
-
Default point size
|
|
97
|
-
|
|
98
|
-
<div class="w-20">
|
|
99
|
-
<Input
|
|
100
|
-
bind:value={settings.current.pointSize}
|
|
101
|
-
on:keydown={(event) => event.stopImmediatePropagation()}
|
|
102
|
-
/>
|
|
103
|
-
</div>
|
|
104
|
-
</label>
|
|
105
|
-
|
|
106
|
-
<label class="flex items-center justify-between gap-2">
|
|
107
|
-
Default point color
|
|
108
|
-
|
|
109
|
-
<div class="w-20">
|
|
110
|
-
<Input
|
|
111
|
-
type="color"
|
|
112
|
-
bind:value={settings.current.pointColor}
|
|
113
|
-
on:keydown={(event) => event.stopImmediatePropagation()}
|
|
114
|
-
/>
|
|
115
|
-
</div>
|
|
116
|
-
</label>
|
|
117
|
-
</div>
|
|
118
|
-
|
|
119
|
-
<h3 class="pt-2 text-sm"><strong>Scene</strong></h3>
|
|
120
|
-
<div class="flex flex-col gap-2.5">
|
|
121
|
-
<label class="flex items-center justify-between gap-2">
|
|
122
|
-
Object labels <Switch bind:on={settings.current.enableLabels} />
|
|
123
|
-
</label>
|
|
124
|
-
|
|
125
|
-
<label class="flex items-center justify-between gap-2">
|
|
126
|
-
Grid <Switch bind:on={settings.current.grid} />
|
|
127
|
-
</label>
|
|
128
|
-
|
|
129
|
-
<label class="flex items-center justify-between gap-2">
|
|
130
|
-
Grid cell size (m)
|
|
131
|
-
|
|
132
|
-
<div class="w-20">
|
|
133
|
-
<Input
|
|
134
|
-
bind:value={settings.current.gridCellSize}
|
|
135
|
-
on:keydown={(event) => event.stopImmediatePropagation()}
|
|
136
|
-
/>
|
|
137
|
-
</div>
|
|
138
|
-
</label>
|
|
139
|
-
|
|
140
|
-
<label class="flex items-center justify-between gap-2">
|
|
141
|
-
Grid section size (m)
|
|
142
|
-
|
|
143
|
-
<div class="w-20">
|
|
144
|
-
<Input
|
|
145
|
-
bind:value={settings.current.gridSectionSize}
|
|
146
|
-
on:keydown={(event) => event.stopImmediatePropagation()}
|
|
147
|
-
/>
|
|
148
|
-
</div>
|
|
149
|
-
</label>
|
|
150
|
-
|
|
151
|
-
<label class="flex items-center justify-between gap-2">
|
|
152
|
-
Grid fade distance (m)
|
|
153
|
-
|
|
154
|
-
<div class="w-20">
|
|
155
|
-
<Input
|
|
156
|
-
bind:value={settings.current.gridFadeDistance}
|
|
157
|
-
on:keydown={(event) => event.stopImmediatePropagation()}
|
|
158
|
-
/>
|
|
159
|
-
</div>
|
|
160
|
-
</label>
|
|
161
|
-
</div>
|
|
162
|
-
|
|
163
|
-
<h3 class="pt-2 text-sm"><strong>Lines</strong></h3>
|
|
164
|
-
<div class="flex flex-col gap-2.5">
|
|
165
|
-
<label class="flex items-center justify-between gap-2">
|
|
166
|
-
Thickness
|
|
167
|
-
|
|
168
|
-
<div class="w-20">
|
|
169
|
-
<Input
|
|
170
|
-
bind:value={settings.current.lineWidth}
|
|
171
|
-
on:keydown={(event) => event.stopImmediatePropagation()}
|
|
172
|
-
/>
|
|
173
|
-
</div>
|
|
174
|
-
</label>
|
|
175
|
-
|
|
176
|
-
<label class="flex items-center justify-between gap-2">
|
|
177
|
-
Dot size
|
|
178
|
-
|
|
179
|
-
<div class="w-20">
|
|
180
|
-
<Input
|
|
181
|
-
bind:value={settings.current.lineDotSize}
|
|
182
|
-
on:keydown={(event) => event.stopImmediatePropagation()}
|
|
183
|
-
/>
|
|
184
|
-
</div>
|
|
185
|
-
</label>
|
|
186
|
-
</div>
|
|
187
|
-
|
|
188
|
-
<h3 class="pt-2 text-sm"><strong>Misc</strong></h3>
|
|
189
|
-
<div class="flex flex-col gap-2.5">
|
|
190
|
-
<label class="flex items-center justify-between gap-2">
|
|
191
|
-
Query devtools <Switch bind:on={settings.current.enableQueryDevtools} />
|
|
192
|
-
</label>
|
|
193
|
-
<label class="flex items-center justify-between gap-2">
|
|
194
|
-
Render stats <Switch bind:on={settings.current.renderStats} />
|
|
195
|
-
</label>
|
|
196
|
-
<label class="flex items-center justify-between gap-2">
|
|
197
|
-
Render sub-entity hover detail <Switch
|
|
198
|
-
bind:on={settings.current.renderSubEntityHoverDetail}
|
|
199
|
-
/>
|
|
200
|
-
</label>
|
|
201
|
-
<label class="flex items-center justify-between gap-2">
|
|
202
|
-
Render Arm Models
|
|
203
|
-
<Select
|
|
204
|
-
value={settings.current.renderArmModels}
|
|
205
|
-
onchange={(event: InputEvent) => {
|
|
206
|
-
if (event.target instanceof HTMLSelectElement) {
|
|
207
|
-
settings.current.renderArmModels = event.target.value as
|
|
208
|
-
| 'colliders'
|
|
209
|
-
| 'colliders+model'
|
|
210
|
-
| 'model'
|
|
211
|
-
}
|
|
212
|
-
}}
|
|
213
|
-
>
|
|
214
|
-
<option value="colliders">Colliders</option>
|
|
215
|
-
<option value="colliders+model">Colliders + Model</option>
|
|
216
|
-
<option value="model">Model</option>
|
|
217
|
-
</Select>
|
|
218
|
-
</label>
|
|
219
|
-
</div>
|
|
220
|
-
</div>
|
|
221
|
-
</Drawer>
|
|
File without changes
|
/package/dist/components/overlay/{left-pane/RefreshRate.svelte.d.ts → RefreshRate.svelte.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|