@wandelbots/wandelbots-js-react-components 5.5.1-pr.fix-standardize-output.591.60112ee → 5.5.1

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 (874) hide show
  1. package/dist/3d.cjs +2 -1
  2. package/dist/3d.cjs.map +1 -0
  3. package/dist/3d.d.ts +1 -0
  4. package/dist/3d.d.ts.map +1 -0
  5. package/dist/3d.js +1 -0
  6. package/dist/3d.js.map +1 -0
  7. package/dist/Setup.d.ts +1 -0
  8. package/dist/Setup.d.ts.map +1 -0
  9. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
  10. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -0
  11. package/dist/components/3d-viewport/PresetEnvironment.cjs +1 -0
  12. package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
  13. package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
  14. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -0
  15. package/dist/components/3d-viewport/PresetEnvironment.js +1 -0
  16. package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
  17. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -1
  18. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
  19. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
  20. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -0
  21. package/dist/components/3d-viewport/SafetyZonesRenderer.js +1 -0
  22. package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
  23. package/dist/components/3d-viewport/TrajectoryRenderer.cjs +1 -0
  24. package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
  25. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
  26. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -0
  27. package/dist/components/3d-viewport/TrajectoryRenderer.js +1 -0
  28. package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
  29. package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -1
  30. package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
  31. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +1 -0
  32. package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +1 -0
  33. package/dist/components/3d-viewport/collider/ColliderCollection.js +1 -0
  34. package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
  35. package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -1
  36. package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
  37. package/dist/components/3d-viewport/collider/ColliderElement.d.ts +1 -0
  38. package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +1 -0
  39. package/dist/components/3d-viewport/collider/ColliderElement.js +1 -0
  40. package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
  41. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -1
  42. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
  43. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +1 -0
  44. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +1 -0
  45. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +1 -0
  46. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
  47. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +1 -0
  48. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
  49. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +1 -0
  50. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +1 -0
  51. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +1 -0
  52. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
  53. package/dist/components/AppHeader.cjs +2 -1
  54. package/dist/components/AppHeader.cjs.map +1 -0
  55. package/dist/components/AppHeader.d.ts +1 -0
  56. package/dist/components/AppHeader.d.ts.map +1 -0
  57. package/dist/components/AppHeader.js +34 -40
  58. package/dist/components/AppHeader.js.map +1 -0
  59. package/dist/components/ConsoleFilter.cjs +1 -0
  60. package/dist/components/ConsoleFilter.cjs.map +1 -0
  61. package/dist/components/ConsoleFilter.d.ts +1 -0
  62. package/dist/components/ConsoleFilter.d.ts.map +1 -0
  63. package/dist/components/ConsoleFilter.js +1 -0
  64. package/dist/components/ConsoleFilter.js.map +1 -0
  65. package/dist/components/CopyableText.cjs +1 -0
  66. package/dist/components/CopyableText.cjs.map +1 -0
  67. package/dist/components/CopyableText.d.ts +1 -0
  68. package/dist/components/CopyableText.d.ts.map +1 -0
  69. package/dist/components/CopyableText.js +1 -0
  70. package/dist/components/CopyableText.js.map +1 -0
  71. package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
  72. package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -0
  73. package/dist/components/CycleTimer/DefaultVariant.cjs +2 -1
  74. package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
  75. package/dist/components/CycleTimer/DefaultVariant.d.ts +1 -0
  76. package/dist/components/CycleTimer/DefaultVariant.d.ts.map +1 -0
  77. package/dist/components/CycleTimer/DefaultVariant.js +1 -0
  78. package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
  79. package/dist/components/CycleTimer/SmallVariant.cjs +1 -0
  80. package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
  81. package/dist/components/CycleTimer/SmallVariant.d.ts +1 -0
  82. package/dist/components/CycleTimer/SmallVariant.d.ts.map +1 -0
  83. package/dist/components/CycleTimer/SmallVariant.js +1 -0
  84. package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
  85. package/dist/components/CycleTimer/index.cjs +2 -1
  86. package/dist/components/CycleTimer/index.cjs.map +1 -0
  87. package/dist/components/CycleTimer/index.d.ts +1 -0
  88. package/dist/components/CycleTimer/index.d.ts.map +1 -0
  89. package/dist/components/CycleTimer/index.js +2 -1
  90. package/dist/components/CycleTimer/index.js.map +1 -0
  91. package/dist/components/CycleTimer/types.d.ts +1 -0
  92. package/dist/components/CycleTimer/types.d.ts.map +1 -0
  93. package/dist/components/CycleTimer/useAnimations.cjs +1 -0
  94. package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
  95. package/dist/components/CycleTimer/useAnimations.d.ts +1 -0
  96. package/dist/components/CycleTimer/useAnimations.d.ts.map +1 -0
  97. package/dist/components/CycleTimer/useAnimations.js +2 -9
  98. package/dist/components/CycleTimer/useAnimations.js.map +1 -0
  99. package/dist/components/CycleTimer/useTimerLogic.cjs +2 -1
  100. package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
  101. package/dist/components/CycleTimer/useTimerLogic.d.ts +1 -0
  102. package/dist/components/CycleTimer/useTimerLogic.d.ts.map +1 -0
  103. package/dist/components/CycleTimer/useTimerLogic.js +1 -0
  104. package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
  105. package/dist/components/CycleTimer/utils.cjs +2 -1
  106. package/dist/components/CycleTimer/utils.cjs.map +1 -0
  107. package/dist/components/CycleTimer/utils.d.ts +1 -0
  108. package/dist/components/CycleTimer/utils.d.ts.map +1 -0
  109. package/dist/components/CycleTimer/utils.js +11 -19
  110. package/dist/components/CycleTimer/utils.js.map +1 -0
  111. package/dist/components/CycleTimer.cjs +1 -0
  112. package/dist/components/CycleTimer.cjs.map +1 -0
  113. package/dist/components/CycleTimer.d.ts +1 -0
  114. package/dist/components/CycleTimer.d.ts.map +1 -0
  115. package/dist/components/CycleTimer.js +1 -0
  116. package/dist/components/CycleTimer.js.map +1 -0
  117. package/dist/components/DataGrid.cjs +2 -1
  118. package/dist/components/DataGrid.cjs.map +1 -0
  119. package/dist/components/DataGrid.d.ts +1 -0
  120. package/dist/components/DataGrid.d.ts.map +1 -0
  121. package/dist/components/DataGrid.js +2 -1
  122. package/dist/components/DataGrid.js.map +1 -0
  123. package/dist/components/LoadingCover.cjs +2 -1
  124. package/dist/components/LoadingCover.cjs.map +1 -0
  125. package/dist/components/LoadingCover.d.ts +1 -0
  126. package/dist/components/LoadingCover.d.ts.map +1 -0
  127. package/dist/components/LoadingCover.js +1 -0
  128. package/dist/components/LoadingCover.js.map +1 -0
  129. package/dist/components/LogPanel.cjs +2 -1
  130. package/dist/components/LogPanel.cjs.map +1 -0
  131. package/dist/components/LogPanel.d.ts +1 -0
  132. package/dist/components/LogPanel.d.ts.map +1 -0
  133. package/dist/components/LogPanel.js +2 -1
  134. package/dist/components/LogPanel.js.map +1 -0
  135. package/dist/components/LogStore.cjs +1 -0
  136. package/dist/components/LogStore.cjs.map +1 -0
  137. package/dist/components/LogStore.d.ts +1 -0
  138. package/dist/components/LogStore.d.ts.map +1 -0
  139. package/dist/components/LogStore.js +1 -0
  140. package/dist/components/LogStore.js.map +1 -0
  141. package/dist/components/LogViewer.cjs +2 -1
  142. package/dist/components/LogViewer.cjs.map +1 -0
  143. package/dist/components/LogViewer.d.ts +1 -0
  144. package/dist/components/LogViewer.d.ts.map +1 -0
  145. package/dist/components/LogViewer.js +2 -1
  146. package/dist/components/LogViewer.js.map +1 -0
  147. package/dist/components/ProgramControl.cjs +2 -1
  148. package/dist/components/ProgramControl.cjs.map +1 -0
  149. package/dist/components/ProgramControl.d.ts +1 -0
  150. package/dist/components/ProgramControl.d.ts.map +1 -0
  151. package/dist/components/ProgramControl.js +7 -6
  152. package/dist/components/ProgramControl.js.map +1 -0
  153. package/dist/components/ProgramStateIndicator.cjs +2 -1
  154. package/dist/components/ProgramStateIndicator.cjs.map +1 -0
  155. package/dist/components/ProgramStateIndicator.d.ts +1 -0
  156. package/dist/components/ProgramStateIndicator.d.ts.map +1 -0
  157. package/dist/components/ProgramStateIndicator.js +29 -28
  158. package/dist/components/ProgramStateIndicator.js.map +1 -0
  159. package/dist/components/RobotCard.cjs +2 -1
  160. package/dist/components/RobotCard.cjs.map +1 -0
  161. package/dist/components/RobotCard.d.ts +1 -0
  162. package/dist/components/RobotCard.d.ts.map +1 -0
  163. package/dist/components/RobotCard.js +2 -1
  164. package/dist/components/RobotCard.js.map +1 -0
  165. package/dist/components/RobotListItem.cjs +2 -1
  166. package/dist/components/RobotListItem.cjs.map +1 -0
  167. package/dist/components/RobotListItem.d.ts +1 -0
  168. package/dist/components/RobotListItem.d.ts.map +1 -0
  169. package/dist/components/RobotListItem.js +26 -25
  170. package/dist/components/RobotListItem.js.map +1 -0
  171. package/dist/components/RobotSetupReadinessIndicator.cjs +2 -1
  172. package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
  173. package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
  174. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -0
  175. package/dist/components/RobotSetupReadinessIndicator.js +2 -1
  176. package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
  177. package/dist/components/RobotSetupReadinessIndicator.test.d.ts +2 -0
  178. package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +1 -0
  179. package/dist/components/SelectableFab.cjs +1 -0
  180. package/dist/components/SelectableFab.cjs.map +1 -0
  181. package/dist/components/SelectableFab.d.ts +1 -0
  182. package/dist/components/SelectableFab.d.ts.map +1 -0
  183. package/dist/components/SelectableFab.js +1 -0
  184. package/dist/components/SelectableFab.js.map +1 -0
  185. package/dist/components/TabBar.cjs +2 -1
  186. package/dist/components/TabBar.cjs.map +1 -0
  187. package/dist/components/TabBar.d.ts +1 -0
  188. package/dist/components/TabBar.d.ts.map +1 -0
  189. package/dist/components/TabBar.js +2 -1
  190. package/dist/components/TabBar.js.map +1 -0
  191. package/dist/components/ThemeSelect.d.ts +1 -0
  192. package/dist/components/ThemeSelect.d.ts.map +1 -0
  193. package/dist/components/Timer/Timer.d.ts +1 -0
  194. package/dist/components/Timer/Timer.d.ts.map +1 -0
  195. package/dist/components/Timer/TimerDefaultVariant.cjs +1 -0
  196. package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
  197. package/dist/components/Timer/TimerDefaultVariant.d.ts +1 -0
  198. package/dist/components/Timer/TimerDefaultVariant.d.ts.map +1 -0
  199. package/dist/components/Timer/TimerDefaultVariant.js +1 -0
  200. package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
  201. package/dist/components/Timer/TimerSmallVariant.cjs +1 -0
  202. package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
  203. package/dist/components/Timer/TimerSmallVariant.d.ts +1 -0
  204. package/dist/components/Timer/TimerSmallVariant.d.ts.map +1 -0
  205. package/dist/components/Timer/TimerSmallVariant.js +1 -0
  206. package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
  207. package/dist/components/Timer/index.cjs +2 -1
  208. package/dist/components/Timer/index.cjs.map +1 -0
  209. package/dist/components/Timer/index.d.ts +1 -0
  210. package/dist/components/Timer/index.d.ts.map +1 -0
  211. package/dist/components/Timer/index.js +12 -11
  212. package/dist/components/Timer/index.js.map +1 -0
  213. package/dist/components/Timer/types.d.ts +1 -0
  214. package/dist/components/Timer/types.d.ts.map +1 -0
  215. package/dist/components/Timer/useTimerAnimations.cjs +1 -0
  216. package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
  217. package/dist/components/Timer/useTimerAnimations.d.ts +1 -0
  218. package/dist/components/Timer/useTimerAnimations.d.ts.map +1 -0
  219. package/dist/components/Timer/useTimerAnimations.js +2 -5
  220. package/dist/components/Timer/useTimerAnimations.js.map +1 -0
  221. package/dist/components/Timer/useTimerLogic.cjs +1 -0
  222. package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
  223. package/dist/components/Timer/useTimerLogic.d.ts +1 -0
  224. package/dist/components/Timer/useTimerLogic.d.ts.map +1 -0
  225. package/dist/components/Timer/useTimerLogic.js +1 -0
  226. package/dist/components/Timer/useTimerLogic.js.map +1 -0
  227. package/dist/components/Timer/utils.cjs +2 -1
  228. package/dist/components/Timer/utils.cjs.map +1 -0
  229. package/dist/components/Timer/utils.d.ts +1 -0
  230. package/dist/components/Timer/utils.d.ts.map +1 -0
  231. package/dist/components/Timer/utils.js +10 -10
  232. package/dist/components/Timer/utils.js.map +1 -0
  233. package/dist/components/Timer.cjs +1 -0
  234. package/dist/components/Timer.cjs.map +1 -0
  235. package/dist/components/Timer.d.ts +1 -0
  236. package/dist/components/Timer.d.ts.map +1 -0
  237. package/dist/components/Timer.js +1 -0
  238. package/dist/components/Timer.js.map +1 -0
  239. package/dist/components/TransparentOverlay.d.ts +1 -0
  240. package/dist/components/TransparentOverlay.d.ts.map +1 -0
  241. package/dist/components/VelocitySlider.cjs +1 -0
  242. package/dist/components/VelocitySlider.cjs.map +1 -0
  243. package/dist/components/VelocitySlider.d.ts +1 -0
  244. package/dist/components/VelocitySlider.d.ts.map +1 -0
  245. package/dist/components/VelocitySlider.js +1 -0
  246. package/dist/components/VelocitySlider.js.map +1 -0
  247. package/dist/components/experimental/utils/AdornedSelect.cjs +1 -0
  248. package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
  249. package/dist/components/experimental/utils/AdornedSelect.d.ts +1 -0
  250. package/dist/components/experimental/utils/AdornedSelect.d.ts.map +1 -0
  251. package/dist/components/experimental/utils/AdornedSelect.js +1 -0
  252. package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
  253. package/dist/components/jogging/JoggingBlocked.cjs +1 -0
  254. package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
  255. package/dist/components/jogging/JoggingBlocked.d.ts +1 -0
  256. package/dist/components/jogging/JoggingBlocked.d.ts.map +1 -0
  257. package/dist/components/jogging/JoggingBlocked.js +1 -0
  258. package/dist/components/jogging/JoggingBlocked.js.map +1 -0
  259. package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -1
  260. package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
  261. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -0
  262. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -0
  263. package/dist/components/jogging/JoggingCartesianAxisControl.js +20 -18
  264. package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
  265. package/dist/components/jogging/JoggingCartesianTab.cjs +2 -1
  266. package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
  267. package/dist/components/jogging/JoggingCartesianTab.d.ts +1 -0
  268. package/dist/components/jogging/JoggingCartesianTab.d.ts.map +1 -0
  269. package/dist/components/jogging/JoggingCartesianTab.js +41 -37
  270. package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
  271. package/dist/components/jogging/JoggingFreedriveTab.d.ts +1 -0
  272. package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +1 -0
  273. package/dist/components/jogging/JoggingJointLimitDetector.cjs +1 -0
  274. package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
  275. package/dist/components/jogging/JoggingJointLimitDetector.d.ts +1 -0
  276. package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +1 -0
  277. package/dist/components/jogging/JoggingJointLimitDetector.js +1 -0
  278. package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
  279. package/dist/components/jogging/JoggingJointTab.cjs +2 -1
  280. package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
  281. package/dist/components/jogging/JoggingJointTab.d.ts +1 -0
  282. package/dist/components/jogging/JoggingJointTab.d.ts.map +1 -0
  283. package/dist/components/jogging/JoggingJointTab.js +1 -0
  284. package/dist/components/jogging/JoggingJointTab.js.map +1 -0
  285. package/dist/components/jogging/JoggingJointValueControl.cjs +2 -1
  286. package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
  287. package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -0
  288. package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -0
  289. package/dist/components/jogging/JoggingJointValueControl.js +2 -1
  290. package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
  291. package/dist/components/jogging/JoggingOptions.cjs +2 -1
  292. package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
  293. package/dist/components/jogging/JoggingOptions.d.ts +1 -0
  294. package/dist/components/jogging/JoggingOptions.d.ts.map +1 -0
  295. package/dist/components/jogging/JoggingOptions.js +1 -0
  296. package/dist/components/jogging/JoggingOptions.js.map +1 -0
  297. package/dist/components/jogging/JoggingPanel.cjs +2 -1
  298. package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
  299. package/dist/components/jogging/JoggingPanel.d.ts +1 -0
  300. package/dist/components/jogging/JoggingPanel.d.ts.map +1 -0
  301. package/dist/components/jogging/JoggingPanel.js +119 -21
  302. package/dist/components/jogging/JoggingPanel.js.map +1 -0
  303. package/dist/components/jogging/JoggingPanel.test.d.ts +2 -0
  304. package/dist/components/jogging/JoggingPanel.test.d.ts.map +1 -0
  305. package/dist/components/jogging/JoggingStore.cjs +1 -0
  306. package/dist/components/jogging/JoggingStore.cjs.map +1 -0
  307. package/dist/components/jogging/JoggingStore.d.ts +1 -0
  308. package/dist/components/jogging/JoggingStore.d.ts.map +1 -0
  309. package/dist/components/jogging/JoggingStore.js +1 -0
  310. package/dist/components/jogging/JoggingStore.js.map +1 -0
  311. package/dist/components/jogging/JoggingToggleButtonGroup.cjs +1 -0
  312. package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
  313. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts +1 -0
  314. package/dist/components/jogging/JoggingToggleButtonGroup.d.ts.map +1 -0
  315. package/dist/components/jogging/JoggingToggleButtonGroup.js +1 -0
  316. package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
  317. package/dist/components/jogging/JoggingVelocitySlider.cjs +1 -0
  318. package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
  319. package/dist/components/jogging/JoggingVelocitySlider.d.ts +1 -0
  320. package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +1 -0
  321. package/dist/components/jogging/JoggingVelocitySlider.js +1 -0
  322. package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
  323. package/dist/components/jogging/PoseCartesianValues.cjs +2 -1
  324. package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
  325. package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
  326. package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -0
  327. package/dist/components/jogging/PoseCartesianValues.js +5 -4
  328. package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
  329. package/dist/components/jogging/PoseJointValues.cjs +2 -1
  330. package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
  331. package/dist/components/jogging/PoseJointValues.d.ts +1 -0
  332. package/dist/components/jogging/PoseJointValues.d.ts.map +1 -0
  333. package/dist/components/jogging/PoseJointValues.js +2 -1
  334. package/dist/components/jogging/PoseJointValues.js.map +1 -0
  335. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts +11 -0
  336. package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts.map +1 -0
  337. package/dist/components/modal/NoMotionGroupModal.cjs +1 -0
  338. package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
  339. package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
  340. package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -0
  341. package/dist/components/modal/NoMotionGroupModal.js +1 -0
  342. package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
  343. package/dist/components/robots/AxisConfig.cjs +1 -0
  344. package/dist/components/robots/AxisConfig.cjs.map +1 -0
  345. package/dist/components/robots/AxisConfig.d.ts +1 -0
  346. package/dist/components/robots/AxisConfig.d.ts.map +1 -0
  347. package/dist/components/robots/AxisConfig.js +1 -0
  348. package/dist/components/robots/AxisConfig.js.map +1 -0
  349. package/dist/components/robots/DHLinearAxis.cjs +2 -1
  350. package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
  351. package/dist/components/robots/DHLinearAxis.d.ts +1 -0
  352. package/dist/components/robots/DHLinearAxis.d.ts.map +1 -0
  353. package/dist/components/robots/DHLinearAxis.js +1 -0
  354. package/dist/components/robots/DHLinearAxis.js.map +1 -0
  355. package/dist/components/robots/DHRobot.cjs +2 -1
  356. package/dist/components/robots/DHRobot.cjs.map +1 -0
  357. package/dist/components/robots/DHRobot.d.ts +1 -0
  358. package/dist/components/robots/DHRobot.d.ts.map +1 -0
  359. package/dist/components/robots/DHRobot.js +1 -0
  360. package/dist/components/robots/DHRobot.js.map +1 -0
  361. package/dist/components/robots/GenericRobot.cjs +1 -0
  362. package/dist/components/robots/GenericRobot.cjs.map +1 -0
  363. package/dist/components/robots/GenericRobot.d.ts +1 -0
  364. package/dist/components/robots/GenericRobot.d.ts.map +1 -0
  365. package/dist/components/robots/GenericRobot.js +1 -0
  366. package/dist/components/robots/GenericRobot.js.map +1 -0
  367. package/dist/components/robots/LinearAxis.cjs +2 -1
  368. package/dist/components/robots/LinearAxis.cjs.map +1 -0
  369. package/dist/components/robots/LinearAxis.d.ts +1 -0
  370. package/dist/components/robots/LinearAxis.d.ts.map +1 -0
  371. package/dist/components/robots/LinearAxis.js +1 -0
  372. package/dist/components/robots/LinearAxis.js.map +1 -0
  373. package/dist/components/robots/LinearAxisAnimator.cjs +2 -1
  374. package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
  375. package/dist/components/robots/LinearAxisAnimator.d.ts +1 -0
  376. package/dist/components/robots/LinearAxisAnimator.d.ts.map +1 -0
  377. package/dist/components/robots/LinearAxisAnimator.js +1 -0
  378. package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
  379. package/dist/components/robots/MotionGroupVisualizer.cjs +2 -1
  380. package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
  381. package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
  382. package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -0
  383. package/dist/components/robots/MotionGroupVisualizer.js +5 -4
  384. package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
  385. package/dist/components/robots/Robot.cjs +2 -1
  386. package/dist/components/robots/Robot.cjs.map +1 -0
  387. package/dist/components/robots/Robot.d.ts +1 -0
  388. package/dist/components/robots/Robot.d.ts.map +1 -0
  389. package/dist/components/robots/Robot.js +1 -0
  390. package/dist/components/robots/Robot.js.map +1 -0
  391. package/dist/components/robots/RobotAnimator.cjs +2 -1
  392. package/dist/components/robots/RobotAnimator.cjs.map +1 -0
  393. package/dist/components/robots/RobotAnimator.d.ts +1 -0
  394. package/dist/components/robots/RobotAnimator.d.ts.map +1 -0
  395. package/dist/components/robots/RobotAnimator.js +1 -0
  396. package/dist/components/robots/RobotAnimator.js.map +1 -0
  397. package/dist/components/robots/RobotAnimator.test.d.ts +2 -0
  398. package/dist/components/robots/RobotAnimator.test.d.ts.map +1 -0
  399. package/dist/components/robots/SupportedLinearAxis.cjs +2 -1
  400. package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
  401. package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
  402. package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -0
  403. package/dist/components/robots/SupportedLinearAxis.js +8 -7
  404. package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
  405. package/dist/components/robots/SupportedRobot.cjs +2 -1
  406. package/dist/components/robots/SupportedRobot.cjs.map +1 -0
  407. package/dist/components/robots/SupportedRobot.d.ts +1 -0
  408. package/dist/components/robots/SupportedRobot.d.ts.map +1 -0
  409. package/dist/components/robots/SupportedRobot.js +7 -6
  410. package/dist/components/robots/SupportedRobot.js.map +1 -0
  411. package/dist/components/robots/ghostStyle.cjs +1 -0
  412. package/dist/components/robots/ghostStyle.cjs.map +1 -0
  413. package/dist/components/robots/ghostStyle.d.ts +1 -0
  414. package/dist/components/robots/ghostStyle.d.ts.map +1 -0
  415. package/dist/components/robots/ghostStyle.js +1 -0
  416. package/dist/components/robots/ghostStyle.js.map +1 -0
  417. package/dist/components/robots/manufacturerHomePositions.cjs +1 -0
  418. package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
  419. package/dist/components/robots/manufacturerHomePositions.d.ts +1 -0
  420. package/dist/components/robots/manufacturerHomePositions.d.ts.map +1 -0
  421. package/dist/components/robots/manufacturerHomePositions.js +1 -0
  422. package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
  423. package/dist/components/robots/robotModelLogic.cjs +2 -1
  424. package/dist/components/robots/robotModelLogic.cjs.map +1 -0
  425. package/dist/components/robots/robotModelLogic.d.ts +1 -0
  426. package/dist/components/robots/robotModelLogic.d.ts.map +1 -0
  427. package/dist/components/robots/robotModelLogic.js +34 -58
  428. package/dist/components/robots/robotModelLogic.js.map +1 -0
  429. package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -1
  430. package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
  431. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -0
  432. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -0
  433. package/dist/components/safetyBar/ControllerTypeIndicator.js +12 -10
  434. package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
  435. package/dist/components/safetyBar/IndicatorWithExplanation.cjs +1 -0
  436. package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
  437. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
  438. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -0
  439. package/dist/components/safetyBar/IndicatorWithExplanation.js +1 -0
  440. package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
  441. package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -1
  442. package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
  443. package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -0
  444. package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -0
  445. package/dist/components/safetyBar/OperationModeIndicator.js +24 -21
  446. package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
  447. package/dist/components/safetyBar/SafetyBar.cjs +2 -1
  448. package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
  449. package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
  450. package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -0
  451. package/dist/components/safetyBar/SafetyBar.js +16 -15
  452. package/dist/components/safetyBar/SafetyBar.js.map +1 -0
  453. package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -1
  454. package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
  455. package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -0
  456. package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -0
  457. package/dist/components/safetyBar/SafetyStateIndicator.js +30 -25
  458. package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
  459. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
  460. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
  461. package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
  462. package/dist/{chunks/controller-type-virtual-CWOoMRfl.js → components/safetyBar/icons/controller-type-physical.svg.js} +6 -10
  463. package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
  464. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
  465. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
  466. package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
  467. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
  468. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
  469. package/dist/components/safetyBar/icons/index.d.ts +1 -0
  470. package/dist/components/safetyBar/icons/index.d.ts.map +1 -0
  471. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
  472. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
  473. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
  474. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
  475. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
  476. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
  477. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
  478. package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
  479. package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
  480. package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
  481. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
  482. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
  483. package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
  484. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
  485. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
  486. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
  487. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
  488. package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
  489. package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
  490. package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
  491. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
  492. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
  493. package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
  494. package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
  495. package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
  496. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
  497. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
  498. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
  499. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
  500. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
  501. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
  502. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
  503. package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
  504. package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
  505. package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
  506. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
  507. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
  508. package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
  509. package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
  510. package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
  511. package/dist/components/utils/converters.cjs +2 -1
  512. package/dist/components/utils/converters.cjs.map +1 -0
  513. package/dist/components/utils/converters.d.ts +1 -0
  514. package/dist/components/utils/converters.d.ts.map +1 -0
  515. package/dist/components/utils/converters.js +11 -26
  516. package/dist/components/utils/converters.js.map +1 -0
  517. package/dist/components/utils/errorHandling.cjs +2 -1
  518. package/dist/components/utils/errorHandling.cjs.map +1 -0
  519. package/dist/components/utils/errorHandling.d.ts +1 -0
  520. package/dist/components/utils/errorHandling.d.ts.map +1 -0
  521. package/dist/components/utils/errorHandling.js +9 -17
  522. package/dist/components/utils/errorHandling.js.map +1 -0
  523. package/dist/components/utils/errorHandling.test.d.ts +2 -0
  524. package/dist/components/utils/errorHandling.test.d.ts.map +1 -0
  525. package/dist/components/utils/hooks.cjs +1 -0
  526. package/dist/components/utils/hooks.cjs.map +1 -0
  527. package/dist/components/utils/hooks.d.ts +1 -0
  528. package/dist/components/utils/hooks.d.ts.map +1 -0
  529. package/dist/components/utils/hooks.js +4 -3
  530. package/dist/components/utils/hooks.js.map +1 -0
  531. package/dist/components/utils/interpolation.cjs +1 -0
  532. package/dist/components/utils/interpolation.cjs.map +1 -0
  533. package/dist/components/utils/interpolation.d.ts +1 -0
  534. package/dist/components/utils/interpolation.d.ts.map +1 -0
  535. package/dist/components/utils/interpolation.js +1 -0
  536. package/dist/components/utils/interpolation.js.map +1 -0
  537. package/dist/components/utils/interpolation.test.d.ts +2 -0
  538. package/dist/components/utils/interpolation.test.d.ts.map +1 -0
  539. package/dist/core.cjs +2 -1
  540. package/dist/core.cjs.map +1 -0
  541. package/dist/core.d.ts +1 -0
  542. package/dist/core.d.ts.map +1 -0
  543. package/dist/core.js +75 -70
  544. package/dist/core.js.map +1 -0
  545. package/dist/externalizeComponent.cjs +2 -0
  546. package/dist/externalizeComponent.cjs.map +1 -0
  547. package/dist/externalizeComponent.d.ts +1 -0
  548. package/dist/externalizeComponent.d.ts.map +1 -0
  549. package/dist/externalizeComponent.js +13 -0
  550. package/dist/externalizeComponent.js.map +1 -0
  551. package/dist/i18n/config.cjs +2 -0
  552. package/dist/i18n/config.cjs.map +1 -0
  553. package/dist/i18n/config.d.ts +1 -0
  554. package/dist/i18n/config.d.ts.map +1 -0
  555. package/dist/i18n/config.js +25 -0
  556. package/dist/i18n/config.js.map +1 -0
  557. package/dist/i18n/locales/de/translations.json.cjs +3 -0
  558. package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
  559. package/dist/i18n/locales/de/translations.json.js +94 -0
  560. package/dist/i18n/locales/de/translations.json.js.map +1 -0
  561. package/dist/i18n/locales/en/translations.json.cjs +2 -0
  562. package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
  563. package/dist/i18n/locales/en/translations.json.js +94 -0
  564. package/dist/i18n/locales/en/translations.json.js.map +1 -0
  565. package/dist/icons/DropdownArrowIcon.cjs +2 -0
  566. package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
  567. package/dist/icons/DropdownArrowIcon.d.ts +1 -0
  568. package/dist/icons/DropdownArrowIcon.d.ts.map +1 -0
  569. package/dist/icons/DropdownArrowIcon.js +14 -0
  570. package/dist/icons/DropdownArrowIcon.js.map +1 -0
  571. package/dist/icons/axis-x.svg.cjs +2 -0
  572. package/dist/icons/axis-x.svg.cjs.map +1 -0
  573. package/dist/icons/axis-x.svg.d.ts +3 -0
  574. package/dist/icons/axis-x.svg.js +11 -0
  575. package/dist/icons/axis-x.svg.js.map +1 -0
  576. package/dist/icons/axis-y.svg.cjs +2 -0
  577. package/dist/icons/axis-y.svg.cjs.map +1 -0
  578. package/dist/icons/axis-y.svg.d.ts +3 -0
  579. package/dist/icons/axis-y.svg.js +11 -0
  580. package/dist/icons/axis-y.svg.js.map +1 -0
  581. package/dist/icons/axis-z.svg.cjs +2 -0
  582. package/dist/icons/axis-z.svg.cjs.map +1 -0
  583. package/dist/icons/axis-z.svg.d.ts +3 -0
  584. package/dist/icons/axis-z.svg.js +11 -0
  585. package/dist/icons/axis-z.svg.js.map +1 -0
  586. package/dist/icons/home.svg.cjs +2 -0
  587. package/dist/icons/home.svg.cjs.map +1 -0
  588. package/dist/icons/home.svg.d.ts +3 -0
  589. package/dist/icons/home.svg.js +11 -0
  590. package/dist/icons/home.svg.js.map +1 -0
  591. package/dist/icons/index.d.ts +1 -0
  592. package/dist/icons/index.d.ts.map +1 -0
  593. package/dist/icons/jog-minus.svg.cjs +2 -0
  594. package/dist/icons/jog-minus.svg.cjs.map +1 -0
  595. package/dist/icons/jog-minus.svg.d.ts +3 -0
  596. package/dist/icons/jog-minus.svg.js +11 -0
  597. package/dist/icons/jog-minus.svg.js.map +1 -0
  598. package/dist/icons/jog-plus.svg.cjs +2 -0
  599. package/dist/icons/jog-plus.svg.cjs.map +1 -0
  600. package/dist/icons/jog-plus.svg.d.ts +3 -0
  601. package/dist/icons/jog-plus.svg.js +11 -0
  602. package/dist/icons/jog-plus.svg.js.map +1 -0
  603. package/dist/icons/jogging.svg.cjs +2 -0
  604. package/dist/icons/jogging.svg.cjs.map +1 -0
  605. package/dist/icons/jogging.svg.d.ts +3 -0
  606. package/dist/icons/jogging.svg.js +11 -0
  607. package/dist/icons/jogging.svg.js.map +1 -0
  608. package/dist/icons/orientation-coord-system.svg.cjs +2 -0
  609. package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
  610. package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
  611. package/dist/icons/orientation-coord-system.svg.js +11 -0
  612. package/dist/icons/orientation-coord-system.svg.js.map +1 -0
  613. package/dist/icons/orientation-tool.svg.cjs +2 -0
  614. package/dist/icons/orientation-tool.svg.cjs.map +1 -0
  615. package/dist/icons/orientation-tool.svg.d.ts +3 -0
  616. package/dist/icons/orientation-tool.svg.js +11 -0
  617. package/dist/icons/orientation-tool.svg.js.map +1 -0
  618. package/dist/icons/robot.svg.cjs +2 -0
  619. package/dist/icons/robot.svg.cjs.map +1 -0
  620. package/dist/icons/robot.svg.d.ts +3 -0
  621. package/dist/{chunks/robot-D97QEl_l.js → icons/robot.svg.js} +3 -2
  622. package/dist/icons/robot.svg.js.map +1 -0
  623. package/dist/icons/rotation.svg.cjs +2 -0
  624. package/dist/icons/rotation.svg.cjs.map +1 -0
  625. package/dist/icons/rotation.svg.d.ts +3 -0
  626. package/dist/icons/rotation.svg.js +11 -0
  627. package/dist/icons/rotation.svg.js.map +1 -0
  628. package/dist/icons/wbLogo.svg.cjs +2 -0
  629. package/dist/icons/wbLogo.svg.cjs.map +1 -0
  630. package/dist/icons/wbLogo.svg.d.ts +3 -0
  631. package/dist/icons/wbLogo.svg.js +11 -0
  632. package/dist/icons/wbLogo.svg.js.map +1 -0
  633. package/dist/index.cjs +2 -1
  634. package/dist/index.cjs.map +1 -0
  635. package/dist/index.d.ts +1 -0
  636. package/dist/index.d.ts.map +1 -0
  637. package/dist/index.js +140 -120
  638. package/dist/index.js.map +1 -0
  639. package/dist/lib/ConnectedMotionGroup.cjs +4 -0
  640. package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
  641. package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
  642. package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -0
  643. package/dist/lib/ConnectedMotionGroup.js +250 -0
  644. package/dist/lib/ConnectedMotionGroup.js.map +1 -0
  645. package/dist/lib/JoggerConnection.cjs +2 -0
  646. package/dist/lib/JoggerConnection.cjs.map +1 -0
  647. package/dist/lib/JoggerConnection.d.ts +1 -0
  648. package/dist/lib/JoggerConnection.d.ts.map +1 -0
  649. package/dist/lib/JoggerConnection.js +342 -0
  650. package/dist/lib/JoggerConnection.js.map +1 -0
  651. package/dist/lib/JoggerConnection.test.d.ts +2 -0
  652. package/dist/lib/JoggerConnection.test.d.ts.map +1 -0
  653. package/dist/lib/MotionStreamConnection.cjs +3 -0
  654. package/dist/lib/MotionStreamConnection.cjs.map +1 -0
  655. package/dist/lib/MotionStreamConnection.d.ts +1 -0
  656. package/dist/lib/MotionStreamConnection.d.ts.map +1 -0
  657. package/dist/lib/MotionStreamConnection.js +94 -0
  658. package/dist/lib/MotionStreamConnection.js.map +1 -0
  659. package/dist/lib/MotionStreamConnection.test.d.ts +2 -0
  660. package/dist/lib/MotionStreamConnection.test.d.ts.map +1 -0
  661. package/dist/lib/motionStateUpdate.cjs +2 -0
  662. package/dist/lib/motionStateUpdate.cjs.map +1 -0
  663. package/dist/lib/motionStateUpdate.d.ts +1 -0
  664. package/dist/lib/motionStateUpdate.d.ts.map +1 -0
  665. package/dist/lib/motionStateUpdate.js +49 -0
  666. package/dist/lib/motionStateUpdate.js.map +1 -0
  667. package/dist/lib/motionStateUpdate.test.d.ts +2 -0
  668. package/dist/lib/motionStateUpdate.test.d.ts.map +1 -0
  669. package/dist/test/consumer.test.d.ts +2 -0
  670. package/dist/test/consumer.test.d.ts.map +1 -0
  671. package/dist/test/setup.d.ts +2 -0
  672. package/dist/test/setup.d.ts.map +1 -0
  673. package/dist/themes/createDarkTheme.cjs +2 -0
  674. package/dist/themes/createDarkTheme.cjs.map +1 -0
  675. package/dist/themes/createDarkTheme.d.ts +1 -0
  676. package/dist/themes/createDarkTheme.d.ts.map +1 -0
  677. package/dist/themes/createDarkTheme.js +344 -0
  678. package/dist/themes/createDarkTheme.js.map +1 -0
  679. package/dist/themes/createLightTheme.cjs +2 -0
  680. package/dist/themes/createLightTheme.cjs.map +1 -0
  681. package/dist/themes/createLightTheme.d.ts +1 -0
  682. package/dist/themes/createLightTheme.d.ts.map +1 -0
  683. package/dist/themes/createLightTheme.js +9 -0
  684. package/dist/themes/createLightTheme.js.map +1 -0
  685. package/dist/themes/themeTypes.d.ts +1 -0
  686. package/dist/themes/themeTypes.d.ts.map +1 -0
  687. package/dist/themes/theming.cjs +2 -0
  688. package/dist/themes/theming.cjs.map +1 -0
  689. package/dist/themes/theming.d.ts +1 -0
  690. package/dist/themes/theming.d.ts.map +1 -0
  691. package/dist/themes/theming.js +14 -0
  692. package/dist/themes/theming.js.map +1 -0
  693. package/dist/wb-icons.cjs +2 -1
  694. package/dist/wb-icons.cjs.map +1 -0
  695. package/dist/wb-icons.d.ts +1 -0
  696. package/dist/wb-icons.d.ts.map +1 -0
  697. package/dist/wb-icons.js +44 -28
  698. package/dist/wb-icons.js.map +1 -0
  699. package/package.json +6 -5
  700. package/src/3d.ts +18 -0
  701. package/src/Setup.tsx +33 -0
  702. package/src/components/3d-viewport/CoordinateSystemTransform.tsx +57 -0
  703. package/src/components/3d-viewport/PresetEnvironment.tsx +81 -0
  704. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +198 -0
  705. package/src/components/3d-viewport/TrajectoryRenderer.tsx +41 -0
  706. package/src/components/3d-viewport/collider/ColliderCollection.tsx +35 -0
  707. package/src/components/3d-viewport/collider/ColliderElement.tsx +36 -0
  708. package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +26 -0
  709. package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +48 -0
  710. package/src/components/AppHeader.md +84 -0
  711. package/src/components/AppHeader.tsx +197 -0
  712. package/src/components/ConsoleFilter.tsx +24 -0
  713. package/src/components/CopyableText.tsx +89 -0
  714. package/src/components/CycleTimer/CycleTimer.ts +8 -0
  715. package/src/components/CycleTimer/DefaultVariant.tsx +326 -0
  716. package/src/components/CycleTimer/SmallVariant.tsx +229 -0
  717. package/src/components/CycleTimer/index.tsx +158 -0
  718. package/src/components/CycleTimer/types.ts +58 -0
  719. package/src/components/CycleTimer/useAnimations.ts +202 -0
  720. package/src/components/CycleTimer/useTimerLogic.ts +330 -0
  721. package/src/components/CycleTimer/utils.ts +122 -0
  722. package/src/components/CycleTimer.tsx +8 -0
  723. package/src/components/DataGrid.tsx +664 -0
  724. package/src/components/LoadingCover.tsx +91 -0
  725. package/src/components/LogPanel.tsx +71 -0
  726. package/src/components/LogStore.ts +46 -0
  727. package/src/components/LogViewer.tsx +368 -0
  728. package/src/components/ProgramControl.tsx +267 -0
  729. package/src/components/ProgramStateIndicator.tsx +195 -0
  730. package/src/components/RobotCard.tsx +495 -0
  731. package/src/components/RobotListItem.tsx +155 -0
  732. package/src/components/RobotSetupReadinessIndicator.test.tsx +60 -0
  733. package/src/components/RobotSetupReadinessIndicator.tsx +161 -0
  734. package/src/components/SelectableFab.tsx +52 -0
  735. package/src/components/TabBar.tsx +325 -0
  736. package/src/components/ThemeSelect.tsx +51 -0
  737. package/src/components/Timer/Timer.ts +4 -0
  738. package/src/components/Timer/TimerDefaultVariant.tsx +143 -0
  739. package/src/components/Timer/TimerSmallVariant.tsx +141 -0
  740. package/src/components/Timer/index.tsx +103 -0
  741. package/src/components/Timer/types.ts +38 -0
  742. package/src/components/Timer/useTimerAnimations.ts +94 -0
  743. package/src/components/Timer/useTimerLogic.ts +214 -0
  744. package/src/components/Timer/utils.ts +87 -0
  745. package/src/components/Timer.ts +4 -0
  746. package/src/components/TransparentOverlay.tsx +28 -0
  747. package/src/components/VelocitySlider.tsx +117 -0
  748. package/src/components/experimental/utils/AdornedSelect.tsx +38 -0
  749. package/src/components/jogging/JoggingBlocked.tsx +43 -0
  750. package/src/components/jogging/JoggingCartesianAxisControl.tsx +237 -0
  751. package/src/components/jogging/JoggingCartesianTab.tsx +349 -0
  752. package/src/components/jogging/JoggingFreedriveTab.tsx +8 -0
  753. package/src/components/jogging/JoggingJointLimitDetector.tsx +57 -0
  754. package/src/components/jogging/JoggingJointTab.tsx +126 -0
  755. package/src/components/jogging/JoggingJointValueControl.tsx +293 -0
  756. package/src/components/jogging/JoggingOptions.tsx +163 -0
  757. package/src/components/jogging/JoggingPanel.test.tsx +645 -0
  758. package/src/components/jogging/JoggingPanel.tsx +204 -0
  759. package/src/components/jogging/JoggingStore.ts +485 -0
  760. package/src/components/jogging/JoggingToggleButtonGroup.tsx +25 -0
  761. package/src/components/jogging/JoggingVelocitySlider.tsx +39 -0
  762. package/src/components/jogging/PoseCartesianValues.tsx +55 -0
  763. package/src/components/jogging/PoseJointValues.tsx +54 -0
  764. package/src/components/jogging/__fixtures__/motionStreamMockData.ts +136 -0
  765. package/src/components/modal/NoMotionGroupModal.tsx +91 -0
  766. package/src/components/robots/AxisConfig.ts +3 -0
  767. package/src/components/robots/DHLinearAxis.tsx +147 -0
  768. package/src/components/robots/DHRobot.tsx +152 -0
  769. package/src/components/robots/GenericRobot.tsx +137 -0
  770. package/src/components/robots/LinearAxis.tsx +74 -0
  771. package/src/components/robots/LinearAxisAnimator.tsx +118 -0
  772. package/src/components/robots/MotionGroupVisualizer.tsx +73 -0
  773. package/src/components/robots/Robot.tsx +57 -0
  774. package/src/components/robots/RobotAnimator.test.tsx +98 -0
  775. package/src/components/robots/RobotAnimator.tsx +116 -0
  776. package/src/components/robots/SupportedLinearAxis.tsx +110 -0
  777. package/src/components/robots/SupportedRobot.tsx +111 -0
  778. package/src/components/robots/ghostStyle.ts +71 -0
  779. package/src/components/robots/manufacturerHomePositions.ts +76 -0
  780. package/src/components/robots/robotModelLogic.ts +158 -0
  781. package/src/components/safetyBar/ControllerTypeIndicator.tsx +79 -0
  782. package/src/components/safetyBar/IndicatorWithExplanation.tsx +137 -0
  783. package/src/components/safetyBar/OperationModeIndicator.tsx +98 -0
  784. package/src/components/safetyBar/SafetyBar.tsx +72 -0
  785. package/src/components/safetyBar/SafetyStateIndicator.tsx +163 -0
  786. package/src/components/safetyBar/icons/controller-type-physical.svg +1 -0
  787. package/src/components/safetyBar/icons/controller-type-virtual.svg +1 -0
  788. package/src/components/safetyBar/icons/index.ts +10 -0
  789. package/src/components/safetyBar/icons/operation-mode-automatic.svg +1 -0
  790. package/src/components/safetyBar/icons/operation-mode-error.svg +1 -0
  791. package/src/components/safetyBar/icons/operation-mode-manual.svg +1 -0
  792. package/src/components/safetyBar/icons/safety-state-error.svg +1 -0
  793. package/src/components/safetyBar/icons/safety-state-estop.svg +1 -0
  794. package/src/components/safetyBar/icons/safety-state-manual-action-required.svg +1 -0
  795. package/src/components/safetyBar/icons/safety-state-normal.svg +1 -0
  796. package/src/components/safetyBar/icons/safety-state-stop.svg +1 -0
  797. package/src/components/utils/converters.ts +90 -0
  798. package/src/components/utils/errorHandling.test.ts +41 -0
  799. package/src/components/utils/errorHandling.ts +38 -0
  800. package/src/components/utils/hooks.tsx +55 -0
  801. package/src/components/utils/interpolation.test.ts +1138 -0
  802. package/src/components/utils/interpolation.ts +380 -0
  803. package/src/core.ts +33 -0
  804. package/src/declarations.d.ts +10 -0
  805. package/src/env.d.ts +3 -0
  806. package/src/externalizeComponent.tsx +28 -0
  807. package/src/i18n/config.ts +26 -0
  808. package/src/i18n/locales/de/translations.json +89 -0
  809. package/src/i18n/locales/en/translations.json +90 -0
  810. package/src/icons/DropdownArrowIcon.tsx +12 -0
  811. package/src/icons/axis-x.svg +1 -0
  812. package/src/icons/axis-y.svg +1 -0
  813. package/src/icons/axis-z.svg +1 -0
  814. package/src/icons/home.svg +1 -0
  815. package/src/icons/index.ts +12 -0
  816. package/src/icons/jog-minus.svg +5 -0
  817. package/src/icons/jog-plus.svg +9 -0
  818. package/src/icons/jogging.svg +1 -0
  819. package/src/icons/orientation-coord-system.svg +1 -0
  820. package/src/icons/orientation-tool.svg +1 -0
  821. package/src/icons/robot.svg +1 -0
  822. package/src/icons/rotation.svg +3 -0
  823. package/src/icons/wbLogo.svg +1 -0
  824. package/src/index.ts +4 -0
  825. package/src/lib/ConnectedMotionGroup.ts +441 -0
  826. package/src/lib/JoggerConnection.test.ts +122 -0
  827. package/src/lib/JoggerConnection.ts +694 -0
  828. package/src/lib/MotionStreamConnection.test.ts +23 -0
  829. package/src/lib/MotionStreamConnection.ts +186 -0
  830. package/src/lib/motionStateUpdate.test.ts +28 -0
  831. package/src/lib/motionStateUpdate.ts +117 -0
  832. package/src/test/consumer.test.ts +257 -0
  833. package/src/test/setup.ts +111 -0
  834. package/src/themes/createDarkTheme.ts +343 -0
  835. package/src/themes/createLightTheme.ts +8 -0
  836. package/src/themes/themeTypes.ts +96 -0
  837. package/src/themes/theming.ts +29 -0
  838. package/src/wb-icons.ts +3 -0
  839. package/dist/chunks/JoggingPanel-CQH_oXTB.js +0 -586
  840. package/dist/chunks/JoggingPanel-DZN2Y39k.cjs +0 -2
  841. package/dist/chunks/controller-type-virtual-BuJWQOvV.cjs +0 -1
  842. package/dist/chunks/externalizeComponent-DOwkaDcw.cjs +0 -2
  843. package/dist/chunks/externalizeComponent-eiCc5DIh.js +0 -209
  844. package/dist/chunks/jog-plus-CAUurv4S.js +0 -15
  845. package/dist/chunks/jog-plus-Dy1r7-r5.cjs +0 -1
  846. package/dist/chunks/operation-mode-manual-Di4Z1KM1.js +0 -20
  847. package/dist/chunks/operation-mode-manual-eHwVILeI.cjs +0 -1
  848. package/dist/chunks/robot-CrNbCELh.cjs +0 -1
  849. package/dist/chunks/rotation-CIOAnn9q.cjs +0 -1
  850. package/dist/chunks/rotation-Dm5YL3NM.js +0 -25
  851. package/dist/chunks/safety-state-stop-Bg0VUsM4.js +0 -30
  852. package/dist/chunks/safety-state-stop-CNxVYiap.cjs +0 -1
  853. package/dist/chunks/theming-Chx_tewl.cjs +0 -3
  854. package/dist/chunks/theming-Cw6qwBM7.js +0 -600
  855. package/dist/chunks/wbLogo-CObCmqTw.js +0 -30
  856. package/dist/chunks/wbLogo-G_IfZ03l.cjs +0 -1
  857. package/dist/components/3d-viewport/CoordinateSystemTransform.cjs +0 -1
  858. package/dist/components/3d-viewport/CoordinateSystemTransform.js +0 -37
  859. package/dist/components/CycleTimer/CycleTimer.cjs +0 -1
  860. package/dist/components/CycleTimer/CycleTimer.js +0 -5
  861. package/dist/components/CycleTimer/types.cjs +0 -1
  862. package/dist/components/CycleTimer/types.js +0 -1
  863. package/dist/components/ThemeSelect.cjs +0 -1
  864. package/dist/components/ThemeSelect.js +0 -38
  865. package/dist/components/Timer/Timer.cjs +0 -1
  866. package/dist/components/Timer/Timer.js +0 -5
  867. package/dist/components/Timer/types.cjs +0 -1
  868. package/dist/components/Timer/types.js +0 -1
  869. package/dist/components/TransparentOverlay.cjs +0 -1
  870. package/dist/components/TransparentOverlay.js +0 -26
  871. package/dist/components/jogging/JoggingFreedriveTab.cjs +0 -1
  872. package/dist/components/jogging/JoggingFreedriveTab.js +0 -6
  873. package/dist/components/safetyBar/icons/index.cjs +0 -1
  874. package/dist/components/safetyBar/icons/index.js +0 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoseJointValues.cjs","sources":["../../../src/components/jogging/PoseJointValues.tsx"],"sourcesContent":["import Button from \"@mui/material/Button\"\nimport Stack from \"@mui/material/Stack\"\nimport { observer } from \"mobx-react-lite\"\nimport { useState } from \"react\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport { CopyableText } from \"../CopyableText\"\n\nexport type PoseJointValuesProps = {\n joints: Array<number>\n showCopyButton?: boolean\n}\n\nexport const PoseJointValues = externalizeComponent(\n observer(({ joints, showCopyButton = false }: PoseJointValuesProps) => {\n const [copyMessage, setCopyMessage] = useState<string | null>(null)\n const poseString = `[${joints.map((j: number) => parseFloat(j.toFixed(4))).join(\", \")}]`\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(poseString)\n setCopyMessage(\"Copied!\")\n setTimeout(() => setCopyMessage(null), 2000)\n } catch {\n setCopyMessage(\"Copy failed\")\n setTimeout(() => setCopyMessage(null), 2000)\n }\n }\n\n return (\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n spacing={1}\n sx={{ flexGrow: 1, minWidth: 0, overflow: \"hidden\" }}\n data-testid=\"pose-joint-values\"\n >\n <CopyableText value={poseString} />\n {showCopyButton && (\n <Button\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={handleCopy}\n sx={{ flexShrink: 0 }}\n >\n {copyMessage ? copyMessage : \"Copy\"}\n </Button>\n )}\n </Stack>\n )\n }),\n)\n\nexport default PoseJointValues\n"],"names":["PoseJointValues","externalizeComponent","observer","joints","showCopyButton","copyMessage","setCopyMessage","useState","poseString","j","handleCopy","jsxs","Stack","jsx","CopyableText","Button"],"mappings":"iVAYaA,EAAkBC,EAAAA,qBAC7BC,EAAAA,SAAS,CAAC,CAAE,OAAAC,EAAQ,eAAAC,EAAiB,MAAkC,CACrE,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAAAA,SAAwB,IAAI,EAC5DC,EAAa,IAAIL,EAAO,IAAKM,GAAc,WAAWA,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAE/EC,EAAa,SAAY,CAC7B,GAAI,CACF,MAAM,UAAU,UAAU,UAAUF,CAAU,EAC9CF,EAAe,SAAS,EACxB,WAAW,IAAMA,EAAe,IAAI,EAAG,GAAI,CAC7C,MAAQ,CACNA,EAAe,aAAa,EAC5B,WAAW,IAAMA,EAAe,IAAI,EAAG,GAAI,CAC7C,CACF,EAEA,OACEK,EAAAA,KAACC,EAAA,CACC,UAAU,MACV,WAAW,SACX,QAAS,EACT,GAAI,CAAE,SAAU,EAAG,SAAU,EAAG,SAAU,QAAA,EAC1C,cAAY,oBAEZ,SAAA,CAAAC,EAAAA,IAACC,EAAAA,aAAA,CAAa,MAAON,CAAA,CAAY,EAChCJ,GACCS,EAAAA,IAACE,EAAA,CACC,QAAQ,YACR,MAAM,YACN,KAAK,QACL,QAASL,EACT,GAAI,CAAE,WAAY,CAAA,EAEjB,YAA4B,MAAA,CAAA,CAC/B,CAAA,CAAA,CAIR,CAAC,CACH"}
@@ -6,3 +6,4 @@ export declare const PoseJointValues: (({ joints, showCopyButton }: PoseJointVal
6
6
  displayName: string;
7
7
  };
8
8
  export default PoseJointValues;
9
+ //# sourceMappingURL=PoseJointValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoseJointValues.d.ts","sourceRoot":"","sources":["../../../src/components/jogging/PoseJointValues.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,eAAe,gCACoB,oBAAoB;;CAsCnE,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -3,7 +3,7 @@ import l from "@mui/material/Button";
3
3
  import p from "@mui/material/Stack";
4
4
  import { observer as m } from "mobx-react-lite";
5
5
  import { useState as c } from "react";
6
- import { e as d } from "../../chunks/externalizeComponent-eiCc5DIh.js";
6
+ import { externalizeComponent as d } from "../../externalizeComponent.js";
7
7
  import { CopyableText as f } from "../CopyableText.js";
8
8
  const j = d(
9
9
  m(({ joints: i, showCopyButton: a = !1 }) => {
@@ -44,3 +44,4 @@ export {
44
44
  j as PoseJointValues,
45
45
  j as default
46
46
  };
47
+ //# sourceMappingURL=PoseJointValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoseJointValues.js","sources":["../../../src/components/jogging/PoseJointValues.tsx"],"sourcesContent":["import Button from \"@mui/material/Button\"\nimport Stack from \"@mui/material/Stack\"\nimport { observer } from \"mobx-react-lite\"\nimport { useState } from \"react\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport { CopyableText } from \"../CopyableText\"\n\nexport type PoseJointValuesProps = {\n joints: Array<number>\n showCopyButton?: boolean\n}\n\nexport const PoseJointValues = externalizeComponent(\n observer(({ joints, showCopyButton = false }: PoseJointValuesProps) => {\n const [copyMessage, setCopyMessage] = useState<string | null>(null)\n const poseString = `[${joints.map((j: number) => parseFloat(j.toFixed(4))).join(\", \")}]`\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(poseString)\n setCopyMessage(\"Copied!\")\n setTimeout(() => setCopyMessage(null), 2000)\n } catch {\n setCopyMessage(\"Copy failed\")\n setTimeout(() => setCopyMessage(null), 2000)\n }\n }\n\n return (\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n spacing={1}\n sx={{ flexGrow: 1, minWidth: 0, overflow: \"hidden\" }}\n data-testid=\"pose-joint-values\"\n >\n <CopyableText value={poseString} />\n {showCopyButton && (\n <Button\n variant=\"contained\"\n color=\"secondary\"\n size=\"small\"\n onClick={handleCopy}\n sx={{ flexShrink: 0 }}\n >\n {copyMessage ? copyMessage : \"Copy\"}\n </Button>\n )}\n </Stack>\n )\n }),\n)\n\nexport default PoseJointValues\n"],"names":["PoseJointValues","externalizeComponent","observer","joints","showCopyButton","copyMessage","setCopyMessage","useState","poseString","j","jsxs","Stack","jsx","CopyableText","Button"],"mappings":";;;;;;;AAYO,MAAMA,IAAkBC;AAAA,EAC7BC,EAAS,CAAC,EAAE,QAAAC,GAAQ,gBAAAC,IAAiB,SAAkC;AACrE,UAAM,CAACC,GAAaC,CAAc,IAAIC,EAAwB,IAAI,GAC5DC,IAAa,IAAIL,EAAO,IAAI,CAACM,MAAc,WAAWA,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;AAarF,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,YAAW;AAAA,QACX,SAAS;AAAA,QACT,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,SAAA;AAAA,QAC1C,eAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAC,EAACC,GAAA,EAAa,OAAOL,EAAA,CAAY;AAAA,UAChCJ,KACC,gBAAAQ;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,MAAK;AAAA,cACL,SAzBW,YAAY;AAC7B,oBAAI;AACF,wBAAM,UAAU,UAAU,UAAUN,CAAU,GAC9CF,EAAe,SAAS,GACxB,WAAW,MAAMA,EAAe,IAAI,GAAG,GAAI;AAAA,gBAC7C,QAAQ;AACN,kBAAAA,EAAe,aAAa,GAC5B,WAAW,MAAMA,EAAe,IAAI,GAAG,GAAI;AAAA,gBAC7C;AAAA,cACF;AAAA,cAiBQ,IAAI,EAAE,YAAY,EAAA;AAAA,cAEjB,eAA4B;AAAA,YAAA;AAAA,UAAA;AAAA,QAC/B;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR,CAAC;AACH;"}
@@ -0,0 +1,11 @@
1
+ import type { MotionGroupState, MotionGroupDescription, DHParameter } from "@wandelbots/nova-js/v2";
2
+ export declare const ur5eMotionGroupState: MotionGroupState;
3
+ export declare const ur5eDhParameters: DHParameter[];
4
+ export declare const ur5eDescription: MotionGroupDescription;
5
+ export declare const turnMockMotionGroupState: MotionGroupState;
6
+ export declare const turnMockDhParameters: DHParameter[];
7
+ export declare const turnMockDescription: MotionGroupDescription;
8
+ export declare const linearAxisMotionGroupState: MotionGroupState;
9
+ export declare const linearAxisDhParameters: DHParameter[];
10
+ export declare const linearAxisDescription: MotionGroupDescription;
11
+ //# sourceMappingURL=motionStreamMockData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motionStreamMockData.d.ts","sourceRoot":"","sources":["../../../../src/components/jogging/__fixtures__/motionStreamMockData.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,WAAW,EACZ,MAAM,wBAAwB,CAAA;AAM/B,eAAO,MAAM,oBAAoB,EAAE,gBA4BlC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAGzC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,sBAMQ,CAAA;AAMtC,eAAO,MAAM,wBAAwB,EAAE,gBAqBtC,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,WAAW,EAG7C,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,sBAMI,CAAA;AAMtC,eAAO,MAAM,0BAA0B,EAAE,gBAqBxC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,WAAW,EAE/C,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,sBAME,CAAA"}
@@ -1 +1,2 @@
1
1
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),r=require("@mui/material/Button"),i=require("@mui/material/Dialog"),a=require("@mui/material/DialogActions"),l=require("@mui/material/DialogContent"),s=require("@mui/material/DialogTitle"),c=require("@mui/material/Stack"),t=require("@mui/material/Typography");function u(){const o=window.location.href;return o.substring(0,o.indexOf("/",o.indexOf("//")+2))}function n({baseUrl:o=u(),...d}){return e.jsxs(i,{"aria-labelledby":"no-motion-group-modal-title",open:!0,fullWidth:!0,sx:{"& .MuiModal-backdrop":{backdropFilter:"blur(10px)"},"& .MuiDialog-paper":{"::before":{content:'""',height:"8px",width:"100%",background:"linear-gradient(90deg, #FF0E65 0%, #47D3FF 100%)"},background:"#101629"}},children:[e.jsx(s,{id:"no-motion-group-modal-title",children:"No motion group found"}),e.jsxs(l,{sx:{marginTop:"3rem",marginBottom:"1.5rem",textAlign:"center"},children:[e.jsx(t,{color:"#fff",children:"Found no devices to connect to."}),e.jsx(t,{color:"#fff",children:"Please ensure a motion group has been created."})]}),e.jsx(a,{children:e.jsxs(c,{width:"100%",maxWidth:"300px",margin:"auto",marginBottom:"2rem",children:[e.jsx(r,{href:`${o}/settings`,variant:"contained",sx:{borderRadius:"8px",width:"100%"},children:"Go to settings app"}),e.jsx(r,{href:`${o}`,variant:"text",sx:{marginTop:"1rem",color:"#fff",textDecoration:"underline",fontSize:"0.75rem"},children:"Back to Homescreen"})]})})]})}exports.NoMotionGroupModal=n;exports.default=n;
2
+ //# sourceMappingURL=NoMotionGroupModal.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoMotionGroupModal.cjs","sources":["../../../src/components/modal/NoMotionGroupModal.tsx"],"sourcesContent":["import Button from \"@mui/material/Button\"\nimport Dialog from \"@mui/material/Dialog\"\nimport DialogActions from \"@mui/material/DialogActions\"\nimport DialogContent from \"@mui/material/DialogContent\"\nimport DialogTitle from \"@mui/material/DialogTitle\"\nimport Stack from \"@mui/material/Stack\"\nimport Typography from \"@mui/material/Typography\"\nfunction getBaseUrl(): string {\n const currentUrl = window.location.href\n return currentUrl.substring(\n 0,\n currentUrl.indexOf(\"/\", currentUrl.indexOf(\"//\") + 2),\n )\n}\n\nexport type NoMotionGroupModalProps = {\n baseUrl: string\n}\n\nexport function NoMotionGroupModal({\n baseUrl = getBaseUrl(),\n ...props\n}: NoMotionGroupModalProps) {\n return (\n <Dialog\n aria-labelledby=\"no-motion-group-modal-title\"\n open={true}\n fullWidth\n sx={{\n \"& .MuiModal-backdrop\": {\n backdropFilter: \"blur(10px)\",\n },\n \"& .MuiDialog-paper\": {\n \"::before\": {\n content: '\"\"',\n height: \"8px\",\n width: \"100%\",\n background: \"linear-gradient(90deg, #FF0E65 0%, #47D3FF 100%)\",\n },\n background: \"#101629\",\n },\n }}\n >\n <DialogTitle id=\"no-motion-group-modal-title\">\n No motion group found\n </DialogTitle>\n\n <DialogContent\n sx={{\n marginTop: \"3rem\",\n marginBottom: \"1.5rem\",\n textAlign: \"center\",\n }}\n >\n <Typography color=\"#fff\">Found no devices to connect to.</Typography>\n <Typography color=\"#fff\">\n Please ensure a motion group has been created.\n </Typography>\n </DialogContent>\n\n <DialogActions>\n <Stack width=\"100%\" maxWidth=\"300px\" margin=\"auto\" marginBottom=\"2rem\">\n <Button\n href={`${baseUrl}/settings`}\n variant=\"contained\"\n sx={{\n borderRadius: \"8px\",\n width: \"100%\",\n }}\n >\n Go to settings app\n </Button>\n <Button\n href={`${baseUrl}`}\n variant=\"text\"\n sx={{\n marginTop: \"1rem\",\n color: \"#fff\",\n textDecoration: \"underline\",\n fontSize: \"0.75rem\",\n }}\n >\n Back to Homescreen\n </Button>\n </Stack>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default NoMotionGroupModal\n"],"names":["getBaseUrl","currentUrl","NoMotionGroupModal","baseUrl","props","jsxs","Dialog","jsx","DialogTitle","DialogContent","Typography","DialogActions","Stack","Button"],"mappings":"qZAOA,SAASA,GAAqB,CAC5B,MAAMC,EAAa,OAAO,SAAS,KACnC,OAAOA,EAAW,UAChB,EACAA,EAAW,QAAQ,IAAKA,EAAW,QAAQ,IAAI,EAAI,CAAC,CAAA,CAExD,CAMO,SAASC,EAAmB,CACjC,QAAAC,EAAUH,EAAA,EACV,GAAGI,CACL,EAA4B,CAC1B,OACEC,EAAAA,KAACC,EAAA,CACC,kBAAgB,8BAChB,KAAM,GACN,UAAS,GACT,GAAI,CACF,uBAAwB,CACtB,eAAgB,YAAA,EAElB,qBAAsB,CACpB,WAAY,CACV,QAAS,KACT,OAAQ,MACR,MAAO,OACP,WAAY,kDAAA,EAEd,WAAY,SAAA,CACd,EAGF,SAAA,CAAAC,EAAAA,IAACC,EAAA,CAAY,GAAG,8BAA8B,SAAA,wBAE9C,EAEAH,EAAAA,KAACI,EAAA,CACC,GAAI,CACF,UAAW,OACX,aAAc,SACd,UAAW,QAAA,EAGb,SAAA,CAAAF,EAAAA,IAACG,EAAA,CAAW,MAAM,OAAO,SAAA,kCAA+B,EACxDH,EAAAA,IAACG,EAAA,CAAW,MAAM,OAAO,SAAA,gDAAA,CAEzB,CAAA,CAAA,CAAA,EAGFH,EAAAA,IAACI,EAAA,CACC,SAAAN,EAAAA,KAACO,EAAA,CAAM,MAAM,OAAO,SAAS,QAAQ,OAAO,OAAO,aAAa,OAC9D,SAAA,CAAAL,EAAAA,IAACM,EAAA,CACC,KAAM,GAAGV,CAAO,YAChB,QAAQ,YACR,GAAI,CACF,aAAc,MACd,MAAO,MAAA,EAEV,SAAA,oBAAA,CAAA,EAGDI,EAAAA,IAACM,EAAA,CACC,KAAM,GAAGV,CAAO,GAChB,QAAQ,OACR,GAAI,CACF,UAAW,OACX,MAAO,OACP,eAAgB,YAChB,SAAU,SAAA,EAEb,SAAA,oBAAA,CAAA,CAED,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAAA,CAGN"}
@@ -3,3 +3,4 @@ export type NoMotionGroupModalProps = {
3
3
  };
4
4
  export declare function NoMotionGroupModal({ baseUrl, ...props }: NoMotionGroupModalProps): import("react/jsx-runtime").JSX.Element;
5
5
  export default NoMotionGroupModal;
6
+ //# sourceMappingURL=NoMotionGroupModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoMotionGroupModal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/NoMotionGroupModal.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,OAAsB,EACtB,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAkEzB;AAED,eAAe,kBAAkB,CAAA"}
@@ -89,3 +89,4 @@ export {
89
89
  k as NoMotionGroupModal,
90
90
  k as default
91
91
  };
92
+ //# sourceMappingURL=NoMotionGroupModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoMotionGroupModal.js","sources":["../../../src/components/modal/NoMotionGroupModal.tsx"],"sourcesContent":["import Button from \"@mui/material/Button\"\nimport Dialog from \"@mui/material/Dialog\"\nimport DialogActions from \"@mui/material/DialogActions\"\nimport DialogContent from \"@mui/material/DialogContent\"\nimport DialogTitle from \"@mui/material/DialogTitle\"\nimport Stack from \"@mui/material/Stack\"\nimport Typography from \"@mui/material/Typography\"\nfunction getBaseUrl(): string {\n const currentUrl = window.location.href\n return currentUrl.substring(\n 0,\n currentUrl.indexOf(\"/\", currentUrl.indexOf(\"//\") + 2),\n )\n}\n\nexport type NoMotionGroupModalProps = {\n baseUrl: string\n}\n\nexport function NoMotionGroupModal({\n baseUrl = getBaseUrl(),\n ...props\n}: NoMotionGroupModalProps) {\n return (\n <Dialog\n aria-labelledby=\"no-motion-group-modal-title\"\n open={true}\n fullWidth\n sx={{\n \"& .MuiModal-backdrop\": {\n backdropFilter: \"blur(10px)\",\n },\n \"& .MuiDialog-paper\": {\n \"::before\": {\n content: '\"\"',\n height: \"8px\",\n width: \"100%\",\n background: \"linear-gradient(90deg, #FF0E65 0%, #47D3FF 100%)\",\n },\n background: \"#101629\",\n },\n }}\n >\n <DialogTitle id=\"no-motion-group-modal-title\">\n No motion group found\n </DialogTitle>\n\n <DialogContent\n sx={{\n marginTop: \"3rem\",\n marginBottom: \"1.5rem\",\n textAlign: \"center\",\n }}\n >\n <Typography color=\"#fff\">Found no devices to connect to.</Typography>\n <Typography color=\"#fff\">\n Please ensure a motion group has been created.\n </Typography>\n </DialogContent>\n\n <DialogActions>\n <Stack width=\"100%\" maxWidth=\"300px\" margin=\"auto\" marginBottom=\"2rem\">\n <Button\n href={`${baseUrl}/settings`}\n variant=\"contained\"\n sx={{\n borderRadius: \"8px\",\n width: \"100%\",\n }}\n >\n Go to settings app\n </Button>\n <Button\n href={`${baseUrl}`}\n variant=\"text\"\n sx={{\n marginTop: \"1rem\",\n color: \"#fff\",\n textDecoration: \"underline\",\n fontSize: \"0.75rem\",\n }}\n >\n Back to Homescreen\n </Button>\n </Stack>\n </DialogActions>\n </Dialog>\n )\n}\n\nexport default NoMotionGroupModal\n"],"names":["getBaseUrl","currentUrl","NoMotionGroupModal","baseUrl","props","jsxs","Dialog","jsx","DialogTitle","DialogContent","Typography","DialogActions","Stack","Button"],"mappings":";;;;;;;;AAOA,SAASA,IAAqB;AAC5B,QAAMC,IAAa,OAAO,SAAS;AACnC,SAAOA,EAAW;AAAA,IAChB;AAAA,IACAA,EAAW,QAAQ,KAAKA,EAAW,QAAQ,IAAI,IAAI,CAAC;AAAA,EAAA;AAExD;AAMO,SAASC,EAAmB;AAAA,EACjC,SAAAC,IAAUH,EAAA;AAAA,EACV,GAAGI;AACL,GAA4B;AAC1B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,mBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,WAAS;AAAA,MACT,IAAI;AAAA,QACF,wBAAwB;AAAA,UACtB,gBAAgB;AAAA,QAAA;AAAA,QAElB,sBAAsB;AAAA,UACpB,YAAY;AAAA,YACV,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,YAAY;AAAA,UAAA;AAAA,UAEd,YAAY;AAAA,QAAA;AAAA,MACd;AAAA,MAGF,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAA,EAAY,IAAG,+BAA8B,UAAA,yBAE9C;AAAA,QAEA,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,WAAW;AAAA,cACX,cAAc;AAAA,cACd,WAAW;AAAA,YAAA;AAAA,YAGb,UAAA;AAAA,cAAA,gBAAAF,EAACG,GAAA,EAAW,OAAM,QAAO,UAAA,mCAA+B;AAAA,cACxD,gBAAAH,EAACG,GAAA,EAAW,OAAM,QAAO,UAAA,iDAAA,CAEzB;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGF,gBAAAH,EAACI,GAAA,EACC,UAAA,gBAAAN,EAACO,GAAA,EAAM,OAAM,QAAO,UAAS,SAAQ,QAAO,QAAO,cAAa,QAC9D,UAAA;AAAA,UAAA,gBAAAL;AAAA,YAACM;AAAA,YAAA;AAAA,cACC,MAAM,GAAGV,CAAO;AAAA,cAChB,SAAQ;AAAA,cACR,IAAI;AAAA,gBACF,cAAc;AAAA,gBACd,OAAO;AAAA,cAAA;AAAA,cAEV,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGD,gBAAAI;AAAA,YAACM;AAAA,YAAA;AAAA,cACC,MAAM,GAAGV,CAAO;AAAA,cAChB,SAAQ;AAAA,cACR,IAAI;AAAA,gBACF,WAAW;AAAA,gBACX,OAAO;AAAA,gBACP,gBAAgB;AAAA,gBAChB,UAAU;AAAA,cAAA;AAAA,cAEb,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,EAAA,CACF,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=Array(6).fill(2*Math.PI);exports.defaultAxisConfig=t;
2
+ //# sourceMappingURL=AxisConfig.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AxisConfig.cjs","sources":["../../../src/components/robots/AxisConfig.ts"],"sourcesContent":["export type AxisConfig = number[]\n\nexport const defaultAxisConfig: AxisConfig = Array(6).fill(2 * Math.PI)\n"],"names":["defaultAxisConfig"],"mappings":"gFAEO,MAAMA,EAAgC,MAAM,CAAC,EAAE,KAAK,EAAI,KAAK,EAAE"}
@@ -1,2 +1,3 @@
1
1
  export type AxisConfig = number[];
2
2
  export declare const defaultAxisConfig: AxisConfig;
3
+ //# sourceMappingURL=AxisConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AxisConfig.d.ts","sourceRoot":"","sources":["../../../src/components/robots/AxisConfig.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,EAAE,CAAA;AAEjC,eAAO,MAAM,iBAAiB,EAAE,UAAuC,CAAA"}
@@ -2,3 +2,4 @@ const t = Array(6).fill(2 * Math.PI);
2
2
  export {
3
3
  t as defaultAxisConfig
4
4
  };
5
+ //# sourceMappingURL=AxisConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AxisConfig.js","sources":["../../../src/components/robots/AxisConfig.ts"],"sourcesContent":["export type AxisConfig = number[]\n\nexport const defaultAxisConfig: AxisConfig = Array(6).fill(2 * Math.PI)\n"],"names":["defaultAxisConfig"],"mappings":"AAEO,MAAMA,IAAgC,MAAM,CAAC,EAAE,KAAK,IAAI,KAAK,EAAE;"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),_=require("@react-three/drei"),j=require("react"),e=require("three"),g=require("./LinearAxisAnimator.cjs");function w({rapidlyChangingMotionState:d,dhParameters:s,...M}){const l=new e.Matrix4,u=j.useRef(null),p=j.useRef(null);function y(h){const a=new e.Matrix4;for(let r=0;r<s.length;r++){const t=s[r],x=h[r]??0,i=new e.Matrix4().makeRotationY(t.theta).multiply(new e.Matrix4().makeTranslation(t.a/1e3,(t.d+x*(t.reverse_rotation_direction?-1:1))/1e3,0)).multiply(new e.Matrix4().makeRotationX(t.alpha));a.multiply(i)}const n=new e.Vector3,c=new e.Quaternion,m=new e.Vector3;return a.decompose(n,c,m),n}const f=y(d.joint_position);function R(h,a){l.identity();let n=new e.Vector3;for(let t=0;t<s.length;t++){const x=a[t]??0,i=s[t],T=new e.Matrix4().makeRotationY(i.theta).multiply(new e.Matrix4().makeTranslation(i.a/1e3,(i.d+x*(i.reverse_rotation_direction?-1:1))/1e3,0)).multiply(new e.Matrix4().makeRotationX(i.alpha));l.multiply(T)}const c=new e.Vector3,m=new e.Quaternion,r=new e.Vector3;if(l.decompose(c,m,r),n=c,u.current&&u.current.position.set(n.x,n.y,n.z),p.current){const t=p.current.geometry;t!=null&&t.setPositions&&t.setPositions([0,0,0,n.x,n.y,n.z])}}return o.jsx(g.default,{rapidlyChangingMotionState:d,dhParameters:s,onTranslationChanged:R,children:o.jsxs("group",{...M,name:"Scene",children:[o.jsxs("mesh",{name:"Base",position:[0,0,0],children:[o.jsx("sphereGeometry",{args:[.02,32,32]}),o.jsx("meshStandardMaterial",{color:"green",depthTest:!0})]}),o.jsx(_.Line,{ref:p,points:[new e.Vector3(0,0,0),f],color:"White",lineWidth:5}),o.jsxs("mesh",{ref:u,name:"TCP",position:f,children:[o.jsx("sphereGeometry",{args:[.025,32,32]}),o.jsx("meshStandardMaterial",{color:"red",depthTest:!0})]})]})})}exports.DHLinearAxis=w;exports.default=w;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),g=require("@react-three/drei"),j=require("react"),e=require("three"),V=require("./LinearAxisAnimator.cjs");function w({rapidlyChangingMotionState:d,dhParameters:s,...M}){const l=new e.Matrix4,u=j.useRef(null),p=j.useRef(null);function y(h){const a=new e.Matrix4;for(let r=0;r<s.length;r++){const t=s[r],x=h[r]??0,i=new e.Matrix4().makeRotationY(t.theta).multiply(new e.Matrix4().makeTranslation(t.a/1e3,(t.d+x*(t.reverse_rotation_direction?-1:1))/1e3,0)).multiply(new e.Matrix4().makeRotationX(t.alpha));a.multiply(i)}const n=new e.Vector3,c=new e.Quaternion,m=new e.Vector3;return a.decompose(n,c,m),n}const f=y(d.joint_position);function R(h,a){l.identity();let n=new e.Vector3;for(let t=0;t<s.length;t++){const x=a[t]??0,i=s[t],T=new e.Matrix4().makeRotationY(i.theta).multiply(new e.Matrix4().makeTranslation(i.a/1e3,(i.d+x*(i.reverse_rotation_direction?-1:1))/1e3,0)).multiply(new e.Matrix4().makeRotationX(i.alpha));l.multiply(T)}const c=new e.Vector3,m=new e.Quaternion,r=new e.Vector3;if(l.decompose(c,m,r),n=c,u.current&&u.current.position.set(n.x,n.y,n.z),p.current){const t=p.current.geometry;t!=null&&t.setPositions&&t.setPositions([0,0,0,n.x,n.y,n.z])}}return o.jsx(V.default,{rapidlyChangingMotionState:d,dhParameters:s,onTranslationChanged:R,children:o.jsxs("group",{...M,name:"Scene",children:[o.jsxs("mesh",{name:"Base",position:[0,0,0],children:[o.jsx("sphereGeometry",{args:[.02,32,32]}),o.jsx("meshStandardMaterial",{color:"green",depthTest:!0})]}),o.jsx(g.Line,{ref:p,points:[new e.Vector3(0,0,0),f],color:"White",lineWidth:5}),o.jsxs("mesh",{ref:u,name:"TCP",position:f,children:[o.jsx("sphereGeometry",{args:[.025,32,32]}),o.jsx("meshStandardMaterial",{color:"red",depthTest:!0})]})]})})}exports.DHLinearAxis=w;exports.default=w;
2
+ //# sourceMappingURL=DHLinearAxis.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DHLinearAxis.cjs","sources":["../../../src/components/robots/DHLinearAxis.tsx"],"sourcesContent":["/* biome-ignore-all lint/style/noNonNullAssertion: pre-biome code */\n/* biome-ignore-all lint/suspicious/noExplicitAny: pre-biome code */\n\nimport { Line } from \"@react-three/drei\"\nimport { useRef } from \"react\"\nimport type * as THREE from \"three\"\nimport { Matrix4, Quaternion, Vector3 } from \"three\"\nimport LinearAxisAnimator from \"./LinearAxisAnimator\"\nimport type { DHLinearAxisProps } from \"./SupportedLinearAxis\"\n\nexport function DHLinearAxis({\n rapidlyChangingMotionState,\n dhParameters,\n ...props\n}: DHLinearAxisProps) {\n // reused in every update\n const accumulatedMatrix = new Matrix4()\n\n const tcpMeshRef = useRef<THREE.Mesh | null>(null)\n const tcpLineRef = useRef<any>(null)\n\n // Calculate initial TCP position\n function calculateTcpPosition(jointValues: number[]): Vector3 {\n const tempMatrix = new Matrix4()\n\n for (let i = 0; i < dhParameters.length; i++) {\n const param = dhParameters[i]\n const jointValue = jointValues[i] ?? 0\n\n const matrix = new Matrix4()\n .makeRotationY(param.theta!) // Base rotation (if any)\n .multiply(\n new Matrix4().makeTranslation(\n param.a! / 1000,\n (param.d! +\n jointValue * (param.reverse_rotation_direction ? -1 : 1)) /\n 1000,\n 0,\n ),\n ) // Translate along X by a, and Y by d + joint_position\n .multiply(new Matrix4().makeRotationX(param.alpha!)) // Rotate around X\n\n tempMatrix.multiply(matrix)\n }\n\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n tempMatrix.decompose(position, quaternion, scale)\n return position\n }\n\n // Calculate initial TCP position for rendering\n const initialTcpPosition = calculateTcpPosition(\n rapidlyChangingMotionState.joint_position,\n )\n\n function setTranslation(joints: THREE.Object3D[], jointValues: number[]) {\n accumulatedMatrix.identity()\n\n let tcpPosition = new Vector3()\n\n // Process all joints based on dhParameters length, not joints array\n // Since we're using DHLinearAxis directly without a model, we don't have joint objects\n for (let jointIndex = 0; jointIndex < dhParameters.length; jointIndex++) {\n const jointValue = jointValues[jointIndex] ?? 0\n const param = dhParameters[jointIndex]\n\n // Calculate and accumulate transformation\n const matrix = new Matrix4()\n .makeRotationY(param.theta!) // Base rotation (if any)\n .multiply(\n new Matrix4().makeTranslation(\n param.a! / 1000,\n (param.d! +\n jointValue * (param.reverse_rotation_direction ? -1 : 1)) /\n 1000,\n 0,\n ),\n )\n .multiply(new Matrix4().makeRotationX(param.alpha!))\n\n accumulatedMatrix.multiply(matrix)\n }\n\n // Get final TCP position from accumulated matrix\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n accumulatedMatrix.decompose(position, quaternion, scale)\n tcpPosition = position\n\n // Update TCP marker\n if (tcpMeshRef.current) {\n tcpMeshRef.current.position.set(\n tcpPosition.x,\n tcpPosition.y,\n tcpPosition.z,\n )\n }\n\n // Update TCP line\n if (tcpLineRef.current) {\n const lineGeometry = tcpLineRef.current.geometry\n if (lineGeometry?.setPositions) {\n lineGeometry.setPositions([\n 0,\n 0,\n 0,\n tcpPosition.x,\n tcpPosition.y,\n tcpPosition.z,\n ])\n }\n }\n }\n\n return (\n <LinearAxisAnimator\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n onTranslationChanged={setTranslation}\n >\n <group {...props} name=\"Scene\">\n {/* Base (origin) - Green sphere representing initial previous position */}\n <mesh name=\"Base\" position={[0, 0, 0]}>\n <sphereGeometry args={[0.02, 32, 32]} />\n <meshStandardMaterial color={\"green\"} depthTest={true} />\n </mesh>\n {/* Line from Base to TCP */}\n <Line\n ref={tcpLineRef}\n points={[new Vector3(0, 0, 0), initialTcpPosition]}\n color={\"White\"}\n lineWidth={5}\n />\n {/* TCP (Tool Center Point) - Red sphere that shows final position */}\n <mesh ref={tcpMeshRef} name=\"TCP\" position={initialTcpPosition}>\n <sphereGeometry args={[0.025, 32, 32]} />\n <meshStandardMaterial color={\"red\"} depthTest={true} />\n </mesh>\n </group>\n </LinearAxisAnimator>\n )\n}\n\nexport default DHLinearAxis\n"],"names":["DHLinearAxis","rapidlyChangingMotionState","dhParameters","props","accumulatedMatrix","Matrix4","tcpMeshRef","useRef","tcpLineRef","calculateTcpPosition","jointValues","tempMatrix","i","param","jointValue","matrix","position","Vector3","quaternion","Quaternion","scale","initialTcpPosition","setTranslation","joints","tcpPosition","jointIndex","lineGeometry","jsx","LinearAxisAnimator","jsxs","Line"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { DHLinearAxisProps } from "./SupportedLinearAxis";
2
2
  export declare function DHLinearAxis({ rapidlyChangingMotionState, dhParameters, ...props }: DHLinearAxisProps): import("react/jsx-runtime").JSX.Element;
3
3
  export default DHLinearAxis;
4
+ //# sourceMappingURL=DHLinearAxis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DHLinearAxis.d.ts","sourceRoot":"","sources":["../../../src/components/robots/DHLinearAxis.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE9D,wBAAgB,YAAY,CAAC,EAC3B,0BAA0B,EAC1B,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,iBAAiB,2CAkInB;AAED,eAAe,YAAY,CAAA"}
@@ -89,3 +89,4 @@ export {
89
89
  P as DHLinearAxis,
90
90
  P as default
91
91
  };
92
+ //# sourceMappingURL=DHLinearAxis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DHLinearAxis.js","sources":["../../../src/components/robots/DHLinearAxis.tsx"],"sourcesContent":["/* biome-ignore-all lint/style/noNonNullAssertion: pre-biome code */\n/* biome-ignore-all lint/suspicious/noExplicitAny: pre-biome code */\n\nimport { Line } from \"@react-three/drei\"\nimport { useRef } from \"react\"\nimport type * as THREE from \"three\"\nimport { Matrix4, Quaternion, Vector3 } from \"three\"\nimport LinearAxisAnimator from \"./LinearAxisAnimator\"\nimport type { DHLinearAxisProps } from \"./SupportedLinearAxis\"\n\nexport function DHLinearAxis({\n rapidlyChangingMotionState,\n dhParameters,\n ...props\n}: DHLinearAxisProps) {\n // reused in every update\n const accumulatedMatrix = new Matrix4()\n\n const tcpMeshRef = useRef<THREE.Mesh | null>(null)\n const tcpLineRef = useRef<any>(null)\n\n // Calculate initial TCP position\n function calculateTcpPosition(jointValues: number[]): Vector3 {\n const tempMatrix = new Matrix4()\n\n for (let i = 0; i < dhParameters.length; i++) {\n const param = dhParameters[i]\n const jointValue = jointValues[i] ?? 0\n\n const matrix = new Matrix4()\n .makeRotationY(param.theta!) // Base rotation (if any)\n .multiply(\n new Matrix4().makeTranslation(\n param.a! / 1000,\n (param.d! +\n jointValue * (param.reverse_rotation_direction ? -1 : 1)) /\n 1000,\n 0,\n ),\n ) // Translate along X by a, and Y by d + joint_position\n .multiply(new Matrix4().makeRotationX(param.alpha!)) // Rotate around X\n\n tempMatrix.multiply(matrix)\n }\n\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n tempMatrix.decompose(position, quaternion, scale)\n return position\n }\n\n // Calculate initial TCP position for rendering\n const initialTcpPosition = calculateTcpPosition(\n rapidlyChangingMotionState.joint_position,\n )\n\n function setTranslation(joints: THREE.Object3D[], jointValues: number[]) {\n accumulatedMatrix.identity()\n\n let tcpPosition = new Vector3()\n\n // Process all joints based on dhParameters length, not joints array\n // Since we're using DHLinearAxis directly without a model, we don't have joint objects\n for (let jointIndex = 0; jointIndex < dhParameters.length; jointIndex++) {\n const jointValue = jointValues[jointIndex] ?? 0\n const param = dhParameters[jointIndex]\n\n // Calculate and accumulate transformation\n const matrix = new Matrix4()\n .makeRotationY(param.theta!) // Base rotation (if any)\n .multiply(\n new Matrix4().makeTranslation(\n param.a! / 1000,\n (param.d! +\n jointValue * (param.reverse_rotation_direction ? -1 : 1)) /\n 1000,\n 0,\n ),\n )\n .multiply(new Matrix4().makeRotationX(param.alpha!))\n\n accumulatedMatrix.multiply(matrix)\n }\n\n // Get final TCP position from accumulated matrix\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n accumulatedMatrix.decompose(position, quaternion, scale)\n tcpPosition = position\n\n // Update TCP marker\n if (tcpMeshRef.current) {\n tcpMeshRef.current.position.set(\n tcpPosition.x,\n tcpPosition.y,\n tcpPosition.z,\n )\n }\n\n // Update TCP line\n if (tcpLineRef.current) {\n const lineGeometry = tcpLineRef.current.geometry\n if (lineGeometry?.setPositions) {\n lineGeometry.setPositions([\n 0,\n 0,\n 0,\n tcpPosition.x,\n tcpPosition.y,\n tcpPosition.z,\n ])\n }\n }\n }\n\n return (\n <LinearAxisAnimator\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n onTranslationChanged={setTranslation}\n >\n <group {...props} name=\"Scene\">\n {/* Base (origin) - Green sphere representing initial previous position */}\n <mesh name=\"Base\" position={[0, 0, 0]}>\n <sphereGeometry args={[0.02, 32, 32]} />\n <meshStandardMaterial color={\"green\"} depthTest={true} />\n </mesh>\n {/* Line from Base to TCP */}\n <Line\n ref={tcpLineRef}\n points={[new Vector3(0, 0, 0), initialTcpPosition]}\n color={\"White\"}\n lineWidth={5}\n />\n {/* TCP (Tool Center Point) - Red sphere that shows final position */}\n <mesh ref={tcpMeshRef} name=\"TCP\" position={initialTcpPosition}>\n <sphereGeometry args={[0.025, 32, 32]} />\n <meshStandardMaterial color={\"red\"} depthTest={true} />\n </mesh>\n </group>\n </LinearAxisAnimator>\n )\n}\n\nexport default DHLinearAxis\n"],"names":["DHLinearAxis","rapidlyChangingMotionState","dhParameters","props","accumulatedMatrix","Matrix4","tcpMeshRef","useRef","tcpLineRef","calculateTcpPosition","jointValues","tempMatrix","param","jointValue","matrix","position","Vector3","quaternion","Quaternion","scale","initialTcpPosition","setTranslation","joints","tcpPosition","jointIndex","lineGeometry","jsx","LinearAxisAnimator","jsxs","Line"],"mappings":"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"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),g=require("@react-three/drei"),p=require("react"),c=require("three"),_=require("./RobotAnimator.cjs"),w="line",M="mesh";function y({rapidlyChangingMotionState:x,dhParameters:r,...R}){const a=new c.Matrix4,m=p.useRef([]),f=p.useRef([]);p.useEffect(()=>{m.current=new Array(r.length).fill(null),f.current=new Array(r.length).fill(null)},[r.length]);function h(n,e){const t=new c.Vector3,i=new c.Quaternion,o=new c.Vector3;a.decompose(t,i,o);const l=t.clone(),u=new c.Matrix4().makeRotationY(n.theta+e*(n.reverse_rotation_direction?-1:1)).multiply(new c.Matrix4().makeTranslation(0,n.d/1e3,0)).multiply(new c.Matrix4().makeTranslation(n.a/1e3,0,0)).multiply(new c.Matrix4().makeRotationX(n.alpha));return a.multiply(u),a.decompose(t,i,o),{a:l,b:t}}function j(n,e,t,i){if(!r)return;const o=r[n];if(!o)return;const{a:l,b:u}=h(o,i);e.geometry.setPositions([l.toArray(),u.toArray()].flat()),t.position.set(u.x,u.y,u.z)}function b(n,e){a.identity();for(let t=0;t<Math.min(n.length,e.length);t++){const i=m.current[t],o=f.current[t];i&&o&&j(t,i,o,e[t])}}return s.jsx(_.default,{rapidlyChangingMotionState:x,dhParameters:r,onRotationChanged:b,children:s.jsxs("group",{...R,name:"Scene",children:[s.jsxs("mesh",{children:[s.jsx("sphereGeometry",{args:[.01,32,32]}),s.jsx("meshStandardMaterial",{color:"black",depthTest:!0})]}),r==null?void 0:r.map((n,e)=>{const{a:t,b:i}=h(n,x.joint_position[e]??0),o=`dhrobot_J0${e}`;return s.jsxs("group",{name:o,children:[s.jsx(g.Line,{ref:l=>{m.current[e]=l},name:w,points:[t,i],color:"white",lineWidth:5}),s.jsxs("mesh",{ref:l=>{f.current[e]=l},name:M,position:i,children:[s.jsx("sphereGeometry",{args:[.01,32,32]}),s.jsx("meshStandardMaterial",{color:"black",depthTest:!0})]},`mesh_${e}`)]},o)})]})})}exports.DHRobot=y;exports.default=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),b=require("@react-three/drei"),p=require("react"),c=require("three"),w=require("./RobotAnimator.cjs"),M="line",_="mesh";function y({rapidlyChangingMotionState:x,dhParameters:r,...R}){const a=new c.Matrix4,f=p.useRef([]),m=p.useRef([]);p.useEffect(()=>{f.current=new Array(r.length).fill(null),m.current=new Array(r.length).fill(null)},[r.length]);function h(n,e){const t=new c.Vector3,i=new c.Quaternion,o=new c.Vector3;a.decompose(t,i,o);const l=t.clone(),u=new c.Matrix4().makeRotationY(n.theta+e*(n.reverse_rotation_direction?-1:1)).multiply(new c.Matrix4().makeTranslation(0,n.d/1e3,0)).multiply(new c.Matrix4().makeTranslation(n.a/1e3,0,0)).multiply(new c.Matrix4().makeRotationX(n.alpha));return a.multiply(u),a.decompose(t,i,o),{a:l,b:t}}function j(n,e,t,i){if(!r)return;const o=r[n];if(!o)return;const{a:l,b:u}=h(o,i);e.geometry.setPositions([l.toArray(),u.toArray()].flat()),t.position.set(u.x,u.y,u.z)}function g(n,e){a.identity();for(let t=0;t<Math.min(n.length,e.length);t++){const i=f.current[t],o=m.current[t];i&&o&&j(t,i,o,e[t])}}return s.jsx(w.default,{rapidlyChangingMotionState:x,dhParameters:r,onRotationChanged:g,children:s.jsxs("group",{...R,name:"Scene",children:[s.jsxs("mesh",{children:[s.jsx("sphereGeometry",{args:[.01,32,32]}),s.jsx("meshStandardMaterial",{color:"black",depthTest:!0})]}),r==null?void 0:r.map((n,e)=>{const{a:t,b:i}=h(n,x.joint_position[e]??0),o=`dhrobot_J0${e}`;return s.jsxs("group",{name:o,children:[s.jsx(b.Line,{ref:l=>{f.current[e]=l},name:M,points:[t,i],color:"white",lineWidth:5}),s.jsxs("mesh",{ref:l=>{m.current[e]=l},name:_,position:i,children:[s.jsx("sphereGeometry",{args:[.01,32,32]}),s.jsx("meshStandardMaterial",{color:"black",depthTest:!0})]},`mesh_${e}`)]},o)})]})})}exports.DHRobot=y;exports.default=y;
2
+ //# sourceMappingURL=DHRobot.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DHRobot.cjs","sources":["../../../src/components/robots/DHRobot.tsx"],"sourcesContent":["/* biome-ignore-all lint/style/noNonNullAssertion: pre-biome code */\n/* biome-ignore-all lint/suspicious/noExplicitAny: pre-biome code */\n\nimport { Line } from \"@react-three/drei\"\nimport type { DHParameter } from \"@wandelbots/nova-js/v2\"\nimport React, { useRef } from \"react\"\nimport type * as THREE from \"three\"\nimport { Matrix4, Quaternion, Vector3 } from \"three\"\nimport type { LineGeometry } from \"three/examples/jsm/lines/LineGeometry.js\"\nimport RobotAnimator from \"./RobotAnimator\"\nimport type { DHRobotProps } from \"./SupportedRobot\"\n\nconst CHILD_LINE = \"line\"\nconst CHILD_MESH = \"mesh\"\n\nexport function DHRobot({\n rapidlyChangingMotionState,\n dhParameters,\n ...props\n}: DHRobotProps) {\n // reused in every update\n const accumulatedMatrix = new Matrix4()\n\n // Store direct references to avoid searching by name\n const lineRefs = useRef<any[]>([])\n const meshRefs = useRef<(THREE.Mesh | null)[]>([])\n\n // Initialize refs array when dhParameters change\n React.useEffect(() => {\n lineRefs.current = new Array(dhParameters.length).fill(null)\n meshRefs.current = new Array(dhParameters.length).fill(null)\n }, [dhParameters.length])\n\n // Updates accumulatedMatrix with every execution\n // Reset the matrix to identity if you start a new position update\n function getLinePoints(\n dhParameter: DHParameter,\n jointRotation: number,\n ): {\n a: THREE.Vector3\n b: THREE.Vector3\n } {\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n accumulatedMatrix.decompose(position, quaternion, scale)\n const prevPosition = position.clone() // Update the previous position\n\n const matrix = new Matrix4()\n .makeRotationY(\n dhParameter.theta! +\n jointRotation * (dhParameter.reverse_rotation_direction ? -1 : 1),\n ) // Rotate around Z\n .multiply(new Matrix4().makeTranslation(0, dhParameter.d! / 1000, 0)) // Translate along Z\n .multiply(new Matrix4().makeTranslation(dhParameter.a! / 1000, 0, 0)) // Translate along X\n .multiply(new Matrix4().makeRotationX(dhParameter.alpha!)) // Rotate around X\n\n // Accumulate transformations\n accumulatedMatrix.multiply(matrix)\n accumulatedMatrix.decompose(position, quaternion, scale)\n return { a: prevPosition, b: position }\n }\n\n function setJointLineRotation(\n jointIndex: number,\n line: any, // Use any for drei Line component\n mesh: THREE.Mesh,\n jointValue: number,\n ) {\n if (!dhParameters) {\n return\n }\n\n const dh_parameter = dhParameters[jointIndex]\n if (!dh_parameter) {\n return\n }\n\n const { a, b } = getLinePoints(dh_parameter, jointValue)\n const lineGeometry = line.geometry as LineGeometry\n lineGeometry.setPositions([a.toArray(), b.toArray()].flat())\n\n mesh.position.set(b.x, b.y, b.z)\n }\n\n function setRotation(joints: THREE.Object3D[], jointValues: number[]) {\n accumulatedMatrix.identity()\n\n // Use direct refs instead of searching by name\n for (\n let jointIndex = 0;\n jointIndex < Math.min(joints.length, jointValues.length);\n jointIndex++\n ) {\n const line = lineRefs.current[jointIndex]\n const mesh = meshRefs.current[jointIndex]\n\n if (line && mesh) {\n setJointLineRotation(jointIndex, line, mesh, jointValues[jointIndex]!)\n }\n }\n }\n\n return (\n <RobotAnimator\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n onRotationChanged={setRotation}\n >\n <group {...props} name=\"Scene\">\n <mesh>\n <sphereGeometry args={[0.01, 32, 32]} />\n <meshStandardMaterial color={\"black\"} depthTest={true} />\n </mesh>\n {dhParameters?.map((param, index) => {\n const { a, b } = getLinePoints(\n param,\n rapidlyChangingMotionState.joint_position[index] ?? 0,\n )\n const jointName = `dhrobot_J0${index}`\n return (\n <group name={jointName} key={jointName}>\n <Line\n ref={(ref) => {\n lineRefs.current[index] = ref\n }}\n name={CHILD_LINE}\n points={[a, b]}\n color={\"white\"}\n lineWidth={5}\n />\n <mesh\n ref={(ref) => {\n meshRefs.current[index] = ref\n }}\n name={CHILD_MESH}\n // biome-ignore lint/suspicious/noArrayIndexKey: pre-biome code\n key={`mesh_${index}`}\n position={b}\n >\n <sphereGeometry args={[0.01, 32, 32]} />\n <meshStandardMaterial color={\"black\"} depthTest={true} />\n </mesh>\n </group>\n )\n })}\n </group>\n </RobotAnimator>\n )\n}\n\nexport default DHRobot\n"],"names":["CHILD_LINE","CHILD_MESH","DHRobot","rapidlyChangingMotionState","dhParameters","props","accumulatedMatrix","Matrix4","lineRefs","useRef","meshRefs","React","getLinePoints","dhParameter","jointRotation","position","Vector3","quaternion","Quaternion","scale","prevPosition","matrix","setJointLineRotation","jointIndex","line","mesh","jointValue","dh_parameter","a","b","setRotation","joints","jointValues","jsx","RobotAnimator","jsxs","param","index","jointName","Line","ref"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { DHRobotProps } from "./SupportedRobot";
2
2
  export declare function DHRobot({ rapidlyChangingMotionState, dhParameters, ...props }: DHRobotProps): import("react/jsx-runtime").JSX.Element;
3
3
  export default DHRobot;
4
+ //# sourceMappingURL=DHRobot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DHRobot.d.ts","sourceRoot":"","sources":["../../../src/components/robots/DHRobot.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAKpD,wBAAgB,OAAO,CAAC,EACtB,0BAA0B,EAC1B,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,YAAY,2CAkId;AAED,eAAe,OAAO,CAAA"}
@@ -91,3 +91,4 @@ export {
91
91
  E as DHRobot,
92
92
  E as default
93
93
  };
94
+ //# sourceMappingURL=DHRobot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DHRobot.js","sources":["../../../src/components/robots/DHRobot.tsx"],"sourcesContent":["/* biome-ignore-all lint/style/noNonNullAssertion: pre-biome code */\n/* biome-ignore-all lint/suspicious/noExplicitAny: pre-biome code */\n\nimport { Line } from \"@react-three/drei\"\nimport type { DHParameter } from \"@wandelbots/nova-js/v2\"\nimport React, { useRef } from \"react\"\nimport type * as THREE from \"three\"\nimport { Matrix4, Quaternion, Vector3 } from \"three\"\nimport type { LineGeometry } from \"three/examples/jsm/lines/LineGeometry.js\"\nimport RobotAnimator from \"./RobotAnimator\"\nimport type { DHRobotProps } from \"./SupportedRobot\"\n\nconst CHILD_LINE = \"line\"\nconst CHILD_MESH = \"mesh\"\n\nexport function DHRobot({\n rapidlyChangingMotionState,\n dhParameters,\n ...props\n}: DHRobotProps) {\n // reused in every update\n const accumulatedMatrix = new Matrix4()\n\n // Store direct references to avoid searching by name\n const lineRefs = useRef<any[]>([])\n const meshRefs = useRef<(THREE.Mesh | null)[]>([])\n\n // Initialize refs array when dhParameters change\n React.useEffect(() => {\n lineRefs.current = new Array(dhParameters.length).fill(null)\n meshRefs.current = new Array(dhParameters.length).fill(null)\n }, [dhParameters.length])\n\n // Updates accumulatedMatrix with every execution\n // Reset the matrix to identity if you start a new position update\n function getLinePoints(\n dhParameter: DHParameter,\n jointRotation: number,\n ): {\n a: THREE.Vector3\n b: THREE.Vector3\n } {\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n accumulatedMatrix.decompose(position, quaternion, scale)\n const prevPosition = position.clone() // Update the previous position\n\n const matrix = new Matrix4()\n .makeRotationY(\n dhParameter.theta! +\n jointRotation * (dhParameter.reverse_rotation_direction ? -1 : 1),\n ) // Rotate around Z\n .multiply(new Matrix4().makeTranslation(0, dhParameter.d! / 1000, 0)) // Translate along Z\n .multiply(new Matrix4().makeTranslation(dhParameter.a! / 1000, 0, 0)) // Translate along X\n .multiply(new Matrix4().makeRotationX(dhParameter.alpha!)) // Rotate around X\n\n // Accumulate transformations\n accumulatedMatrix.multiply(matrix)\n accumulatedMatrix.decompose(position, quaternion, scale)\n return { a: prevPosition, b: position }\n }\n\n function setJointLineRotation(\n jointIndex: number,\n line: any, // Use any for drei Line component\n mesh: THREE.Mesh,\n jointValue: number,\n ) {\n if (!dhParameters) {\n return\n }\n\n const dh_parameter = dhParameters[jointIndex]\n if (!dh_parameter) {\n return\n }\n\n const { a, b } = getLinePoints(dh_parameter, jointValue)\n const lineGeometry = line.geometry as LineGeometry\n lineGeometry.setPositions([a.toArray(), b.toArray()].flat())\n\n mesh.position.set(b.x, b.y, b.z)\n }\n\n function setRotation(joints: THREE.Object3D[], jointValues: number[]) {\n accumulatedMatrix.identity()\n\n // Use direct refs instead of searching by name\n for (\n let jointIndex = 0;\n jointIndex < Math.min(joints.length, jointValues.length);\n jointIndex++\n ) {\n const line = lineRefs.current[jointIndex]\n const mesh = meshRefs.current[jointIndex]\n\n if (line && mesh) {\n setJointLineRotation(jointIndex, line, mesh, jointValues[jointIndex]!)\n }\n }\n }\n\n return (\n <RobotAnimator\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n onRotationChanged={setRotation}\n >\n <group {...props} name=\"Scene\">\n <mesh>\n <sphereGeometry args={[0.01, 32, 32]} />\n <meshStandardMaterial color={\"black\"} depthTest={true} />\n </mesh>\n {dhParameters?.map((param, index) => {\n const { a, b } = getLinePoints(\n param,\n rapidlyChangingMotionState.joint_position[index] ?? 0,\n )\n const jointName = `dhrobot_J0${index}`\n return (\n <group name={jointName} key={jointName}>\n <Line\n ref={(ref) => {\n lineRefs.current[index] = ref\n }}\n name={CHILD_LINE}\n points={[a, b]}\n color={\"white\"}\n lineWidth={5}\n />\n <mesh\n ref={(ref) => {\n meshRefs.current[index] = ref\n }}\n name={CHILD_MESH}\n // biome-ignore lint/suspicious/noArrayIndexKey: pre-biome code\n key={`mesh_${index}`}\n position={b}\n >\n <sphereGeometry args={[0.01, 32, 32]} />\n <meshStandardMaterial color={\"black\"} depthTest={true} />\n </mesh>\n </group>\n )\n })}\n </group>\n </RobotAnimator>\n )\n}\n\nexport default DHRobot\n"],"names":["CHILD_LINE","CHILD_MESH","DHRobot","rapidlyChangingMotionState","dhParameters","props","accumulatedMatrix","Matrix4","lineRefs","useRef","meshRefs","React","getLinePoints","dhParameter","jointRotation","position","Vector3","quaternion","Quaternion","scale","prevPosition","matrix","setJointLineRotation","jointIndex","line","mesh","jointValue","dh_parameter","a","b","setRotation","joints","jointValues","jsx","RobotAnimator","jsxs","param","index","jointName","Line","ref"],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),b=require("@react-three/drei"),l=require("react"),g=require("./robotModelLogic.cjs");function y(r){return r.type==="Mesh"}function R({url:r,flangeRef:n,postModelRender:t,...u}){const s=b.useGLTF(r),c=g.parseRobotModel(s,"robot.glb").gltf,o=l.useCallback(e=>{e&&t&&t()},[t]);function f(e){try{return y(e)?e.geometry?i.jsx("mesh",{name:e.name,geometry:e.geometry,material:e.material,position:e.position,rotation:e.rotation},e.uuid):i.jsx("group",{name:e.name,position:e.position,rotation:e.rotation},e.uuid):i.jsx("group",{name:e.name,position:e.position,rotation:e.rotation,ref:g.isFlange(e)?n:void 0,children:e.children.map(f)},e.uuid)}catch(m){return console.warn("Error rendering node",e.name,m),null}}return i.jsx("group",{...u,dispose:null,ref:o,children:f(c.scene)})}function p({modelURL:r,flangeRef:n,postModelRender:t,...u}){const[s,a]=l.useState(null);return l.useEffect(()=>{(async()=>{try{if(typeof r=="string")a(r);else{const o=await r;a(o)}}catch(o){console.error("Failed to resolve model URL:",o)}})()},[r]),s?i.jsx(R,{url:s,flangeRef:n,postModelRender:t,...u}):null}exports.GenericRobot=p;exports.default=p;
2
+ //# sourceMappingURL=GenericRobot.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericRobot.cjs","sources":["../../../src/components/robots/GenericRobot.tsx"],"sourcesContent":["import { useGLTF } from \"@react-three/drei\"\nimport type { ThreeElements } from \"@react-three/fiber\"\nimport type React from \"react\"\nimport { useCallback, useEffect, useState } from \"react\"\nimport type { Group, Mesh, Object3D } from \"three\"\nimport { isFlange, parseRobotModel } from \"./robotModelLogic\"\n\nexport type RobotModelProps = {\n modelURL: string | Promise<string>\n /**\n * Called after a robot model has been loaded and\n * rendered into the threejs scene\n */\n postModelRender?: () => void\n flangeRef?: React.Ref<Group>\n} & ThreeElements[\"group\"]\n\nfunction isMesh(node: Object3D): node is Mesh {\n return node.type === \"Mesh\"\n}\n\n// Separate component that only renders when we have a valid URL\nfunction LoadedRobotModel({\n url,\n flangeRef,\n postModelRender,\n ...props\n}: {\n url: string\n flangeRef?: React.Ref<Group>\n postModelRender?: () => void\n} & ThreeElements[\"group\"]) {\n const gltfResult = useGLTF(url)\n const parsed = parseRobotModel(gltfResult, \"robot.glb\")\n const gltf = parsed.gltf\n\n const groupRef: React.RefCallback<Group> = useCallback(\n (group) => {\n if (group && postModelRender) {\n postModelRender()\n }\n },\n [postModelRender],\n )\n\n function renderNode(node: Object3D): React.ReactNode {\n try {\n if (isMesh(node)) {\n // Defensive: only render mesh if geometry exists\n if ((node as Mesh).geometry) {\n return (\n <mesh\n name={node.name}\n key={node.uuid}\n geometry={(node as Mesh).geometry}\n material={(node as Mesh).material}\n position={node.position}\n rotation={node.rotation}\n />\n )\n }\n // Fallback to empty group if geometry is missing\n return (\n <group\n name={node.name}\n key={node.uuid}\n position={node.position}\n rotation={node.rotation}\n />\n )\n } else {\n return (\n <group\n name={node.name}\n key={node.uuid}\n position={node.position}\n rotation={node.rotation}\n ref={isFlange(node) ? flangeRef : undefined}\n >\n {node.children.map(renderNode)}\n </group>\n )\n }\n } catch (e) {\n console.warn(\"Error rendering node\", node.name, e)\n return null\n }\n }\n\n return (\n <group {...props} dispose={null} ref={groupRef}>\n {renderNode(gltf.scene)}\n </group>\n )\n}\n\nexport function GenericRobot({\n modelURL,\n flangeRef,\n postModelRender,\n ...props\n}: RobotModelProps) {\n const [resolvedURL, setResolvedURL] = useState<string | null>(null)\n\n useEffect(() => {\n const resolveURL = async () => {\n try {\n if (typeof modelURL === \"string\") {\n setResolvedURL(modelURL)\n } else {\n const url = await modelURL\n setResolvedURL(url)\n }\n } catch (error) {\n console.error(\"Failed to resolve model URL:\", error)\n }\n }\n\n resolveURL()\n }, [modelURL])\n\n // Don't render until we have a resolved URL\n if (!resolvedURL) {\n return null // Loading state\n }\n\n return (\n <LoadedRobotModel\n url={resolvedURL}\n flangeRef={flangeRef}\n postModelRender={postModelRender}\n {...props}\n />\n )\n}\n\nexport default GenericRobot\n"],"names":["isMesh","node","LoadedRobotModel","url","flangeRef","postModelRender","props","gltfResult","useGLTF","gltf","parseRobotModel","groupRef","useCallback","group","renderNode","jsx","isFlange","e","GenericRobot","modelURL","resolvedURL","setResolvedURL","useState","useEffect","error"],"mappings":"sOAiBA,SAASA,EAAOC,EAA8B,CAC5C,OAAOA,EAAK,OAAS,MACvB,CAGA,SAASC,EAAiB,CACxB,IAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,GAAGC,CACL,EAI4B,CAC1B,MAAMC,EAAaC,EAAAA,QAAQL,CAAG,EAExBM,EADSC,EAAAA,gBAAgBH,EAAY,WAAW,EAClC,KAEdI,EAAqCC,EAAAA,YACxCC,GAAU,CACLA,GAASR,GACXA,EAAA,CAEJ,EACA,CAACA,CAAe,CAAA,EAGlB,SAASS,EAAWb,EAAiC,CACnD,GAAI,CACF,OAAID,EAAOC,CAAI,EAERA,EAAc,SAEfc,EAAAA,IAAC,OAAA,CACC,KAAMd,EAAK,KAEX,SAAWA,EAAc,SACzB,SAAWA,EAAc,SACzB,SAAUA,EAAK,SACf,SAAUA,EAAK,QAAA,EAJVA,EAAK,IAAA,EAUdc,EAAAA,IAAC,QAAA,CACC,KAAMd,EAAK,KAEX,SAAUA,EAAK,SACf,SAAUA,EAAK,QAAA,EAFVA,EAAK,IAAA,EAOZc,EAAAA,IAAC,QAAA,CACC,KAAMd,EAAK,KAEX,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,IAAKe,EAAAA,SAASf,CAAI,EAAIG,EAAY,OAEjC,SAAAH,EAAK,SAAS,IAAIa,CAAU,CAAA,EALxBb,EAAK,IAAA,CASlB,OAASgB,EAAG,CACV,eAAQ,KAAK,uBAAwBhB,EAAK,KAAMgB,CAAC,EAC1C,IACT,CACF,CAEA,OACEF,EAAAA,IAAC,QAAA,CAAO,GAAGT,EAAO,QAAS,KAAM,IAAKK,EACnC,SAAAG,EAAWL,EAAK,KAAK,CAAA,CACxB,CAEJ,CAEO,SAASS,EAAa,CAC3B,SAAAC,EACA,UAAAf,EACA,gBAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,KAAM,CAACc,EAAaC,CAAc,EAAIC,EAAAA,SAAwB,IAAI,EAoBlE,OAlBAC,EAAAA,UAAU,IAAM,EACK,SAAY,CAC7B,GAAI,CACF,GAAI,OAAOJ,GAAa,SACtBE,EAAeF,CAAQ,MAClB,CACL,MAAMhB,EAAM,MAAMgB,EAClBE,EAAelB,CAAG,CACpB,CACF,OAASqB,EAAO,CACd,QAAQ,MAAM,+BAAgCA,CAAK,CACrD,CACF,GAEA,CACF,EAAG,CAACL,CAAQ,CAAC,EAGRC,EAKHL,EAAAA,IAACb,EAAA,CACC,IAAKkB,EACL,UAAAhB,EACA,gBAAAC,EACC,GAAGC,CAAA,CAAA,EARC,IAWX"}
@@ -12,3 +12,4 @@ export type RobotModelProps = {
12
12
  } & ThreeElements["group"];
13
13
  export declare function GenericRobot({ modelURL, flangeRef, postModelRender, ...props }: RobotModelProps): import("react/jsx-runtime").JSX.Element | null;
14
14
  export default GenericRobot;
15
+ //# sourceMappingURL=GenericRobot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericRobot.d.ts","sourceRoot":"","sources":["../../../src/components/robots/GenericRobot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAGlD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;CAC7B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAiF1B,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,eAAe,EACf,GAAG,KAAK,EACT,EAAE,eAAe,kDAiCjB;AAED,eAAe,YAAY,CAAA"}
@@ -88,3 +88,4 @@ export {
88
88
  E as GenericRobot,
89
89
  E as default
90
90
  };
91
+ //# sourceMappingURL=GenericRobot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericRobot.js","sources":["../../../src/components/robots/GenericRobot.tsx"],"sourcesContent":["import { useGLTF } from \"@react-three/drei\"\nimport type { ThreeElements } from \"@react-three/fiber\"\nimport type React from \"react\"\nimport { useCallback, useEffect, useState } from \"react\"\nimport type { Group, Mesh, Object3D } from \"three\"\nimport { isFlange, parseRobotModel } from \"./robotModelLogic\"\n\nexport type RobotModelProps = {\n modelURL: string | Promise<string>\n /**\n * Called after a robot model has been loaded and\n * rendered into the threejs scene\n */\n postModelRender?: () => void\n flangeRef?: React.Ref<Group>\n} & ThreeElements[\"group\"]\n\nfunction isMesh(node: Object3D): node is Mesh {\n return node.type === \"Mesh\"\n}\n\n// Separate component that only renders when we have a valid URL\nfunction LoadedRobotModel({\n url,\n flangeRef,\n postModelRender,\n ...props\n}: {\n url: string\n flangeRef?: React.Ref<Group>\n postModelRender?: () => void\n} & ThreeElements[\"group\"]) {\n const gltfResult = useGLTF(url)\n const parsed = parseRobotModel(gltfResult, \"robot.glb\")\n const gltf = parsed.gltf\n\n const groupRef: React.RefCallback<Group> = useCallback(\n (group) => {\n if (group && postModelRender) {\n postModelRender()\n }\n },\n [postModelRender],\n )\n\n function renderNode(node: Object3D): React.ReactNode {\n try {\n if (isMesh(node)) {\n // Defensive: only render mesh if geometry exists\n if ((node as Mesh).geometry) {\n return (\n <mesh\n name={node.name}\n key={node.uuid}\n geometry={(node as Mesh).geometry}\n material={(node as Mesh).material}\n position={node.position}\n rotation={node.rotation}\n />\n )\n }\n // Fallback to empty group if geometry is missing\n return (\n <group\n name={node.name}\n key={node.uuid}\n position={node.position}\n rotation={node.rotation}\n />\n )\n } else {\n return (\n <group\n name={node.name}\n key={node.uuid}\n position={node.position}\n rotation={node.rotation}\n ref={isFlange(node) ? flangeRef : undefined}\n >\n {node.children.map(renderNode)}\n </group>\n )\n }\n } catch (e) {\n console.warn(\"Error rendering node\", node.name, e)\n return null\n }\n }\n\n return (\n <group {...props} dispose={null} ref={groupRef}>\n {renderNode(gltf.scene)}\n </group>\n )\n}\n\nexport function GenericRobot({\n modelURL,\n flangeRef,\n postModelRender,\n ...props\n}: RobotModelProps) {\n const [resolvedURL, setResolvedURL] = useState<string | null>(null)\n\n useEffect(() => {\n const resolveURL = async () => {\n try {\n if (typeof modelURL === \"string\") {\n setResolvedURL(modelURL)\n } else {\n const url = await modelURL\n setResolvedURL(url)\n }\n } catch (error) {\n console.error(\"Failed to resolve model URL:\", error)\n }\n }\n\n resolveURL()\n }, [modelURL])\n\n // Don't render until we have a resolved URL\n if (!resolvedURL) {\n return null // Loading state\n }\n\n return (\n <LoadedRobotModel\n url={resolvedURL}\n flangeRef={flangeRef}\n postModelRender={postModelRender}\n {...props}\n />\n )\n}\n\nexport default GenericRobot\n"],"names":["isMesh","node","LoadedRobotModel","url","flangeRef","postModelRender","props","gltfResult","useGLTF","gltf","parseRobotModel","groupRef","useCallback","group","renderNode","jsx","isFlange","e","GenericRobot","modelURL","resolvedURL","setResolvedURL","useState","useEffect","error"],"mappings":";;;;AAiBA,SAASA,EAAOC,GAA8B;AAC5C,SAAOA,EAAK,SAAS;AACvB;AAGA,SAASC,EAAiB;AAAA,EACxB,KAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAI4B;AAC1B,QAAMC,IAAaC,EAAQL,CAAG,GAExBM,IADSC,EAAgBH,GAAY,WAAW,EAClC,MAEdI,IAAqCC;AAAA,IACzC,CAACC,MAAU;AACT,MAAIA,KAASR,KACXA,EAAA;AAAA,IAEJ;AAAA,IACA,CAACA,CAAe;AAAA,EAAA;AAGlB,WAASS,EAAWb,GAAiC;AACnD,QAAI;AACF,aAAID,EAAOC,CAAI,IAERA,EAAc,WAEf,gBAAAc;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMd,EAAK;AAAA,UAEX,UAAWA,EAAc;AAAA,UACzB,UAAWA,EAAc;AAAA,UACzB,UAAUA,EAAK;AAAA,UACf,UAAUA,EAAK;AAAA,QAAA;AAAA,QAJVA,EAAK;AAAA,MAAA,IAUd,gBAAAc;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMd,EAAK;AAAA,UAEX,UAAUA,EAAK;AAAA,UACf,UAAUA,EAAK;AAAA,QAAA;AAAA,QAFVA,EAAK;AAAA,MAAA,IAOZ,gBAAAc;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMd,EAAK;AAAA,UAEX,UAAUA,EAAK;AAAA,UACf,UAAUA,EAAK;AAAA,UACf,KAAKe,EAASf,CAAI,IAAIG,IAAY;AAAA,UAEjC,UAAAH,EAAK,SAAS,IAAIa,CAAU;AAAA,QAAA;AAAA,QALxBb,EAAK;AAAA,MAAA;AAAA,IASlB,SAASgB,GAAG;AACV,qBAAQ,KAAK,wBAAwBhB,EAAK,MAAMgB,CAAC,GAC1C;AAAA,IACT;AAAA,EACF;AAEA,SACE,gBAAAF,EAAC,SAAA,EAAO,GAAGT,GAAO,SAAS,MAAM,KAAKK,GACnC,UAAAG,EAAWL,EAAK,KAAK,EAAA,CACxB;AAEJ;AAEO,SAASS,EAAa;AAAA,EAC3B,UAAAC;AAAA,EACA,WAAAf;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,QAAM,CAACc,GAAaC,CAAc,IAAIC,EAAwB,IAAI;AAoBlE,SAlBAC,EAAU,MAAM;AAcd,KAbmB,YAAY;AAC7B,UAAI;AACF,YAAI,OAAOJ,KAAa;AACtB,UAAAE,EAAeF,CAAQ;AAAA,aAClB;AACL,gBAAMhB,IAAM,MAAMgB;AAClB,UAAAE,EAAelB,CAAG;AAAA,QACpB;AAAA,MACF,SAASqB,GAAO;AACd,gBAAQ,MAAM,gCAAgCA,CAAK;AAAA,MACrD;AAAA,IACF,GAEA;AAAA,EACF,GAAG,CAACL,CAAQ,CAAC,GAGRC,IAKH,gBAAAL;AAAA,IAACb;AAAA,IAAA;AAAA,MACC,KAAKkB;AAAA,MACL,WAAAhB;AAAA,MACA,iBAAAC;AAAA,MACC,GAAGC;AAAA,IAAA;AAAA,EAAA,IARC;AAWX;"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),u=require("./DHLinearAxis.cjs"),s=require("./robotModelLogic.cjs"),m=require("./SupportedLinearAxis.cjs");function o({connectedMotionGroup:e,getModel:t=s.defaultGetModel,flangeRef:l,transparentColor:n,postModelRender:d,...a}){if(!e.dhParameters)return null;const r=e.modelFromController||"";return r&&t(r)?i.jsx(m.SupportedLinearAxis,{rapidlyChangingMotionState:e.rapidlyChangingMotionState,modelFromController:r,dhParameters:e.dhParameters,getModel:t,flangeRef:l,transparentColor:n,postModelRender:d,...a}):i.jsx(u.DHLinearAxis,{rapidlyChangingMotionState:e.rapidlyChangingMotionState,dhParameters:e.dhParameters,...a})}exports.defaultGetModel=s.defaultGetModel;exports.LinearAxis=o;exports.default=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),u=require("./DHLinearAxis.cjs"),l=require("./robotModelLogic.cjs"),h=require("./SupportedLinearAxis.cjs");function s({connectedMotionGroup:e,getModel:a=l.defaultGetModel,flangeRef:d,transparentColor:n,postModelRender:o,...t}){if(!e.dhParameters)return null;const r=e.modelFromController||"";return r&&a(r)?i.jsx(h.SupportedLinearAxis,{rapidlyChangingMotionState:e.rapidlyChangingMotionState,modelFromController:r,dhParameters:e.dhParameters,getModel:a,flangeRef:d,transparentColor:n,postModelRender:o,...t}):i.jsx(u.DHLinearAxis,{rapidlyChangingMotionState:e.rapidlyChangingMotionState,dhParameters:e.dhParameters,...t})}exports.defaultGetModel=l.defaultGetModel;exports.LinearAxis=s;exports.default=s;
2
+ //# sourceMappingURL=LinearAxis.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearAxis.cjs","sources":["../../../src/components/robots/LinearAxis.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\n\nimport type { Group } from \"three\"\nimport type { ConnectedMotionGroup } from \"../../lib/ConnectedMotionGroup\"\nimport { DHLinearAxis } from \"./DHLinearAxis\"\nimport { defaultGetModel } from \"./robotModelLogic\"\nimport { SupportedLinearAxis } from \"./SupportedLinearAxis\"\n\nexport type LinearAxisProps = {\n connectedMotionGroup: ConnectedMotionGroup\n getModel?: (modelFromController: string) => Promise<string>\n flangeRef?: React.Ref<Group>\n transparentColor?: string\n postModelRender?: () => void\n} & ThreeElements[\"group\"]\n\n/**\n * The LinearAxis component is a wrapper that renders SupportedLinearAxis if a model is available,\n * otherwise falls back to DHLinearAxis for usage with @wandelbots/nova-js ConnectedMotionGroup object.\n *\n * @param {LinearAxisProps} props - The properties for the LinearAxis component.\n * @param {ConnectedMotionGroup} props.connectedMotionGroup - The connected motion group containing motion state and parameters.\n * @param {Function} [props.getModel=defaultGetModel] - Optional function to get the model URL. Defaults to defaultGetModel.\n * @param {Object} props - Additional properties passed to the underlying component.\n *\n * @returns {JSX.Element} The rendered SupportedLinearAxis or DHLinearAxis component.\n */\nexport function LinearAxis({\n connectedMotionGroup,\n getModel = defaultGetModel,\n flangeRef,\n transparentColor,\n postModelRender,\n ...props\n}: LinearAxisProps) {\n if (!connectedMotionGroup.dhParameters) {\n return null\n }\n\n const modelFromController = connectedMotionGroup.modelFromController || \"\"\n const hasModel = modelFromController && getModel(modelFromController)\n\n // Use SupportedLinearAxis if model is available, otherwise fall back to DHLinearAxis\n if (hasModel) {\n return (\n <SupportedLinearAxis\n rapidlyChangingMotionState={\n connectedMotionGroup.rapidlyChangingMotionState\n }\n modelFromController={modelFromController}\n dhParameters={connectedMotionGroup.dhParameters}\n getModel={getModel}\n flangeRef={flangeRef}\n transparentColor={transparentColor}\n postModelRender={postModelRender}\n {...props}\n />\n )\n }\n\n return (\n <DHLinearAxis\n rapidlyChangingMotionState={\n connectedMotionGroup.rapidlyChangingMotionState\n }\n dhParameters={connectedMotionGroup.dhParameters}\n {...props}\n />\n )\n}\n\nexport { defaultGetModel }\n\nexport default LinearAxis\n"],"names":["LinearAxis","connectedMotionGroup","getModel","defaultGetModel","flangeRef","transparentColor","postModelRender","props","modelFromController","jsx","SupportedLinearAxis","DHLinearAxis"],"mappings":"2PA2BO,SAASA,EAAW,CACzB,qBAAAC,EACA,SAAAC,EAAWC,EAAAA,gBACX,UAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,GAAI,CAACN,EAAqB,aACxB,OAAO,KAGT,MAAMO,EAAsBP,EAAqB,qBAAuB,GAIxE,OAHiBO,GAAuBN,EAASM,CAAmB,EAKhEC,EAAAA,IAACC,EAAAA,oBAAA,CACC,2BACET,EAAqB,2BAEvB,oBAAAO,EACA,aAAcP,EAAqB,aACnC,SAAAC,EACA,UAAAE,EACA,iBAAAC,EACA,gBAAAC,EACC,GAAGC,CAAA,CAAA,EAMRE,EAAAA,IAACE,EAAAA,aAAA,CACC,2BACEV,EAAqB,2BAEvB,aAAcA,EAAqB,aAClC,GAAGM,CAAA,CAAA,CAGV"}
@@ -23,3 +23,4 @@ export type LinearAxisProps = {
23
23
  export declare function LinearAxis({ connectedMotionGroup, getModel, flangeRef, transparentColor, postModelRender, ...props }: LinearAxisProps): import("react/jsx-runtime").JSX.Element | null;
24
24
  export { defaultGetModel };
25
25
  export default LinearAxis;
26
+ //# sourceMappingURL=LinearAxis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearAxis.d.ts","sourceRoot":"","sources":["../../../src/components/robots/LinearAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,MAAM,MAAM,eAAe,GAAG;IAC5B,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3D,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EACzB,oBAAoB,EACpB,QAA0B,EAC1B,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,GAAG,KAAK,EACT,EAAE,eAAe,kDAmCjB;AAED,OAAO,EAAE,eAAe,EAAE,CAAA;AAE1B,eAAe,UAAU,CAAA"}
@@ -39,3 +39,4 @@ export {
39
39
  P as default,
40
40
  h as defaultGetModel
41
41
  };
42
+ //# sourceMappingURL=LinearAxis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearAxis.js","sources":["../../../src/components/robots/LinearAxis.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\n\nimport type { Group } from \"three\"\nimport type { ConnectedMotionGroup } from \"../../lib/ConnectedMotionGroup\"\nimport { DHLinearAxis } from \"./DHLinearAxis\"\nimport { defaultGetModel } from \"./robotModelLogic\"\nimport { SupportedLinearAxis } from \"./SupportedLinearAxis\"\n\nexport type LinearAxisProps = {\n connectedMotionGroup: ConnectedMotionGroup\n getModel?: (modelFromController: string) => Promise<string>\n flangeRef?: React.Ref<Group>\n transparentColor?: string\n postModelRender?: () => void\n} & ThreeElements[\"group\"]\n\n/**\n * The LinearAxis component is a wrapper that renders SupportedLinearAxis if a model is available,\n * otherwise falls back to DHLinearAxis for usage with @wandelbots/nova-js ConnectedMotionGroup object.\n *\n * @param {LinearAxisProps} props - The properties for the LinearAxis component.\n * @param {ConnectedMotionGroup} props.connectedMotionGroup - The connected motion group containing motion state and parameters.\n * @param {Function} [props.getModel=defaultGetModel] - Optional function to get the model URL. Defaults to defaultGetModel.\n * @param {Object} props - Additional properties passed to the underlying component.\n *\n * @returns {JSX.Element} The rendered SupportedLinearAxis or DHLinearAxis component.\n */\nexport function LinearAxis({\n connectedMotionGroup,\n getModel = defaultGetModel,\n flangeRef,\n transparentColor,\n postModelRender,\n ...props\n}: LinearAxisProps) {\n if (!connectedMotionGroup.dhParameters) {\n return null\n }\n\n const modelFromController = connectedMotionGroup.modelFromController || \"\"\n const hasModel = modelFromController && getModel(modelFromController)\n\n // Use SupportedLinearAxis if model is available, otherwise fall back to DHLinearAxis\n if (hasModel) {\n return (\n <SupportedLinearAxis\n rapidlyChangingMotionState={\n connectedMotionGroup.rapidlyChangingMotionState\n }\n modelFromController={modelFromController}\n dhParameters={connectedMotionGroup.dhParameters}\n getModel={getModel}\n flangeRef={flangeRef}\n transparentColor={transparentColor}\n postModelRender={postModelRender}\n {...props}\n />\n )\n }\n\n return (\n <DHLinearAxis\n rapidlyChangingMotionState={\n connectedMotionGroup.rapidlyChangingMotionState\n }\n dhParameters={connectedMotionGroup.dhParameters}\n {...props}\n />\n )\n}\n\nexport { defaultGetModel }\n\nexport default LinearAxis\n"],"names":["LinearAxis","connectedMotionGroup","getModel","defaultGetModel","flangeRef","transparentColor","postModelRender","props","modelFromController","jsx","SupportedLinearAxis","DHLinearAxis"],"mappings":";;;;AA2BO,SAASA,EAAW;AAAA,EACzB,sBAAAC;AAAA,EACA,UAAAC,IAAWC;AAAA,EACX,WAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,MAAI,CAACN,EAAqB;AACxB,WAAO;AAGT,QAAMO,IAAsBP,EAAqB,uBAAuB;AAIxE,SAHiBO,KAAuBN,EAASM,CAAmB,IAKhE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACET,EAAqB;AAAA,MAEvB,qBAAAO;AAAA,MACA,cAAcP,EAAqB;AAAA,MACnC,UAAAC;AAAA,MACA,WAAAE;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA,MACC,GAAGC;AAAA,IAAA;AAAA,EAAA,IAMR,gBAAAE;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,4BACEV,EAAqB;AAAA,MAEvB,cAAcA,EAAqB;AAAA,MAClC,GAAGM;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("react/jsx-runtime"),f=require("@react-three/fiber"),o=require("react"),R=require("../utils/hooks.cjs"),v=require("../utils/interpolation.cjs"),V=require("./robotModelLogic.cjs");function J({rapidlyChangingMotionState:n,dhParameters:d,onTranslationChanged:c,children:m}){const p=o.useRef([]),i=o.useRef([]),r=o.useRef(null),{invalidate:l}=f.useThree();o.useEffect(()=>{const t=n.joint_position.filter(e=>e!==void 0);return r.current=new v.ValueInterpolator(t,{tension:120,friction:20,threshold:.001}),()=>{var e;(e=r.current)==null||e.destroy()}},[]),f.useFrame((t,e)=>{if(r.current){const s=r.current.update(e);a(),s||l()}});function _(t){t&&(i.current=V.collectJoints(t),a(),l())}function a(){var e;const t=((e=r.current)==null?void 0:e.getCurrentValues())||[];if(c)c(i.current,t);else for(const[s,j]of i.current.entries()){const b=d[s].reverse_rotation_direction?-1:1;j.position.y=b*(t[s]||0)/1e3}}const u=o.useCallback(()=>{const t=n.joint_position.filter(e=>e!==void 0);requestAnimationFrame(()=>{var e;p.current=t,(e=r.current)==null||e.setTarget(t)})},[n]);return o.useEffect(()=>{u()},[n,u]),R.useAutorun(()=>{u()}),q.jsx("group",{ref:_,children:m})}exports.default=J;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const R=require("react/jsx-runtime"),f=require("@react-three/fiber"),n=require("react"),v=require("../utils/hooks.cjs"),V=require("../utils/interpolation.cjs"),_=require("./robotModelLogic.cjs");function J({rapidlyChangingMotionState:o,dhParameters:d,onTranslationChanged:c,children:j}){const m=n.useRef([]),i=n.useRef([]),r=n.useRef(null),{invalidate:l}=f.useThree();n.useEffect(()=>{const t=o.joint_position.filter(e=>e!==void 0);return r.current=new V.ValueInterpolator(t,{tension:120,friction:20,threshold:.001}),()=>{var e;(e=r.current)==null||e.destroy()}},[]),f.useFrame((t,e)=>{if(r.current){const s=r.current.update(e);a(),s||l()}});function p(t){t&&(i.current=_.collectJoints(t),a(),l())}function a(){var e;const t=((e=r.current)==null?void 0:e.getCurrentValues())||[];if(c)c(i.current,t);else for(const[s,b]of i.current.entries()){const q=d[s].reverse_rotation_direction?-1:1;b.position.y=q*(t[s]||0)/1e3}}const u=n.useCallback(()=>{const t=o.joint_position.filter(e=>e!==void 0);requestAnimationFrame(()=>{var e;m.current=t,(e=r.current)==null||e.setTarget(t)})},[o]);return n.useEffect(()=>{u()},[o,u]),v.useAutorun(()=>{u()}),R.jsx("group",{ref:p,children:j})}exports.default=J;
2
+ //# sourceMappingURL=LinearAxisAnimator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearAxisAnimator.cjs","sources":["../../../src/components/robots/LinearAxisAnimator.tsx"],"sourcesContent":["import { useFrame, useThree } from \"@react-three/fiber\"\nimport type { DHParameter, MotionGroupState } from \"@wandelbots/nova-js/v2\"\nimport type React from \"react\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport type { Group, Object3D } from \"three\"\nimport { useAutorun } from \"../utils/hooks\"\nimport { ValueInterpolator } from \"../utils/interpolation\"\nimport { collectJoints } from \"./robotModelLogic\"\n\ntype LinearAxisAnimatorProps = {\n rapidlyChangingMotionState: MotionGroupState\n dhParameters: DHParameter[]\n onTranslationChanged?: (joints: Object3D[], jointValues: number[]) => void\n children: React.ReactNode\n}\n\nexport default function LinearAxisAnimator({\n rapidlyChangingMotionState,\n dhParameters,\n onTranslationChanged,\n children,\n}: LinearAxisAnimatorProps) {\n const jointValues = useRef<number[]>([])\n const jointObjects = useRef<Object3D[]>([])\n const interpolatorRef = useRef<ValueInterpolator | null>(null)\n const { invalidate } = useThree()\n\n // Initialize interpolator\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n const initialJointValues = rapidlyChangingMotionState.joint_position.filter(\n (item) => item !== undefined,\n )\n\n interpolatorRef.current = new ValueInterpolator(initialJointValues, {\n tension: 120, // Controls spring stiffness - higher values create faster, more responsive motion\n friction: 20, // Controls damping - higher values reduce oscillation and create smoother settling\n threshold: 0.001,\n })\n\n return () => {\n interpolatorRef.current?.destroy()\n }\n }, [])\n\n // Animation loop that runs at the display's refresh rate\n useFrame((state, delta) => {\n if (interpolatorRef.current) {\n const isComplete = interpolatorRef.current.update(delta)\n setTranslation()\n\n // Trigger a re-render only if the animation is still running\n if (!isComplete) {\n invalidate()\n }\n }\n })\n\n function setGroupRef(group: Group | null) {\n if (!group) return\n\n jointObjects.current = collectJoints(group)\n\n // Set initial position\n setTranslation()\n invalidate()\n }\n\n function setTranslation() {\n const updatedJointValues = interpolatorRef.current?.getCurrentValues() || []\n\n if (onTranslationChanged) {\n onTranslationChanged(jointObjects.current, updatedJointValues)\n } else {\n // For linear axes, we apply translation instead of rotation\n for (const [index, object] of jointObjects.current.entries()) {\n const dhParam = dhParameters[index]\n const translationSign = dhParam.reverse_rotation_direction ? -1 : 1\n\n // Apply linear translation along Y axis\n // Convert from millimeters to meters\n object.position.y =\n (translationSign * (updatedJointValues[index] || 0)) / 1000\n }\n }\n }\n\n const updateJoints = useCallback(() => {\n const newJointValues = rapidlyChangingMotionState.joint_position.filter(\n (item) => item !== undefined,\n )\n\n requestAnimationFrame(() => {\n jointValues.current = newJointValues\n interpolatorRef.current?.setTarget(newJointValues)\n })\n }, [rapidlyChangingMotionState])\n\n /**\n * Fire an update joints call on every motion state change.\n * requestAnimationFrame used to avoid blocking main thread\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n updateJoints()\n }, [rapidlyChangingMotionState, updateJoints])\n\n /**\n * As some consumer applications (eg. storybook) deliver\n * mobx observable for rapidlyChangingMotionState, we need to\n * register the watcher to get the newest value updates\n */\n useAutorun(() => {\n updateJoints()\n })\n\n return <group ref={setGroupRef}>{children}</group>\n}\n"],"names":["LinearAxisAnimator","rapidlyChangingMotionState","dhParameters","onTranslationChanged","children","jointValues","useRef","jointObjects","interpolatorRef","invalidate","useThree","useEffect","initialJointValues","item","ValueInterpolator","_a","useFrame","state","delta","isComplete","setTranslation","setGroupRef","group","collectJoints","updatedJointValues","index","object","translationSign","updateJoints","useCallback","newJointValues","useAutorun","jsx"],"mappings":"+SAgBA,SAAwBA,EAAmB,CACzC,2BAAAC,EACA,aAAAC,EACA,qBAAAC,EACA,SAAAC,CACF,EAA4B,CAC1B,MAAMC,EAAcC,EAAAA,OAAiB,EAAE,EACjCC,EAAeD,EAAAA,OAAmB,EAAE,EACpCE,EAAkBF,EAAAA,OAAiC,IAAI,EACvD,CAAE,WAAAG,CAAA,EAAeC,WAAA,EAIvBC,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAqBX,EAA2B,eAAe,OAClEY,GAASA,IAAS,MAAA,EAGrB,OAAAL,EAAgB,QAAU,IAAIM,EAAAA,kBAAkBF,EAAoB,CAClE,QAAS,IACT,SAAU,GACV,UAAW,IAAA,CACZ,EAEM,IAAM,QACXG,EAAAP,EAAgB,UAAhB,MAAAO,EAAyB,SAC3B,CACF,EAAG,CAAA,CAAE,EAGLC,WAAS,CAACC,EAAOC,IAAU,CACzB,GAAIV,EAAgB,QAAS,CAC3B,MAAMW,EAAaX,EAAgB,QAAQ,OAAOU,CAAK,EACvDE,EAAA,EAGKD,GACHV,EAAA,CAEJ,CACF,CAAC,EAED,SAASY,EAAYC,EAAqB,CACnCA,IAELf,EAAa,QAAUgB,EAAAA,cAAcD,CAAK,EAG1CF,EAAA,EACAX,EAAA,EACF,CAEA,SAASW,GAAiB,OACxB,MAAMI,IAAqBT,EAAAP,EAAgB,UAAhB,YAAAO,EAAyB,qBAAsB,CAAA,EAE1E,GAAIZ,EACFA,EAAqBI,EAAa,QAASiB,CAAkB,MAG7D,UAAW,CAACC,EAAOC,CAAM,IAAKnB,EAAa,QAAQ,UAAW,CAE5D,MAAMoB,EADUzB,EAAauB,CAAK,EACF,2BAA6B,GAAK,EAIlEC,EAAO,SAAS,EACbC,GAAmBH,EAAmBC,CAAK,GAAK,GAAM,GAC3D,CAEJ,CAEA,MAAMG,EAAeC,EAAAA,YAAY,IAAM,CACrC,MAAMC,EAAiB7B,EAA2B,eAAe,OAC9DY,GAASA,IAAS,MAAA,EAGrB,sBAAsB,IAAM,OAC1BR,EAAY,QAAUyB,GACtBf,EAAAP,EAAgB,UAAhB,MAAAO,EAAyB,UAAUe,EACrC,CAAC,CACH,EAAG,CAAC7B,CAA0B,CAAC,EAO/BU,OAAAA,EAAAA,UAAU,IAAM,CACdiB,EAAA,CACF,EAAG,CAAC3B,EAA4B2B,CAAY,CAAC,EAO7CG,EAAAA,WAAW,IAAM,CACfH,EAAA,CACF,CAAC,EAEMI,EAAAA,IAAC,QAAA,CAAM,IAAKX,EAAc,SAAAjB,CAAA,CAAS,CAC5C"}
@@ -9,3 +9,4 @@ type LinearAxisAnimatorProps = {
9
9
  };
10
10
  export default function LinearAxisAnimator({ rapidlyChangingMotionState, dhParameters, onTranslationChanged, children, }: LinearAxisAnimatorProps): import("react/jsx-runtime").JSX.Element;
11
11
  export {};
12
+ //# sourceMappingURL=LinearAxisAnimator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearAxisAnimator.d.ts","sourceRoot":"","sources":["../../../src/components/robots/LinearAxisAnimator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,OAAO,CAAA;AAK5C,KAAK,uBAAuB,GAAG;IAC7B,0BAA0B,EAAE,gBAAgB,CAAA;IAC5C,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC1E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,QAAQ,GACT,EAAE,uBAAuB,2CAgGzB"}
@@ -63,3 +63,4 @@ function G({
63
63
  export {
64
64
  G as default
65
65
  };
66
+ //# sourceMappingURL=LinearAxisAnimator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinearAxisAnimator.js","sources":["../../../src/components/robots/LinearAxisAnimator.tsx"],"sourcesContent":["import { useFrame, useThree } from \"@react-three/fiber\"\nimport type { DHParameter, MotionGroupState } from \"@wandelbots/nova-js/v2\"\nimport type React from \"react\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport type { Group, Object3D } from \"three\"\nimport { useAutorun } from \"../utils/hooks\"\nimport { ValueInterpolator } from \"../utils/interpolation\"\nimport { collectJoints } from \"./robotModelLogic\"\n\ntype LinearAxisAnimatorProps = {\n rapidlyChangingMotionState: MotionGroupState\n dhParameters: DHParameter[]\n onTranslationChanged?: (joints: Object3D[], jointValues: number[]) => void\n children: React.ReactNode\n}\n\nexport default function LinearAxisAnimator({\n rapidlyChangingMotionState,\n dhParameters,\n onTranslationChanged,\n children,\n}: LinearAxisAnimatorProps) {\n const jointValues = useRef<number[]>([])\n const jointObjects = useRef<Object3D[]>([])\n const interpolatorRef = useRef<ValueInterpolator | null>(null)\n const { invalidate } = useThree()\n\n // Initialize interpolator\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n const initialJointValues = rapidlyChangingMotionState.joint_position.filter(\n (item) => item !== undefined,\n )\n\n interpolatorRef.current = new ValueInterpolator(initialJointValues, {\n tension: 120, // Controls spring stiffness - higher values create faster, more responsive motion\n friction: 20, // Controls damping - higher values reduce oscillation and create smoother settling\n threshold: 0.001,\n })\n\n return () => {\n interpolatorRef.current?.destroy()\n }\n }, [])\n\n // Animation loop that runs at the display's refresh rate\n useFrame((state, delta) => {\n if (interpolatorRef.current) {\n const isComplete = interpolatorRef.current.update(delta)\n setTranslation()\n\n // Trigger a re-render only if the animation is still running\n if (!isComplete) {\n invalidate()\n }\n }\n })\n\n function setGroupRef(group: Group | null) {\n if (!group) return\n\n jointObjects.current = collectJoints(group)\n\n // Set initial position\n setTranslation()\n invalidate()\n }\n\n function setTranslation() {\n const updatedJointValues = interpolatorRef.current?.getCurrentValues() || []\n\n if (onTranslationChanged) {\n onTranslationChanged(jointObjects.current, updatedJointValues)\n } else {\n // For linear axes, we apply translation instead of rotation\n for (const [index, object] of jointObjects.current.entries()) {\n const dhParam = dhParameters[index]\n const translationSign = dhParam.reverse_rotation_direction ? -1 : 1\n\n // Apply linear translation along Y axis\n // Convert from millimeters to meters\n object.position.y =\n (translationSign * (updatedJointValues[index] || 0)) / 1000\n }\n }\n }\n\n const updateJoints = useCallback(() => {\n const newJointValues = rapidlyChangingMotionState.joint_position.filter(\n (item) => item !== undefined,\n )\n\n requestAnimationFrame(() => {\n jointValues.current = newJointValues\n interpolatorRef.current?.setTarget(newJointValues)\n })\n }, [rapidlyChangingMotionState])\n\n /**\n * Fire an update joints call on every motion state change.\n * requestAnimationFrame used to avoid blocking main thread\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n updateJoints()\n }, [rapidlyChangingMotionState, updateJoints])\n\n /**\n * As some consumer applications (eg. storybook) deliver\n * mobx observable for rapidlyChangingMotionState, we need to\n * register the watcher to get the newest value updates\n */\n useAutorun(() => {\n updateJoints()\n })\n\n return <group ref={setGroupRef}>{children}</group>\n}\n"],"names":["LinearAxisAnimator","rapidlyChangingMotionState","dhParameters","onTranslationChanged","children","jointValues","useRef","jointObjects","interpolatorRef","invalidate","useThree","useEffect","initialJointValues","item","ValueInterpolator","_a","useFrame","state","delta","isComplete","setTranslation","setGroupRef","group","collectJoints","updatedJointValues","index","object","translationSign","updateJoints","useCallback","newJointValues","useAutorun","jsx"],"mappings":";;;;;;AAgBA,SAAwBA,EAAmB;AAAA,EACzC,4BAAAC;AAAA,EACA,cAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,UAAAC;AACF,GAA4B;AAC1B,QAAMC,IAAcC,EAAiB,EAAE,GACjCC,IAAeD,EAAmB,EAAE,GACpCE,IAAkBF,EAAiC,IAAI,GACvD,EAAE,YAAAG,EAAA,IAAeC,EAAA;AAIvB,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAqBX,EAA2B,eAAe;AAAA,MACnE,CAACY,MAASA,MAAS;AAAA,IAAA;AAGrB,WAAAL,EAAgB,UAAU,IAAIM,EAAkBF,GAAoB;AAAA,MAClE,SAAS;AAAA;AAAA,MACT,UAAU;AAAA;AAAA,MACV,WAAW;AAAA,IAAA,CACZ,GAEM,MAAM;;AACX,OAAAG,IAAAP,EAAgB,YAAhB,QAAAO,EAAyB;AAAA,IAC3B;AAAA,EACF,GAAG,CAAA,CAAE,GAGLC,EAAS,CAACC,GAAOC,MAAU;AACzB,QAAIV,EAAgB,SAAS;AAC3B,YAAMW,IAAaX,EAAgB,QAAQ,OAAOU,CAAK;AACvD,MAAAE,EAAA,GAGKD,KACHV,EAAA;AAAA,IAEJ;AAAA,EACF,CAAC;AAED,WAASY,EAAYC,GAAqB;AACxC,IAAKA,MAELf,EAAa,UAAUgB,EAAcD,CAAK,GAG1CF,EAAA,GACAX,EAAA;AAAA,EACF;AAEA,WAASW,IAAiB;;AACxB,UAAMI,MAAqBT,IAAAP,EAAgB,YAAhB,gBAAAO,EAAyB,uBAAsB,CAAA;AAE1E,QAAIZ;AACF,MAAAA,EAAqBI,EAAa,SAASiB,CAAkB;AAAA;AAG7D,iBAAW,CAACC,GAAOC,CAAM,KAAKnB,EAAa,QAAQ,WAAW;AAE5D,cAAMoB,IADUzB,EAAauB,CAAK,EACF,6BAA6B,KAAK;AAIlE,QAAAC,EAAO,SAAS,IACbC,KAAmBH,EAAmBC,CAAK,KAAK,KAAM;AAAA,MAC3D;AAAA,EAEJ;AAEA,QAAMG,IAAeC,EAAY,MAAM;AACrC,UAAMC,IAAiB7B,EAA2B,eAAe;AAAA,MAC/D,CAACY,MAASA,MAAS;AAAA,IAAA;AAGrB,0BAAsB,MAAM;;AAC1B,MAAAR,EAAY,UAAUyB,IACtBf,IAAAP,EAAgB,YAAhB,QAAAO,EAAyB,UAAUe;AAAA,IACrC,CAAC;AAAA,EACH,GAAG,CAAC7B,CAA0B,CAAC;AAO/B,SAAAU,EAAU,MAAM;AACd,IAAAiB,EAAA;AAAA,EACF,GAAG,CAAC3B,GAA4B2B,CAAY,CAAC,GAO7CG,EAAW,MAAM;AACf,IAAAH,EAAA;AAAA,EACF,CAAC,GAEM,gBAAAI,EAAC,SAAA,EAAM,KAAKX,GAAc,UAAAjB,EAAA,CAAS;AAC5C;"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react/jsx-runtime"),r=require("@wandelbots/nova-js/v2"),o=require("react"),m=require("../../chunks/externalizeComponent-DOwkaDcw.cjs"),b=require("./SupportedLinearAxis.cjs"),d=require("./SupportedRobot.cjs"),s=m.externalizeComponent(l=>{const{inverseSolver:e,dhParameters:t,...i}=l,[n,p]=o.useState(r.JointTypeEnum.RevoluteJoint);o.useEffect(()=>{t.length&&p(t[0].type??r.JointTypeEnum.RevoluteJoint)},[t]);const c=o.useMemo(()=>e===null&&n===r.JointTypeEnum.RevoluteJoint,[e,n]),a=o.useMemo(()=>e===null&&n===r.JointTypeEnum.PrismaticJoint,[e,n]);return o.useMemo(()=>!!e,[e])||c?u.jsx(d.SupportedRobot,{dhParameters:t,...i}):a?u.jsx(b.SupportedLinearAxis,{dhParameters:t,...i}):null});exports.MotionGroupVisualizer=s;exports.default=s;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react/jsx-runtime"),r=require("@wandelbots/nova-js/v2"),o=require("react"),m=require("../../externalizeComponent.cjs"),d=require("./SupportedLinearAxis.cjs"),J=require("./SupportedRobot.cjs"),s=m.externalizeComponent(l=>{const{inverseSolver:e,dhParameters:t,...i}=l,[n,p]=o.useState(r.JointTypeEnum.RevoluteJoint);o.useEffect(()=>{t.length&&p(t[0].type??r.JointTypeEnum.RevoluteJoint)},[t]);const a=o.useMemo(()=>e===null&&n===r.JointTypeEnum.RevoluteJoint,[e,n]),c=o.useMemo(()=>e===null&&n===r.JointTypeEnum.PrismaticJoint,[e,n]);return o.useMemo(()=>!!e,[e])||a?u.jsx(J.SupportedRobot,{dhParameters:t,...i}):c?u.jsx(d.SupportedLinearAxis,{dhParameters:t,...i}):null});exports.MotionGroupVisualizer=s;exports.default=s;
2
+ //# sourceMappingURL=MotionGroupVisualizer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MotionGroupVisualizer.cjs","sources":["../../../src/components/robots/MotionGroupVisualizer.tsx"],"sourcesContent":["import { JointTypeEnum } from \"@wandelbots/nova-js/v2\"\nimport type React from \"react\"\nimport { useEffect, useMemo, useState } from \"react\"\n\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport {\n SupportedLinearAxis,\n type SupportedLinearAxisProps,\n} from \"./SupportedLinearAxis\"\nimport { SupportedRobot, type SupportedRobotProps } from \"./SupportedRobot\"\n\nexport type MotionGroupVisualizerProps = {\n instanceUrl: string\n inverseSolver?: string | null\n} & (SupportedRobotProps | SupportedLinearAxisProps)\n\nexport const MotionGroupVisualizer: React.FC<MotionGroupVisualizerProps> =\n externalizeComponent((props: MotionGroupVisualizerProps) => {\n const { inverseSolver, dhParameters, ...rest } = props\n\n /**\n * Joint type to find out - in combination with inverseSolver - whether the\n * active robot is a turn table\n */\n const [jointType, setJointType] = useState<JointTypeEnum>(\n JointTypeEnum.RevoluteJoint,\n )\n\n /**\n * Sets the joint type according to delivered dh parameter type\n */\n useEffect(() => {\n if (dhParameters.length) {\n setJointType(dhParameters[0].type ?? JointTypeEnum.RevoluteJoint)\n }\n }, [dhParameters])\n\n /**\n * The turntable models return inverseSolver = null - however these models\n * should be rendered with SupportedRobot instead of SupportedLinearAxis\n */\n const isTurnTable = useMemo(() => {\n return inverseSolver === null && jointType === JointTypeEnum.RevoluteJoint\n }, [inverseSolver, jointType])\n\n /**\n * Linear axis check\n */\n const isLinearAxis = useMemo(() => {\n return (\n inverseSolver === null && jointType === JointTypeEnum.PrismaticJoint\n )\n }, [inverseSolver, jointType])\n\n /**\n * Robot differentiation for readability reasons\n */\n const isRobot = useMemo(() => {\n return !!inverseSolver\n }, [inverseSolver])\n\n if (isRobot || isTurnTable) {\n return <SupportedRobot dhParameters={dhParameters} {...rest} />\n }\n\n if (isLinearAxis) {\n return <SupportedLinearAxis dhParameters={dhParameters} {...rest} />\n }\n\n return null\n })\n\nexport default MotionGroupVisualizer\n"],"names":["MotionGroupVisualizer","externalizeComponent","props","inverseSolver","dhParameters","rest","jointType","setJointType","useState","JointTypeEnum","useEffect","isTurnTable","useMemo","isLinearAxis","jsx","SupportedRobot","SupportedLinearAxis"],"mappings":"6TAgBaA,EACXC,EAAAA,qBAAsBC,GAAsC,CAC1D,KAAM,CAAE,cAAAC,EAAe,aAAAC,EAAc,GAAGC,GAASH,EAM3C,CAACI,EAAWC,CAAY,EAAIC,EAAAA,SAChCC,gBAAc,aAAA,EAMhBC,EAAAA,UAAU,IAAM,CACVN,EAAa,QACfG,EAAaH,EAAa,CAAC,EAAE,MAAQK,EAAAA,cAAc,aAAa,CAEpE,EAAG,CAACL,CAAY,CAAC,EAMjB,MAAMO,EAAcC,EAAAA,QAAQ,IACnBT,IAAkB,MAAQG,IAAcG,EAAAA,cAAc,cAC5D,CAACN,EAAeG,CAAS,CAAC,EAKvBO,EAAeD,EAAAA,QAAQ,IAEzBT,IAAkB,MAAQG,IAAcG,EAAAA,cAAc,eAEvD,CAACN,EAAeG,CAAS,CAAC,EAS7B,OAJgBM,EAAAA,QAAQ,IACf,CAAC,CAACT,EACR,CAACA,CAAa,CAAC,GAEHQ,EACNG,EAAAA,IAACC,EAAAA,eAAA,CAAe,aAAAX,EAA6B,GAAGC,CAAA,CAAM,EAG3DQ,EACKC,EAAAA,IAACE,EAAAA,oBAAA,CAAoB,aAAAZ,EAA6B,GAAGC,CAAA,CAAM,EAG7D,IACT,CAAC"}
@@ -7,3 +7,4 @@ export type MotionGroupVisualizerProps = {
7
7
  } & (SupportedRobotProps | SupportedLinearAxisProps);
8
8
  export declare const MotionGroupVisualizer: React.FC<MotionGroupVisualizerProps>;
9
9
  export default MotionGroupVisualizer;
10
+ //# sourceMappingURL=MotionGroupVisualizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MotionGroupVisualizer.d.ts","sourceRoot":"","sources":["../../../src/components/robots/MotionGroupVisualizer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3E,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,GAAG,CAAC,mBAAmB,GAAG,wBAAwB,CAAC,CAAA;AAEpD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAsDnE,CAAA;AAEJ,eAAe,qBAAqB,CAAA"}
@@ -1,14 +1,14 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
2
  import { JointTypeEnum as r } from "@wandelbots/nova-js/v2";
3
- import { useState as a, useEffect as f, useMemo as n } from "react";
4
- import { e as c } from "../../chunks/externalizeComponent-eiCc5DIh.js";
3
+ import { useState as f, useEffect as a, useMemo as n } from "react";
4
+ import { externalizeComponent as c } from "../../externalizeComponent.js";
5
5
  import { SupportedLinearAxis as J } from "./SupportedLinearAxis.js";
6
6
  import { SupportedRobot as R } from "./SupportedRobot.js";
7
7
  const h = c((u) => {
8
- const { inverseSolver: t, dhParameters: o, ...i } = u, [e, m] = a(
8
+ const { inverseSolver: t, dhParameters: o, ...i } = u, [e, m] = f(
9
9
  r.RevoluteJoint
10
10
  );
11
- f(() => {
11
+ a(() => {
12
12
  o.length && m(o[0].type ?? r.RevoluteJoint);
13
13
  }, [o]);
14
14
  const p = n(() => t === null && e === r.RevoluteJoint, [t, e]), l = n(() => t === null && e === r.PrismaticJoint, [t, e]);
@@ -18,3 +18,4 @@ export {
18
18
  h as MotionGroupVisualizer,
19
19
  h as default
20
20
  };
21
+ //# sourceMappingURL=MotionGroupVisualizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MotionGroupVisualizer.js","sources":["../../../src/components/robots/MotionGroupVisualizer.tsx"],"sourcesContent":["import { JointTypeEnum } from \"@wandelbots/nova-js/v2\"\nimport type React from \"react\"\nimport { useEffect, useMemo, useState } from \"react\"\n\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport {\n SupportedLinearAxis,\n type SupportedLinearAxisProps,\n} from \"./SupportedLinearAxis\"\nimport { SupportedRobot, type SupportedRobotProps } from \"./SupportedRobot\"\n\nexport type MotionGroupVisualizerProps = {\n instanceUrl: string\n inverseSolver?: string | null\n} & (SupportedRobotProps | SupportedLinearAxisProps)\n\nexport const MotionGroupVisualizer: React.FC<MotionGroupVisualizerProps> =\n externalizeComponent((props: MotionGroupVisualizerProps) => {\n const { inverseSolver, dhParameters, ...rest } = props\n\n /**\n * Joint type to find out - in combination with inverseSolver - whether the\n * active robot is a turn table\n */\n const [jointType, setJointType] = useState<JointTypeEnum>(\n JointTypeEnum.RevoluteJoint,\n )\n\n /**\n * Sets the joint type according to delivered dh parameter type\n */\n useEffect(() => {\n if (dhParameters.length) {\n setJointType(dhParameters[0].type ?? JointTypeEnum.RevoluteJoint)\n }\n }, [dhParameters])\n\n /**\n * The turntable models return inverseSolver = null - however these models\n * should be rendered with SupportedRobot instead of SupportedLinearAxis\n */\n const isTurnTable = useMemo(() => {\n return inverseSolver === null && jointType === JointTypeEnum.RevoluteJoint\n }, [inverseSolver, jointType])\n\n /**\n * Linear axis check\n */\n const isLinearAxis = useMemo(() => {\n return (\n inverseSolver === null && jointType === JointTypeEnum.PrismaticJoint\n )\n }, [inverseSolver, jointType])\n\n /**\n * Robot differentiation for readability reasons\n */\n const isRobot = useMemo(() => {\n return !!inverseSolver\n }, [inverseSolver])\n\n if (isRobot || isTurnTable) {\n return <SupportedRobot dhParameters={dhParameters} {...rest} />\n }\n\n if (isLinearAxis) {\n return <SupportedLinearAxis dhParameters={dhParameters} {...rest} />\n }\n\n return null\n })\n\nexport default MotionGroupVisualizer\n"],"names":["MotionGroupVisualizer","externalizeComponent","props","inverseSolver","dhParameters","rest","jointType","setJointType","useState","JointTypeEnum","useEffect","isTurnTable","useMemo","isLinearAxis","jsx","SupportedRobot","SupportedLinearAxis"],"mappings":";;;;;;AAgBO,MAAMA,IACXC,EAAqB,CAACC,MAAsC;AAC1D,QAAM,EAAE,eAAAC,GAAe,cAAAC,GAAc,GAAGC,MAASH,GAM3C,CAACI,GAAWC,CAAY,IAAIC;AAAA,IAChCC,EAAc;AAAA,EAAA;AAMhB,EAAAC,EAAU,MAAM;AACd,IAAIN,EAAa,UACfG,EAAaH,EAAa,CAAC,EAAE,QAAQK,EAAc,aAAa;AAAA,EAEpE,GAAG,CAACL,CAAY,CAAC;AAMjB,QAAMO,IAAcC,EAAQ,MACnBT,MAAkB,QAAQG,MAAcG,EAAc,eAC5D,CAACN,GAAeG,CAAS,CAAC,GAKvBO,IAAeD,EAAQ,MAEzBT,MAAkB,QAAQG,MAAcG,EAAc,gBAEvD,CAACN,GAAeG,CAAS,CAAC;AAS7B,SAJgBM,EAAQ,MACf,CAAC,CAACT,GACR,CAACA,CAAa,CAAC,KAEHQ,IACN,gBAAAG,EAACC,GAAA,EAAe,cAAAX,GAA6B,GAAGC,EAAA,CAAM,IAG3DQ,IACK,gBAAAC,EAACE,GAAA,EAAoB,cAAAZ,GAA6B,GAAGC,EAAA,CAAM,IAG7D;AACT,CAAC;"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),t=require("./robotModelLogic.cjs"),i=require("./SupportedRobot.cjs");function o({connectedMotionGroup:e,getModel:r=t.defaultGetModel,flangeRef:l,transparentColor:a,postModelRender:d,...u}){return e.dhParameters?s.jsx(i.SupportedRobot,{rapidlyChangingMotionState:e.rapidlyChangingMotionState,modelFromController:e.modelFromController||"",dhParameters:e.dhParameters,getModel:r,flangeRef:l,transparentColor:a,postModelRender:d,...u}):null}exports.defaultGetModel=t.defaultGetModel;exports.Robot=o;exports.default=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),t=require("./robotModelLogic.cjs"),s=require("./SupportedRobot.cjs");function r({connectedMotionGroup:e,getModel:o=t.defaultGetModel,flangeRef:l,transparentColor:a,postModelRender:d,...u}){return e.dhParameters?i.jsx(s.SupportedRobot,{rapidlyChangingMotionState:e.rapidlyChangingMotionState,modelFromController:e.modelFromController||"",dhParameters:e.dhParameters,getModel:o,flangeRef:l,transparentColor:a,postModelRender:d,...u}):null}exports.defaultGetModel=t.defaultGetModel;exports.Robot=r;exports.default=r;
2
+ //# sourceMappingURL=Robot.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Robot.cjs","sources":["../../../src/components/robots/Robot.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\n\nimport type { Group } from \"three\"\nimport type { ConnectedMotionGroup } from \"../../lib/ConnectedMotionGroup\"\nimport { defaultGetModel } from \"./robotModelLogic\"\nimport { SupportedRobot } from \"./SupportedRobot\"\n\nexport type RobotProps = {\n connectedMotionGroup: ConnectedMotionGroup\n getModel?: (modelFromController: string) => Promise<string>\n flangeRef?: React.Ref<Group>\n transparentColor?: string\n postModelRender?: () => void\n} & ThreeElements[\"group\"]\n\n/**\n * The Robot component is a wrapper around the SupportedRobot component\n * for usage with @wandelbots/nova-js ConnectedMotionGroup object.\n *\n * @param {RobotProps} props - The properties for the Robot component.\n * @param {ConnectedMotionGroup} props.connectedMotionGroup - The connected motion group containing motion state and parameters.\n * @param {Function} [props.getModel=defaultGetModel] - Optional function to get the model URL. Defaults to defaultGetModel.\n * @param {Object} props - Additional properties passed to the SupportedRobot component.\n *\n * @returns {JSX.Element} The rendered SupportedRobot component.\n */\nexport function Robot({\n connectedMotionGroup,\n getModel = defaultGetModel,\n flangeRef,\n transparentColor,\n postModelRender,\n ...props\n}: RobotProps) {\n if (!connectedMotionGroup.dhParameters) {\n return null\n }\n\n return (\n <SupportedRobot\n rapidlyChangingMotionState={\n connectedMotionGroup.rapidlyChangingMotionState\n }\n modelFromController={connectedMotionGroup.modelFromController || \"\"}\n dhParameters={connectedMotionGroup.dhParameters}\n getModel={getModel}\n flangeRef={flangeRef}\n transparentColor={transparentColor}\n postModelRender={postModelRender}\n {...props}\n />\n )\n}\n\nexport { defaultGetModel }\n\nexport default Robot\n"],"names":["Robot","connectedMotionGroup","getModel","defaultGetModel","flangeRef","transparentColor","postModelRender","props","jsx","SupportedRobot"],"mappings":"sNA0BO,SAASA,EAAM,CACpB,qBAAAC,EACA,SAAAC,EAAWC,EAAAA,gBACX,UAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,GAAGC,CACL,EAAe,CACb,OAAKN,EAAqB,aAKxBO,EAAAA,IAACC,EAAAA,eAAA,CACC,2BACER,EAAqB,2BAEvB,oBAAqBA,EAAqB,qBAAuB,GACjE,aAAcA,EAAqB,aACnC,SAAAC,EACA,UAAAE,EACA,iBAAAC,EACA,gBAAAC,EACC,GAAGC,CAAA,CAAA,EAdC,IAiBX"}
@@ -23,3 +23,4 @@ export type RobotProps = {
23
23
  export declare function Robot({ connectedMotionGroup, getModel, flangeRef, transparentColor, postModelRender, ...props }: RobotProps): import("react/jsx-runtime").JSX.Element | null;
24
24
  export { defaultGetModel };
25
25
  export default Robot;
26
+ //# sourceMappingURL=Robot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Robot.d.ts","sourceRoot":"","sources":["../../../src/components/robots/Robot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,MAAM,MAAM,UAAU,GAAG;IACvB,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3D,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,EACpB,oBAAoB,EACpB,QAA0B,EAC1B,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,GAAG,KAAK,EACT,EAAE,UAAU,kDAmBZ;AAED,OAAO,EAAE,eAAe,EAAE,CAAA;AAE1B,eAAe,KAAK,CAAA"}
@@ -28,3 +28,4 @@ export {
28
28
  s as default,
29
29
  d as defaultGetModel
30
30
  };
31
+ //# sourceMappingURL=Robot.js.map