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