@wandelbots/wandelbots-js-react-components 5.5.1 → 5.5.2

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.
Files changed (857) hide show
  1. package/dist/3d.cjs +1 -2
  2. package/dist/3d.d.ts +0 -1
  3. package/dist/3d.js +16 -29
  4. package/dist/{components/safetyBar → SafetyBar}/ControllerTypeIndicator.d.ts +0 -1
  5. package/dist/{components/safetyBar → SafetyBar}/IndicatorWithExplanation.d.ts +0 -1
  6. package/dist/{components/safetyBar → SafetyBar}/OperationModeIndicator.d.ts +0 -1
  7. package/dist/{components/safetyBar → SafetyBar}/SafetyBar.d.ts +0 -1
  8. package/dist/{components/safetyBar → SafetyBar}/SafetyStateIndicator.d.ts +0 -1
  9. package/dist/{components/safetyBar → SafetyBar}/icons/index.d.ts +0 -1
  10. package/dist/SafetyBar/index.cjs +1 -0
  11. package/dist/SafetyBar/index.d.ts +2 -0
  12. package/dist/SafetyBar/index.js +5 -0
  13. package/dist/Setup.d.ts +0 -1
  14. package/dist/chunks/MotionGroupVisualizer-C6wNomDj.cjs +1 -0
  15. package/dist/chunks/MotionGroupVisualizer-DDvhDBEq.js +1376 -0
  16. package/dist/chunks/SafetyBar-CLp3W5D7.js +413 -0
  17. package/dist/chunks/SafetyBar-Dq9qSLtS.cjs +1 -0
  18. package/dist/chunks/externalizeComponent-BuuzAqKe.js +246 -0
  19. package/dist/chunks/externalizeComponent-UnCHtc94.cjs +2 -0
  20. package/dist/chunks/interpolation-B8AQk0uI.cjs +1 -0
  21. package/dist/chunks/interpolation-BfD7X52s.js +433 -0
  22. package/dist/chunks/robot-Cy9ST5-m.js +40 -0
  23. package/dist/chunks/robot-SEtfVAmf.cjs +1 -0
  24. package/dist/chunks/safety-state-stop-CJW5CKkp.js +55 -0
  25. package/dist/chunks/safety-state-stop-CgPfwC18.cjs +1 -0
  26. package/dist/chunks/theming-B8Wz2VOQ.cjs +4 -0
  27. package/dist/chunks/theming-DT32b-FT.js +5473 -0
  28. package/dist/chunks/wbLogo-CObCmqTw.js +30 -0
  29. package/dist/chunks/wbLogo-G_IfZ03l.cjs +1 -0
  30. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +0 -1
  31. package/dist/components/3d-viewport/PresetEnvironment.d.ts +0 -1
  32. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +0 -1
  33. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +0 -1
  34. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +0 -1
  35. package/dist/components/3d-viewport/collider/ColliderElement.d.ts +0 -1
  36. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +0 -1
  37. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +0 -1
  38. package/dist/components/AppHeader.d.ts +0 -1
  39. package/dist/components/ConsoleFilter.d.ts +0 -1
  40. package/dist/components/CopyableText.d.ts +0 -1
  41. package/dist/components/CycleTimer/CycleTimer.d.ts +0 -1
  42. package/dist/components/CycleTimer/DefaultVariant.d.ts +0 -1
  43. package/dist/components/CycleTimer/SmallVariant.d.ts +0 -1
  44. package/dist/components/CycleTimer/index.d.ts +0 -1
  45. package/dist/components/CycleTimer/types.d.ts +0 -1
  46. package/dist/components/CycleTimer/useAnimations.d.ts +0 -1
  47. package/dist/components/CycleTimer/useTimerLogic.d.ts +0 -1
  48. package/dist/components/CycleTimer/utils.d.ts +0 -1
  49. package/dist/components/CycleTimer.d.ts +0 -1
  50. package/dist/components/DataGrid.d.ts +0 -1
  51. package/dist/components/LoadingCover.d.ts +0 -1
  52. package/dist/components/LogPanel.d.ts +0 -1
  53. package/dist/components/LogStore.d.ts +0 -1
  54. package/dist/components/LogViewer.d.ts +0 -1
  55. package/dist/components/ProgramControl.d.ts +0 -1
  56. package/dist/components/ProgramStateIndicator.d.ts +0 -1
  57. package/dist/components/RobotCard.d.ts +0 -1
  58. package/dist/components/RobotListItem.d.ts +0 -1
  59. package/dist/components/RobotSetupReadinessIndicator.d.ts +0 -1
  60. package/dist/components/SelectableFab.d.ts +0 -1
  61. package/dist/components/TabBar.d.ts +0 -1
  62. package/dist/components/ThemeSelect.d.ts +0 -1
  63. package/dist/components/Timer/Timer.d.ts +0 -1
  64. package/dist/components/Timer/TimerDefaultVariant.d.ts +0 -1
  65. package/dist/components/Timer/TimerSmallVariant.d.ts +0 -1
  66. package/dist/components/Timer/index.d.ts +0 -1
  67. package/dist/components/Timer/types.d.ts +0 -1
  68. package/dist/components/Timer/useTimerAnimations.d.ts +0 -1
  69. package/dist/components/Timer/useTimerLogic.d.ts +0 -1
  70. package/dist/components/Timer/utils.d.ts +0 -1
  71. package/dist/components/Timer.d.ts +0 -1
  72. package/dist/components/TransparentOverlay.d.ts +0 -1
  73. package/dist/components/VelocitySlider.d.ts +0 -1
  74. package/dist/components/experimental/utils/AdornedSelect.d.ts +0 -1
  75. package/dist/components/jogging/JoggingBlocked.d.ts +0 -1
  76. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +0 -1
  77. package/dist/components/jogging/JoggingCartesianTab.d.ts +0 -1
  78. package/dist/components/jogging/JoggingFreedriveTab.d.ts +0 -1
  79. package/dist/components/jogging/JoggingJointLimitDetector.d.ts +0 -1
  80. package/dist/components/jogging/JoggingJointTab.d.ts +0 -1
  81. package/dist/components/jogging/JoggingJointValueControl.d.ts +0 -1
  82. package/dist/components/jogging/JoggingOptions.d.ts +0 -1
  83. package/dist/components/jogging/JoggingPanel.d.ts +0 -1
  84. package/dist/components/jogging/JoggingStore.d.ts +0 -1
  85. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts +0 -1
  86. package/dist/components/jogging/JoggingVelocitySlider.d.ts +0 -1
  87. package/dist/components/jogging/PoseCartesianValues.d.ts +0 -1
  88. package/dist/components/jogging/PoseJointValues.d.ts +0 -1
  89. package/dist/components/modal/NoMotionGroupModal.d.ts +0 -1
  90. package/dist/components/robots/AxisConfig.d.ts +0 -1
  91. package/dist/components/robots/DHLinearAxis.d.ts +0 -1
  92. package/dist/components/robots/DHRobot.d.ts +0 -1
  93. package/dist/components/robots/GenericRobot.d.ts +0 -1
  94. package/dist/components/robots/LinearAxis.d.ts +0 -1
  95. package/dist/components/robots/LinearAxisAnimator.d.ts +0 -1
  96. package/dist/components/robots/MotionGroupVisualizer.d.ts +0 -1
  97. package/dist/components/robots/Robot.d.ts +0 -1
  98. package/dist/components/robots/RobotAnimator.d.ts +0 -1
  99. package/dist/components/robots/SupportedLinearAxis.d.ts +0 -1
  100. package/dist/components/robots/SupportedRobot.d.ts +0 -1
  101. package/dist/components/robots/ghostStyle.d.ts +0 -1
  102. package/dist/components/robots/manufacturerHomePositions.d.ts +0 -1
  103. package/dist/components/robots/robotModelLogic.d.ts +0 -1
  104. package/dist/components/utils/converters.d.ts +0 -1
  105. package/dist/components/utils/errorHandling.d.ts +0 -1
  106. package/dist/components/utils/hooks.d.ts +0 -1
  107. package/dist/components/utils/interpolation.d.ts +0 -1
  108. package/dist/core.cjs +1 -2
  109. package/dist/core.d.ts +1 -2
  110. package/dist/core.js +50 -78
  111. package/dist/externalizeComponent.d.ts +0 -1
  112. package/dist/i18n/config.d.ts +0 -1
  113. package/dist/icons/DropdownArrowIcon.d.ts +0 -1
  114. package/dist/icons/index.d.ts +0 -1
  115. package/dist/index.cjs +1 -2
  116. package/dist/index.d.ts +0 -1
  117. package/dist/index.js +91 -150
  118. package/dist/lib/ConnectedMotionGroup.d.ts +0 -1
  119. package/dist/lib/JoggerConnection.d.ts +0 -1
  120. package/dist/lib/MotionStreamConnection.d.ts +0 -1
  121. package/dist/lib/motionStateUpdate.d.ts +0 -1
  122. package/dist/themes/createDarkTheme.d.ts +0 -1
  123. package/dist/themes/createLightTheme.d.ts +0 -1
  124. package/dist/themes/themeTypes.d.ts +0 -1
  125. package/dist/themes/theming.d.ts +0 -1
  126. package/dist/wb-icons.cjs +1 -2
  127. package/dist/wb-icons.d.ts +1 -2
  128. package/dist/wb-icons.js +25 -45
  129. package/package.json +4 -5
  130. package/dist/3d.cjs.map +0 -1
  131. package/dist/3d.d.ts.map +0 -1
  132. package/dist/3d.js.map +0 -1
  133. package/dist/Setup.d.ts.map +0 -1
  134. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +0 -1
  135. package/dist/components/3d-viewport/PresetEnvironment.cjs +0 -2
  136. package/dist/components/3d-viewport/PresetEnvironment.cjs.map +0 -1
  137. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +0 -1
  138. package/dist/components/3d-viewport/PresetEnvironment.js +0 -81
  139. package/dist/components/3d-viewport/PresetEnvironment.js.map +0 -1
  140. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +0 -2
  141. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +0 -1
  142. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +0 -1
  143. package/dist/components/3d-viewport/SafetyZonesRenderer.js +0 -131
  144. package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +0 -1
  145. package/dist/components/3d-viewport/TrajectoryRenderer.cjs +0 -2
  146. package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +0 -1
  147. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +0 -1
  148. package/dist/components/3d-viewport/TrajectoryRenderer.js +0 -31
  149. package/dist/components/3d-viewport/TrajectoryRenderer.js.map +0 -1
  150. package/dist/components/3d-viewport/collider/ColliderCollection.cjs +0 -2
  151. package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +0 -1
  152. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +0 -1
  153. package/dist/components/3d-viewport/collider/ColliderCollection.js +0 -22
  154. package/dist/components/3d-viewport/collider/ColliderCollection.js.map +0 -1
  155. package/dist/components/3d-viewport/collider/ColliderElement.cjs +0 -2
  156. package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +0 -1
  157. package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +0 -1
  158. package/dist/components/3d-viewport/collider/ColliderElement.js +0 -29
  159. package/dist/components/3d-viewport/collider/ColliderElement.js.map +0 -1
  160. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +0 -2
  161. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +0 -1
  162. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +0 -1
  163. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +0 -19
  164. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +0 -1
  165. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +0 -2
  166. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +0 -1
  167. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +0 -1
  168. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +0 -43
  169. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +0 -1
  170. package/dist/components/AppHeader.cjs +0 -2
  171. package/dist/components/AppHeader.cjs.map +0 -1
  172. package/dist/components/AppHeader.d.ts.map +0 -1
  173. package/dist/components/AppHeader.js +0 -139
  174. package/dist/components/AppHeader.js.map +0 -1
  175. package/dist/components/ConsoleFilter.cjs +0 -2
  176. package/dist/components/ConsoleFilter.cjs.map +0 -1
  177. package/dist/components/ConsoleFilter.d.ts.map +0 -1
  178. package/dist/components/ConsoleFilter.js +0 -13
  179. package/dist/components/ConsoleFilter.js.map +0 -1
  180. package/dist/components/CopyableText.cjs +0 -2
  181. package/dist/components/CopyableText.cjs.map +0 -1
  182. package/dist/components/CopyableText.d.ts.map +0 -1
  183. package/dist/components/CopyableText.js +0 -71
  184. package/dist/components/CopyableText.js.map +0 -1
  185. package/dist/components/CycleTimer/CycleTimer.d.ts.map +0 -1
  186. package/dist/components/CycleTimer/DefaultVariant.cjs +0 -2
  187. package/dist/components/CycleTimer/DefaultVariant.cjs.map +0 -1
  188. package/dist/components/CycleTimer/DefaultVariant.d.ts.map +0 -1
  189. package/dist/components/CycleTimer/DefaultVariant.js +0 -301
  190. package/dist/components/CycleTimer/DefaultVariant.js.map +0 -1
  191. package/dist/components/CycleTimer/SmallVariant.cjs +0 -2
  192. package/dist/components/CycleTimer/SmallVariant.cjs.map +0 -1
  193. package/dist/components/CycleTimer/SmallVariant.d.ts.map +0 -1
  194. package/dist/components/CycleTimer/SmallVariant.js +0 -150
  195. package/dist/components/CycleTimer/SmallVariant.js.map +0 -1
  196. package/dist/components/CycleTimer/index.cjs +0 -2
  197. package/dist/components/CycleTimer/index.cjs.map +0 -1
  198. package/dist/components/CycleTimer/index.d.ts.map +0 -1
  199. package/dist/components/CycleTimer/index.js +0 -86
  200. package/dist/components/CycleTimer/index.js.map +0 -1
  201. package/dist/components/CycleTimer/types.d.ts.map +0 -1
  202. package/dist/components/CycleTimer/useAnimations.cjs +0 -2
  203. package/dist/components/CycleTimer/useAnimations.cjs.map +0 -1
  204. package/dist/components/CycleTimer/useAnimations.d.ts.map +0 -1
  205. package/dist/components/CycleTimer/useAnimations.js +0 -105
  206. package/dist/components/CycleTimer/useAnimations.js.map +0 -1
  207. package/dist/components/CycleTimer/useTimerLogic.cjs +0 -2
  208. package/dist/components/CycleTimer/useTimerLogic.cjs.map +0 -1
  209. package/dist/components/CycleTimer/useTimerLogic.d.ts.map +0 -1
  210. package/dist/components/CycleTimer/useTimerLogic.js +0 -191
  211. package/dist/components/CycleTimer/useTimerLogic.js.map +0 -1
  212. package/dist/components/CycleTimer/utils.cjs +0 -2
  213. package/dist/components/CycleTimer/utils.cjs.map +0 -1
  214. package/dist/components/CycleTimer/utils.d.ts.map +0 -1
  215. package/dist/components/CycleTimer/utils.js +0 -20
  216. package/dist/components/CycleTimer/utils.js.map +0 -1
  217. package/dist/components/CycleTimer.cjs +0 -2
  218. package/dist/components/CycleTimer.cjs.map +0 -1
  219. package/dist/components/CycleTimer.d.ts.map +0 -1
  220. package/dist/components/CycleTimer.js +0 -6
  221. package/dist/components/CycleTimer.js.map +0 -1
  222. package/dist/components/DataGrid.cjs +0 -2
  223. package/dist/components/DataGrid.cjs.map +0 -1
  224. package/dist/components/DataGrid.d.ts.map +0 -1
  225. package/dist/components/DataGrid.js +0 -535
  226. package/dist/components/DataGrid.js.map +0 -1
  227. package/dist/components/LoadingCover.cjs +0 -2
  228. package/dist/components/LoadingCover.cjs.map +0 -1
  229. package/dist/components/LoadingCover.d.ts.map +0 -1
  230. package/dist/components/LoadingCover.js +0 -77
  231. package/dist/components/LoadingCover.js.map +0 -1
  232. package/dist/components/LogPanel.cjs +0 -2
  233. package/dist/components/LogPanel.cjs.map +0 -1
  234. package/dist/components/LogPanel.d.ts.map +0 -1
  235. package/dist/components/LogPanel.js +0 -34
  236. package/dist/components/LogPanel.js.map +0 -1
  237. package/dist/components/LogStore.cjs +0 -2
  238. package/dist/components/LogStore.cjs.map +0 -1
  239. package/dist/components/LogStore.d.ts.map +0 -1
  240. package/dist/components/LogStore.js +0 -33
  241. package/dist/components/LogStore.js.map +0 -1
  242. package/dist/components/LogViewer.cjs +0 -2
  243. package/dist/components/LogViewer.cjs.map +0 -1
  244. package/dist/components/LogViewer.d.ts.map +0 -1
  245. package/dist/components/LogViewer.js +0 -299
  246. package/dist/components/LogViewer.js.map +0 -1
  247. package/dist/components/ProgramControl.cjs +0 -2
  248. package/dist/components/ProgramControl.cjs.map +0 -1
  249. package/dist/components/ProgramControl.d.ts.map +0 -1
  250. package/dist/components/ProgramControl.js +0 -147
  251. package/dist/components/ProgramControl.js.map +0 -1
  252. package/dist/components/ProgramStateIndicator.cjs +0 -2
  253. package/dist/components/ProgramStateIndicator.cjs.map +0 -1
  254. package/dist/components/ProgramStateIndicator.d.ts.map +0 -1
  255. package/dist/components/ProgramStateIndicator.js +0 -140
  256. package/dist/components/ProgramStateIndicator.js.map +0 -1
  257. package/dist/components/RobotCard.cjs +0 -2
  258. package/dist/components/RobotCard.cjs.map +0 -1
  259. package/dist/components/RobotCard.d.ts.map +0 -1
  260. package/dist/components/RobotCard.js +0 -360
  261. package/dist/components/RobotCard.js.map +0 -1
  262. package/dist/components/RobotListItem.cjs +0 -2
  263. package/dist/components/RobotListItem.cjs.map +0 -1
  264. package/dist/components/RobotListItem.d.ts.map +0 -1
  265. package/dist/components/RobotListItem.js +0 -122
  266. package/dist/components/RobotListItem.js.map +0 -1
  267. package/dist/components/RobotSetupReadinessIndicator.cjs +0 -2
  268. package/dist/components/RobotSetupReadinessIndicator.cjs.map +0 -1
  269. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +0 -1
  270. package/dist/components/RobotSetupReadinessIndicator.js +0 -122
  271. package/dist/components/RobotSetupReadinessIndicator.js.map +0 -1
  272. package/dist/components/RobotSetupReadinessIndicator.test.d.ts +0 -2
  273. package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +0 -1
  274. package/dist/components/SelectableFab.cjs +0 -2
  275. package/dist/components/SelectableFab.cjs.map +0 -1
  276. package/dist/components/SelectableFab.d.ts.map +0 -1
  277. package/dist/components/SelectableFab.js +0 -51
  278. package/dist/components/SelectableFab.js.map +0 -1
  279. package/dist/components/TabBar.cjs +0 -2
  280. package/dist/components/TabBar.cjs.map +0 -1
  281. package/dist/components/TabBar.d.ts.map +0 -1
  282. package/dist/components/TabBar.js +0 -212
  283. package/dist/components/TabBar.js.map +0 -1
  284. package/dist/components/ThemeSelect.d.ts.map +0 -1
  285. package/dist/components/Timer/Timer.d.ts.map +0 -1
  286. package/dist/components/Timer/TimerDefaultVariant.cjs +0 -2
  287. package/dist/components/Timer/TimerDefaultVariant.cjs.map +0 -1
  288. package/dist/components/Timer/TimerDefaultVariant.d.ts.map +0 -1
  289. package/dist/components/Timer/TimerDefaultVariant.js +0 -136
  290. package/dist/components/Timer/TimerDefaultVariant.js.map +0 -1
  291. package/dist/components/Timer/TimerSmallVariant.cjs +0 -2
  292. package/dist/components/Timer/TimerSmallVariant.cjs.map +0 -1
  293. package/dist/components/Timer/TimerSmallVariant.d.ts.map +0 -1
  294. package/dist/components/Timer/TimerSmallVariant.js +0 -128
  295. package/dist/components/Timer/TimerSmallVariant.js.map +0 -1
  296. package/dist/components/Timer/index.cjs +0 -2
  297. package/dist/components/Timer/index.cjs.map +0 -1
  298. package/dist/components/Timer/index.d.ts.map +0 -1
  299. package/dist/components/Timer/index.js +0 -68
  300. package/dist/components/Timer/index.js.map +0 -1
  301. package/dist/components/Timer/types.d.ts.map +0 -1
  302. package/dist/components/Timer/useTimerAnimations.cjs +0 -2
  303. package/dist/components/Timer/useTimerAnimations.cjs.map +0 -1
  304. package/dist/components/Timer/useTimerAnimations.d.ts.map +0 -1
  305. package/dist/components/Timer/useTimerAnimations.js +0 -48
  306. package/dist/components/Timer/useTimerAnimations.js.map +0 -1
  307. package/dist/components/Timer/useTimerLogic.cjs +0 -2
  308. package/dist/components/Timer/useTimerLogic.cjs.map +0 -1
  309. package/dist/components/Timer/useTimerLogic.d.ts.map +0 -1
  310. package/dist/components/Timer/useTimerLogic.js +0 -113
  311. package/dist/components/Timer/useTimerLogic.js.map +0 -1
  312. package/dist/components/Timer/utils.cjs +0 -2
  313. package/dist/components/Timer/utils.cjs.map +0 -1
  314. package/dist/components/Timer/utils.d.ts.map +0 -1
  315. package/dist/components/Timer/utils.js +0 -19
  316. package/dist/components/Timer/utils.js.map +0 -1
  317. package/dist/components/Timer.cjs +0 -2
  318. package/dist/components/Timer.cjs.map +0 -1
  319. package/dist/components/Timer.d.ts.map +0 -1
  320. package/dist/components/Timer.js +0 -6
  321. package/dist/components/Timer.js.map +0 -1
  322. package/dist/components/TransparentOverlay.d.ts.map +0 -1
  323. package/dist/components/VelocitySlider.cjs +0 -2
  324. package/dist/components/VelocitySlider.cjs.map +0 -1
  325. package/dist/components/VelocitySlider.d.ts.map +0 -1
  326. package/dist/components/VelocitySlider.js +0 -97
  327. package/dist/components/VelocitySlider.js.map +0 -1
  328. package/dist/components/experimental/utils/AdornedSelect.cjs +0 -2
  329. package/dist/components/experimental/utils/AdornedSelect.cjs.map +0 -1
  330. package/dist/components/experimental/utils/AdornedSelect.d.ts.map +0 -1
  331. package/dist/components/experimental/utils/AdornedSelect.js +0 -35
  332. package/dist/components/experimental/utils/AdornedSelect.js.map +0 -1
  333. package/dist/components/jogging/JoggingBlocked.cjs +0 -2
  334. package/dist/components/jogging/JoggingBlocked.cjs.map +0 -1
  335. package/dist/components/jogging/JoggingBlocked.d.ts.map +0 -1
  336. package/dist/components/jogging/JoggingBlocked.js +0 -46
  337. package/dist/components/jogging/JoggingBlocked.js.map +0 -1
  338. package/dist/components/jogging/JoggingCartesianAxisControl.cjs +0 -2
  339. package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +0 -1
  340. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +0 -1
  341. package/dist/components/jogging/JoggingCartesianAxisControl.js +0 -186
  342. package/dist/components/jogging/JoggingCartesianAxisControl.js.map +0 -1
  343. package/dist/components/jogging/JoggingCartesianTab.cjs +0 -2
  344. package/dist/components/jogging/JoggingCartesianTab.cjs.map +0 -1
  345. package/dist/components/jogging/JoggingCartesianTab.d.ts.map +0 -1
  346. package/dist/components/jogging/JoggingCartesianTab.js +0 -267
  347. package/dist/components/jogging/JoggingCartesianTab.js.map +0 -1
  348. package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +0 -1
  349. package/dist/components/jogging/JoggingJointLimitDetector.cjs +0 -2
  350. package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +0 -1
  351. package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +0 -1
  352. package/dist/components/jogging/JoggingJointLimitDetector.js +0 -42
  353. package/dist/components/jogging/JoggingJointLimitDetector.js.map +0 -1
  354. package/dist/components/jogging/JoggingJointTab.cjs +0 -2
  355. package/dist/components/jogging/JoggingJointTab.cjs.map +0 -1
  356. package/dist/components/jogging/JoggingJointTab.d.ts.map +0 -1
  357. package/dist/components/jogging/JoggingJointTab.js +0 -114
  358. package/dist/components/jogging/JoggingJointTab.js.map +0 -1
  359. package/dist/components/jogging/JoggingJointValueControl.cjs +0 -2
  360. package/dist/components/jogging/JoggingJointValueControl.cjs.map +0 -1
  361. package/dist/components/jogging/JoggingJointValueControl.d.ts.map +0 -1
  362. package/dist/components/jogging/JoggingJointValueControl.js +0 -240
  363. package/dist/components/jogging/JoggingJointValueControl.js.map +0 -1
  364. package/dist/components/jogging/JoggingOptions.cjs +0 -2
  365. package/dist/components/jogging/JoggingOptions.cjs.map +0 -1
  366. package/dist/components/jogging/JoggingOptions.d.ts.map +0 -1
  367. package/dist/components/jogging/JoggingOptions.js +0 -117
  368. package/dist/components/jogging/JoggingOptions.js.map +0 -1
  369. package/dist/components/jogging/JoggingPanel.cjs +0 -2
  370. package/dist/components/jogging/JoggingPanel.cjs.map +0 -1
  371. package/dist/components/jogging/JoggingPanel.d.ts.map +0 -1
  372. package/dist/components/jogging/JoggingPanel.js +0 -121
  373. package/dist/components/jogging/JoggingPanel.js.map +0 -1
  374. package/dist/components/jogging/JoggingPanel.test.d.ts +0 -2
  375. package/dist/components/jogging/JoggingPanel.test.d.ts.map +0 -1
  376. package/dist/components/jogging/JoggingStore.cjs +0 -2
  377. package/dist/components/jogging/JoggingStore.cjs.map +0 -1
  378. package/dist/components/jogging/JoggingStore.d.ts.map +0 -1
  379. package/dist/components/jogging/JoggingStore.js +0 -219
  380. package/dist/components/jogging/JoggingStore.js.map +0 -1
  381. package/dist/components/jogging/JoggingToggleButtonGroup.cjs +0 -2
  382. package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +0 -1
  383. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts.map +0 -1
  384. package/dist/components/jogging/JoggingToggleButtonGroup.js +0 -29
  385. package/dist/components/jogging/JoggingToggleButtonGroup.js.map +0 -1
  386. package/dist/components/jogging/JoggingVelocitySlider.cjs +0 -2
  387. package/dist/components/jogging/JoggingVelocitySlider.cjs.map +0 -1
  388. package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +0 -1
  389. package/dist/components/jogging/JoggingVelocitySlider.js +0 -40
  390. package/dist/components/jogging/JoggingVelocitySlider.js.map +0 -1
  391. package/dist/components/jogging/PoseCartesianValues.cjs +0 -2
  392. package/dist/components/jogging/PoseCartesianValues.cjs.map +0 -1
  393. package/dist/components/jogging/PoseCartesianValues.d.ts.map +0 -1
  394. package/dist/components/jogging/PoseCartesianValues.js +0 -48
  395. package/dist/components/jogging/PoseCartesianValues.js.map +0 -1
  396. package/dist/components/jogging/PoseJointValues.cjs +0 -2
  397. package/dist/components/jogging/PoseJointValues.cjs.map +0 -1
  398. package/dist/components/jogging/PoseJointValues.d.ts.map +0 -1
  399. package/dist/components/jogging/PoseJointValues.js +0 -47
  400. package/dist/components/jogging/PoseJointValues.js.map +0 -1
  401. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts +0 -11
  402. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts.map +0 -1
  403. package/dist/components/modal/NoMotionGroupModal.cjs +0 -2
  404. package/dist/components/modal/NoMotionGroupModal.cjs.map +0 -1
  405. package/dist/components/modal/NoMotionGroupModal.d.ts.map +0 -1
  406. package/dist/components/modal/NoMotionGroupModal.js +0 -92
  407. package/dist/components/modal/NoMotionGroupModal.js.map +0 -1
  408. package/dist/components/robots/AxisConfig.cjs +0 -2
  409. package/dist/components/robots/AxisConfig.cjs.map +0 -1
  410. package/dist/components/robots/AxisConfig.d.ts.map +0 -1
  411. package/dist/components/robots/AxisConfig.js +0 -5
  412. package/dist/components/robots/AxisConfig.js.map +0 -1
  413. package/dist/components/robots/DHLinearAxis.cjs +0 -2
  414. package/dist/components/robots/DHLinearAxis.cjs.map +0 -1
  415. package/dist/components/robots/DHLinearAxis.d.ts.map +0 -1
  416. package/dist/components/robots/DHLinearAxis.js +0 -92
  417. package/dist/components/robots/DHLinearAxis.js.map +0 -1
  418. package/dist/components/robots/DHRobot.cjs +0 -2
  419. package/dist/components/robots/DHRobot.cjs.map +0 -1
  420. package/dist/components/robots/DHRobot.d.ts.map +0 -1
  421. package/dist/components/robots/DHRobot.js +0 -94
  422. package/dist/components/robots/DHRobot.js.map +0 -1
  423. package/dist/components/robots/GenericRobot.cjs +0 -2
  424. package/dist/components/robots/GenericRobot.cjs.map +0 -1
  425. package/dist/components/robots/GenericRobot.d.ts.map +0 -1
  426. package/dist/components/robots/GenericRobot.js +0 -91
  427. package/dist/components/robots/GenericRobot.js.map +0 -1
  428. package/dist/components/robots/LinearAxis.cjs +0 -2
  429. package/dist/components/robots/LinearAxis.cjs.map +0 -1
  430. package/dist/components/robots/LinearAxis.d.ts.map +0 -1
  431. package/dist/components/robots/LinearAxis.js +0 -42
  432. package/dist/components/robots/LinearAxis.js.map +0 -1
  433. package/dist/components/robots/LinearAxisAnimator.cjs +0 -2
  434. package/dist/components/robots/LinearAxisAnimator.cjs.map +0 -1
  435. package/dist/components/robots/LinearAxisAnimator.d.ts.map +0 -1
  436. package/dist/components/robots/LinearAxisAnimator.js +0 -66
  437. package/dist/components/robots/LinearAxisAnimator.js.map +0 -1
  438. package/dist/components/robots/MotionGroupVisualizer.cjs +0 -2
  439. package/dist/components/robots/MotionGroupVisualizer.cjs.map +0 -1
  440. package/dist/components/robots/MotionGroupVisualizer.d.ts.map +0 -1
  441. package/dist/components/robots/MotionGroupVisualizer.js +0 -21
  442. package/dist/components/robots/MotionGroupVisualizer.js.map +0 -1
  443. package/dist/components/robots/Robot.cjs +0 -2
  444. package/dist/components/robots/Robot.cjs.map +0 -1
  445. package/dist/components/robots/Robot.d.ts.map +0 -1
  446. package/dist/components/robots/Robot.js +0 -31
  447. package/dist/components/robots/Robot.js.map +0 -1
  448. package/dist/components/robots/RobotAnimator.cjs +0 -2
  449. package/dist/components/robots/RobotAnimator.cjs.map +0 -1
  450. package/dist/components/robots/RobotAnimator.d.ts.map +0 -1
  451. package/dist/components/robots/RobotAnimator.js +0 -66
  452. package/dist/components/robots/RobotAnimator.js.map +0 -1
  453. package/dist/components/robots/RobotAnimator.test.d.ts +0 -2
  454. package/dist/components/robots/RobotAnimator.test.d.ts.map +0 -1
  455. package/dist/components/robots/SupportedLinearAxis.cjs +0 -2
  456. package/dist/components/robots/SupportedLinearAxis.cjs.map +0 -1
  457. package/dist/components/robots/SupportedLinearAxis.d.ts.map +0 -1
  458. package/dist/components/robots/SupportedLinearAxis.js +0 -82
  459. package/dist/components/robots/SupportedLinearAxis.js.map +0 -1
  460. package/dist/components/robots/SupportedRobot.cjs +0 -2
  461. package/dist/components/robots/SupportedRobot.cjs.map +0 -1
  462. package/dist/components/robots/SupportedRobot.d.ts.map +0 -1
  463. package/dist/components/robots/SupportedRobot.js +0 -82
  464. package/dist/components/robots/SupportedRobot.js.map +0 -1
  465. package/dist/components/robots/ghostStyle.cjs +0 -2
  466. package/dist/components/robots/ghostStyle.cjs.map +0 -1
  467. package/dist/components/robots/ghostStyle.d.ts.map +0 -1
  468. package/dist/components/robots/ghostStyle.js +0 -40
  469. package/dist/components/robots/ghostStyle.js.map +0 -1
  470. package/dist/components/robots/manufacturerHomePositions.cjs +0 -2
  471. package/dist/components/robots/manufacturerHomePositions.cjs.map +0 -1
  472. package/dist/components/robots/manufacturerHomePositions.d.ts.map +0 -1
  473. package/dist/components/robots/manufacturerHomePositions.js +0 -51
  474. package/dist/components/robots/manufacturerHomePositions.js.map +0 -1
  475. package/dist/components/robots/robotModelLogic.cjs +0 -2
  476. package/dist/components/robots/robotModelLogic.cjs.map +0 -1
  477. package/dist/components/robots/robotModelLogic.d.ts.map +0 -1
  478. package/dist/components/robots/robotModelLogic.js +0 -61
  479. package/dist/components/robots/robotModelLogic.js.map +0 -1
  480. package/dist/components/safetyBar/ControllerTypeIndicator.cjs +0 -2
  481. package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +0 -1
  482. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +0 -1
  483. package/dist/components/safetyBar/ControllerTypeIndicator.js +0 -71
  484. package/dist/components/safetyBar/ControllerTypeIndicator.js.map +0 -1
  485. package/dist/components/safetyBar/IndicatorWithExplanation.cjs +0 -2
  486. package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +0 -1
  487. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +0 -1
  488. package/dist/components/safetyBar/IndicatorWithExplanation.js +0 -123
  489. package/dist/components/safetyBar/IndicatorWithExplanation.js.map +0 -1
  490. package/dist/components/safetyBar/OperationModeIndicator.cjs +0 -2
  491. package/dist/components/safetyBar/OperationModeIndicator.cjs.map +0 -1
  492. package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +0 -1
  493. package/dist/components/safetyBar/OperationModeIndicator.js +0 -75
  494. package/dist/components/safetyBar/OperationModeIndicator.js.map +0 -1
  495. package/dist/components/safetyBar/SafetyBar.cjs +0 -2
  496. package/dist/components/safetyBar/SafetyBar.cjs.map +0 -1
  497. package/dist/components/safetyBar/SafetyBar.d.ts.map +0 -1
  498. package/dist/components/safetyBar/SafetyBar.js +0 -66
  499. package/dist/components/safetyBar/SafetyBar.js.map +0 -1
  500. package/dist/components/safetyBar/SafetyStateIndicator.cjs +0 -2
  501. package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +0 -1
  502. package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +0 -1
  503. package/dist/components/safetyBar/SafetyStateIndicator.js +0 -126
  504. package/dist/components/safetyBar/SafetyStateIndicator.js.map +0 -1
  505. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +0 -2
  506. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +0 -1
  507. package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +0 -3
  508. package/dist/components/safetyBar/icons/controller-type-physical.svg.js +0 -11
  509. package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +0 -1
  510. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +0 -2
  511. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +0 -1
  512. package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +0 -3
  513. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +0 -11
  514. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +0 -1
  515. package/dist/components/safetyBar/icons/index.d.ts.map +0 -1
  516. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +0 -2
  517. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +0 -1
  518. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +0 -3
  519. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +0 -11
  520. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +0 -1
  521. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +0 -2
  522. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +0 -1
  523. package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +0 -3
  524. package/dist/components/safetyBar/icons/operation-mode-error.svg.js +0 -11
  525. package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +0 -1
  526. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +0 -2
  527. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +0 -1
  528. package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +0 -3
  529. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +0 -11
  530. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +0 -1
  531. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +0 -2
  532. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +0 -1
  533. package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +0 -3
  534. package/dist/components/safetyBar/icons/safety-state-error.svg.js +0 -11
  535. package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +0 -1
  536. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +0 -2
  537. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +0 -1
  538. package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +0 -3
  539. package/dist/components/safetyBar/icons/safety-state-estop.svg.js +0 -11
  540. package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +0 -1
  541. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +0 -2
  542. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +0 -1
  543. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +0 -3
  544. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +0 -11
  545. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +0 -1
  546. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +0 -2
  547. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +0 -1
  548. package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +0 -3
  549. package/dist/components/safetyBar/icons/safety-state-normal.svg.js +0 -11
  550. package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +0 -1
  551. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +0 -2
  552. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +0 -1
  553. package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +0 -3
  554. package/dist/components/safetyBar/icons/safety-state-stop.svg.js +0 -11
  555. package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +0 -1
  556. package/dist/components/utils/converters.cjs +0 -2
  557. package/dist/components/utils/converters.cjs.map +0 -1
  558. package/dist/components/utils/converters.d.ts.map +0 -1
  559. package/dist/components/utils/converters.js +0 -40
  560. package/dist/components/utils/converters.js.map +0 -1
  561. package/dist/components/utils/errorHandling.cjs +0 -2
  562. package/dist/components/utils/errorHandling.cjs.map +0 -1
  563. package/dist/components/utils/errorHandling.d.ts.map +0 -1
  564. package/dist/components/utils/errorHandling.js +0 -14
  565. package/dist/components/utils/errorHandling.js.map +0 -1
  566. package/dist/components/utils/errorHandling.test.d.ts +0 -2
  567. package/dist/components/utils/errorHandling.test.d.ts.map +0 -1
  568. package/dist/components/utils/hooks.cjs +0 -2
  569. package/dist/components/utils/hooks.cjs.map +0 -1
  570. package/dist/components/utils/hooks.d.ts.map +0 -1
  571. package/dist/components/utils/hooks.js +0 -29
  572. package/dist/components/utils/hooks.js.map +0 -1
  573. package/dist/components/utils/interpolation.cjs +0 -2
  574. package/dist/components/utils/interpolation.cjs.map +0 -1
  575. package/dist/components/utils/interpolation.d.ts.map +0 -1
  576. package/dist/components/utils/interpolation.js +0 -138
  577. package/dist/components/utils/interpolation.js.map +0 -1
  578. package/dist/components/utils/interpolation.test.d.ts +0 -2
  579. package/dist/components/utils/interpolation.test.d.ts.map +0 -1
  580. package/dist/core.cjs.map +0 -1
  581. package/dist/core.d.ts.map +0 -1
  582. package/dist/core.js.map +0 -1
  583. package/dist/externalizeComponent.cjs +0 -2
  584. package/dist/externalizeComponent.cjs.map +0 -1
  585. package/dist/externalizeComponent.d.ts.map +0 -1
  586. package/dist/externalizeComponent.js +0 -13
  587. package/dist/externalizeComponent.js.map +0 -1
  588. package/dist/i18n/config.cjs +0 -2
  589. package/dist/i18n/config.cjs.map +0 -1
  590. package/dist/i18n/config.d.ts.map +0 -1
  591. package/dist/i18n/config.js +0 -25
  592. package/dist/i18n/config.js.map +0 -1
  593. package/dist/i18n/locales/de/translations.json.cjs +0 -3
  594. package/dist/i18n/locales/de/translations.json.cjs.map +0 -1
  595. package/dist/i18n/locales/de/translations.json.js +0 -94
  596. package/dist/i18n/locales/de/translations.json.js.map +0 -1
  597. package/dist/i18n/locales/en/translations.json.cjs +0 -2
  598. package/dist/i18n/locales/en/translations.json.cjs.map +0 -1
  599. package/dist/i18n/locales/en/translations.json.js +0 -94
  600. package/dist/i18n/locales/en/translations.json.js.map +0 -1
  601. package/dist/icons/DropdownArrowIcon.cjs +0 -2
  602. package/dist/icons/DropdownArrowIcon.cjs.map +0 -1
  603. package/dist/icons/DropdownArrowIcon.d.ts.map +0 -1
  604. package/dist/icons/DropdownArrowIcon.js +0 -14
  605. package/dist/icons/DropdownArrowIcon.js.map +0 -1
  606. package/dist/icons/axis-x.svg.cjs +0 -2
  607. package/dist/icons/axis-x.svg.cjs.map +0 -1
  608. package/dist/icons/axis-x.svg.d.ts +0 -3
  609. package/dist/icons/axis-x.svg.js +0 -11
  610. package/dist/icons/axis-x.svg.js.map +0 -1
  611. package/dist/icons/axis-y.svg.cjs +0 -2
  612. package/dist/icons/axis-y.svg.cjs.map +0 -1
  613. package/dist/icons/axis-y.svg.d.ts +0 -3
  614. package/dist/icons/axis-y.svg.js +0 -11
  615. package/dist/icons/axis-y.svg.js.map +0 -1
  616. package/dist/icons/axis-z.svg.cjs +0 -2
  617. package/dist/icons/axis-z.svg.cjs.map +0 -1
  618. package/dist/icons/axis-z.svg.d.ts +0 -3
  619. package/dist/icons/axis-z.svg.js +0 -11
  620. package/dist/icons/axis-z.svg.js.map +0 -1
  621. package/dist/icons/home.svg.cjs +0 -2
  622. package/dist/icons/home.svg.cjs.map +0 -1
  623. package/dist/icons/home.svg.d.ts +0 -3
  624. package/dist/icons/home.svg.js +0 -11
  625. package/dist/icons/home.svg.js.map +0 -1
  626. package/dist/icons/index.d.ts.map +0 -1
  627. package/dist/icons/jog-minus.svg.cjs +0 -2
  628. package/dist/icons/jog-minus.svg.cjs.map +0 -1
  629. package/dist/icons/jog-minus.svg.d.ts +0 -3
  630. package/dist/icons/jog-minus.svg.js +0 -11
  631. package/dist/icons/jog-minus.svg.js.map +0 -1
  632. package/dist/icons/jog-plus.svg.cjs +0 -2
  633. package/dist/icons/jog-plus.svg.cjs.map +0 -1
  634. package/dist/icons/jog-plus.svg.d.ts +0 -3
  635. package/dist/icons/jog-plus.svg.js +0 -11
  636. package/dist/icons/jog-plus.svg.js.map +0 -1
  637. package/dist/icons/jogging.svg.cjs +0 -2
  638. package/dist/icons/jogging.svg.cjs.map +0 -1
  639. package/dist/icons/jogging.svg.d.ts +0 -3
  640. package/dist/icons/jogging.svg.js +0 -11
  641. package/dist/icons/jogging.svg.js.map +0 -1
  642. package/dist/icons/orientation-coord-system.svg.cjs +0 -2
  643. package/dist/icons/orientation-coord-system.svg.cjs.map +0 -1
  644. package/dist/icons/orientation-coord-system.svg.d.ts +0 -3
  645. package/dist/icons/orientation-coord-system.svg.js +0 -11
  646. package/dist/icons/orientation-coord-system.svg.js.map +0 -1
  647. package/dist/icons/orientation-tool.svg.cjs +0 -2
  648. package/dist/icons/orientation-tool.svg.cjs.map +0 -1
  649. package/dist/icons/orientation-tool.svg.d.ts +0 -3
  650. package/dist/icons/orientation-tool.svg.js +0 -11
  651. package/dist/icons/orientation-tool.svg.js.map +0 -1
  652. package/dist/icons/robot.svg.cjs +0 -2
  653. package/dist/icons/robot.svg.cjs.map +0 -1
  654. package/dist/icons/robot.svg.d.ts +0 -3
  655. package/dist/icons/robot.svg.js +0 -11
  656. package/dist/icons/robot.svg.js.map +0 -1
  657. package/dist/icons/rotation.svg.cjs +0 -2
  658. package/dist/icons/rotation.svg.cjs.map +0 -1
  659. package/dist/icons/rotation.svg.d.ts +0 -3
  660. package/dist/icons/rotation.svg.js +0 -11
  661. package/dist/icons/rotation.svg.js.map +0 -1
  662. package/dist/icons/wbLogo.svg.cjs +0 -2
  663. package/dist/icons/wbLogo.svg.cjs.map +0 -1
  664. package/dist/icons/wbLogo.svg.d.ts +0 -3
  665. package/dist/icons/wbLogo.svg.js +0 -11
  666. package/dist/icons/wbLogo.svg.js.map +0 -1
  667. package/dist/index.cjs.map +0 -1
  668. package/dist/index.d.ts.map +0 -1
  669. package/dist/index.js.map +0 -1
  670. package/dist/lib/ConnectedMotionGroup.cjs +0 -4
  671. package/dist/lib/ConnectedMotionGroup.cjs.map +0 -1
  672. package/dist/lib/ConnectedMotionGroup.d.ts.map +0 -1
  673. package/dist/lib/ConnectedMotionGroup.js +0 -250
  674. package/dist/lib/ConnectedMotionGroup.js.map +0 -1
  675. package/dist/lib/JoggerConnection.cjs +0 -2
  676. package/dist/lib/JoggerConnection.cjs.map +0 -1
  677. package/dist/lib/JoggerConnection.d.ts.map +0 -1
  678. package/dist/lib/JoggerConnection.js +0 -342
  679. package/dist/lib/JoggerConnection.js.map +0 -1
  680. package/dist/lib/JoggerConnection.test.d.ts +0 -2
  681. package/dist/lib/JoggerConnection.test.d.ts.map +0 -1
  682. package/dist/lib/MotionStreamConnection.cjs +0 -3
  683. package/dist/lib/MotionStreamConnection.cjs.map +0 -1
  684. package/dist/lib/MotionStreamConnection.d.ts.map +0 -1
  685. package/dist/lib/MotionStreamConnection.js +0 -94
  686. package/dist/lib/MotionStreamConnection.js.map +0 -1
  687. package/dist/lib/MotionStreamConnection.test.d.ts +0 -2
  688. package/dist/lib/MotionStreamConnection.test.d.ts.map +0 -1
  689. package/dist/lib/motionStateUpdate.cjs +0 -2
  690. package/dist/lib/motionStateUpdate.cjs.map +0 -1
  691. package/dist/lib/motionStateUpdate.d.ts.map +0 -1
  692. package/dist/lib/motionStateUpdate.js +0 -49
  693. package/dist/lib/motionStateUpdate.js.map +0 -1
  694. package/dist/lib/motionStateUpdate.test.d.ts +0 -2
  695. package/dist/lib/motionStateUpdate.test.d.ts.map +0 -1
  696. package/dist/test/consumer.test.d.ts +0 -2
  697. package/dist/test/consumer.test.d.ts.map +0 -1
  698. package/dist/test/setup.d.ts +0 -2
  699. package/dist/test/setup.d.ts.map +0 -1
  700. package/dist/themes/createDarkTheme.cjs +0 -2
  701. package/dist/themes/createDarkTheme.cjs.map +0 -1
  702. package/dist/themes/createDarkTheme.d.ts.map +0 -1
  703. package/dist/themes/createDarkTheme.js +0 -344
  704. package/dist/themes/createDarkTheme.js.map +0 -1
  705. package/dist/themes/createLightTheme.cjs +0 -2
  706. package/dist/themes/createLightTheme.cjs.map +0 -1
  707. package/dist/themes/createLightTheme.d.ts.map +0 -1
  708. package/dist/themes/createLightTheme.js +0 -9
  709. package/dist/themes/createLightTheme.js.map +0 -1
  710. package/dist/themes/themeTypes.d.ts.map +0 -1
  711. package/dist/themes/theming.cjs +0 -2
  712. package/dist/themes/theming.cjs.map +0 -1
  713. package/dist/themes/theming.d.ts.map +0 -1
  714. package/dist/themes/theming.js +0 -14
  715. package/dist/themes/theming.js.map +0 -1
  716. package/dist/wb-icons.cjs.map +0 -1
  717. package/dist/wb-icons.d.ts.map +0 -1
  718. package/dist/wb-icons.js.map +0 -1
  719. package/src/3d.ts +0 -18
  720. package/src/Setup.tsx +0 -33
  721. package/src/components/3d-viewport/CoordinateSystemTransform.tsx +0 -57
  722. package/src/components/3d-viewport/PresetEnvironment.tsx +0 -81
  723. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +0 -198
  724. package/src/components/3d-viewport/TrajectoryRenderer.tsx +0 -41
  725. package/src/components/3d-viewport/collider/ColliderCollection.tsx +0 -35
  726. package/src/components/3d-viewport/collider/ColliderElement.tsx +0 -36
  727. package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +0 -26
  728. package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +0 -48
  729. package/src/components/AppHeader.md +0 -84
  730. package/src/components/AppHeader.tsx +0 -197
  731. package/src/components/ConsoleFilter.tsx +0 -24
  732. package/src/components/CopyableText.tsx +0 -89
  733. package/src/components/CycleTimer/CycleTimer.ts +0 -8
  734. package/src/components/CycleTimer/DefaultVariant.tsx +0 -326
  735. package/src/components/CycleTimer/SmallVariant.tsx +0 -229
  736. package/src/components/CycleTimer/index.tsx +0 -158
  737. package/src/components/CycleTimer/types.ts +0 -58
  738. package/src/components/CycleTimer/useAnimations.ts +0 -202
  739. package/src/components/CycleTimer/useTimerLogic.ts +0 -330
  740. package/src/components/CycleTimer/utils.ts +0 -122
  741. package/src/components/CycleTimer.tsx +0 -8
  742. package/src/components/DataGrid.tsx +0 -664
  743. package/src/components/LoadingCover.tsx +0 -91
  744. package/src/components/LogPanel.tsx +0 -71
  745. package/src/components/LogStore.ts +0 -46
  746. package/src/components/LogViewer.tsx +0 -368
  747. package/src/components/ProgramControl.tsx +0 -267
  748. package/src/components/ProgramStateIndicator.tsx +0 -195
  749. package/src/components/RobotCard.tsx +0 -495
  750. package/src/components/RobotListItem.tsx +0 -155
  751. package/src/components/RobotSetupReadinessIndicator.test.tsx +0 -60
  752. package/src/components/RobotSetupReadinessIndicator.tsx +0 -161
  753. package/src/components/SelectableFab.tsx +0 -52
  754. package/src/components/TabBar.tsx +0 -325
  755. package/src/components/ThemeSelect.tsx +0 -51
  756. package/src/components/Timer/Timer.ts +0 -4
  757. package/src/components/Timer/TimerDefaultVariant.tsx +0 -143
  758. package/src/components/Timer/TimerSmallVariant.tsx +0 -141
  759. package/src/components/Timer/index.tsx +0 -103
  760. package/src/components/Timer/types.ts +0 -38
  761. package/src/components/Timer/useTimerAnimations.ts +0 -94
  762. package/src/components/Timer/useTimerLogic.ts +0 -214
  763. package/src/components/Timer/utils.ts +0 -87
  764. package/src/components/Timer.ts +0 -4
  765. package/src/components/TransparentOverlay.tsx +0 -28
  766. package/src/components/VelocitySlider.tsx +0 -117
  767. package/src/components/experimental/utils/AdornedSelect.tsx +0 -38
  768. package/src/components/jogging/JoggingBlocked.tsx +0 -43
  769. package/src/components/jogging/JoggingCartesianAxisControl.tsx +0 -237
  770. package/src/components/jogging/JoggingCartesianTab.tsx +0 -349
  771. package/src/components/jogging/JoggingFreedriveTab.tsx +0 -8
  772. package/src/components/jogging/JoggingJointLimitDetector.tsx +0 -57
  773. package/src/components/jogging/JoggingJointTab.tsx +0 -126
  774. package/src/components/jogging/JoggingJointValueControl.tsx +0 -293
  775. package/src/components/jogging/JoggingOptions.tsx +0 -163
  776. package/src/components/jogging/JoggingPanel.test.tsx +0 -645
  777. package/src/components/jogging/JoggingPanel.tsx +0 -204
  778. package/src/components/jogging/JoggingStore.ts +0 -485
  779. package/src/components/jogging/JoggingToggleButtonGroup.tsx +0 -25
  780. package/src/components/jogging/JoggingVelocitySlider.tsx +0 -39
  781. package/src/components/jogging/PoseCartesianValues.tsx +0 -55
  782. package/src/components/jogging/PoseJointValues.tsx +0 -54
  783. package/src/components/jogging/__fixtures__/motionStreamMockData.ts +0 -136
  784. package/src/components/modal/NoMotionGroupModal.tsx +0 -91
  785. package/src/components/robots/AxisConfig.ts +0 -3
  786. package/src/components/robots/DHLinearAxis.tsx +0 -147
  787. package/src/components/robots/DHRobot.tsx +0 -152
  788. package/src/components/robots/GenericRobot.tsx +0 -137
  789. package/src/components/robots/LinearAxis.tsx +0 -74
  790. package/src/components/robots/LinearAxisAnimator.tsx +0 -118
  791. package/src/components/robots/MotionGroupVisualizer.tsx +0 -73
  792. package/src/components/robots/Robot.tsx +0 -57
  793. package/src/components/robots/RobotAnimator.test.tsx +0 -98
  794. package/src/components/robots/RobotAnimator.tsx +0 -116
  795. package/src/components/robots/SupportedLinearAxis.tsx +0 -110
  796. package/src/components/robots/SupportedRobot.tsx +0 -111
  797. package/src/components/robots/ghostStyle.ts +0 -71
  798. package/src/components/robots/manufacturerHomePositions.ts +0 -76
  799. package/src/components/robots/robotModelLogic.ts +0 -158
  800. package/src/components/safetyBar/ControllerTypeIndicator.tsx +0 -79
  801. package/src/components/safetyBar/IndicatorWithExplanation.tsx +0 -137
  802. package/src/components/safetyBar/OperationModeIndicator.tsx +0 -98
  803. package/src/components/safetyBar/SafetyBar.tsx +0 -72
  804. package/src/components/safetyBar/SafetyStateIndicator.tsx +0 -163
  805. package/src/components/safetyBar/icons/controller-type-physical.svg +0 -1
  806. package/src/components/safetyBar/icons/controller-type-virtual.svg +0 -1
  807. package/src/components/safetyBar/icons/index.ts +0 -10
  808. package/src/components/safetyBar/icons/operation-mode-automatic.svg +0 -1
  809. package/src/components/safetyBar/icons/operation-mode-error.svg +0 -1
  810. package/src/components/safetyBar/icons/operation-mode-manual.svg +0 -1
  811. package/src/components/safetyBar/icons/safety-state-error.svg +0 -1
  812. package/src/components/safetyBar/icons/safety-state-estop.svg +0 -1
  813. package/src/components/safetyBar/icons/safety-state-manual-action-required.svg +0 -1
  814. package/src/components/safetyBar/icons/safety-state-normal.svg +0 -1
  815. package/src/components/safetyBar/icons/safety-state-stop.svg +0 -1
  816. package/src/components/utils/converters.ts +0 -90
  817. package/src/components/utils/errorHandling.test.ts +0 -41
  818. package/src/components/utils/errorHandling.ts +0 -38
  819. package/src/components/utils/hooks.tsx +0 -55
  820. package/src/components/utils/interpolation.test.ts +0 -1138
  821. package/src/components/utils/interpolation.ts +0 -380
  822. package/src/core.ts +0 -33
  823. package/src/declarations.d.ts +0 -10
  824. package/src/env.d.ts +0 -3
  825. package/src/externalizeComponent.tsx +0 -28
  826. package/src/i18n/config.ts +0 -26
  827. package/src/i18n/locales/de/translations.json +0 -89
  828. package/src/i18n/locales/en/translations.json +0 -90
  829. package/src/icons/DropdownArrowIcon.tsx +0 -12
  830. package/src/icons/axis-x.svg +0 -1
  831. package/src/icons/axis-y.svg +0 -1
  832. package/src/icons/axis-z.svg +0 -1
  833. package/src/icons/home.svg +0 -1
  834. package/src/icons/index.ts +0 -12
  835. package/src/icons/jog-minus.svg +0 -5
  836. package/src/icons/jog-plus.svg +0 -9
  837. package/src/icons/jogging.svg +0 -1
  838. package/src/icons/orientation-coord-system.svg +0 -1
  839. package/src/icons/orientation-tool.svg +0 -1
  840. package/src/icons/robot.svg +0 -1
  841. package/src/icons/rotation.svg +0 -3
  842. package/src/icons/wbLogo.svg +0 -1
  843. package/src/index.ts +0 -4
  844. package/src/lib/ConnectedMotionGroup.ts +0 -441
  845. package/src/lib/JoggerConnection.test.ts +0 -122
  846. package/src/lib/JoggerConnection.ts +0 -694
  847. package/src/lib/MotionStreamConnection.test.ts +0 -23
  848. package/src/lib/MotionStreamConnection.ts +0 -186
  849. package/src/lib/motionStateUpdate.test.ts +0 -28
  850. package/src/lib/motionStateUpdate.ts +0 -117
  851. package/src/test/consumer.test.ts +0 -257
  852. package/src/test/setup.ts +0 -111
  853. package/src/themes/createDarkTheme.ts +0 -343
  854. package/src/themes/createLightTheme.ts +0 -8
  855. package/src/themes/themeTypes.ts +0 -96
  856. package/src/themes/theming.ts +0 -29
  857. package/src/wb-icons.ts +0 -3
@@ -1 +0,0 @@
1
- {"version":3,"file":"JoggerConnection.d.ts","sourceRoot":"","sources":["../../src/lib/JoggerConnection.ts"],"names":[],"mappings":"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"}
@@ -1,342 +0,0 @@
1
- import { tryParseJson as w, XYZ_TO_VECTOR as u } from "@wandelbots/nova-js";
2
- import { JointTypeEnum as T } from "@wandelbots/nova-js/v2";
3
- import { when as y } from "mobx";
4
- import { Vector3 as E } from "three/src/math/Vector3.js";
5
- import { MotionStreamConnection as L } from "./MotionStreamConnection.js";
6
- const k = "Movement request rejected. Another client is currently executing a 'Jogging' motion!";
7
- class S {
8
- constructor(t, e = {}) {
9
- this.motionStream = t, this.options = e, this.ENDPOINT_JOGGING = "/execution/jogging", this.ENDPOINT_TRAJECTORY = "/execution/trajectory", this.DEFAULT_MODE = "off", this.DEFAULT_TCP = "Flange", this.NO_TCP = void 0, this.DEFAULT_INIT_TIMEOUT = 5e3, this.DEFAULT_ORIENTATION = "coordsys", this.mode = "off", this.joggingSocket = null, this.trajectorySocket = null, this.timeout = this.DEFAULT_INIT_TIMEOUT, this.tcp = (e == null ? void 0 : e.tcp) || t.motionGroup.tcp || this.getDefaultTcp(t), this.orientation = (e == null ? void 0 : e.orientation) || this.DEFAULT_ORIENTATION, this.timeout = (e == null ? void 0 : e.timeout) || this.DEFAULT_INIT_TIMEOUT, this.mode = (e == null ? void 0 : e.mode) || this.DEFAULT_MODE, this.onError = e == null ? void 0 : e.onError;
10
- }
11
- /**
12
- * Initialize the jogging connection using jogging endpoint or trajectory endpoint depending on the selected mode.
13
- *
14
- * @param nova - The Nova client instance
15
- * @param motionGroupId - The ID of the motion group to connect to
16
- * @param options - Configuration options for the jogger connection
17
- * @param options.mode - The jogging mode to initialize:
18
- * - "jogging": Continuous jogging mode with persistent websocket for real-time velocity commands
19
- * - "trajectory": Incremental jogging mode for fixed-distance motions via trajectory planning
20
- * - "off": No jogging enabled, all websockets closed (default)
21
- * @param options.timeout - Timeout in milliseconds for websocket initialization (default: 5000ms)
22
- * @param options.tcp - TCP frame to use for motions (default: from motion group)
23
- * //param options.coordinateSystem - Coordinate system for jogging commands (default: "world"). Please note: Currently not implemented
24
- * @param options.orientation - If set to "tool", jogging TcpVelocityRequest will use `use_tool_coordinate_system` option (default: "coordsys")
25
- * @param options.onError - Error handler for websocket errors
26
- * @returns Promise resolving to initialized JoggerConnection instance
27
- */
28
- static async open(t, e, r = {}) {
29
- const s = await L.open(t, e), i = new S(s, r);
30
- return await i.setJoggingMode(i.mode), i;
31
- }
32
- getDefaultTcp(t) {
33
- var r, s;
34
- const e = (s = (r = t.description.dh_parameters) == null ? void 0 : r[0]) == null ? void 0 : s.type;
35
- return t.joints.length < 6 && (e === T.RevoluteJoint || e === T.PrismaticJoint) ? this.NO_TCP : this.DEFAULT_TCP;
36
- }
37
- // Set a new tcp or other options. If current mode is jogging, will reinitialize the jogging websocket
38
- async setOptions(t) {
39
- t.tcp && (this.tcp = t.tcp), t.orientation && (this.orientation = t.orientation), t.timeout && (this.timeout = t.timeout), t.mode && (this.mode = t.mode), t.onError && (this.onError = t.onError), this.setJoggingMode(this.mode, !1);
40
- }
41
- get motionGroupId() {
42
- return this.motionStream.motionGroupId;
43
- }
44
- get nova() {
45
- return this.motionStream.nova;
46
- }
47
- get numJoints() {
48
- return this.motionStream.joints.length;
49
- }
50
- // get activeJoggingMode() {
51
- // return this.mode
52
- // }
53
- // get activeWebsocket() {
54
- // return this.mode === "jogging" ? this.joggingSocket : this.trajectorySocket;
55
- // }
56
- // Sends stop movement command to robot
57
- async stop() {
58
- if (this.joggingSocket) {
59
- const t = new Array(this.numJoints).fill(0);
60
- this.joggingSocket.sendJson({
61
- message_type: "JointVelocityRequest",
62
- velocity: t
63
- });
64
- }
65
- this.trajectorySocket && this.trajectorySocket.sendJson({
66
- message_type: "PauseMovementRequest"
67
- });
68
- }
69
- // Dispose the jogger, closing all open websockets
70
- async dispose() {
71
- const t = [this.joggingSocket, this.trajectorySocket].filter(
72
- (e) => e !== null
73
- );
74
- return t.forEach((e) => {
75
- e.dispose();
76
- }), this.joggingSocket = null, this.trajectorySocket = null, Promise.all(t.map((e) => e.closed()));
77
- }
78
- // Activate jogger in one of the supported modes
79
- // Will iniitialize or close websockets as necessary
80
- // If mode is unchanged, does nothing (unless skipReinitializeIfSameMode is false)
81
- async setJoggingMode(t, e = !0) {
82
- if (!(this.mode === t && e) && (this.dispose(), this.mode = t, this.mode === "jogging"))
83
- return this.initializeJoggingWebsocket();
84
- }
85
- // Initializes continuous jogging websocket, called by setJoggingMode("jogging")
86
- async initializeJoggingWebsocket() {
87
- return new Promise((t, e) => {
88
- const r = setTimeout(() => {
89
- e(
90
- new Error(
91
- `Jogging initialization timeout after ${this.timeout} seconds`
92
- )
93
- );
94
- }, this.timeout);
95
- this.joggingSocket = this.nova.openReconnectingWebsocket(
96
- this.ENDPOINT_JOGGING
97
- ), this.joggingSocket.addEventListener("message", (s) => {
98
- var c, h, a, l;
99
- const i = w(s.data);
100
- if (((c = i == null ? void 0 : i.result) == null ? void 0 : c.kind) === "INITIALIZE_RECEIVED") {
101
- clearTimeout(r), t();
102
- return;
103
- }
104
- if (((h = i == null ? void 0 : i.result) == null ? void 0 : h.kind) === "MOTION_ERROR")
105
- if (clearTimeout(r), this.onBlocked && ((a = i == null ? void 0 : i.result) != null && a.message.includes(k))) {
106
- (l = this.joggingSocket) == null || l.dispose(), this.onBlocked();
107
- return;
108
- } else this.onError ? this.onError(s.data) : e(new Error(s.data));
109
- }), this.joggingSocket.sendJson({
110
- message_type: "InitializeJoggingRequest",
111
- motion_group: this.motionGroupId,
112
- ...this.tcp ? { tcp: this.tcp } : {}
113
- });
114
- });
115
- }
116
- /**
117
- * Jogging: Start rotation of a single robot joint at the specified velocity
118
- */
119
- async rotateJoints({
120
- joint: t,
121
- direction: e,
122
- velocityValue: r,
123
- velocityUnit: s
124
- }) {
125
- if (!this.joggingSocket || this.mode !== "jogging")
126
- throw new Error(
127
- "Joint jogging websocket not connected; create one by setting jogging mode to 'jogging'"
128
- );
129
- const i = new Array(this.numJoints).fill(0);
130
- i[t] = e === "-" ? -r : r, this.joggingSocket.sendJson({
131
- message_type: "JointVelocityRequest",
132
- velocity: i
133
- });
134
- }
135
- /**
136
- * Jogging: Start the TCP moving along a specified axis at a given velocity
137
- */
138
- async translateTCP({
139
- axis: t,
140
- direction: e,
141
- velocityMmPerSec: r
142
- }) {
143
- if (!this.joggingSocket || this.mode !== "jogging")
144
- throw new Error(
145
- "Continuous jogging websocket not connected; create one by setting jogging mode to 'jogging'"
146
- );
147
- const s = [0, 0, 0], i = [0, 0, 0];
148
- i[u[t]] = e === "-" ? -r : r, this.joggingSocket.sendJson({
149
- message_type: "TcpVelocityRequest",
150
- translation: i,
151
- rotation: s,
152
- use_tool_coordinate_system: this.orientation === "tool"
153
- });
154
- }
155
- /**
156
- * Jogging: Start the TCP rotating around a specified axis at a given velocity
157
- */
158
- async rotateTCP({
159
- axis: t,
160
- direction: e,
161
- velocityRadsPerSec: r
162
- }) {
163
- if (!this.joggingSocket || this.mode !== "jogging")
164
- throw new Error(
165
- "Continuous jogging websocket not connected; create one by setting jogging mode to 'jogging'"
166
- );
167
- const s = [0, 0, 0], i = [0, 0, 0];
168
- s[u[t]] = e === "-" ? -r : r, this.joggingSocket.sendJson({
169
- message_type: "TcpVelocityRequest",
170
- translation: i,
171
- rotation: s
172
- });
173
- }
174
- /**
175
- * Trajectory jogging:
176
- *
177
- * Move the robot by a fixed distance in a single cartesian
178
- * axis, either rotating or translating relative to the TCP.
179
- * Promise resolves only after the motion has completed.
180
- */
181
- async runIncrementalCartesianMotion({
182
- currentTcpPose: t,
183
- currentJoints: e,
184
- // coordSystemId,
185
- velocityInRelevantUnits: r,
186
- axis: s,
187
- direction: i,
188
- motion: c
189
- }) {
190
- const h = [];
191
- if (this.mode !== "trajectory")
192
- throw new Error(
193
- "Set jogging mode to 'trajectory' to run incremental cartesian motions"
194
- );
195
- if (c.type === "translate") {
196
- if (!t.position)
197
- throw new Error(
198
- "Current pose has no position, cannot perform translation"
199
- );
200
- const o = [...t.position];
201
- o[u[s]] += c.distanceMm * (i === "-" ? -1 : 1), h.push({
202
- limits_override: {
203
- tcp_velocity_limit: r
204
- },
205
- path: {
206
- path_definition_name: "PathLine",
207
- target_pose: {
208
- position: o,
209
- orientation: t.orientation
210
- }
211
- }
212
- });
213
- } else if (c.type === "rotate") {
214
- if (!t.orientation)
215
- throw new Error(
216
- "Current pose has no orientation, cannot perform rotation"
217
- );
218
- const o = new E(
219
- t.orientation[0],
220
- t.orientation[1],
221
- t.orientation[2]
222
- ), n = o.length(), m = o.clone().normalize(), g = c.distanceRads * (i === "-" ? -1 : 1), d = new E(0, 0, 0);
223
- d[s] = 1;
224
- const J = Math.cos(0.5 * g) * Math.cos(0.5 * n), j = Math.sin(0.5 * g) * Math.sin(0.5 * n), C = Math.sin(0.5 * g) * Math.cos(0.5 * n), D = Math.cos(0.5 * g) * Math.sin(0.5 * n), N = d.dot(
225
- m
226
- ), A = d.clone().cross(m), p = 2 * Math.acos(J - j * N), F = p / Math.sin(0.5 * p), v = new E().addScaledVector(A, j).addScaledVector(d, C).addScaledVector(m, D).multiplyScalar(F);
227
- h.push({
228
- limits_override: {
229
- tcp_orientation_velocity_limit: r
230
- },
231
- path: {
232
- path_definition_name: "PathLine",
233
- target_pose: {
234
- position: t.position,
235
- orientation: [...v]
236
- }
237
- }
238
- });
239
- }
240
- const a = this.motionStream.description;
241
- if (a.cycle_time === void 0) {
242
- console.warn(
243
- "Current motion group has no cycle time, cannot plan jogging motion"
244
- );
245
- return;
246
- }
247
- const l = {
248
- motion_group_model: a.motion_group_model,
249
- cycle_time: a.cycle_time,
250
- mounting: a.mounting,
251
- // tcp_offset: description.tcp_offset, TODO: implement tcp_offset handling
252
- // FIXME use proper mode's limits if set
253
- global: a.operation_limits.auto_limits
254
- }, _ = await this.nova.api.trajectoryPlanning.planTrajectory(
255
- {
256
- motion_group_setup: l,
257
- start_joint_position: e,
258
- motion_commands: h
259
- }
260
- ), f = _.response;
261
- if (!f)
262
- throw new Error(
263
- `Failed to plan jogging increment motion ${JSON.stringify(_)}`
264
- );
265
- this.trajectorySocket && (console.warn("Trajectory jogging websocket already open; will close"), this.trajectorySocket.dispose()), this.trajectorySocket = this.nova.openReconnectingWebsocket(
266
- this.ENDPOINT_TRAJECTORY
267
- );
268
- const R = (o) => {
269
- var n;
270
- if (!o || o.add_trajectory_error || o.message)
271
- if (this.onError)
272
- this.onError(o);
273
- else
274
- throw new Error(
275
- ((n = o == null ? void 0 : o.add_trajectory_error) == null ? void 0 : n.message) || (o == null ? void 0 : o.message) || "Failed to execute trajectory, unknown error"
276
- );
277
- if (!this.trajectorySocket)
278
- throw new Error(
279
- "Failed to execute trajectory, websocket not available anymore"
280
- );
281
- this.trajectorySocket.sendJson({
282
- message_type: "StartMovementRequest",
283
- direction: "DIRECTION_FORWARD"
284
- });
285
- }, I = async () => {
286
- var o;
287
- await y(() => !this.motionStream.rapidlyChangingMotionState.standstill), await y(() => this.motionStream.rapidlyChangingMotionState.standstill), (o = this.trajectorySocket) == null || o.dispose(), this.trajectorySocket = null;
288
- }, O = async () => {
289
- var o;
290
- await y(() => this.motionStream.rapidlyChangingMotionState.standstill), (o = this.trajectorySocket) == null || o.dispose(), this.trajectorySocket = null;
291
- }, M = async (o) => {
292
- if (o != null && o.message)
293
- if (this.onError) {
294
- this.onError(o);
295
- return;
296
- } else
297
- throw new Error(
298
- o.message || "Failed to execute trajectory, unknown error"
299
- );
300
- this.motionStream.rapidlyChangingMotionState.standstill ? await I() : await O();
301
- };
302
- this.trajectorySocket.addEventListener("message", (o) => {
303
- var m, g;
304
- const n = w(o.data);
305
- if (!((m = n == null ? void 0 : n.result) != null && m.kind))
306
- throw new Error(
307
- `Failed to execute trajectory: Received invalid message ${o.data}`
308
- );
309
- if (this.onBlocked && ((g = n.result.message) != null && g.includes(k))) {
310
- this.onBlocked();
311
- return;
312
- }
313
- if (n.result.kind === "INITIALIZE_RECEIVED")
314
- R(n.result);
315
- else if (n.result.kind === "START_RECEIVED")
316
- M(n);
317
- else if (n.result.kind !== "PAUSE_RECEIVED") if (n.result.kind === "MOTION_ERROR" && n.result.message)
318
- if (this.onError) {
319
- this.onError(n);
320
- return;
321
- } else
322
- throw new Error(n.result.message);
323
- else
324
- throw new Error(
325
- `Failed to execute trajectory, cannot handle message type "${n.result.kind}"`
326
- );
327
- }), this.trajectorySocket.sendJson({
328
- message_type: "InitializeMovementRequest",
329
- trajectory: {
330
- message_type: "TrajectoryData",
331
- motion_group: this.motionGroupId,
332
- data: f,
333
- tcp: this.tcp
334
- }
335
- });
336
- }
337
- }
338
- export {
339
- S as JoggerConnection,
340
- S as default
341
- };
342
- //# sourceMappingURL=JoggerConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JoggerConnection.js","sources":["../../src/lib/JoggerConnection.ts"],"sourcesContent":["import {\n type AutoReconnectingWebsocket,\n tryParseJson,\n XYZ_TO_VECTOR,\n} from \"@wandelbots/nova-js\"\nimport {\n JointTypeEnum,\n type InitializeMovementResponse,\n type MotionCommand,\n type NovaClient,\n type Pose,\n type StartMovementResponse,\n} from \"@wandelbots/nova-js/v2\"\nimport { when } from \"mobx\"\nimport { Vector3 } from \"three/src/math/Vector3.js\"\nimport { MotionStreamConnection } from \"./MotionStreamConnection\"\n\nexport type Vector3Simple = [number, number, number]\n\nconst API_ERROR_CONNECTION_BLOCKED = `Movement request rejected. Another client is currently executing a 'Jogging' motion!`\n\nexport type JoggerConnectionOptions = {\n // The mode of the jogger connection - see type description of JoggerMode for details\n mode?: JoggerMode\n\n // Connection timeout in milliseconds to wait for jogging initialization to complete\n timeout?: number\n\n /**\n * When an error message is received from the jogging websocket, it\n * will be passed here. If this handler is not provided, the error will\n * instead be thrown as an unhandled error.\n */\n onError?: (err: unknown) => void\n\n // The TCP to use for jogging motions.\n tcp?: string\n\n // The coordinate system in which jogging takes place in\n // coordinateSystem?: string,\n\n // If set to \"tool\", jogging TcpVelocityRequest will use `use_tool_coordinate_system` option\n orientation?: JoggerOrientation\n}\n\n// Three modes are supported:\n// - \"jogging\": Continuous jogging mode, where joint velocities or TCP velocities can be commanded. Opens a single websocket connection to jogging endpoint\n// - \"trajectory\": Incremental jogging mode, where fixed distance motions are planned and executed. Opens a short lived websocket for each motion.\n// - \"off\": No jogging, all websockets are closed.\nexport type JoggerMode = \"jogging\" | \"trajectory\" | \"off\"\n\n// If set to \"tool\", will use `use_tool_coordinate_system` option in movement requests\nexport type JoggerOrientation = \"coordsys\" | \"tool\"\n\nexport class JoggerConnection {\n ENDPOINT_JOGGING = \"/execution/jogging\"\n ENDPOINT_TRAJECTORY = \"/execution/trajectory\"\n DEFAULT_MODE = \"off\" as JoggerMode\n DEFAULT_TCP: string | undefined = \"Flange\"\n NO_TCP: string | undefined = undefined\n // DEFAULT_COORDINATE_SYSTEM = \"world\"\n DEFAULT_INIT_TIMEOUT = 5000\n DEFAULT_ORIENTATION = \"coordsys\" as JoggerOrientation\n\n mode: JoggerMode = \"off\"\n joggingSocket: AutoReconnectingWebsocket | null = null\n trajectorySocket: AutoReconnectingWebsocket | null = null\n timeout: number = this.DEFAULT_INIT_TIMEOUT\n tcp: string | undefined\n // coordinateSystem?: string\n orientation: JoggerOrientation\n onError?: (err: unknown) => void\n onBlocked?: () => void\n\n /**\n * Initialize the jogging connection using jogging endpoint or trajectory endpoint depending on the selected mode.\n *\n * @param nova - The Nova client instance\n * @param motionGroupId - The ID of the motion group to connect to\n * @param options - Configuration options for the jogger connection\n * @param options.mode - The jogging mode to initialize:\n * - \"jogging\": Continuous jogging mode with persistent websocket for real-time velocity commands\n * - \"trajectory\": Incremental jogging mode for fixed-distance motions via trajectory planning\n * - \"off\": No jogging enabled, all websockets closed (default)\n * @param options.timeout - Timeout in milliseconds for websocket initialization (default: 5000ms)\n * @param options.tcp - TCP frame to use for motions (default: from motion group)\n * //param options.coordinateSystem - Coordinate system for jogging commands (default: \"world\"). Please note: Currently not implemented\n * @param options.orientation - If set to \"tool\", jogging TcpVelocityRequest will use `use_tool_coordinate_system` option (default: \"coordsys\")\n * @param options.onError - Error handler for websocket errors\n * @returns Promise resolving to initialized JoggerConnection instance\n */\n static async open(\n nova: NovaClient,\n motionGroupId: string,\n options: JoggerConnectionOptions = {},\n ) {\n // Get matching motion stream\n const motionStream = await MotionStreamConnection.open(nova, motionGroupId)\n\n // Initialize jogger with options\n const jogger = new JoggerConnection(motionStream, options)\n\n // Initialize the jogging websocket, if necessary (mode is \"jogging\")\n await jogger.setJoggingMode(jogger.mode)\n\n // Return the initialized jogger\n return jogger\n }\n\n constructor(\n readonly motionStream: MotionStreamConnection,\n readonly options: JoggerConnectionOptions | undefined = {},\n ) {\n this.tcp =\n options?.tcp ||\n motionStream.motionGroup.tcp ||\n this.getDefaultTcp(motionStream)\n // this.coordinateSystem = options?.coordinateSystem || this.DEFAULT_COORDINATE_SYSTEM\n this.orientation = options?.orientation || this.DEFAULT_ORIENTATION\n this.timeout = options?.timeout || this.DEFAULT_INIT_TIMEOUT\n this.mode = options?.mode || this.DEFAULT_MODE\n this.onError = options?.onError\n }\n\n getDefaultTcp(motionStream: MotionStreamConnection) {\n const firstJointType = motionStream.description.dh_parameters?.[0]?.type\n if (\n motionStream.joints.length < 6 &&\n (firstJointType === JointTypeEnum.RevoluteJoint ||\n firstJointType === JointTypeEnum.PrismaticJoint)\n ) {\n return this.NO_TCP\n }\n return this.DEFAULT_TCP\n }\n\n // Set a new tcp or other options. If current mode is jogging, will reinitialize the jogging websocket\n async setOptions(options: Partial<JoggerConnectionOptions>) {\n if (options.tcp) {\n this.tcp = options.tcp\n }\n\n if (options.orientation) {\n this.orientation = options.orientation\n }\n\n // if (options.coordinateSystem) {\n // this.coordinateSystem = options.coordinateSystem\n // }\n\n if (options.timeout) {\n this.timeout = options.timeout\n }\n\n if (options.mode) {\n this.mode = options.mode\n }\n\n if (options.onError) {\n this.onError = options.onError\n }\n\n this.setJoggingMode(this.mode, false)\n }\n\n get motionGroupId() {\n return this.motionStream.motionGroupId\n }\n\n get nova() {\n return this.motionStream.nova\n }\n\n get numJoints() {\n return this.motionStream.joints.length\n }\n\n // get activeJoggingMode() {\n // return this.mode\n // }\n\n // get activeWebsocket() {\n // return this.mode === \"jogging\" ? this.joggingSocket : this.trajectorySocket;\n // }\n\n // Sends stop movement command to robot\n async stop() {\n if (this.joggingSocket) {\n const velocity = new Array(this.numJoints).fill(0)\n this.joggingSocket.sendJson({\n message_type: \"JointVelocityRequest\",\n velocity,\n })\n }\n\n if (this.trajectorySocket) {\n this.trajectorySocket.sendJson({\n message_type: \"PauseMovementRequest\",\n })\n }\n }\n\n // Dispose the jogger, closing all open websockets\n async dispose() {\n // Collect all initialized sockets\n const sockets = [this.joggingSocket, this.trajectorySocket].filter(\n (s) => s !== null,\n ) as AutoReconnectingWebsocket[]\n\n // Call them to dispose\n sockets.forEach((s) => {\n s.dispose()\n })\n\n // Remove references\n this.joggingSocket = null\n this.trajectorySocket = null\n\n // Return promise that resolves when all sockets are closed\n return Promise.all(sockets.map((s) => s.closed()))\n }\n\n // Activate jogger in one of the supported modes\n // Will iniitialize or close websockets as necessary\n // If mode is unchanged, does nothing (unless skipReinitializeIfSameMode is false)\n async setJoggingMode(mode: JoggerMode, skipReinitializeIfSameMode = true) {\n // If not changing mode, do nothing\n if (this.mode === mode && skipReinitializeIfSameMode) {\n return\n }\n\n // Close any previous websocket connection\n this.dispose()\n\n // Set the new mode\n this.mode = mode\n\n // Mode is \"jogging\" - open jogging websocket\n if (this.mode === \"jogging\") {\n return this.initializeJoggingWebsocket()\n }\n\n // Mode is \"trajectory\" or \"off\" - nothing more to do\n return\n }\n\n // Initializes continuous jogging websocket, called by setJoggingMode(\"jogging\")\n async initializeJoggingWebsocket() {\n // Wait for initialization with timeout\n return new Promise<void>((resolve, reject) => {\n const connectionFailedTimeout = setTimeout(() => {\n reject(\n new Error(\n `Jogging initialization timeout after ${this.timeout} seconds`,\n ),\n )\n }, this.timeout)\n\n this.joggingSocket = this.nova.openReconnectingWebsocket(\n this.ENDPOINT_JOGGING,\n )\n this.joggingSocket.addEventListener(\"message\", (ev: MessageEvent) => {\n const data = tryParseJson(ev.data)\n\n if (data?.result?.kind === \"INITIALIZE_RECEIVED\") {\n clearTimeout(connectionFailedTimeout)\n resolve()\n return\n }\n\n if (data?.result?.kind === \"MOTION_ERROR\") {\n clearTimeout(connectionFailedTimeout)\n if (\n this.onBlocked &&\n data?.result?.message.includes(API_ERROR_CONNECTION_BLOCKED)\n ) {\n this.joggingSocket?.dispose()\n this.onBlocked()\n return\n } else if (this.onError) {\n this.onError(ev.data)\n } else {\n reject(new Error(ev.data))\n }\n }\n })\n\n this.joggingSocket.sendJson({\n message_type: \"InitializeJoggingRequest\",\n motion_group: this.motionGroupId,\n ...(this.tcp ? { tcp: this.tcp } : {}),\n })\n })\n }\n\n /**\n * Jogging: Start rotation of a single robot joint at the specified velocity\n */\n async rotateJoints({\n joint,\n direction,\n velocityValue,\n velocityUnit,\n }: {\n /** Index of the joint to rotate */\n joint: number\n /** Direction of rotation (\"+\" or \"-\") */\n direction: \"+\" | \"-\"\n /** Speed of the rotation, unit is currently unused, but i wanted it there to raise awareness that not everything here is rad/s*/\n velocityValue: number\n velocityUnit: \"mm/s\" | \"rad/s\"\n }) {\n if (!this.joggingSocket || this.mode !== \"jogging\") {\n throw new Error(\n \"Joint jogging websocket not connected; create one by setting jogging mode to 'jogging'\",\n )\n }\n\n const velocity = new Array(this.numJoints).fill(0)\n\n velocity[joint] = direction === \"-\" ? -velocityValue : velocityValue\n\n this.joggingSocket.sendJson({\n message_type: \"JointVelocityRequest\",\n velocity,\n })\n }\n\n /**\n * Jogging: Start the TCP moving along a specified axis at a given velocity\n */\n async translateTCP({\n axis,\n direction,\n velocityMmPerSec,\n }: {\n axis: \"x\" | \"y\" | \"z\"\n direction: \"-\" | \"+\"\n velocityMmPerSec: number\n }) {\n if (!this.joggingSocket || this.mode !== \"jogging\") {\n throw new Error(\n \"Continuous jogging websocket not connected; create one by setting jogging mode to 'jogging'\",\n )\n }\n const rotation = [0, 0, 0]\n const translation = [0, 0, 0]\n translation[XYZ_TO_VECTOR[axis]] =\n direction === \"-\" ? -velocityMmPerSec : velocityMmPerSec\n\n this.joggingSocket.sendJson({\n message_type: \"TcpVelocityRequest\",\n translation,\n rotation,\n use_tool_coordinate_system: this.orientation === \"tool\",\n })\n }\n\n /**\n * Jogging: Start the TCP rotating around a specified axis at a given velocity\n */\n async rotateTCP({\n axis,\n direction,\n velocityRadsPerSec,\n }: {\n axis: \"x\" | \"y\" | \"z\"\n direction: \"-\" | \"+\"\n velocityRadsPerSec: number\n }) {\n if (!this.joggingSocket || this.mode !== \"jogging\") {\n throw new Error(\n \"Continuous jogging websocket not connected; create one by setting jogging mode to 'jogging'\",\n )\n }\n const rotation = [0, 0, 0]\n const translation = [0, 0, 0]\n rotation[XYZ_TO_VECTOR[axis]] =\n direction === \"-\" ? -velocityRadsPerSec : velocityRadsPerSec\n\n this.joggingSocket.sendJson({\n message_type: \"TcpVelocityRequest\",\n translation,\n rotation,\n })\n }\n\n /**\n * Trajectory jogging:\n *\n * Move the robot by a fixed distance in a single cartesian\n * axis, either rotating or translating relative to the TCP.\n * Promise resolves only after the motion has completed.\n */\n async runIncrementalCartesianMotion({\n currentTcpPose,\n currentJoints,\n // coordSystemId,\n velocityInRelevantUnits,\n axis,\n direction,\n motion,\n }: {\n currentTcpPose: Pose\n currentJoints: Vector3Simple\n coordSystemId: string\n velocityInRelevantUnits: number\n axis: \"x\" | \"y\" | \"z\"\n direction: \"-\" | \"+\"\n motion:\n | {\n type: \"rotate\"\n distanceRads: number\n }\n | {\n type: \"translate\"\n distanceMm: number\n }\n }) {\n const commands: MotionCommand[] = []\n\n if (this.mode !== \"trajectory\") {\n throw new Error(\n \"Set jogging mode to 'trajectory' to run incremental cartesian motions\",\n )\n }\n\n if (motion.type === \"translate\") {\n if (!currentTcpPose.position) {\n throw new Error(\n \"Current pose has no position, cannot perform translation\",\n )\n }\n\n const targetTcpPosition = [...currentTcpPose.position]\n targetTcpPosition[XYZ_TO_VECTOR[axis]] +=\n motion.distanceMm * (direction === \"-\" ? -1 : 1)\n\n commands.push({\n limits_override: {\n tcp_velocity_limit: velocityInRelevantUnits,\n },\n path: {\n path_definition_name: \"PathLine\",\n target_pose: {\n position: targetTcpPosition,\n orientation: currentTcpPose.orientation,\n },\n },\n })\n } else if (motion.type === \"rotate\") {\n // Concatenate rotations expressed by rotation vectors\n // Equations taken from https://physics.stackexchange.com/a/287819\n\n if (!currentTcpPose.orientation) {\n throw new Error(\n \"Current pose has no orientation, cannot perform rotation\",\n )\n }\n\n // Compute axis and angle of current rotation vector\n const currentRotationVector = new Vector3(\n currentTcpPose.orientation[0],\n currentTcpPose.orientation[1],\n currentTcpPose.orientation[2],\n )\n\n const currentRotationRad = currentRotationVector.length()\n const currentRotationDirection = currentRotationVector.clone().normalize()\n\n // Compute axis and angle of difference rotation vector\n const differenceRotationRad =\n motion.distanceRads * (direction === \"-\" ? -1 : 1)\n\n const differenceRotationDirection = new Vector3(0.0, 0.0, 0.0)\n differenceRotationDirection[axis] = 1.0\n\n // Some abbreviations to make the following equations more readable\n const f1 =\n Math.cos(0.5 * differenceRotationRad) *\n Math.cos(0.5 * currentRotationRad)\n const f2 =\n Math.sin(0.5 * differenceRotationRad) *\n Math.sin(0.5 * currentRotationRad)\n const f3 =\n Math.sin(0.5 * differenceRotationRad) *\n Math.cos(0.5 * currentRotationRad)\n const f4 =\n Math.cos(0.5 * differenceRotationRad) *\n Math.sin(0.5 * currentRotationRad)\n\n const dotProduct = differenceRotationDirection.dot(\n currentRotationDirection,\n )\n\n const crossProduct = differenceRotationDirection\n .clone()\n .cross(currentRotationDirection)\n\n // Compute angle of concatenated rotation\n const newRotationRad = 2.0 * Math.acos(f1 - f2 * dotProduct)\n\n // Compute rotation vector of concatenated rotation\n const f5 = newRotationRad / Math.sin(0.5 * newRotationRad)\n\n const targetTcpOrientation = new Vector3()\n .addScaledVector(crossProduct, f2)\n .addScaledVector(differenceRotationDirection, f3)\n .addScaledVector(currentRotationDirection, f4)\n .multiplyScalar(f5)\n\n commands.push({\n limits_override: {\n tcp_orientation_velocity_limit: velocityInRelevantUnits,\n },\n path: {\n path_definition_name: \"PathLine\",\n target_pose: {\n position: currentTcpPose.position,\n orientation: [...targetTcpOrientation],\n },\n },\n })\n }\n\n // Plan the motion https://portal.wandelbots.io/docs/api/v2/ui/#/operations/planTrajectory\n const description = this.motionStream.description\n if (description.cycle_time === undefined) {\n console.warn(\n \"Current motion group has no cycle time, cannot plan jogging motion\",\n )\n return\n }\n\n const motion_group_setup = {\n motion_group_model: description.motion_group_model,\n cycle_time: description.cycle_time,\n mounting: description.mounting,\n\n // tcp_offset: description.tcp_offset, TODO: implement tcp_offset handling\n // FIXME use proper mode's limits if set\n global: description.operation_limits.auto_limits,\n }\n\n const motionPlanRes = await this.nova.api.trajectoryPlanning.planTrajectory(\n {\n motion_group_setup,\n start_joint_position: currentJoints,\n motion_commands: commands,\n },\n )\n\n const trajectoryData = motionPlanRes.response\n if (!trajectoryData) {\n throw new Error(\n `Failed to plan jogging increment motion ${JSON.stringify(motionPlanRes)}`,\n )\n }\n\n if (this.trajectorySocket) {\n console.warn(\"Trajectory jogging websocket already open; will close\")\n this.trajectorySocket.dispose()\n }\n\n // Execute the planned motion https://portal.wandelbots.io/docs/api/v2/ui/#/operations/executeTrajectory\n this.trajectorySocket = this.nova.openReconnectingWebsocket(\n this.ENDPOINT_TRAJECTORY,\n )\n\n const messageInitializeMovementResponse = (\n result: InitializeMovementResponse | undefined,\n ) => {\n // Handle errorous response\n if (!result || result.add_trajectory_error || result.message) {\n if (this.onError) {\n this.onError(result)\n } else {\n throw new Error(\n result?.add_trajectory_error?.message ||\n result?.message ||\n \"Failed to execute trajectory, unknown error\",\n )\n }\n }\n\n // Handle socket gone\n if (!this.trajectorySocket) {\n throw new Error(\n `Failed to execute trajectory, websocket not available anymore`,\n )\n }\n\n // Trajectory locked, now start movement\n this.trajectorySocket.sendJson({\n message_type: \"StartMovementRequest\",\n direction: \"DIRECTION_FORWARD\",\n })\n }\n\n const waitForMovementToStartAndFinish = async () => {\n // Wait for robot to start moving (standstill becomes false)\n await when(() => !this.motionStream.rapidlyChangingMotionState.standstill)\n\n // Then wait for robot to stop moving (standstill becomes true)\n await when(() => this.motionStream.rapidlyChangingMotionState.standstill)\n\n // Close connection and free robot\n this.trajectorySocket?.dispose()\n this.trajectorySocket = null\n }\n\n const waitForMovementToFinish = async () => {\n // Wait for robot to stop moving (standstill becomes true)\n await when(() => this.motionStream.rapidlyChangingMotionState.standstill)\n\n // Close connection and free robot\n this.trajectorySocket?.dispose()\n this.trajectorySocket = null\n }\n\n const messageStartMovementResponse = async (\n data: StartMovementResponse,\n ) => {\n if (data?.message) {\n if (this.onError) {\n this.onError(data)\n return\n } else {\n throw new Error(\n data.message || \"Failed to execute trajectory, unknown error\",\n )\n }\n }\n\n // Movement started we now wait to verify the robot is moving\n // by observing changes to motion state\n if (this.motionStream.rapidlyChangingMotionState.standstill) {\n await waitForMovementToStartAndFinish()\n } else {\n await waitForMovementToFinish()\n }\n }\n\n this.trajectorySocket.addEventListener(\"message\", (ev: MessageEvent) => {\n const data = tryParseJson(ev.data)\n\n if (!data?.result?.kind) {\n throw new Error(\n `Failed to execute trajectory: Received invalid message ${ev.data}`,\n )\n }\n\n if (\n this.onBlocked &&\n data.result.message?.includes(API_ERROR_CONNECTION_BLOCKED)\n ) {\n this.onBlocked()\n return\n }\n\n if (data.result.kind === \"INITIALIZE_RECEIVED\") {\n messageInitializeMovementResponse(data.result)\n } else if (data.result.kind === \"START_RECEIVED\") {\n messageStartMovementResponse(data)\n } else if (data.result.kind === \"PAUSE_RECEIVED\") {\n // do nothing\n } else if (data.result.kind === \"MOTION_ERROR\" && data.result.message) {\n if (this.onError) {\n this.onError(data)\n return\n } else {\n throw new Error(data.result.message)\n }\n } else {\n throw new Error(\n `Failed to execute trajectory, cannot handle message type \"${data.result.kind}\"`,\n )\n }\n })\n\n // Send initialization/movement request\n this.trajectorySocket.sendJson({\n message_type: \"InitializeMovementRequest\",\n trajectory: {\n message_type: \"TrajectoryData\",\n motion_group: this.motionGroupId,\n data: trajectoryData,\n tcp: this.tcp,\n },\n })\n }\n}\n\nexport default JoggerConnection\n"],"names":["API_ERROR_CONNECTION_BLOCKED","JoggerConnection","motionStream","options","nova","motionGroupId","MotionStreamConnection","jogger","firstJointType","_b","_a","JointTypeEnum","velocity","sockets","s","mode","skipReinitializeIfSameMode","resolve","reject","connectionFailedTimeout","ev","data","tryParseJson","_c","_d","joint","direction","velocityValue","velocityUnit","axis","velocityMmPerSec","rotation","translation","XYZ_TO_VECTOR","velocityRadsPerSec","currentTcpPose","currentJoints","velocityInRelevantUnits","motion","commands","targetTcpPosition","currentRotationVector","Vector3","currentRotationRad","currentRotationDirection","differenceRotationRad","differenceRotationDirection","f1","f2","f3","f4","dotProduct","crossProduct","newRotationRad","f5","targetTcpOrientation","description","motion_group_setup","motionPlanRes","trajectoryData","messageInitializeMovementResponse","result","waitForMovementToStartAndFinish","when","waitForMovementToFinish","messageStartMovementResponse"],"mappings":";;;;;AAmBA,MAAMA,IAA+B;AAmC9B,MAAMC,EAAiB;AAAA,EAuD5B,YACWC,GACAC,IAA+C,IACxD;AAFS,SAAA,eAAAD,GACA,KAAA,UAAAC,GAxDX,KAAA,mBAAmB,sBACnB,KAAA,sBAAsB,yBACtB,KAAA,eAAe,OACf,KAAA,cAAkC,UAClC,KAAA,SAA6B,QAE7B,KAAA,uBAAuB,KACvB,KAAA,sBAAsB,YAEtB,KAAA,OAAmB,OACnB,KAAA,gBAAkD,MAClD,KAAA,mBAAqD,MACrD,KAAA,UAAkB,KAAK,sBA8CrB,KAAK,OACHA,KAAA,gBAAAA,EAAS,QACTD,EAAa,YAAY,OACzB,KAAK,cAAcA,CAAY,GAEjC,KAAK,eAAcC,KAAA,gBAAAA,EAAS,gBAAe,KAAK,qBAChD,KAAK,WAAUA,KAAA,gBAAAA,EAAS,YAAW,KAAK,sBACxC,KAAK,QAAOA,KAAA,gBAAAA,EAAS,SAAQ,KAAK,cAClC,KAAK,UAAUA,KAAA,gBAAAA,EAAS;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA/BA,aAAa,KACXC,GACAC,GACAF,IAAmC,CAAA,GACnC;AAEA,UAAMD,IAAe,MAAMI,EAAuB,KAAKF,GAAMC,CAAa,GAGpEE,IAAS,IAAIN,EAAiBC,GAAcC,CAAO;AAGzD,iBAAMI,EAAO,eAAeA,EAAO,IAAI,GAGhCA;AAAA,EACT;AAAA,EAiBA,cAAcL,GAAsC;;AAClD,UAAMM,KAAiBC,KAAAC,IAAAR,EAAa,YAAY,kBAAzB,gBAAAQ,EAAyC,OAAzC,gBAAAD,EAA6C;AACpE,WACEP,EAAa,OAAO,SAAS,MAC5BM,MAAmBG,EAAc,iBAChCH,MAAmBG,EAAc,kBAE5B,KAAK,SAEP,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,MAAM,WAAWR,GAA2C;AAC1D,IAAIA,EAAQ,QACV,KAAK,MAAMA,EAAQ,MAGjBA,EAAQ,gBACV,KAAK,cAAcA,EAAQ,cAOzBA,EAAQ,YACV,KAAK,UAAUA,EAAQ,UAGrBA,EAAQ,SACV,KAAK,OAAOA,EAAQ,OAGlBA,EAAQ,YACV,KAAK,UAAUA,EAAQ,UAGzB,KAAK,eAAe,KAAK,MAAM,EAAK;AAAA,EACtC;AAAA,EAEA,IAAI,gBAAgB;AAClB,WAAO,KAAK,aAAa;AAAA,EAC3B;AAAA,EAEA,IAAI,OAAO;AACT,WAAO,KAAK,aAAa;AAAA,EAC3B;AAAA,EAEA,IAAI,YAAY;AACd,WAAO,KAAK,aAAa,OAAO;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAM,OAAO;AACX,QAAI,KAAK,eAAe;AACtB,YAAMS,IAAW,IAAI,MAAM,KAAK,SAAS,EAAE,KAAK,CAAC;AACjD,WAAK,cAAc,SAAS;AAAA,QAC1B,cAAc;AAAA,QACd,UAAAA;AAAA,MAAA,CACD;AAAA,IACH;AAEA,IAAI,KAAK,oBACP,KAAK,iBAAiB,SAAS;AAAA,MAC7B,cAAc;AAAA,IAAA,CACf;AAAA,EAEL;AAAA;AAAA,EAGA,MAAM,UAAU;AAEd,UAAMC,IAAU,CAAC,KAAK,eAAe,KAAK,gBAAgB,EAAE;AAAA,MAC1D,CAACC,MAAMA,MAAM;AAAA,IAAA;AAIf,WAAAD,EAAQ,QAAQ,CAACC,MAAM;AACrB,MAAAA,EAAE,QAAA;AAAA,IACJ,CAAC,GAGD,KAAK,gBAAgB,MACrB,KAAK,mBAAmB,MAGjB,QAAQ,IAAID,EAAQ,IAAI,CAACC,MAAMA,EAAE,OAAA,CAAQ,CAAC;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,eAAeC,GAAkBC,IAA6B,IAAM;AAExE,QAAI,OAAK,SAASD,KAAQC,OAK1B,KAAK,QAAA,GAGL,KAAK,OAAOD,GAGR,KAAK,SAAS;AAChB,aAAO,KAAK,2BAAA;AAAA,EAKhB;AAAA;AAAA,EAGA,MAAM,6BAA6B;AAEjC,WAAO,IAAI,QAAc,CAACE,GAASC,MAAW;AAC5C,YAAMC,IAA0B,WAAW,MAAM;AAC/C,QAAAD;AAAA,UACE,IAAI;AAAA,YACF,wCAAwC,KAAK,OAAO;AAAA,UAAA;AAAA,QACtD;AAAA,MAEJ,GAAG,KAAK,OAAO;AAEf,WAAK,gBAAgB,KAAK,KAAK;AAAA,QAC7B,KAAK;AAAA,MAAA,GAEP,KAAK,cAAc,iBAAiB,WAAW,CAACE,MAAqB;;AACnE,cAAMC,IAAOC,EAAaF,EAAG,IAAI;AAEjC,cAAIV,IAAAW,KAAA,gBAAAA,EAAM,WAAN,gBAAAX,EAAc,UAAS,uBAAuB;AAChD,uBAAaS,CAAuB,GACpCF,EAAA;AACA;AAAA,QACF;AAEA,cAAIR,IAAAY,KAAA,gBAAAA,EAAM,WAAN,gBAAAZ,EAAc,UAAS;AAEzB,cADA,aAAaU,CAAuB,GAElC,KAAK,eACLI,IAAAF,KAAA,gBAAAA,EAAM,WAAN,QAAAE,EAAc,QAAQ,SAASvB,KAC/B;AACA,aAAAwB,IAAA,KAAK,kBAAL,QAAAA,EAAoB,WACpB,KAAK,UAAA;AACL;AAAA,UACF,MAAA,CAAW,KAAK,UACd,KAAK,QAAQJ,EAAG,IAAI,IAEpBF,EAAO,IAAI,MAAME,EAAG,IAAI,CAAC;AAAA,MAG/B,CAAC,GAED,KAAK,cAAc,SAAS;AAAA,QAC1B,cAAc;AAAA,QACd,cAAc,KAAK;AAAA,QACnB,GAAI,KAAK,MAAM,EAAE,KAAK,KAAK,IAAA,IAAQ,CAAA;AAAA,MAAC,CACrC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,aAAa;AAAA,IACjB,OAAAK;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,GASC;AACD,QAAI,CAAC,KAAK,iBAAiB,KAAK,SAAS;AACvC,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAIJ,UAAMhB,IAAW,IAAI,MAAM,KAAK,SAAS,EAAE,KAAK,CAAC;AAEjD,IAAAA,EAASa,CAAK,IAAIC,MAAc,MAAM,CAACC,IAAgBA,GAEvD,KAAK,cAAc,SAAS;AAAA,MAC1B,cAAc;AAAA,MACd,UAAAf;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,aAAa;AAAA,IACjB,MAAAiB;AAAA,IACA,WAAAH;AAAA,IACA,kBAAAI;AAAA,EAAA,GAKC;AACD,QAAI,CAAC,KAAK,iBAAiB,KAAK,SAAS;AACvC,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAGJ,UAAMC,IAAW,CAAC,GAAG,GAAG,CAAC,GACnBC,IAAc,CAAC,GAAG,GAAG,CAAC;AAC5B,IAAAA,EAAYC,EAAcJ,CAAI,CAAC,IAC7BH,MAAc,MAAM,CAACI,IAAmBA,GAE1C,KAAK,cAAc,SAAS;AAAA,MAC1B,cAAc;AAAA,MACd,aAAAE;AAAA,MACA,UAAAD;AAAA,MACA,4BAA4B,KAAK,gBAAgB;AAAA,IAAA,CAClD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,UAAU;AAAA,IACd,MAAAF;AAAA,IACA,WAAAH;AAAA,IACA,oBAAAQ;AAAA,EAAA,GAKC;AACD,QAAI,CAAC,KAAK,iBAAiB,KAAK,SAAS;AACvC,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAGJ,UAAMH,IAAW,CAAC,GAAG,GAAG,CAAC,GACnBC,IAAc,CAAC,GAAG,GAAG,CAAC;AAC5B,IAAAD,EAASE,EAAcJ,CAAI,CAAC,IAC1BH,MAAc,MAAM,CAACQ,IAAqBA,GAE5C,KAAK,cAAc,SAAS;AAAA,MAC1B,cAAc;AAAA,MACd,aAAAF;AAAA,MACA,UAAAD;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,8BAA8B;AAAA,IAClC,gBAAAI;AAAA,IACA,eAAAC;AAAA;AAAA,IAEA,yBAAAC;AAAA,IACA,MAAAR;AAAA,IACA,WAAAH;AAAA,IACA,QAAAY;AAAA,EAAA,GAiBC;AACD,UAAMC,IAA4B,CAAA;AAElC,QAAI,KAAK,SAAS;AAChB,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAIJ,QAAID,EAAO,SAAS,aAAa;AAC/B,UAAI,CAACH,EAAe;AAClB,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAIJ,YAAMK,IAAoB,CAAC,GAAGL,EAAe,QAAQ;AACrD,MAAAK,EAAkBP,EAAcJ,CAAI,CAAC,KACnCS,EAAO,cAAcZ,MAAc,MAAM,KAAK,IAEhDa,EAAS,KAAK;AAAA,QACZ,iBAAiB;AAAA,UACf,oBAAoBF;AAAA,QAAA;AAAA,QAEtB,MAAM;AAAA,UACJ,sBAAsB;AAAA,UACtB,aAAa;AAAA,YACX,UAAUG;AAAA,YACV,aAAaL,EAAe;AAAA,UAAA;AAAA,QAC9B;AAAA,MACF,CACD;AAAA,IACH,WAAWG,EAAO,SAAS,UAAU;AAInC,UAAI,CAACH,EAAe;AAClB,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAKJ,YAAMM,IAAwB,IAAIC;AAAA,QAChCP,EAAe,YAAY,CAAC;AAAA,QAC5BA,EAAe,YAAY,CAAC;AAAA,QAC5BA,EAAe,YAAY,CAAC;AAAA,MAAA,GAGxBQ,IAAqBF,EAAsB,OAAA,GAC3CG,IAA2BH,EAAsB,MAAA,EAAQ,UAAA,GAGzDI,IACJP,EAAO,gBAAgBZ,MAAc,MAAM,KAAK,IAE5CoB,IAA8B,IAAIJ,EAAQ,GAAK,GAAK,CAAG;AAC7D,MAAAI,EAA4BjB,CAAI,IAAI;AAGpC,YAAMkB,IACJ,KAAK,IAAI,MAAMF,CAAqB,IACpC,KAAK,IAAI,MAAMF,CAAkB,GAC7BK,IACJ,KAAK,IAAI,MAAMH,CAAqB,IACpC,KAAK,IAAI,MAAMF,CAAkB,GAC7BM,IACJ,KAAK,IAAI,MAAMJ,CAAqB,IACpC,KAAK,IAAI,MAAMF,CAAkB,GAC7BO,IACJ,KAAK,IAAI,MAAML,CAAqB,IACpC,KAAK,IAAI,MAAMF,CAAkB,GAE7BQ,IAAaL,EAA4B;AAAA,QAC7CF;AAAA,MAAA,GAGIQ,IAAeN,EAClB,MAAA,EACA,MAAMF,CAAwB,GAG3BS,IAAiB,IAAM,KAAK,KAAKN,IAAKC,IAAKG,CAAU,GAGrDG,IAAKD,IAAiB,KAAK,IAAI,MAAMA,CAAc,GAEnDE,IAAuB,IAAIb,EAAA,EAC9B,gBAAgBU,GAAcJ,CAAE,EAChC,gBAAgBF,GAA6BG,CAAE,EAC/C,gBAAgBL,GAA0BM,CAAE,EAC5C,eAAeI,CAAE;AAEpB,MAAAf,EAAS,KAAK;AAAA,QACZ,iBAAiB;AAAA,UACf,gCAAgCF;AAAA,QAAA;AAAA,QAElC,MAAM;AAAA,UACJ,sBAAsB;AAAA,UACtB,aAAa;AAAA,YACX,UAAUF,EAAe;AAAA,YACzB,aAAa,CAAC,GAAGoB,CAAoB;AAAA,UAAA;AAAA,QACvC;AAAA,MACF,CACD;AAAA,IACH;AAGA,UAAMC,IAAc,KAAK,aAAa;AACtC,QAAIA,EAAY,eAAe,QAAW;AACxC,cAAQ;AAAA,QACN;AAAA,MAAA;AAEF;AAAA,IACF;AAEA,UAAMC,IAAqB;AAAA,MACzB,oBAAoBD,EAAY;AAAA,MAChC,YAAYA,EAAY;AAAA,MACxB,UAAUA,EAAY;AAAA;AAAA;AAAA,MAItB,QAAQA,EAAY,iBAAiB;AAAA,IAAA,GAGjCE,IAAgB,MAAM,KAAK,KAAK,IAAI,mBAAmB;AAAA,MAC3D;AAAA,QACE,oBAAAD;AAAA,QACA,sBAAsBrB;AAAA,QACtB,iBAAiBG;AAAA,MAAA;AAAA,IACnB,GAGIoB,IAAiBD,EAAc;AACrC,QAAI,CAACC;AACH,YAAM,IAAI;AAAA,QACR,2CAA2C,KAAK,UAAUD,CAAa,CAAC;AAAA,MAAA;AAI5E,IAAI,KAAK,qBACP,QAAQ,KAAK,uDAAuD,GACpE,KAAK,iBAAiB,QAAA,IAIxB,KAAK,mBAAmB,KAAK,KAAK;AAAA,MAChC,KAAK;AAAA,IAAA;AAGP,UAAME,IAAoC,CACxCC,MACG;;AAEH,UAAI,CAACA,KAAUA,EAAO,wBAAwBA,EAAO;AACnD,YAAI,KAAK;AACP,eAAK,QAAQA,CAAM;AAAA;AAEnB,gBAAM,IAAI;AAAA,cACRnD,IAAAmD,KAAA,gBAAAA,EAAQ,yBAAR,gBAAAnD,EAA8B,aAC5BmD,KAAA,gBAAAA,EAAQ,YACR;AAAA,UAAA;AAMR,UAAI,CAAC,KAAK;AACR,cAAM,IAAI;AAAA,UACR;AAAA,QAAA;AAKJ,WAAK,iBAAiB,SAAS;AAAA,QAC7B,cAAc;AAAA,QACd,WAAW;AAAA,MAAA,CACZ;AAAA,IACH,GAEMC,IAAkC,YAAY;;AAElD,YAAMC,EAAK,MAAM,CAAC,KAAK,aAAa,2BAA2B,UAAU,GAGzE,MAAMA,EAAK,MAAM,KAAK,aAAa,2BAA2B,UAAU,IAGxErD,IAAA,KAAK,qBAAL,QAAAA,EAAuB,WACvB,KAAK,mBAAmB;AAAA,IAC1B,GAEMsD,IAA0B,YAAY;;AAE1C,YAAMD,EAAK,MAAM,KAAK,aAAa,2BAA2B,UAAU,IAGxErD,IAAA,KAAK,qBAAL,QAAAA,EAAuB,WACvB,KAAK,mBAAmB;AAAA,IAC1B,GAEMuD,IAA+B,OACnC5C,MACG;AACH,UAAIA,KAAA,QAAAA,EAAM;AACR,YAAI,KAAK,SAAS;AAChB,eAAK,QAAQA,CAAI;AACjB;AAAA,QACF;AACE,gBAAM,IAAI;AAAA,YACRA,EAAK,WAAW;AAAA,UAAA;AAOtB,MAAI,KAAK,aAAa,2BAA2B,aAC/C,MAAMyC,EAAA,IAEN,MAAME,EAAA;AAAA,IAEV;AAEA,SAAK,iBAAiB,iBAAiB,WAAW,CAAC5C,MAAqB;;AACtE,YAAMC,IAAOC,EAAaF,EAAG,IAAI;AAEjC,UAAI,GAACV,IAAAW,KAAA,gBAAAA,EAAM,WAAN,QAAAX,EAAc;AACjB,cAAM,IAAI;AAAA,UACR,0DAA0DU,EAAG,IAAI;AAAA,QAAA;AAIrE,UACE,KAAK,eACLX,IAAAY,EAAK,OAAO,YAAZ,QAAAZ,EAAqB,SAAST,KAC9B;AACA,aAAK,UAAA;AACL;AAAA,MACF;AAEA,UAAIqB,EAAK,OAAO,SAAS;AACvB,QAAAuC,EAAkCvC,EAAK,MAAM;AAAA,eACpCA,EAAK,OAAO,SAAS;AAC9B,QAAA4C,EAA6B5C,CAAI;AAAA,eACxBA,EAAK,OAAO,SAAS,sBAErBA,EAAK,OAAO,SAAS,kBAAkBA,EAAK,OAAO;AAC5D,YAAI,KAAK,SAAS;AAChB,eAAK,QAAQA,CAAI;AACjB;AAAA,QACF;AACE,gBAAM,IAAI,MAAMA,EAAK,OAAO,OAAO;AAAA;AAGrC,cAAM,IAAI;AAAA,UACR,6DAA6DA,EAAK,OAAO,IAAI;AAAA,QAAA;AAAA,IAGnF,CAAC,GAGD,KAAK,iBAAiB,SAAS;AAAA,MAC7B,cAAc;AAAA,MACd,YAAY;AAAA,QACV,cAAc;AAAA,QACd,cAAc,KAAK;AAAA,QACnB,MAAMsC;AAAA,QACN,KAAK,KAAK;AAAA,MAAA;AAAA,IACZ,CACD;AAAA,EACH;AACF;"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=JoggerConnection.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JoggerConnection.test.d.ts","sourceRoot":"","sources":["../../src/lib/JoggerConnection.test.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("@wandelbots/nova-js"),g=require("mobx"),d=require("./motionStateUpdate.cjs"),_=1e-4;class u{constructor(n,o,h,s,i,e){this.nova=n,this.controller=o,this.motionGroup=h,this.description=s,this.initialMotionState=i,this.motionStateSocket=e,this.rapidlyChangingMotionState=i,e.addEventListener("message",a=>{var r;const t=(r=m.tryParseJson(a.data))==null?void 0:r.result;if(!t)throw new Error(`Failed to get motion state for ${this.motionGroupId}: ${a.data}`);d.jointValuesEqual(this.rapidlyChangingMotionState.joint_position,t.joint_position,_)||g.runInAction(()=>{this.rapidlyChangingMotionState.joint_position=t.joint_position}),d.tcpMotionEqual(this.rapidlyChangingMotionState,t,_)||g.runInAction(()=>{var l,p,c;this.rapidlyChangingMotionState.tcp_pose==null?this.rapidlyChangingMotionState.tcp_pose=t.tcp_pose:(l=t.tcp_pose)!=null&&l.orientation&&((p=t.tcp_pose)!=null&&p.position)&&((c=this.rapidlyChangingMotionState.tcp_pose)!=null&&c.orientation)?this.rapidlyChangingMotionState.tcp_pose={position:t.tcp_pose.position,orientation:d.unwrapRotationVector(t.tcp_pose.orientation,this.rapidlyChangingMotionState.tcp_pose.orientation)}:console.warn("Received incomplete tcp_pose, ignoring",t.tcp_pose)}),this.rapidlyChangingMotionState.standstill!==t.standstill&&g.runInAction(()=>{this.rapidlyChangingMotionState.standstill=t.standstill})}),g.makeAutoObservable(this)}static async open(n,o){var p;const[h,s]=o.split("@"),i=await n.api.controller.getCurrentRobotControllerState(s),e=i==null?void 0:i.motion_groups.find(c=>c.motion_group===o);if(!i||!e)throw new Error(`Controller ${s} or motion group ${o} not found`);const a=n.openReconnectingWebsocket(`/controllers/${s}/motion-groups/${o}/state-stream`),t=await a.firstMessage(),r=(p=m.tryParseJson(t.data))==null?void 0:p.result;if(!r)throw new Error(`Unable to parse initial motion state message ${t.data}`);console.log(`Connected motion state websocket to motion group ${e.motion_group}. Initial state:
2
- `,r);const l=await n.api.motionGroup.getMotionGroupDescription(s,e.motion_group);return new u(n,i,e,l,r,a)}get motionGroupId(){return this.motionGroup.motion_group}get controllerId(){return this.controller.controller}get joints(){return this.initialMotionState.joint_position.map((n,o)=>({index:o}))}dispose(){this.motionStateSocket.close()}}exports.MotionStreamConnection=u;exports.default=u;
3
- //# sourceMappingURL=MotionStreamConnection.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MotionStreamConnection.cjs","sources":["../../src/lib/MotionStreamConnection.ts"],"sourcesContent":["import {\n type AutoReconnectingWebsocket,\n tryParseJson,\n} from \"@wandelbots/nova-js\"\nimport type {\n MotionGroupDescription,\n MotionGroupState,\n NovaClient,\n RobotControllerState,\n} from \"@wandelbots/nova-js/v2\"\nimport { makeAutoObservable, runInAction } from \"mobx\"\nimport type { Vector3Simple } from \"./JoggerConnection\"\nimport {\n jointValuesEqual,\n tcpMotionEqual,\n unwrapRotationVector,\n} from \"./motionStateUpdate\"\n\nconst MOTION_DELTA_THRESHOLD = 0.0001\n\n/**\n * Store representing the current state of a connected motion group.\n */\nexport class MotionStreamConnection {\n static async open(nova: NovaClient, motionGroupId: string) {\n const [_motionGroupIndex, controllerId] = motionGroupId.split(\"@\") as [\n string,\n string,\n ]\n\n const controller =\n await nova.api.controller.getCurrentRobotControllerState(controllerId)\n const motionGroup = controller?.motion_groups.find(\n (mg: MotionGroupState) => mg.motion_group === motionGroupId,\n )\n if (!controller || !motionGroup) {\n throw new Error(\n `Controller ${controllerId} or motion group ${motionGroupId} not found`,\n )\n }\n\n const motionStateSocket = nova.openReconnectingWebsocket(\n `/controllers/${controllerId}/motion-groups/${motionGroupId}/state-stream`,\n )\n\n // Wait for the first message to get the initial state\n const firstMessage = await motionStateSocket.firstMessage()\n const initialMotionState = tryParseJson(firstMessage.data)\n ?.result as MotionGroupState\n\n if (!initialMotionState) {\n throw new Error(\n `Unable to parse initial motion state message ${firstMessage.data}`,\n )\n }\n\n console.log(\n `Connected motion state websocket to motion group ${motionGroup.motion_group}. Initial state:\\n `,\n initialMotionState,\n )\n\n // Get the motion group description for later usage in jogging\n const description = await nova.api.motionGroup.getMotionGroupDescription(\n controllerId,\n motionGroup.motion_group,\n )\n\n return new MotionStreamConnection(\n nova,\n controller,\n motionGroup,\n description,\n initialMotionState,\n motionStateSocket,\n )\n }\n\n // Not mobx-observable as this changes very fast; should be observed\n // using animation frames\n rapidlyChangingMotionState: MotionGroupState\n\n constructor(\n readonly nova: NovaClient,\n readonly controller: RobotControllerState,\n readonly motionGroup: MotionGroupState,\n readonly description: MotionGroupDescription,\n readonly initialMotionState: MotionGroupState,\n readonly motionStateSocket: AutoReconnectingWebsocket,\n ) {\n this.rapidlyChangingMotionState = initialMotionState\n\n motionStateSocket.addEventListener(\"message\", (event) => {\n const latestMotionState = tryParseJson(event.data)?.result as\n | MotionGroupState\n | undefined\n\n if (!latestMotionState) {\n throw new Error(\n `Failed to get motion state for ${this.motionGroupId}: ${event.data}`,\n )\n }\n\n // handle joint position changes\n if (\n !jointValuesEqual(\n this.rapidlyChangingMotionState.joint_position,\n latestMotionState.joint_position,\n MOTION_DELTA_THRESHOLD,\n )\n ) {\n runInAction(() => {\n this.rapidlyChangingMotionState.joint_position =\n latestMotionState.joint_position\n })\n }\n\n // handle tcp pose changes\n if (\n !tcpMotionEqual(\n this.rapidlyChangingMotionState,\n latestMotionState,\n MOTION_DELTA_THRESHOLD,\n )\n ) {\n runInAction(() => {\n if (this.rapidlyChangingMotionState.tcp_pose == null) {\n this.rapidlyChangingMotionState.tcp_pose =\n latestMotionState.tcp_pose\n } else if (\n latestMotionState.tcp_pose?.orientation &&\n latestMotionState.tcp_pose?.position &&\n this.rapidlyChangingMotionState.tcp_pose?.orientation\n ) {\n this.rapidlyChangingMotionState.tcp_pose = {\n position: latestMotionState.tcp_pose.position,\n orientation: unwrapRotationVector(\n latestMotionState.tcp_pose.orientation as Vector3Simple,\n this.rapidlyChangingMotionState.tcp_pose\n .orientation as Vector3Simple,\n ),\n }\n } else {\n console.warn(\n \"Received incomplete tcp_pose, ignoring\",\n latestMotionState.tcp_pose,\n )\n }\n })\n }\n\n // handle standstill changes\n if (\n this.rapidlyChangingMotionState.standstill !==\n latestMotionState.standstill\n ) {\n runInAction(() => {\n this.rapidlyChangingMotionState.standstill =\n latestMotionState.standstill\n })\n }\n })\n makeAutoObservable(this)\n }\n\n get motionGroupId() {\n return this.motionGroup.motion_group\n }\n\n get controllerId() {\n return this.controller.controller\n }\n\n get joints() {\n return this.initialMotionState.joint_position.map((_, i) => {\n return {\n index: i,\n }\n })\n }\n\n dispose() {\n this.motionStateSocket.close()\n }\n}\n\nexport default MotionStreamConnection\n"],"names":["MOTION_DELTA_THRESHOLD","MotionStreamConnection","nova","controller","motionGroup","description","initialMotionState","motionStateSocket","event","latestMotionState","tryParseJson","jointValuesEqual","runInAction","tcpMotionEqual","_a","_b","_c","unwrapRotationVector","makeAutoObservable","motionGroupId","_motionGroupIndex","controllerId","mg","firstMessage","_","i"],"mappings":"0MAkBMA,EAAyB,KAKxB,MAAMC,CAAuB,CA0DlC,YACWC,EACAC,EACAC,EACAC,EACAC,EACAC,EACT,CANS,KAAA,KAAAL,EACA,KAAA,WAAAC,EACA,KAAA,YAAAC,EACA,KAAA,YAAAC,EACA,KAAA,mBAAAC,EACA,KAAA,kBAAAC,EAET,KAAK,2BAA6BD,EAElCC,EAAkB,iBAAiB,UAAYC,GAAU,OACvD,MAAMC,GAAoBC,EAAAA,EAAAA,aAAaF,EAAM,IAAI,IAAvBE,YAAAA,EAA0B,OAIpD,GAAI,CAACD,EACH,MAAM,IAAI,MACR,kCAAkC,KAAK,aAAa,KAAKD,EAAM,IAAI,EAAA,EAMpEG,EAAAA,iBACC,KAAK,2BAA2B,eAChCF,EAAkB,eAClBT,CAAA,GAGFY,EAAAA,YAAY,IAAM,CAChB,KAAK,2BAA2B,eAC9BH,EAAkB,cACtB,CAAC,EAKAI,EAAAA,eACC,KAAK,2BACLJ,EACAT,CAAA,GAGFY,EAAAA,YAAY,IAAM,WACZ,KAAK,2BAA2B,UAAY,KAC9C,KAAK,2BAA2B,SAC9BH,EAAkB,UAEpBK,EAAAL,EAAkB,WAAlB,MAAAK,EAA4B,eAC5BC,EAAAN,EAAkB,WAAlB,MAAAM,EAA4B,aAC5BC,EAAA,KAAK,2BAA2B,WAAhC,MAAAA,EAA0C,aAE1C,KAAK,2BAA2B,SAAW,CACzC,SAAUP,EAAkB,SAAS,SACrC,YAAaQ,EAAAA,qBACXR,EAAkB,SAAS,YAC3B,KAAK,2BAA2B,SAC7B,WAAA,CACL,EAGF,QAAQ,KACN,yCACAA,EAAkB,QAAA,CAGxB,CAAC,EAKD,KAAK,2BAA2B,aAChCA,EAAkB,YAElBG,EAAAA,YAAY,IAAM,CAChB,KAAK,2BAA2B,WAC9BH,EAAkB,UACtB,CAAC,CAEL,CAAC,EACDS,EAAAA,mBAAmB,IAAI,CACzB,CA1IA,aAAa,KAAKhB,EAAkBiB,EAAuB,OACzD,KAAM,CAACC,EAAmBC,CAAY,EAAIF,EAAc,MAAM,GAAG,EAK3DhB,EACJ,MAAMD,EAAK,IAAI,WAAW,+BAA+BmB,CAAY,EACjEjB,EAAcD,GAAA,YAAAA,EAAY,cAAc,KAC3CmB,GAAyBA,EAAG,eAAiBH,GAEhD,GAAI,CAAChB,GAAc,CAACC,EAClB,MAAM,IAAI,MACR,cAAciB,CAAY,oBAAoBF,CAAa,YAAA,EAI/D,MAAMZ,EAAoBL,EAAK,0BAC7B,gBAAgBmB,CAAY,kBAAkBF,CAAa,eAAA,EAIvDI,EAAe,MAAMhB,EAAkB,aAAA,EACvCD,GAAqBI,EAAAA,EAAAA,aAAaa,EAAa,IAAI,IAA9Bb,YAAAA,EACvB,OAEJ,GAAI,CAACJ,EACH,MAAM,IAAI,MACR,gDAAgDiB,EAAa,IAAI,EAAA,EAIrE,QAAQ,IACN,oDAAoDnB,EAAY,YAAY;AAAA,IAC5EE,CAAA,EAIF,MAAMD,EAAc,MAAMH,EAAK,IAAI,YAAY,0BAC7CmB,EACAjB,EAAY,YAAA,EAGd,OAAO,IAAIH,EACTC,EACAC,EACAC,EACAC,EACAC,EACAC,CAAA,CAEJ,CAyFA,IAAI,eAAgB,CAClB,OAAO,KAAK,YAAY,YAC1B,CAEA,IAAI,cAAe,CACjB,OAAO,KAAK,WAAW,UACzB,CAEA,IAAI,QAAS,CACX,OAAO,KAAK,mBAAmB,eAAe,IAAI,CAACiB,EAAGC,KAC7C,CACL,MAAOA,CAAA,EAEV,CACH,CAEA,SAAU,CACR,KAAK,kBAAkB,MAAA,CACzB,CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MotionStreamConnection.d.ts","sourceRoot":"","sources":["../../src/lib/MotionStreamConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAW/B;;GAEG;AACH,qBAAa,sBAAsB;IA2D/B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,oBAAoB;IACzC,QAAQ,CAAC,WAAW,EAAE,gBAAgB;IACtC,QAAQ,CAAC,WAAW,EAAE,sBAAsB;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB;WA/D1C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;IAuDzD,0BAA0B,EAAE,gBAAgB,CAAA;gBAGjC,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,oBAAoB,EAChC,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,sBAAsB,EACnC,kBAAkB,EAAE,gBAAgB,EACpC,iBAAiB,EAAE,yBAAyB;IA6EvD,IAAI,aAAa,WAEhB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,MAAM;;QAMT;IAED,OAAO;CAGR;AAED,eAAe,sBAAsB,CAAA"}
@@ -1,94 +0,0 @@
1
- import { tryParseJson as d } from "@wandelbots/nova-js";
2
- import { runInAction as g, makeAutoObservable as _ } from "mobx";
3
- import { jointValuesEqual as S, tcpMotionEqual as M, unwrapRotationVector as f } from "./motionStateUpdate.js";
4
- const u = 1e-4;
5
- class m {
6
- constructor(n, o, h, s, i, e) {
7
- this.nova = n, this.controller = o, this.motionGroup = h, this.description = s, this.initialMotionState = i, this.motionStateSocket = e, this.rapidlyChangingMotionState = i, e.addEventListener("message", (a) => {
8
- var r;
9
- const t = (r = d(a.data)) == null ? void 0 : r.result;
10
- if (!t)
11
- throw new Error(
12
- `Failed to get motion state for ${this.motionGroupId}: ${a.data}`
13
- );
14
- S(
15
- this.rapidlyChangingMotionState.joint_position,
16
- t.joint_position,
17
- u
18
- ) || g(() => {
19
- this.rapidlyChangingMotionState.joint_position = t.joint_position;
20
- }), M(
21
- this.rapidlyChangingMotionState,
22
- t,
23
- u
24
- ) || g(() => {
25
- var l, p, c;
26
- this.rapidlyChangingMotionState.tcp_pose == null ? this.rapidlyChangingMotionState.tcp_pose = t.tcp_pose : (l = t.tcp_pose) != null && l.orientation && ((p = t.tcp_pose) != null && p.position) && ((c = this.rapidlyChangingMotionState.tcp_pose) != null && c.orientation) ? this.rapidlyChangingMotionState.tcp_pose = {
27
- position: t.tcp_pose.position,
28
- orientation: f(
29
- t.tcp_pose.orientation,
30
- this.rapidlyChangingMotionState.tcp_pose.orientation
31
- )
32
- } : console.warn(
33
- "Received incomplete tcp_pose, ignoring",
34
- t.tcp_pose
35
- );
36
- }), this.rapidlyChangingMotionState.standstill !== t.standstill && g(() => {
37
- this.rapidlyChangingMotionState.standstill = t.standstill;
38
- });
39
- }), _(this);
40
- }
41
- static async open(n, o) {
42
- var p;
43
- const [h, s] = o.split("@"), i = await n.api.controller.getCurrentRobotControllerState(s), e = i == null ? void 0 : i.motion_groups.find(
44
- (c) => c.motion_group === o
45
- );
46
- if (!i || !e)
47
- throw new Error(
48
- `Controller ${s} or motion group ${o} not found`
49
- );
50
- const a = n.openReconnectingWebsocket(
51
- `/controllers/${s}/motion-groups/${o}/state-stream`
52
- ), t = await a.firstMessage(), r = (p = d(t.data)) == null ? void 0 : p.result;
53
- if (!r)
54
- throw new Error(
55
- `Unable to parse initial motion state message ${t.data}`
56
- );
57
- console.log(
58
- `Connected motion state websocket to motion group ${e.motion_group}. Initial state:
59
- `,
60
- r
61
- );
62
- const l = await n.api.motionGroup.getMotionGroupDescription(
63
- s,
64
- e.motion_group
65
- );
66
- return new m(
67
- n,
68
- i,
69
- e,
70
- l,
71
- r,
72
- a
73
- );
74
- }
75
- get motionGroupId() {
76
- return this.motionGroup.motion_group;
77
- }
78
- get controllerId() {
79
- return this.controller.controller;
80
- }
81
- get joints() {
82
- return this.initialMotionState.joint_position.map((n, o) => ({
83
- index: o
84
- }));
85
- }
86
- dispose() {
87
- this.motionStateSocket.close();
88
- }
89
- }
90
- export {
91
- m as MotionStreamConnection,
92
- m as default
93
- };
94
- //# sourceMappingURL=MotionStreamConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MotionStreamConnection.js","sources":["../../src/lib/MotionStreamConnection.ts"],"sourcesContent":["import {\n type AutoReconnectingWebsocket,\n tryParseJson,\n} from \"@wandelbots/nova-js\"\nimport type {\n MotionGroupDescription,\n MotionGroupState,\n NovaClient,\n RobotControllerState,\n} from \"@wandelbots/nova-js/v2\"\nimport { makeAutoObservable, runInAction } from \"mobx\"\nimport type { Vector3Simple } from \"./JoggerConnection\"\nimport {\n jointValuesEqual,\n tcpMotionEqual,\n unwrapRotationVector,\n} from \"./motionStateUpdate\"\n\nconst MOTION_DELTA_THRESHOLD = 0.0001\n\n/**\n * Store representing the current state of a connected motion group.\n */\nexport class MotionStreamConnection {\n static async open(nova: NovaClient, motionGroupId: string) {\n const [_motionGroupIndex, controllerId] = motionGroupId.split(\"@\") as [\n string,\n string,\n ]\n\n const controller =\n await nova.api.controller.getCurrentRobotControllerState(controllerId)\n const motionGroup = controller?.motion_groups.find(\n (mg: MotionGroupState) => mg.motion_group === motionGroupId,\n )\n if (!controller || !motionGroup) {\n throw new Error(\n `Controller ${controllerId} or motion group ${motionGroupId} not found`,\n )\n }\n\n const motionStateSocket = nova.openReconnectingWebsocket(\n `/controllers/${controllerId}/motion-groups/${motionGroupId}/state-stream`,\n )\n\n // Wait for the first message to get the initial state\n const firstMessage = await motionStateSocket.firstMessage()\n const initialMotionState = tryParseJson(firstMessage.data)\n ?.result as MotionGroupState\n\n if (!initialMotionState) {\n throw new Error(\n `Unable to parse initial motion state message ${firstMessage.data}`,\n )\n }\n\n console.log(\n `Connected motion state websocket to motion group ${motionGroup.motion_group}. Initial state:\\n `,\n initialMotionState,\n )\n\n // Get the motion group description for later usage in jogging\n const description = await nova.api.motionGroup.getMotionGroupDescription(\n controllerId,\n motionGroup.motion_group,\n )\n\n return new MotionStreamConnection(\n nova,\n controller,\n motionGroup,\n description,\n initialMotionState,\n motionStateSocket,\n )\n }\n\n // Not mobx-observable as this changes very fast; should be observed\n // using animation frames\n rapidlyChangingMotionState: MotionGroupState\n\n constructor(\n readonly nova: NovaClient,\n readonly controller: RobotControllerState,\n readonly motionGroup: MotionGroupState,\n readonly description: MotionGroupDescription,\n readonly initialMotionState: MotionGroupState,\n readonly motionStateSocket: AutoReconnectingWebsocket,\n ) {\n this.rapidlyChangingMotionState = initialMotionState\n\n motionStateSocket.addEventListener(\"message\", (event) => {\n const latestMotionState = tryParseJson(event.data)?.result as\n | MotionGroupState\n | undefined\n\n if (!latestMotionState) {\n throw new Error(\n `Failed to get motion state for ${this.motionGroupId}: ${event.data}`,\n )\n }\n\n // handle joint position changes\n if (\n !jointValuesEqual(\n this.rapidlyChangingMotionState.joint_position,\n latestMotionState.joint_position,\n MOTION_DELTA_THRESHOLD,\n )\n ) {\n runInAction(() => {\n this.rapidlyChangingMotionState.joint_position =\n latestMotionState.joint_position\n })\n }\n\n // handle tcp pose changes\n if (\n !tcpMotionEqual(\n this.rapidlyChangingMotionState,\n latestMotionState,\n MOTION_DELTA_THRESHOLD,\n )\n ) {\n runInAction(() => {\n if (this.rapidlyChangingMotionState.tcp_pose == null) {\n this.rapidlyChangingMotionState.tcp_pose =\n latestMotionState.tcp_pose\n } else if (\n latestMotionState.tcp_pose?.orientation &&\n latestMotionState.tcp_pose?.position &&\n this.rapidlyChangingMotionState.tcp_pose?.orientation\n ) {\n this.rapidlyChangingMotionState.tcp_pose = {\n position: latestMotionState.tcp_pose.position,\n orientation: unwrapRotationVector(\n latestMotionState.tcp_pose.orientation as Vector3Simple,\n this.rapidlyChangingMotionState.tcp_pose\n .orientation as Vector3Simple,\n ),\n }\n } else {\n console.warn(\n \"Received incomplete tcp_pose, ignoring\",\n latestMotionState.tcp_pose,\n )\n }\n })\n }\n\n // handle standstill changes\n if (\n this.rapidlyChangingMotionState.standstill !==\n latestMotionState.standstill\n ) {\n runInAction(() => {\n this.rapidlyChangingMotionState.standstill =\n latestMotionState.standstill\n })\n }\n })\n makeAutoObservable(this)\n }\n\n get motionGroupId() {\n return this.motionGroup.motion_group\n }\n\n get controllerId() {\n return this.controller.controller\n }\n\n get joints() {\n return this.initialMotionState.joint_position.map((_, i) => {\n return {\n index: i,\n }\n })\n }\n\n dispose() {\n this.motionStateSocket.close()\n }\n}\n\nexport default MotionStreamConnection\n"],"names":["MOTION_DELTA_THRESHOLD","MotionStreamConnection","nova","controller","motionGroup","description","initialMotionState","motionStateSocket","event","latestMotionState","_a","tryParseJson","jointValuesEqual","runInAction","tcpMotionEqual","_b","_c","unwrapRotationVector","makeAutoObservable","motionGroupId","_motionGroupIndex","controllerId","mg","firstMessage","_","i"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MotionStreamConnection.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MotionStreamConnection.test.d.ts","sourceRoot":"","sources":["../../src/lib/MotionStreamConnection.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("three");function l(i,t,a){if(t.length!==i.length)return!0;for(let r=0;r<t.length;r++)if(Math.abs(t[r]-i[r])>a)return!1;return!0}function f(i,t,a){if(i===void 0&&t||i&&t===void 0||(i==null?void 0:i.orientation)===void 0||(t==null?void 0:t.orientation)===void 0||(i==null?void 0:i.position)===void 0||(t==null?void 0:t.position)===void 0)return!1;if(i===void 0||t===void 0)return!0;let r=0;return r+=Math.abs(i.orientation[0]-t.orientation[0]),r+=Math.abs(i.orientation[1]-t.orientation[1]),r+=Math.abs(i.orientation[2]-t.orientation[2]),r+=Math.abs(i.position[0]-t.position[0]),r+=Math.abs(i.position[1]-t.position[1]),r+=Math.abs(i.position[2]-t.position[2]),r<=a}function g(i,t,a){return i.coordinate_system===t.coordinate_system&&i.tcp===t.tcp&&f(i.tcp_pose,t.tcp_pose,a)}function M(i,t){const a=new u.Vector3(t[0],t[1],t[2]),r=new u.Vector3(i[0],i[1],i[2]),s=a.length(),h=a.normalize();let n=r.length(),o=r.normalize();o.dot(h)<0&&(n=-n,o=o.multiplyScalar(-1));let e=n-s;return e-=2*Math.PI*Math.floor((e+Math.PI)/(2*Math.PI)),n=s+e,[...o.multiplyScalar(n)]}exports.jointValuesEqual=l;exports.poseEqual=f;exports.tcpMotionEqual=g;exports.unwrapRotationVector=M;
2
- //# sourceMappingURL=motionStateUpdate.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"motionStateUpdate.cjs","sources":["../../src/lib/motionStateUpdate.ts"],"sourcesContent":["import type { MotionGroupState, Pose } from \"@wandelbots/nova-js/v2\"\nimport type { Vector3Simple } from \"./JoggerConnection\"\nimport { Vector3 } from \"three\"\n\nexport function jointValuesEqual(\n oldJointValues: number[],\n newJointValues: number[],\n changeDeltaThreshold: number,\n): boolean {\n if (newJointValues.length !== oldJointValues.length) {\n return true\n }\n\n for (let jointIndex = 0; jointIndex < newJointValues.length; jointIndex++) {\n if (\n // biome-ignore lint/style/noNonNullAssertion: legacy code\n Math.abs(newJointValues[jointIndex]! - oldJointValues[jointIndex]!) >\n changeDeltaThreshold\n ) {\n return false\n }\n }\n\n return true\n}\n\nexport function poseEqual(\n oldTcp: Pose | undefined,\n newTcp: Pose | undefined,\n changeDeltaThreshold: number,\n): boolean {\n // undefined -> defined (+reverse) transition\n if ((oldTcp === undefined && newTcp) || (oldTcp && newTcp === undefined)) {\n return false\n }\n\n // Poses might be incomplete (missing orientation or position)\n if (\n oldTcp?.orientation === undefined ||\n newTcp?.orientation === undefined ||\n oldTcp?.position === undefined ||\n newTcp?.position === undefined\n ) {\n return false\n }\n\n // the typechecker cannot resolve states to \"!= undefined\" if \"&&\" is used\n if (oldTcp === undefined || newTcp === undefined) {\n return true\n }\n\n let changedDelta = 0\n changedDelta += Math.abs(oldTcp.orientation[0] - newTcp.orientation[0])\n changedDelta += Math.abs(oldTcp.orientation[1] - newTcp.orientation[1])\n changedDelta += Math.abs(oldTcp.orientation[2] - newTcp.orientation[2])\n changedDelta += Math.abs(oldTcp.position[0] - newTcp.position[0])\n changedDelta += Math.abs(oldTcp.position[1] - newTcp.position[1])\n changedDelta += Math.abs(oldTcp.position[2] - newTcp.position[2])\n\n return changedDelta <= changeDeltaThreshold\n}\n\n// Runs poseEqual check + coordinate system/tcp name equality\nexport function tcpMotionEqual(\n oldMotionState: MotionGroupState,\n newMotionState: MotionGroupState,\n changeDeltaThreshold: number,\n): boolean {\n return (\n oldMotionState.coordinate_system === newMotionState.coordinate_system &&\n oldMotionState.tcp === newMotionState.tcp &&\n poseEqual(\n oldMotionState.tcp_pose,\n newMotionState.tcp_pose,\n changeDeltaThreshold,\n )\n )\n}\n\nexport function unwrapRotationVector(\n newRotationVectorApi: Vector3Simple,\n currentRotationVectorApi: Vector3Simple,\n): Vector3Simple {\n const currentRotationVector = new Vector3(\n currentRotationVectorApi[0],\n currentRotationVectorApi[1],\n currentRotationVectorApi[2],\n )\n\n const newRotationVector = new Vector3(\n newRotationVectorApi[0],\n newRotationVectorApi[1],\n newRotationVectorApi[2],\n )\n\n const currentAngle = currentRotationVector.length()\n const currentAxis = currentRotationVector.normalize()\n\n let newAngle = newRotationVector.length()\n let newAxis = newRotationVector.normalize()\n\n // Align rotation axes\n if (newAxis.dot(currentAxis) < 0) {\n newAngle = -newAngle\n newAxis = newAxis.multiplyScalar(-1.0)\n }\n\n // Shift rotation angle close to previous one to extend domain of rotation angles beyond [0, pi]\n // - this simplifies interpolation and prevents abruptly changing signs of the rotation angles\n let angleDifference = newAngle - currentAngle\n angleDifference -=\n 2.0 * Math.PI * Math.floor((angleDifference + Math.PI) / (2.0 * Math.PI))\n\n newAngle = currentAngle + angleDifference\n\n return [...newAxis.multiplyScalar(newAngle)] as Vector3Simple\n}\n"],"names":["jointValuesEqual","oldJointValues","newJointValues","changeDeltaThreshold","jointIndex","poseEqual","oldTcp","newTcp","changedDelta","tcpMotionEqual","oldMotionState","newMotionState","unwrapRotationVector","newRotationVectorApi","currentRotationVectorApi","currentRotationVector","Vector3","newRotationVector","currentAngle","currentAxis","newAngle","newAxis","angleDifference"],"mappings":"yGAIO,SAASA,EACdC,EACAC,EACAC,EACS,CACT,GAAID,EAAe,SAAWD,EAAe,OAC3C,MAAO,GAGT,QAASG,EAAa,EAAGA,EAAaF,EAAe,OAAQE,IAC3D,GAEE,KAAK,IAAIF,EAAeE,CAAU,EAAKH,EAAeG,CAAU,CAAE,EAClED,EAEA,MAAO,GAIX,MAAO,EACT,CAEO,SAASE,EACdC,EACAC,EACAJ,EACS,CAOT,GALKG,IAAW,QAAaC,GAAYD,GAAUC,IAAW,SAM5DD,GAAA,YAAAA,EAAQ,eAAgB,SACxBC,GAAA,YAAAA,EAAQ,eAAgB,SACxBD,GAAA,YAAAA,EAAQ,YAAa,SACrBC,GAAA,YAAAA,EAAQ,YAAa,OAErB,MAAO,GAIT,GAAID,IAAW,QAAaC,IAAW,OACrC,MAAO,GAGT,IAAIC,EAAe,EACnB,OAAAA,GAAgB,KAAK,IAAIF,EAAO,YAAY,CAAC,EAAIC,EAAO,YAAY,CAAC,CAAC,EACtEC,GAAgB,KAAK,IAAIF,EAAO,YAAY,CAAC,EAAIC,EAAO,YAAY,CAAC,CAAC,EACtEC,GAAgB,KAAK,IAAIF,EAAO,YAAY,CAAC,EAAIC,EAAO,YAAY,CAAC,CAAC,EACtEC,GAAgB,KAAK,IAAIF,EAAO,SAAS,CAAC,EAAIC,EAAO,SAAS,CAAC,CAAC,EAChEC,GAAgB,KAAK,IAAIF,EAAO,SAAS,CAAC,EAAIC,EAAO,SAAS,CAAC,CAAC,EAChEC,GAAgB,KAAK,IAAIF,EAAO,SAAS,CAAC,EAAIC,EAAO,SAAS,CAAC,CAAC,EAEzDC,GAAgBL,CACzB,CAGO,SAASM,EACdC,EACAC,EACAR,EACS,CACT,OACEO,EAAe,oBAAsBC,EAAe,mBACpDD,EAAe,MAAQC,EAAe,KACtCN,EACEK,EAAe,SACfC,EAAe,SACfR,CAAA,CAGN,CAEO,SAASS,EACdC,EACAC,EACe,CACf,MAAMC,EAAwB,IAAIC,EAAAA,QAChCF,EAAyB,CAAC,EAC1BA,EAAyB,CAAC,EAC1BA,EAAyB,CAAC,CAAA,EAGtBG,EAAoB,IAAID,EAAAA,QAC5BH,EAAqB,CAAC,EACtBA,EAAqB,CAAC,EACtBA,EAAqB,CAAC,CAAA,EAGlBK,EAAeH,EAAsB,OAAA,EACrCI,EAAcJ,EAAsB,UAAA,EAE1C,IAAIK,EAAWH,EAAkB,OAAA,EAC7BI,EAAUJ,EAAkB,UAAA,EAG5BI,EAAQ,IAAIF,CAAW,EAAI,IAC7BC,EAAW,CAACA,EACZC,EAAUA,EAAQ,eAAe,EAAI,GAKvC,IAAIC,EAAkBF,EAAWF,EACjC,OAAAI,GACE,EAAM,KAAK,GAAK,KAAK,OAAOA,EAAkB,KAAK,KAAO,EAAM,KAAK,GAAG,EAE1EF,EAAWF,EAAeI,EAEnB,CAAC,GAAGD,EAAQ,eAAeD,CAAQ,CAAC,CAC7C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"motionStateUpdate.d.ts","sourceRoot":"","sources":["../../src/lib/motionStateUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGvD,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAgBT;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,IAAI,GAAG,SAAS,EACxB,MAAM,EAAE,IAAI,GAAG,SAAS,EACxB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CA8BT;AAGD,wBAAgB,cAAc,CAC5B,cAAc,EAAE,gBAAgB,EAChC,cAAc,EAAE,gBAAgB,EAChC,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAUT;AAED,wBAAgB,oBAAoB,CAClC,oBAAoB,EAAE,aAAa,EACnC,wBAAwB,EAAE,aAAa,GACtC,aAAa,CAkCf"}