@wandelbots/wandelbots-js-react-components 2.59.0-pr.dev-fix-flaky-task.488.1957fef → 2.59.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/README.md +10 -107
- package/dist/auth0-spa-js.production.esm-1QXzndwB.js +950 -0
- package/dist/auth0-spa-js.production.esm-1QXzndwB.js.map +1 -0
- package/dist/auth0-spa-js.production.esm-BLRAk7Yh.cjs +5 -0
- package/dist/auth0-spa-js.production.esm-BLRAk7Yh.cjs.map +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -1
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +1 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +1 -1
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts +1 -1
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +1 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +1 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +1 -1
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +1 -1
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +1 -1
- package/dist/components/ProgramStateIndicator.d.ts +3 -3
- package/dist/components/ProgramStateIndicator.d.ts.map +1 -1
- package/dist/components/RobotCard.d.ts +4 -5
- package/dist/components/RobotCard.d.ts.map +1 -1
- package/dist/components/jogging/JoggingCartesianTab.d.ts.map +1 -1
- package/dist/components/jogging/JoggingOptions.d.ts.map +1 -1
- package/dist/components/jogging/JoggingPanel.d.ts +1 -1
- package/dist/components/jogging/JoggingPanel.d.ts.map +1 -1
- package/dist/components/jogging/JoggingStore.d.ts +5 -10
- package/dist/components/jogging/JoggingStore.d.ts.map +1 -1
- package/dist/components/jogging/PoseCartesianValues.d.ts +2 -2
- package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -1
- package/dist/components/jogging/PoseJointValues.d.ts +2 -1
- package/dist/components/jogging/PoseJointValues.d.ts.map +1 -1
- package/dist/components/robots/DHRobot.d.ts.map +1 -1
- package/dist/components/robots/GenericRobot.d.ts +2 -2
- package/dist/components/robots/GenericRobot.d.ts.map +1 -1
- package/dist/components/robots/Robot.d.ts +2 -4
- package/dist/components/robots/Robot.d.ts.map +1 -1
- package/dist/components/robots/RobotAnimator.d.ts +2 -2
- package/dist/components/robots/RobotAnimator.d.ts.map +1 -1
- package/dist/components/robots/SupportedRobot.d.ts +4 -4
- package/dist/components/robots/SupportedRobot.d.ts.map +1 -1
- package/dist/components/robots/manufacturerHomePositions.d.ts +1 -1
- package/dist/components/robots/manufacturerHomePositions.d.ts.map +1 -1
- package/dist/components/robots/robotModelLogic.d.ts +1 -11
- package/dist/components/robots/robotModelLogic.d.ts.map +1 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -1
- package/dist/components/safetyBar/OperationModeIndicator.d.ts +2 -2
- package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -1
- package/dist/components/safetyBar/SafetyBar.d.ts +3 -3
- package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -1
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts +2 -2
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -1
- package/dist/components/utils/errorHandling.d.ts.map +1 -1
- package/dist/index.cjs +160 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +39 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36825 -0
- package/dist/index.js.map +1 -0
- package/package.json +32 -70
- package/src/components/3d-viewport/CoordinateSystemTransform.tsx +1 -1
- package/src/components/3d-viewport/SafetyZonesRenderer.tsx +2 -1
- package/src/components/3d-viewport/collider/ColliderCollection.tsx +1 -1
- package/src/components/3d-viewport/collider/ColliderElement.tsx +1 -1
- package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +1 -1
- package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +1 -1
- package/src/components/AppHeader.md +1 -1
- package/src/components/ProgramStateIndicator.tsx +6 -3
- package/src/components/RobotCard.tsx +8 -5
- package/src/components/jogging/JoggingCartesianTab.tsx +11 -13
- package/src/components/jogging/JoggingJointLimitDetector.tsx +2 -2
- package/src/components/jogging/JoggingJointTab.tsx +4 -4
- package/src/components/jogging/JoggingOptions.tsx +5 -6
- package/src/components/jogging/JoggingPanel.tsx +3 -6
- package/src/components/jogging/JoggingStore.ts +39 -66
- package/src/components/jogging/PoseCartesianValues.tsx +4 -3
- package/src/components/jogging/PoseJointValues.tsx +4 -3
- package/src/components/robots/DHRobot.tsx +3 -2
- package/src/components/robots/GenericRobot.tsx +36 -97
- package/src/components/robots/Robot.tsx +2 -4
- package/src/components/robots/RobotAnimator.test.tsx +22 -7
- package/src/components/robots/RobotAnimator.tsx +14 -9
- package/src/components/robots/SupportedRobot.tsx +9 -14
- package/src/components/robots/manufacturerHomePositions.ts +1 -1
- package/src/components/robots/robotModelLogic.ts +6 -75
- package/src/components/safetyBar/ControllerTypeIndicator.tsx +2 -4
- package/src/components/safetyBar/OperationModeIndicator.tsx +5 -7
- package/src/components/safetyBar/SafetyBar.tsx +6 -3
- package/src/components/safetyBar/SafetyStateIndicator.tsx +7 -9
- package/src/components/utils/errorHandling.ts +0 -4
- package/src/i18n/locales/de/translations.json +0 -3
- package/src/i18n/locales/en/translations.json +0 -3
- package/src/index.ts +43 -4
- package/dist/3d.cjs.js +0 -2
- package/dist/3d.cjs.js.map +0 -1
- package/dist/3d.d.ts +0 -11
- package/dist/3d.d.ts.map +0 -1
- package/dist/3d.es.js +0 -16
- package/dist/3d.es.js.map +0 -1
- package/dist/LoadingCover-6gWr11KP.js +0 -88
- package/dist/LoadingCover-6gWr11KP.js.map +0 -1
- package/dist/LoadingCover-CukpS_aj.cjs +0 -2
- package/dist/LoadingCover-CukpS_aj.cjs.map +0 -1
- package/dist/WandelscriptEditor-7eN-Yw7m.js +0 -140
- package/dist/WandelscriptEditor-7eN-Yw7m.js.map +0 -1
- package/dist/WandelscriptEditor-D6_vS5Uk.cjs +0 -2
- package/dist/WandelscriptEditor-D6_vS5Uk.cjs.map +0 -1
- package/dist/auth0-spa-js.production.esm-BMSlxZC5.js +0 -3877
- package/dist/auth0-spa-js.production.esm-BMSlxZC5.js.map +0 -1
- package/dist/auth0-spa-js.production.esm-DZ6lsBvD.cjs +0 -5
- package/dist/auth0-spa-js.production.esm-DZ6lsBvD.cjs.map +0 -1
- package/dist/components/jogging/JoggingBlocked.d.ts +0 -7
- package/dist/components/jogging/JoggingBlocked.d.ts.map +0 -1
- package/dist/components/utils/errorHandling.test.d.ts +0 -2
- package/dist/components/utils/errorHandling.test.d.ts.map +0 -1
- package/dist/core.cjs.js +0 -2
- package/dist/core.cjs.js.map +0 -1
- package/dist/core.d.ts +0 -33
- package/dist/core.d.ts.map +0 -1
- package/dist/core.es.js +0 -54
- package/dist/core.es.js.map +0 -1
- package/dist/externalizeComponent-CkVWk2F_.cjs +0 -24
- package/dist/externalizeComponent-CkVWk2F_.cjs.map +0 -1
- package/dist/externalizeComponent-Dc3fViZA.js +0 -489
- package/dist/externalizeComponent-Dc3fViZA.js.map +0 -1
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.es.js +0 -69
- package/dist/index.es.js.map +0 -1
- package/dist/interpolation-DAXKfoDS.cjs +0 -20
- package/dist/interpolation-DAXKfoDS.cjs.map +0 -1
- package/dist/interpolation-DcPbemBD.js +0 -6924
- package/dist/interpolation-DcPbemBD.js.map +0 -1
- package/dist/lib/ConnectedMotionGroup.d.ts +0 -90
- package/dist/lib/ConnectedMotionGroup.d.ts.map +0 -1
- package/dist/lib/JoggerConnection.d.ts +0 -113
- package/dist/lib/JoggerConnection.d.ts.map +0 -1
- package/dist/lib/JoggerConnection.test.d.ts +0 -2
- package/dist/lib/JoggerConnection.test.d.ts.map +0 -1
- package/dist/lib/MotionStreamConnection.d.ts +0 -24
- package/dist/lib/MotionStreamConnection.d.ts.map +0 -1
- package/dist/lib/MotionStreamConnection.test.d.ts +0 -2
- package/dist/lib/MotionStreamConnection.test.d.ts.map +0 -1
- package/dist/lib/motionStateUpdate.d.ts +0 -7
- package/dist/lib/motionStateUpdate.d.ts.map +0 -1
- package/dist/lib/motionStateUpdate.test.d.ts +0 -2
- package/dist/lib/motionStateUpdate.test.d.ts.map +0 -1
- package/dist/manufacturerHomePositions-BD6C5qZJ.js +0 -1040
- package/dist/manufacturerHomePositions-BD6C5qZJ.js.map +0 -1
- package/dist/manufacturerHomePositions-DRNjU1pU.cjs +0 -2
- package/dist/manufacturerHomePositions-DRNjU1pU.cjs.map +0 -1
- package/dist/theming-CPShzNuV.cjs +0 -115
- package/dist/theming-CPShzNuV.cjs.map +0 -1
- package/dist/theming-Hr605E6v.js +0 -22336
- package/dist/theming-Hr605E6v.js.map +0 -1
- package/dist/wandelscript.cjs.js +0 -2
- package/dist/wandelscript.cjs.js.map +0 -1
- package/dist/wandelscript.d.ts +0 -2
- package/dist/wandelscript.d.ts.map +0 -1
- package/dist/wandelscript.es.js +0 -5
- package/dist/wandelscript.es.js.map +0 -1
- package/src/3d.ts +0 -15
- package/src/components/jogging/JoggingBlocked.tsx +0 -37
- package/src/components/utils/errorHandling.test.ts +0 -41
- package/src/core.ts +0 -33
- package/src/env.d.ts +0 -3
- package/src/lib/ConnectedMotionGroup.ts +0 -444
- package/src/lib/JoggerConnection.test.ts +0 -120
- package/src/lib/JoggerConnection.ts +0 -674
- package/src/lib/MotionStreamConnection.test.ts +0 -23
- package/src/lib/MotionStreamConnection.ts +0 -189
- package/src/lib/motionStateUpdate.test.ts +0 -28
- package/src/lib/motionStateUpdate.ts +0 -117
- package/src/wandelscript.ts +0 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wandelbots/wandelbots-js-react-components",
|
|
3
|
-
"version": "2.59.0
|
|
3
|
+
"version": "2.59.0",
|
|
4
4
|
"description": "React UI toolkit for building applications on top of the Wandelbots platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -13,24 +13,8 @@
|
|
|
13
13
|
"main": "./dist/index.cjs",
|
|
14
14
|
"exports": {
|
|
15
15
|
".": {
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"require": "./dist/index.cjs.js"
|
|
19
|
-
},
|
|
20
|
-
"./core": {
|
|
21
|
-
"types": "./dist/core.d.ts",
|
|
22
|
-
"import": "./dist/core.es.js",
|
|
23
|
-
"require": "./dist/core.cjs.js"
|
|
24
|
-
},
|
|
25
|
-
"./3d": {
|
|
26
|
-
"types": "./dist/3d.d.ts",
|
|
27
|
-
"import": "./dist/3d.es.js",
|
|
28
|
-
"require": "./dist/3d.cjs.js"
|
|
29
|
-
},
|
|
30
|
-
"./wandelscript": {
|
|
31
|
-
"types": "./dist/wandelscript.d.ts",
|
|
32
|
-
"import": "./dist/wandelscript.es.js",
|
|
33
|
-
"require": "./dist/wandelscript.cjs.js"
|
|
16
|
+
"import": "./dist/index.js",
|
|
17
|
+
"require": "./dist/index.cjs"
|
|
34
18
|
}
|
|
35
19
|
},
|
|
36
20
|
"types": "./dist/index.d.ts",
|
|
@@ -50,8 +34,7 @@
|
|
|
50
34
|
"ci:test:runner": "wait-on tcp:127.0.0.1:9009 && test-storybook --url http://127.0.0.1:9009 --index-json --browsers chromium",
|
|
51
35
|
"build": "rimraf dist && vite build && tsc --declaration --emitDeclarationOnly",
|
|
52
36
|
"build-storybook": "storybook build",
|
|
53
|
-
"prepare": "husky || true"
|
|
54
|
-
"td": "tsx scripts/td-wrapper.ts"
|
|
37
|
+
"prepare": "husky || true"
|
|
55
38
|
},
|
|
56
39
|
"repository": {
|
|
57
40
|
"type": "git",
|
|
@@ -64,46 +47,40 @@
|
|
|
64
47
|
],
|
|
65
48
|
"author": "Wandelbots",
|
|
66
49
|
"license": "Apache-2.0",
|
|
67
|
-
"engines": {
|
|
68
|
-
"node": ">=18.14.0",
|
|
69
|
-
"npm": ">=8.0.0"
|
|
70
|
-
},
|
|
71
50
|
"devDependencies": {
|
|
72
51
|
"@emotion/react": "^11.14.0",
|
|
73
52
|
"@emotion/styled": "^11.14.0",
|
|
74
|
-
"@
|
|
75
|
-
"@mui/
|
|
76
|
-
"@mui/material": "^7.3.7",
|
|
53
|
+
"@mui/icons-material": "^7.1.1",
|
|
54
|
+
"@mui/material": "^7.1.1",
|
|
77
55
|
"@react-three/drei": "^10.2.0",
|
|
78
56
|
"@react-three/fiber": "^9.1.2",
|
|
79
|
-
"@rollup/plugin-commonjs": "^
|
|
57
|
+
"@rollup/plugin-commonjs": "^28.0.2",
|
|
80
58
|
"@rollup/plugin-json": "^6.1.0",
|
|
81
59
|
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
82
60
|
"@rollup/plugin-terser": "^0.4.4",
|
|
83
61
|
"@rollup/plugin-typescript": "^12.1.2",
|
|
84
|
-
"@
|
|
85
|
-
"@storybook/
|
|
86
|
-
"@storybook/react-vite": "^10.2.3",
|
|
62
|
+
"@storybook/addon-docs": "^10.0.1",
|
|
63
|
+
"@storybook/react-vite": "^10.0.1",
|
|
87
64
|
"@storybook/test-runner": "^0.24.1",
|
|
88
65
|
"@svgr/rollup": "^8.1.0",
|
|
89
66
|
"@testing-library/jest-dom": "^6.6.3",
|
|
90
|
-
"@testing-library/react": "^16.3.
|
|
67
|
+
"@testing-library/react": "^16.3.0",
|
|
91
68
|
"@testing-library/user-event": "^14.6.1",
|
|
92
69
|
"@types/lodash-es": "^4.17.12",
|
|
93
70
|
"@types/react": "^19.1.8",
|
|
94
|
-
"@types/three": "^0.
|
|
71
|
+
"@types/three": "^0.174.0",
|
|
95
72
|
"@vitejs/plugin-react": "^4.3.4",
|
|
96
|
-
"@wandelbots/nova-js": "^
|
|
73
|
+
"@wandelbots/nova-js": "^2.1.0",
|
|
97
74
|
"add": "^2.0.6",
|
|
98
|
-
"eslint-plugin-storybook": "^10.1
|
|
99
|
-
"glob": "^
|
|
75
|
+
"eslint-plugin-storybook": "^10.0.1",
|
|
76
|
+
"glob": "^11.0.1",
|
|
100
77
|
"http-server": "^14.1.1",
|
|
101
78
|
"husky": "^9.1.7",
|
|
102
|
-
"i18next": "^25.
|
|
79
|
+
"i18next": "^25.2.1",
|
|
103
80
|
"jest-simple-dot-reporter": "^1.0.5",
|
|
104
81
|
"jest-summary-reporter": "^0.0.2",
|
|
105
|
-
"jsdom": "^
|
|
106
|
-
"monaco-editor": "^0.
|
|
82
|
+
"jsdom": "^26.1.0",
|
|
83
|
+
"monaco-editor": "^0.52.2",
|
|
107
84
|
"nodemon": "^3.1.9",
|
|
108
85
|
"npm-run-all": "^4.1.5",
|
|
109
86
|
"postcss": "^8.5.3",
|
|
@@ -112,54 +89,40 @@
|
|
|
112
89
|
"react": "^19.1.0",
|
|
113
90
|
"react-dom": "^19.1.0",
|
|
114
91
|
"rimraf": "^6.0.1",
|
|
115
|
-
"rollup": "^4.
|
|
92
|
+
"rollup": "^4.34.9",
|
|
116
93
|
"rollup-plugin-dts": "^6.1.1",
|
|
117
94
|
"rollup-plugin-gltf": "^4.0.0",
|
|
118
95
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
119
96
|
"rollup-plugin-postcss": "^4.0.2",
|
|
120
|
-
"semantic-release": "^
|
|
121
|
-
"
|
|
122
|
-
"storybook": "^
|
|
123
|
-
"
|
|
124
|
-
"three": "^0.182.0",
|
|
97
|
+
"semantic-release": "^24.2.3",
|
|
98
|
+
"storybook": "^10.0.1",
|
|
99
|
+
"storybook-preset-inline-svg": "^1.0.1",
|
|
100
|
+
"three": "^0.174.0",
|
|
125
101
|
"three-stdlib": "^2.35.14",
|
|
126
102
|
"ts-dedent": "^2.2.0",
|
|
127
|
-
"tsx": "^4.21.0",
|
|
128
103
|
"typescript": "^5.8.2",
|
|
129
104
|
"unplugin": "^1.15.0",
|
|
130
105
|
"vite": "^6.2.0",
|
|
131
106
|
"vite-plugin-svgr": "^4.3.0",
|
|
132
107
|
"vitest": "^3.0.7",
|
|
133
|
-
"wait-on": "^
|
|
108
|
+
"wait-on": "^8.0.2"
|
|
134
109
|
},
|
|
135
110
|
"peerDependencies": {
|
|
136
111
|
"@emotion/react": "^11.11.1",
|
|
137
112
|
"@emotion/styled": "^11.11.0",
|
|
138
|
-
"@monaco-editor/react": "^4.7.0",
|
|
139
113
|
"@mui/icons-material": "^6 || ^7",
|
|
140
114
|
"@mui/material": "^6 || ^7",
|
|
141
115
|
"@react-three/drei": "^9.122.0 || ^10",
|
|
142
116
|
"@react-three/fiber": "^8 || ^9",
|
|
143
|
-
"@shikijs/monaco": "^3.1.0",
|
|
144
117
|
"react": "^18.0.0 || ^19.0.0",
|
|
145
118
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
146
|
-
"
|
|
147
|
-
"three": ">=0.182",
|
|
119
|
+
"three": ">=0.174",
|
|
148
120
|
"three-stdlib": ">=2"
|
|
149
121
|
},
|
|
150
122
|
"peerDependenciesMeta": {
|
|
151
123
|
"react-dom": {
|
|
152
124
|
"optional": true
|
|
153
125
|
},
|
|
154
|
-
"@monaco-editor/react": {
|
|
155
|
-
"optional": true
|
|
156
|
-
},
|
|
157
|
-
"@shikijs/monaco": {
|
|
158
|
-
"optional": true
|
|
159
|
-
},
|
|
160
|
-
"shiki": {
|
|
161
|
-
"optional": true
|
|
162
|
-
},
|
|
163
126
|
"@react-three/drei": {
|
|
164
127
|
"optional": true
|
|
165
128
|
},
|
|
@@ -174,18 +137,17 @@
|
|
|
174
137
|
}
|
|
175
138
|
},
|
|
176
139
|
"dependencies": {
|
|
177
|
-
"@
|
|
178
|
-
"@mui/x-
|
|
179
|
-
"@
|
|
180
|
-
"
|
|
181
|
-
"
|
|
182
|
-
"i18next-browser-languagedetector": "^8.2.0",
|
|
140
|
+
"@monaco-editor/react": "^4.7.0",
|
|
141
|
+
"@mui/x-charts": "^8.9.0",
|
|
142
|
+
"@mui/x-data-grid": "^8.10.1",
|
|
143
|
+
"@shikijs/monaco": "^3.1.0",
|
|
144
|
+
"i18next-browser-languagedetector": "^8.0.4",
|
|
183
145
|
"lodash-es": "^4.17.21",
|
|
184
146
|
"mobx": "^6.13.6",
|
|
185
147
|
"mobx-react-lite": "^4.1.0",
|
|
186
|
-
"react-error-boundary": "^6.0.
|
|
187
|
-
"react-i18next": "^16.5.
|
|
188
|
-
"
|
|
148
|
+
"react-error-boundary": "^6.0.0",
|
|
149
|
+
"react-i18next": "^16.5.4",
|
|
150
|
+
"shiki": "^3.1.0"
|
|
189
151
|
},
|
|
190
152
|
"overrides": {
|
|
191
153
|
"storybook": "$storybook"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ThreeElements } from "@react-three/fiber"
|
|
2
|
-
import type { Geometry
|
|
2
|
+
import type { Geometry } from "@wandelbots/nova-api/v1"
|
|
3
|
+
import type { SafetySetupSafetyZone } from "@wandelbots/nova-js/v1"
|
|
3
4
|
import * as THREE from "three"
|
|
4
5
|
import { ConvexGeometry } from "three-stdlib"
|
|
5
6
|
|
|
@@ -16,7 +16,7 @@ A navigation header component that displays the current application's icon and n
|
|
|
16
16
|
import {
|
|
17
17
|
AppHeader,
|
|
18
18
|
type AppItem,
|
|
19
|
-
} from "@wandelbots/wandelbots-js-react-components
|
|
19
|
+
} from "@wandelbots/wandelbots-js-react-components"
|
|
20
20
|
import { Home, Settings, Person } from "@mui/icons-material"
|
|
21
21
|
|
|
22
22
|
const apps: AppItem[] = [
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Chip, Typography, useTheme } from "@mui/material"
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
RobotControllerStateOperationModeEnum,
|
|
4
|
+
RobotControllerStateSafetyStateEnum,
|
|
5
|
+
} from "@wandelbots/nova-js/v1"
|
|
3
6
|
import { observer } from "mobx-react-lite"
|
|
4
7
|
import { useTranslation } from "react-i18next"
|
|
5
8
|
import { externalizeComponent } from "../externalizeComponent"
|
|
@@ -9,9 +12,9 @@ export interface ProgramStateIndicatorProps {
|
|
|
9
12
|
/** The current state of the program */
|
|
10
13
|
programState: ProgramState
|
|
11
14
|
/** The current safety state of the robot controller */
|
|
12
|
-
safetyState:
|
|
15
|
+
safetyState: RobotControllerStateSafetyStateEnum
|
|
13
16
|
/** The current operation mode of the robot controller */
|
|
14
|
-
operationMode:
|
|
17
|
+
operationMode: RobotControllerStateOperationModeEnum
|
|
15
18
|
/** Additional CSS class name */
|
|
16
19
|
className?: string
|
|
17
20
|
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { Box, Button, Card, Divider, Typography, useTheme } from "@mui/material"
|
|
2
2
|
import { Bounds } from "@react-three/drei"
|
|
3
3
|
import { Canvas } from "@react-three/fiber"
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
ConnectedMotionGroup,
|
|
6
|
+
RobotControllerStateOperationModeEnum,
|
|
7
|
+
RobotControllerStateSafetyStateEnum,
|
|
8
|
+
} from "@wandelbots/nova-js/v1"
|
|
5
9
|
import { observer } from "mobx-react-lite"
|
|
6
10
|
import { useCallback, useEffect, useRef, useState } from "react"
|
|
7
11
|
import { useTranslation } from "react-i18next"
|
|
8
12
|
import type { Group } from "three"
|
|
9
13
|
import { externalizeComponent } from "../externalizeComponent"
|
|
10
|
-
import type { ConnectedMotionGroup } from "../lib/ConnectedMotionGroup"
|
|
11
14
|
import { PresetEnvironment } from "./3d-viewport/PresetEnvironment"
|
|
12
15
|
import type { ProgramState } from "./ProgramControl"
|
|
13
16
|
import { ProgramStateIndicator } from "./ProgramStateIndicator"
|
|
@@ -19,9 +22,9 @@ export interface RobotCardProps {
|
|
|
19
22
|
/** Current program state */
|
|
20
23
|
programState: ProgramState
|
|
21
24
|
/** Current safety state of the robot controller */
|
|
22
|
-
safetyState:
|
|
25
|
+
safetyState: RobotControllerStateSafetyStateEnum
|
|
23
26
|
/** Current operation mode of the robot controller */
|
|
24
|
-
operationMode:
|
|
27
|
+
operationMode: RobotControllerStateOperationModeEnum
|
|
25
28
|
/** Whether the "Drive to Home" button should be enabled */
|
|
26
29
|
driveToHomeEnabled?: boolean
|
|
27
30
|
/** Callback fired when "Drive to Home" button is pressed */
|
|
@@ -52,7 +55,7 @@ export interface RobotCardProps {
|
|
|
52
55
|
flangeRef?: React.Ref<Group>
|
|
53
56
|
postModelRender?: () => void
|
|
54
57
|
transparentColor?: string
|
|
55
|
-
getModel?: (modelFromController: string) =>
|
|
58
|
+
getModel?: (modelFromController: string) => string
|
|
56
59
|
}>
|
|
57
60
|
/** Custom component to render in the content area (optional) */
|
|
58
61
|
customContentComponent?: React.ComponentType<Record<string, unknown>>
|
|
@@ -6,18 +6,13 @@ import {
|
|
|
6
6
|
useTheme,
|
|
7
7
|
type Theme,
|
|
8
8
|
} from "@mui/material"
|
|
9
|
-
import {
|
|
10
|
-
degreesToRadians,
|
|
11
|
-
radiansToDegrees,
|
|
12
|
-
XYZ_TO_VECTOR,
|
|
13
|
-
} from "@wandelbots/nova-js"
|
|
9
|
+
import { degreesToRadians, radiansToDegrees } from "@wandelbots/nova-js"
|
|
14
10
|
import { observer } from "mobx-react-lite"
|
|
15
11
|
import { useTranslation } from "react-i18next"
|
|
16
12
|
import XAxisIcon from "../../icons/axis-x.svg"
|
|
17
13
|
import YAxisIcon from "../../icons/axis-y.svg"
|
|
18
14
|
import ZAxisIcon from "../../icons/axis-z.svg"
|
|
19
15
|
import RotationIcon from "../../icons/rotation.svg"
|
|
20
|
-
import type { Vector3Simple } from "../../lib/JoggerConnection"
|
|
21
16
|
import { useReaction } from "../utils/hooks"
|
|
22
17
|
import { JoggingCartesianAxisControl } from "./JoggingCartesianAxisControl"
|
|
23
18
|
import { JoggingJointLimitDetector } from "./JoggingJointLimitDetector"
|
|
@@ -61,7 +56,7 @@ export const JoggingCartesianTab = observer(
|
|
|
61
56
|
() => {
|
|
62
57
|
store.jogger.motionStream.motionStateSocket.changeUrl(
|
|
63
58
|
store.jogger.nova.makeWebsocketURL(
|
|
64
|
-
`/
|
|
59
|
+
`/motion-groups/${store.jogger.motionGroupId}/state-stream?tcp=${store.selectedTcpId}&response_coordinate_system=${store.selectedCoordSystemId}`,
|
|
65
60
|
),
|
|
66
61
|
)
|
|
67
62
|
},
|
|
@@ -75,8 +70,8 @@ export const JoggingCartesianTab = observer(
|
|
|
75
70
|
const jogger = await store.activate()
|
|
76
71
|
|
|
77
72
|
const tcpPose = jogger.motionStream.rapidlyChangingMotionState.tcp_pose
|
|
78
|
-
const jointPosition =
|
|
79
|
-
.joint_position
|
|
73
|
+
const jointPosition =
|
|
74
|
+
jogger.motionStream.rapidlyChangingMotionState.state.joint_position
|
|
80
75
|
if (!tcpPose) return
|
|
81
76
|
|
|
82
77
|
await store.withMotionLock(async () => {
|
|
@@ -122,13 +117,13 @@ export const JoggingCartesianTab = observer(
|
|
|
122
117
|
}
|
|
123
118
|
|
|
124
119
|
if (opts.motionType === "translate") {
|
|
125
|
-
await store.jogger.
|
|
120
|
+
await store.jogger.startTCPTranslation({
|
|
126
121
|
axis: opts.axis,
|
|
127
122
|
direction: opts.direction,
|
|
128
123
|
velocityMmPerSec: store.translationVelocityMmPerSec,
|
|
129
124
|
})
|
|
130
125
|
} else {
|
|
131
|
-
await store.jogger.
|
|
126
|
+
await store.jogger.startTCPRotation({
|
|
132
127
|
axis: opts.axis,
|
|
133
128
|
direction: opts.direction,
|
|
134
129
|
velocityRadsPerSec: store.rotationVelocityRadsPerSec,
|
|
@@ -194,7 +189,10 @@ export const JoggingCartesianTab = observer(
|
|
|
194
189
|
return (
|
|
195
190
|
<Stack flexGrow={1} gap={2} sx={{ padding: "18px 24px" }}>
|
|
196
191
|
<Stack gap={2}>
|
|
192
|
+
{/* Jogging options */}
|
|
197
193
|
<JoggingOptions store={store} />
|
|
194
|
+
|
|
195
|
+
{/* Velocity slider */}
|
|
198
196
|
<JoggingVelocitySlider store={store} />
|
|
199
197
|
<Divider />
|
|
200
198
|
</Stack>
|
|
@@ -259,7 +257,7 @@ export const JoggingCartesianTab = observer(
|
|
|
259
257
|
getDisplayedValue={() =>
|
|
260
258
|
formatMM(
|
|
261
259
|
store.jogger.motionStream.rapidlyChangingMotionState
|
|
262
|
-
.tcp_pose?.position
|
|
260
|
+
.tcp_pose?.position[axis.id] || 0,
|
|
263
261
|
)
|
|
264
262
|
}
|
|
265
263
|
startJogging={(direction: "-" | "+") =>
|
|
@@ -303,7 +301,7 @@ export const JoggingCartesianTab = observer(
|
|
|
303
301
|
getDisplayedValue={() =>
|
|
304
302
|
formatDegrees(
|
|
305
303
|
store.jogger.motionStream.rapidlyChangingMotionState
|
|
306
|
-
.tcp_pose?.orientation?.[
|
|
304
|
+
.tcp_pose?.orientation?.[axis.id] || 0,
|
|
307
305
|
)
|
|
308
306
|
}
|
|
309
307
|
startJogging={(direction: "-" | "+") =>
|
|
@@ -17,14 +17,14 @@ export const JoggingJointLimitDetector = ({
|
|
|
17
17
|
const { t } = useTranslation()
|
|
18
18
|
|
|
19
19
|
const [jointLimitsReached, setJointLimitsReached] = useState(
|
|
20
|
-
store.jogger.motionStream.rapidlyChangingMotionState
|
|
20
|
+
store.jogger.motionStream.rapidlyChangingMotionState.state
|
|
21
21
|
.joint_limit_reached.limit_reached,
|
|
22
22
|
)
|
|
23
23
|
const jointLimitsReachedRef = useRef(jointLimitsReached)
|
|
24
24
|
|
|
25
25
|
useAnimationFrame(() => {
|
|
26
26
|
const newLimitsReached =
|
|
27
|
-
store.jogger.motionStream.rapidlyChangingMotionState
|
|
27
|
+
store.jogger.motionStream.rapidlyChangingMotionState.state
|
|
28
28
|
.joint_limit_reached.limit_reached
|
|
29
29
|
|
|
30
30
|
if (!isEqual(jointLimitsReachedRef.current, newLimitsReached)) {
|
|
@@ -16,7 +16,7 @@ export const JoggingJointTab = observer(
|
|
|
16
16
|
}) {
|
|
17
17
|
await store.activate()
|
|
18
18
|
|
|
19
|
-
await store.jogger.
|
|
19
|
+
await store.jogger.startJointRotation({
|
|
20
20
|
joint: opts.joint,
|
|
21
21
|
direction: opts.direction,
|
|
22
22
|
velocityRadsPerSec: store.rotationVelocityRadsPerSec,
|
|
@@ -37,12 +37,12 @@ export const JoggingJointTab = observer(
|
|
|
37
37
|
justifyContent="center"
|
|
38
38
|
alignItems="stretch"
|
|
39
39
|
sx={{ flexGrow: "1" }}
|
|
40
|
+
id="JointControls"
|
|
40
41
|
>
|
|
41
42
|
<Stack alignItems="center" gap="24px">
|
|
42
43
|
{store.jogger.motionStream.joints.map((joint) => {
|
|
43
44
|
const jointLimits =
|
|
44
|
-
store.
|
|
45
|
-
?.joints?.[joint.index]?.position
|
|
45
|
+
store.motionGroupSpec.mechanical_joint_limits?.[joint.index]
|
|
46
46
|
const lowerLimitDegs =
|
|
47
47
|
jointLimits?.lower_limit !== undefined
|
|
48
48
|
? radiansToDegrees(jointLimits.lower_limit)
|
|
@@ -80,7 +80,7 @@ export const JoggingJointTab = observer(
|
|
|
80
80
|
getValueDegs={() => {
|
|
81
81
|
const value =
|
|
82
82
|
store.jogger.motionStream.rapidlyChangingMotionState
|
|
83
|
-
.joint_position[joint.index]
|
|
83
|
+
.state.joint_position.joints[joint.index]
|
|
84
84
|
return value !== undefined
|
|
85
85
|
? radiansToDegrees(value)
|
|
86
86
|
: undefined
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Box, MenuItem } from "@mui/material"
|
|
2
2
|
import { observer } from "mobx-react-lite"
|
|
3
|
-
import { useId } from "react"
|
|
4
3
|
import { useTranslation } from "react-i18next"
|
|
5
4
|
import AdornedSelect from "../experimental/utils/AdornedSelect"
|
|
6
5
|
import {
|
|
@@ -12,7 +11,6 @@ import {
|
|
|
12
11
|
|
|
13
12
|
export const JoggingOptions = observer(({ store }: { store: JoggingStore }) => {
|
|
14
13
|
const { t } = useTranslation()
|
|
15
|
-
const componentId = useId()
|
|
16
14
|
const joggingOptions: React.ReactElement[] = []
|
|
17
15
|
|
|
18
16
|
function translateOrientation(orientation: OrientationId): string {
|
|
@@ -30,7 +28,7 @@ export const JoggingOptions = observer(({ store }: { store: JoggingStore }) => {
|
|
|
30
28
|
joggingOptions.push(
|
|
31
29
|
<AdornedSelect
|
|
32
30
|
key="coord"
|
|
33
|
-
labelId=
|
|
31
|
+
labelId="jogging-coord-select"
|
|
34
32
|
labelValue={t("Jogging.CoordinateSystem.hlb")}
|
|
35
33
|
value={store.selectedCoordSystemId}
|
|
36
34
|
size="small"
|
|
@@ -56,7 +54,7 @@ export const JoggingOptions = observer(({ store }: { store: JoggingStore }) => {
|
|
|
56
54
|
joggingOptions.push(
|
|
57
55
|
<AdornedSelect
|
|
58
56
|
key="tcp"
|
|
59
|
-
labelId=
|
|
57
|
+
labelId="jogging-tcp-select"
|
|
60
58
|
labelValue="TCP"
|
|
61
59
|
value={store.selectedTcpId}
|
|
62
60
|
size="small"
|
|
@@ -80,7 +78,8 @@ export const JoggingOptions = observer(({ store }: { store: JoggingStore }) => {
|
|
|
80
78
|
<AdornedSelect
|
|
81
79
|
key="orientation"
|
|
82
80
|
labelValue={t("Jogging.Cartesian.Orientation.lb")}
|
|
83
|
-
|
|
81
|
+
id="orientation-select"
|
|
82
|
+
labelId="orientation-select"
|
|
84
83
|
value={store.selectedOrientation}
|
|
85
84
|
onChange={(event) =>
|
|
86
85
|
store.setSelectedOrientation(event.target.value as OrientationId)
|
|
@@ -101,7 +100,7 @@ export const JoggingOptions = observer(({ store }: { store: JoggingStore }) => {
|
|
|
101
100
|
<AdornedSelect
|
|
102
101
|
key="increment"
|
|
103
102
|
labelValue={t("Jogging.Increment.hlb")}
|
|
104
|
-
labelId=
|
|
103
|
+
labelId="jogging-increment-select"
|
|
105
104
|
size="small"
|
|
106
105
|
variant="filled"
|
|
107
106
|
value={store.activeDiscreteIncrement?.id || "continuous"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import MoveIcon from "@mui/icons-material/OpenWith"
|
|
2
2
|
import ShareIcon from "@mui/icons-material/Share"
|
|
3
3
|
import { Stack, Tab, Tabs, type SxProps } from "@mui/material"
|
|
4
|
-
import { NovaClient } from "@wandelbots/nova-js/
|
|
4
|
+
import { NovaClient } from "@wandelbots/nova-js/v1"
|
|
5
5
|
import { isString } from "lodash-es"
|
|
6
6
|
import { runInAction } from "mobx"
|
|
7
7
|
import { observer, useLocalObservable } from "mobx-react-lite"
|
|
8
8
|
import { useEffect } from "react"
|
|
9
9
|
import { useTranslation } from "react-i18next"
|
|
10
10
|
import { externalizeComponent } from "../../externalizeComponent"
|
|
11
|
-
import { JoggerConnection } from "../../lib/JoggerConnection"
|
|
12
11
|
import { LoadingCover } from "../LoadingCover"
|
|
13
|
-
import { JoggingBlocked } from "./JoggingBlocked"
|
|
14
12
|
import { JoggingCartesianTab } from "./JoggingCartesianTab"
|
|
15
13
|
import { JoggingJointTab } from "./JoggingJointTab"
|
|
16
14
|
import { JoggingStore } from "./JoggingStore"
|
|
@@ -60,7 +58,7 @@ export const JoggingPanel = externalizeComponent(
|
|
|
60
58
|
try {
|
|
61
59
|
let joggingStore = props.store
|
|
62
60
|
if (!joggingStore) {
|
|
63
|
-
const jogger = await
|
|
61
|
+
const jogger = await nova.connectJogger(props.motionGroupId)
|
|
64
62
|
joggingStore = await JoggingStore.loadFor(jogger)
|
|
65
63
|
}
|
|
66
64
|
runInAction(() => {
|
|
@@ -183,6 +181,7 @@ const JoggingPanelInner = observer(
|
|
|
183
181
|
)
|
|
184
182
|
})}
|
|
185
183
|
</Tabs>
|
|
184
|
+
|
|
186
185
|
{/* Current tab content */}
|
|
187
186
|
<Stack
|
|
188
187
|
flexGrow={1}
|
|
@@ -191,8 +190,6 @@ const JoggingPanelInner = observer(
|
|
|
191
190
|
>
|
|
192
191
|
{renderTabContent()}
|
|
193
192
|
</Stack>
|
|
194
|
-
{/* Overlay when jogging connection is blocked */}
|
|
195
|
-
{store.blocked && <JoggingBlocked store={store} />}
|
|
196
193
|
</Stack>
|
|
197
194
|
)
|
|
198
195
|
},
|