@wandelbots/wandelbots-js-react-components 5.4.2 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (668) hide show
  1. package/dist/3d.cjs +2 -0
  2. package/dist/3d.cjs.map +1 -0
  3. package/dist/3d.js +31 -0
  4. package/dist/3d.js.map +1 -0
  5. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
  6. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -1
  7. package/dist/components/3d-viewport/PresetEnvironment.cjs +2 -0
  8. package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
  9. package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
  10. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -1
  11. package/dist/components/3d-viewport/PresetEnvironment.js +81 -0
  12. package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
  13. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -0
  14. package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
  15. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
  16. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -1
  17. package/dist/components/3d-viewport/SafetyZonesRenderer.js +131 -0
  18. package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
  19. package/dist/components/3d-viewport/TrajectoryRenderer.cjs +2 -0
  20. package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
  21. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
  22. package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -1
  23. package/dist/components/3d-viewport/TrajectoryRenderer.js +31 -0
  24. package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
  25. package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -0
  26. package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
  27. package/dist/components/3d-viewport/collider/ColliderCollection.js +22 -0
  28. package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
  29. package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -0
  30. package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
  31. package/dist/components/3d-viewport/collider/ColliderElement.js +29 -0
  32. package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
  33. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -0
  34. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
  35. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +19 -0
  36. package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
  37. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +2 -0
  38. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
  39. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +43 -0
  40. package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
  41. package/dist/components/AppHeader.cjs +2 -0
  42. package/dist/components/AppHeader.cjs.map +1 -0
  43. package/dist/components/AppHeader.d.ts +1 -0
  44. package/dist/components/AppHeader.d.ts.map +1 -1
  45. package/dist/components/AppHeader.js +139 -0
  46. package/dist/components/AppHeader.js.map +1 -0
  47. package/dist/components/ConsoleFilter.cjs +2 -0
  48. package/dist/components/ConsoleFilter.cjs.map +1 -0
  49. package/dist/components/ConsoleFilter.js +13 -0
  50. package/dist/components/ConsoleFilter.js.map +1 -0
  51. package/dist/components/CopyableText.cjs +2 -0
  52. package/dist/components/CopyableText.cjs.map +1 -0
  53. package/dist/components/CopyableText.d.ts +1 -0
  54. package/dist/components/CopyableText.d.ts.map +1 -1
  55. package/dist/components/CopyableText.js +71 -0
  56. package/dist/components/CopyableText.js.map +1 -0
  57. package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
  58. package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -1
  59. package/dist/components/CycleTimer/DefaultVariant.cjs +2 -0
  60. package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
  61. package/dist/components/CycleTimer/DefaultVariant.js +301 -0
  62. package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
  63. package/dist/components/CycleTimer/SmallVariant.cjs +2 -0
  64. package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
  65. package/dist/components/CycleTimer/SmallVariant.js +150 -0
  66. package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
  67. package/dist/components/CycleTimer/index.cjs +2 -0
  68. package/dist/components/CycleTimer/index.cjs.map +1 -0
  69. package/dist/components/CycleTimer/index.d.ts +1 -0
  70. package/dist/components/CycleTimer/index.d.ts.map +1 -1
  71. package/dist/components/CycleTimer/index.js +86 -0
  72. package/dist/components/CycleTimer/index.js.map +1 -0
  73. package/dist/components/CycleTimer/useAnimations.cjs +2 -0
  74. package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
  75. package/dist/components/CycleTimer/useAnimations.js +105 -0
  76. package/dist/components/CycleTimer/useAnimations.js.map +1 -0
  77. package/dist/components/CycleTimer/useTimerLogic.cjs +2 -0
  78. package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
  79. package/dist/components/CycleTimer/useTimerLogic.js +191 -0
  80. package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
  81. package/dist/components/CycleTimer/utils.cjs +2 -0
  82. package/dist/components/CycleTimer/utils.cjs.map +1 -0
  83. package/dist/components/CycleTimer/utils.js +20 -0
  84. package/dist/components/CycleTimer/utils.js.map +1 -0
  85. package/dist/components/CycleTimer.cjs +2 -0
  86. package/dist/components/CycleTimer.cjs.map +1 -0
  87. package/dist/components/CycleTimer.d.ts +1 -0
  88. package/dist/components/CycleTimer.d.ts.map +1 -1
  89. package/dist/components/CycleTimer.js +6 -0
  90. package/dist/components/CycleTimer.js.map +1 -0
  91. package/dist/components/DataGrid.cjs +2 -0
  92. package/dist/components/DataGrid.cjs.map +1 -0
  93. package/dist/components/DataGrid.d.ts +1 -0
  94. package/dist/components/DataGrid.d.ts.map +1 -1
  95. package/dist/components/DataGrid.js +535 -0
  96. package/dist/components/DataGrid.js.map +1 -0
  97. package/dist/components/LoadingCover.cjs +2 -0
  98. package/dist/components/LoadingCover.cjs.map +1 -0
  99. package/dist/components/LoadingCover.d.ts +1 -0
  100. package/dist/components/LoadingCover.d.ts.map +1 -1
  101. package/dist/components/LoadingCover.js +77 -0
  102. package/dist/components/LoadingCover.js.map +1 -0
  103. package/dist/components/LogPanel.cjs +2 -0
  104. package/dist/components/LogPanel.cjs.map +1 -0
  105. package/dist/components/LogPanel.d.ts +1 -0
  106. package/dist/components/LogPanel.d.ts.map +1 -1
  107. package/dist/components/LogPanel.js +34 -0
  108. package/dist/components/LogPanel.js.map +1 -0
  109. package/dist/components/LogStore.cjs +2 -0
  110. package/dist/components/LogStore.cjs.map +1 -0
  111. package/dist/components/LogStore.d.ts +1 -0
  112. package/dist/components/LogStore.d.ts.map +1 -1
  113. package/dist/components/LogStore.js +33 -0
  114. package/dist/components/LogStore.js.map +1 -0
  115. package/dist/components/LogViewer.cjs +2 -0
  116. package/dist/components/LogViewer.cjs.map +1 -0
  117. package/dist/components/LogViewer.d.ts +1 -0
  118. package/dist/components/LogViewer.d.ts.map +1 -1
  119. package/dist/components/LogViewer.js +299 -0
  120. package/dist/components/LogViewer.js.map +1 -0
  121. package/dist/components/ProgramControl.cjs +2 -0
  122. package/dist/components/ProgramControl.cjs.map +1 -0
  123. package/dist/components/ProgramControl.d.ts +1 -0
  124. package/dist/components/ProgramControl.d.ts.map +1 -1
  125. package/dist/components/ProgramControl.js +147 -0
  126. package/dist/components/ProgramControl.js.map +1 -0
  127. package/dist/components/ProgramStateIndicator.cjs +2 -0
  128. package/dist/components/ProgramStateIndicator.cjs.map +1 -0
  129. package/dist/components/ProgramStateIndicator.d.ts +1 -0
  130. package/dist/components/ProgramStateIndicator.d.ts.map +1 -1
  131. package/dist/components/ProgramStateIndicator.js +140 -0
  132. package/dist/components/ProgramStateIndicator.js.map +1 -0
  133. package/dist/components/RobotCard.cjs +2 -0
  134. package/dist/components/RobotCard.cjs.map +1 -0
  135. package/dist/components/RobotCard.d.ts +1 -0
  136. package/dist/components/RobotCard.d.ts.map +1 -1
  137. package/dist/components/RobotCard.js +360 -0
  138. package/dist/components/RobotCard.js.map +1 -0
  139. package/dist/components/RobotListItem.cjs +2 -0
  140. package/dist/components/RobotListItem.cjs.map +1 -0
  141. package/dist/components/RobotListItem.d.ts +1 -0
  142. package/dist/components/RobotListItem.d.ts.map +1 -1
  143. package/dist/components/RobotListItem.js +122 -0
  144. package/dist/components/RobotListItem.js.map +1 -0
  145. package/dist/components/RobotSetupReadinessIndicator.cjs +2 -0
  146. package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
  147. package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
  148. package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -1
  149. package/dist/components/RobotSetupReadinessIndicator.js +122 -0
  150. package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
  151. package/dist/components/SelectableFab.cjs +2 -0
  152. package/dist/components/SelectableFab.cjs.map +1 -0
  153. package/dist/components/SelectableFab.d.ts +1 -1
  154. package/dist/components/SelectableFab.d.ts.map +1 -1
  155. package/dist/components/SelectableFab.js +51 -0
  156. package/dist/components/SelectableFab.js.map +1 -0
  157. package/dist/components/TabBar.cjs +2 -0
  158. package/dist/components/TabBar.cjs.map +1 -0
  159. package/dist/components/TabBar.d.ts +1 -0
  160. package/dist/components/TabBar.d.ts.map +1 -1
  161. package/dist/components/TabBar.js +212 -0
  162. package/dist/components/TabBar.js.map +1 -0
  163. package/dist/components/ThemeSelect.d.ts +1 -1
  164. package/dist/components/ThemeSelect.d.ts.map +1 -1
  165. package/dist/components/Timer/Timer.d.ts +1 -0
  166. package/dist/components/Timer/Timer.d.ts.map +1 -1
  167. package/dist/components/Timer/TimerDefaultVariant.cjs +2 -0
  168. package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
  169. package/dist/components/Timer/TimerDefaultVariant.js +136 -0
  170. package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
  171. package/dist/components/Timer/TimerSmallVariant.cjs +2 -0
  172. package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
  173. package/dist/components/Timer/TimerSmallVariant.js +128 -0
  174. package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
  175. package/dist/components/Timer/index.cjs +2 -0
  176. package/dist/components/Timer/index.cjs.map +1 -0
  177. package/dist/components/Timer/index.d.ts +1 -0
  178. package/dist/components/Timer/index.d.ts.map +1 -1
  179. package/dist/components/Timer/index.js +68 -0
  180. package/dist/components/Timer/index.js.map +1 -0
  181. package/dist/components/Timer/useTimerAnimations.cjs +2 -0
  182. package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
  183. package/dist/components/Timer/useTimerAnimations.js +48 -0
  184. package/dist/components/Timer/useTimerAnimations.js.map +1 -0
  185. package/dist/components/Timer/useTimerLogic.cjs +2 -0
  186. package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
  187. package/dist/components/Timer/useTimerLogic.js +113 -0
  188. package/dist/components/Timer/useTimerLogic.js.map +1 -0
  189. package/dist/components/Timer/utils.cjs +2 -0
  190. package/dist/components/Timer/utils.cjs.map +1 -0
  191. package/dist/components/Timer/utils.js +19 -0
  192. package/dist/components/Timer/utils.js.map +1 -0
  193. package/dist/components/Timer.cjs +2 -0
  194. package/dist/components/Timer.cjs.map +1 -0
  195. package/dist/components/Timer.d.ts +4 -0
  196. package/dist/components/Timer.d.ts.map +1 -0
  197. package/dist/components/Timer.js +6 -0
  198. package/dist/components/Timer.js.map +1 -0
  199. package/dist/components/TransparentOverlay.d.ts +1 -0
  200. package/dist/components/TransparentOverlay.d.ts.map +1 -1
  201. package/dist/components/VelocitySlider.cjs +2 -0
  202. package/dist/components/VelocitySlider.cjs.map +1 -0
  203. package/dist/components/VelocitySlider.d.ts +1 -1
  204. package/dist/components/VelocitySlider.d.ts.map +1 -1
  205. package/dist/components/VelocitySlider.js +97 -0
  206. package/dist/components/VelocitySlider.js.map +1 -0
  207. package/dist/components/experimental/utils/AdornedSelect.cjs +2 -0
  208. package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
  209. package/dist/components/experimental/utils/AdornedSelect.js +35 -0
  210. package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
  211. package/dist/components/jogging/JoggingBlocked.cjs +2 -0
  212. package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
  213. package/dist/components/jogging/JoggingBlocked.js +46 -0
  214. package/dist/components/jogging/JoggingBlocked.js.map +1 -0
  215. package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -0
  216. package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
  217. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -1
  218. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -1
  219. package/dist/components/jogging/JoggingCartesianAxisControl.js +186 -0
  220. package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
  221. package/dist/components/jogging/JoggingCartesianTab.cjs +2 -0
  222. package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
  223. package/dist/components/jogging/JoggingCartesianTab.js +267 -0
  224. package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
  225. package/dist/components/jogging/JoggingJointLimitDetector.cjs +2 -0
  226. package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
  227. package/dist/components/jogging/JoggingJointLimitDetector.js +42 -0
  228. package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
  229. package/dist/components/jogging/JoggingJointTab.cjs +2 -0
  230. package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
  231. package/dist/components/jogging/JoggingJointTab.js +114 -0
  232. package/dist/components/jogging/JoggingJointTab.js.map +1 -0
  233. package/dist/components/jogging/JoggingJointValueControl.cjs +2 -0
  234. package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
  235. package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -1
  236. package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -1
  237. package/dist/components/jogging/JoggingJointValueControl.js +240 -0
  238. package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
  239. package/dist/components/jogging/JoggingOptions.cjs +2 -0
  240. package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
  241. package/dist/components/jogging/JoggingOptions.js +117 -0
  242. package/dist/components/jogging/JoggingOptions.js.map +1 -0
  243. package/dist/components/jogging/JoggingPanel.cjs +2 -0
  244. package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
  245. package/dist/components/jogging/JoggingPanel.d.ts +1 -0
  246. package/dist/components/jogging/JoggingPanel.d.ts.map +1 -1
  247. package/dist/components/jogging/JoggingPanel.js +121 -0
  248. package/dist/components/jogging/JoggingPanel.js.map +1 -0
  249. package/dist/components/jogging/JoggingStore.cjs +2 -0
  250. package/dist/components/jogging/JoggingStore.cjs.map +1 -0
  251. package/dist/components/jogging/JoggingStore.d.ts +1 -1
  252. package/dist/components/jogging/JoggingStore.d.ts.map +1 -1
  253. package/dist/components/jogging/JoggingStore.js +219 -0
  254. package/dist/components/jogging/JoggingStore.js.map +1 -0
  255. package/dist/components/jogging/JoggingToggleButtonGroup.cjs +2 -0
  256. package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
  257. package/dist/components/jogging/JoggingToggleButtonGroup.js +29 -0
  258. package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
  259. package/dist/components/jogging/JoggingVelocitySlider.cjs +2 -0
  260. package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
  261. package/dist/components/jogging/JoggingVelocitySlider.js +40 -0
  262. package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
  263. package/dist/components/jogging/PoseCartesianValues.cjs +2 -0
  264. package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
  265. package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
  266. package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -1
  267. package/dist/components/jogging/PoseCartesianValues.js +48 -0
  268. package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
  269. package/dist/components/jogging/PoseJointValues.cjs +2 -0
  270. package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
  271. package/dist/components/jogging/PoseJointValues.d.ts +1 -0
  272. package/dist/components/jogging/PoseJointValues.d.ts.map +1 -1
  273. package/dist/components/jogging/PoseJointValues.js +47 -0
  274. package/dist/components/jogging/PoseJointValues.js.map +1 -0
  275. package/dist/components/modal/NoMotionGroupModal.cjs +2 -0
  276. package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
  277. package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
  278. package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -1
  279. package/dist/components/modal/NoMotionGroupModal.js +92 -0
  280. package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
  281. package/dist/components/robots/AxisConfig.cjs +2 -0
  282. package/dist/components/robots/AxisConfig.cjs.map +1 -0
  283. package/dist/components/robots/AxisConfig.js +5 -0
  284. package/dist/components/robots/AxisConfig.js.map +1 -0
  285. package/dist/components/robots/DHLinearAxis.cjs +2 -0
  286. package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
  287. package/dist/components/robots/DHLinearAxis.d.ts +1 -0
  288. package/dist/components/robots/DHLinearAxis.d.ts.map +1 -1
  289. package/dist/components/robots/DHLinearAxis.js +92 -0
  290. package/dist/components/robots/DHLinearAxis.js.map +1 -0
  291. package/dist/components/robots/DHRobot.cjs +2 -0
  292. package/dist/components/robots/DHRobot.cjs.map +1 -0
  293. package/dist/components/robots/DHRobot.d.ts +1 -0
  294. package/dist/components/robots/DHRobot.d.ts.map +1 -1
  295. package/dist/components/robots/DHRobot.js +94 -0
  296. package/dist/components/robots/DHRobot.js.map +1 -0
  297. package/dist/components/robots/GenericRobot.cjs +2 -0
  298. package/dist/components/robots/GenericRobot.cjs.map +1 -0
  299. package/dist/components/robots/GenericRobot.d.ts +1 -0
  300. package/dist/components/robots/GenericRobot.d.ts.map +1 -1
  301. package/dist/components/robots/GenericRobot.js +91 -0
  302. package/dist/components/robots/GenericRobot.js.map +1 -0
  303. package/dist/components/robots/LinearAxis.cjs +2 -0
  304. package/dist/components/robots/LinearAxis.cjs.map +1 -0
  305. package/dist/components/robots/LinearAxis.d.ts +1 -0
  306. package/dist/components/robots/LinearAxis.d.ts.map +1 -1
  307. package/dist/components/robots/LinearAxis.js +42 -0
  308. package/dist/components/robots/LinearAxis.js.map +1 -0
  309. package/dist/components/robots/LinearAxisAnimator.cjs +2 -0
  310. package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
  311. package/dist/components/robots/LinearAxisAnimator.js +66 -0
  312. package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
  313. package/dist/components/robots/MotionGroupVisualizer.cjs +2 -0
  314. package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
  315. package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
  316. package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -1
  317. package/dist/components/robots/MotionGroupVisualizer.js +21 -0
  318. package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
  319. package/dist/components/robots/Robot.cjs +2 -0
  320. package/dist/components/robots/Robot.cjs.map +1 -0
  321. package/dist/components/robots/Robot.d.ts +1 -0
  322. package/dist/components/robots/Robot.d.ts.map +1 -1
  323. package/dist/components/robots/Robot.js +31 -0
  324. package/dist/components/robots/Robot.js.map +1 -0
  325. package/dist/components/robots/RobotAnimator.cjs +2 -0
  326. package/dist/components/robots/RobotAnimator.cjs.map +1 -0
  327. package/dist/components/robots/RobotAnimator.js +66 -0
  328. package/dist/components/robots/RobotAnimator.js.map +1 -0
  329. package/dist/components/robots/SupportedLinearAxis.cjs +2 -0
  330. package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
  331. package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
  332. package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -1
  333. package/dist/components/robots/SupportedLinearAxis.js +82 -0
  334. package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
  335. package/dist/components/robots/SupportedRobot.cjs +2 -0
  336. package/dist/components/robots/SupportedRobot.cjs.map +1 -0
  337. package/dist/components/robots/SupportedRobot.d.ts +1 -0
  338. package/dist/components/robots/SupportedRobot.d.ts.map +1 -1
  339. package/dist/components/robots/SupportedRobot.js +82 -0
  340. package/dist/components/robots/SupportedRobot.js.map +1 -0
  341. package/dist/components/robots/ghostStyle.cjs +2 -0
  342. package/dist/components/robots/ghostStyle.cjs.map +1 -0
  343. package/dist/components/robots/ghostStyle.js +40 -0
  344. package/dist/components/robots/ghostStyle.js.map +1 -0
  345. package/dist/components/robots/manufacturerHomePositions.cjs +2 -0
  346. package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
  347. package/dist/components/robots/manufacturerHomePositions.js +51 -0
  348. package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
  349. package/dist/components/robots/robotModelLogic.cjs +2 -0
  350. package/dist/components/robots/robotModelLogic.cjs.map +1 -0
  351. package/dist/components/robots/robotModelLogic.js +61 -0
  352. package/dist/components/robots/robotModelLogic.js.map +1 -0
  353. package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -0
  354. package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
  355. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -1
  356. package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -1
  357. package/dist/components/safetyBar/ControllerTypeIndicator.js +71 -0
  358. package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
  359. package/dist/components/safetyBar/IndicatorWithExplanation.cjs +2 -0
  360. package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
  361. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
  362. package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -1
  363. package/dist/components/safetyBar/IndicatorWithExplanation.js +123 -0
  364. package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
  365. package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -0
  366. package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
  367. package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -1
  368. package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -1
  369. package/dist/components/safetyBar/OperationModeIndicator.js +75 -0
  370. package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
  371. package/dist/components/safetyBar/SafetyBar.cjs +2 -0
  372. package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
  373. package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
  374. package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -1
  375. package/dist/components/safetyBar/SafetyBar.js +66 -0
  376. package/dist/components/safetyBar/SafetyBar.js.map +1 -0
  377. package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -0
  378. package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
  379. package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -1
  380. package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -1
  381. package/dist/components/safetyBar/SafetyStateIndicator.js +126 -0
  382. package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
  383. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
  384. package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
  385. package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
  386. package/dist/components/safetyBar/icons/controller-type-physical.svg.js +11 -0
  387. package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
  388. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
  389. package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
  390. package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
  391. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
  392. package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
  393. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
  394. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
  395. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
  396. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
  397. package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
  398. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
  399. package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
  400. package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
  401. package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
  402. package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
  403. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
  404. package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
  405. package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
  406. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
  407. package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
  408. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
  409. package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
  410. package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
  411. package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
  412. package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
  413. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
  414. package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
  415. package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
  416. package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
  417. package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
  418. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
  419. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
  420. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
  421. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
  422. package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
  423. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
  424. package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
  425. package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
  426. package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
  427. package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
  428. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
  429. package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
  430. package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
  431. package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
  432. package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
  433. package/dist/components/utils/converters.cjs +2 -0
  434. package/dist/components/utils/converters.cjs.map +1 -0
  435. package/dist/components/utils/converters.js +40 -0
  436. package/dist/components/utils/converters.js.map +1 -0
  437. package/dist/components/utils/errorHandling.cjs +2 -0
  438. package/dist/components/utils/errorHandling.cjs.map +1 -0
  439. package/dist/components/utils/errorHandling.js +14 -0
  440. package/dist/components/utils/errorHandling.js.map +1 -0
  441. package/dist/components/utils/hooks.cjs +2 -0
  442. package/dist/components/utils/hooks.cjs.map +1 -0
  443. package/dist/components/utils/hooks.js +29 -0
  444. package/dist/components/utils/hooks.js.map +1 -0
  445. package/dist/components/utils/interpolation.cjs +2 -0
  446. package/dist/components/utils/interpolation.cjs.map +1 -0
  447. package/dist/components/utils/interpolation.js +138 -0
  448. package/dist/components/utils/interpolation.js.map +1 -0
  449. package/dist/core.cjs +2 -0
  450. package/dist/core.cjs.map +1 -0
  451. package/dist/core.js +81 -0
  452. package/dist/core.js.map +1 -0
  453. package/dist/externalizeComponent.cjs +2 -0
  454. package/dist/externalizeComponent.cjs.map +1 -0
  455. package/dist/externalizeComponent.js +13 -0
  456. package/dist/externalizeComponent.js.map +1 -0
  457. package/dist/i18n/config.cjs +2 -0
  458. package/dist/i18n/config.cjs.map +1 -0
  459. package/dist/i18n/config.js +25 -0
  460. package/dist/i18n/config.js.map +1 -0
  461. package/dist/i18n/locales/de/translations.json.cjs +3 -0
  462. package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
  463. package/dist/i18n/locales/de/translations.json.js +94 -0
  464. package/dist/i18n/locales/de/translations.json.js.map +1 -0
  465. package/dist/i18n/locales/en/translations.json.cjs +2 -0
  466. package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
  467. package/dist/i18n/locales/en/translations.json.js +94 -0
  468. package/dist/i18n/locales/en/translations.json.js.map +1 -0
  469. package/dist/icons/DropdownArrowIcon.cjs +2 -0
  470. package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
  471. package/dist/icons/DropdownArrowIcon.js +14 -0
  472. package/dist/icons/DropdownArrowIcon.js.map +1 -0
  473. package/dist/icons/axis-x.svg.cjs +2 -0
  474. package/dist/icons/axis-x.svg.cjs.map +1 -0
  475. package/dist/icons/axis-x.svg.d.ts +3 -0
  476. package/dist/icons/axis-x.svg.js +11 -0
  477. package/dist/icons/axis-x.svg.js.map +1 -0
  478. package/dist/icons/axis-y.svg.cjs +2 -0
  479. package/dist/icons/axis-y.svg.cjs.map +1 -0
  480. package/dist/icons/axis-y.svg.d.ts +3 -0
  481. package/dist/icons/axis-y.svg.js +11 -0
  482. package/dist/icons/axis-y.svg.js.map +1 -0
  483. package/dist/icons/axis-z.svg.cjs +2 -0
  484. package/dist/icons/axis-z.svg.cjs.map +1 -0
  485. package/dist/icons/axis-z.svg.d.ts +3 -0
  486. package/dist/icons/axis-z.svg.js +11 -0
  487. package/dist/icons/axis-z.svg.js.map +1 -0
  488. package/dist/icons/home.svg.cjs +2 -0
  489. package/dist/icons/home.svg.cjs.map +1 -0
  490. package/dist/icons/home.svg.d.ts +3 -0
  491. package/dist/icons/home.svg.js +11 -0
  492. package/dist/icons/home.svg.js.map +1 -0
  493. package/dist/icons/jog-minus.svg.cjs +2 -0
  494. package/dist/icons/jog-minus.svg.cjs.map +1 -0
  495. package/dist/icons/jog-minus.svg.d.ts +3 -0
  496. package/dist/icons/jog-minus.svg.js +11 -0
  497. package/dist/icons/jog-minus.svg.js.map +1 -0
  498. package/dist/icons/jog-plus.svg.cjs +2 -0
  499. package/dist/icons/jog-plus.svg.cjs.map +1 -0
  500. package/dist/icons/jog-plus.svg.d.ts +3 -0
  501. package/dist/icons/jog-plus.svg.js +11 -0
  502. package/dist/icons/jog-plus.svg.js.map +1 -0
  503. package/dist/icons/jogging.svg.cjs +2 -0
  504. package/dist/icons/jogging.svg.cjs.map +1 -0
  505. package/dist/icons/jogging.svg.d.ts +3 -0
  506. package/dist/icons/jogging.svg.js +11 -0
  507. package/dist/icons/jogging.svg.js.map +1 -0
  508. package/dist/icons/orientation-coord-system.svg.cjs +2 -0
  509. package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
  510. package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
  511. package/dist/icons/orientation-coord-system.svg.js +11 -0
  512. package/dist/icons/orientation-coord-system.svg.js.map +1 -0
  513. package/dist/icons/orientation-tool.svg.cjs +2 -0
  514. package/dist/icons/orientation-tool.svg.cjs.map +1 -0
  515. package/dist/icons/orientation-tool.svg.d.ts +3 -0
  516. package/dist/icons/orientation-tool.svg.js +11 -0
  517. package/dist/icons/orientation-tool.svg.js.map +1 -0
  518. package/dist/icons/robot.svg.cjs +2 -0
  519. package/dist/icons/robot.svg.cjs.map +1 -0
  520. package/dist/icons/robot.svg.d.ts +3 -0
  521. package/dist/icons/robot.svg.js +11 -0
  522. package/dist/icons/robot.svg.js.map +1 -0
  523. package/dist/icons/rotation.svg.cjs +2 -0
  524. package/dist/icons/rotation.svg.cjs.map +1 -0
  525. package/dist/icons/rotation.svg.d.ts +3 -0
  526. package/dist/icons/rotation.svg.js +11 -0
  527. package/dist/icons/rotation.svg.js.map +1 -0
  528. package/dist/icons/wbLogo.svg.cjs +2 -0
  529. package/dist/icons/wbLogo.svg.cjs.map +1 -0
  530. package/dist/icons/wbLogo.svg.d.ts +3 -0
  531. package/dist/icons/wbLogo.svg.js +11 -0
  532. package/dist/icons/wbLogo.svg.js.map +1 -0
  533. package/dist/index.cjs +2 -0
  534. package/dist/index.cjs.map +1 -0
  535. package/dist/index.js +153 -0
  536. package/dist/index.js.map +1 -0
  537. package/dist/lib/ConnectedMotionGroup.cjs +4 -0
  538. package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
  539. package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
  540. package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -1
  541. package/dist/lib/ConnectedMotionGroup.js +250 -0
  542. package/dist/lib/ConnectedMotionGroup.js.map +1 -0
  543. package/dist/lib/JoggerConnection.cjs +2 -0
  544. package/dist/lib/JoggerConnection.cjs.map +1 -0
  545. package/dist/lib/JoggerConnection.d.ts +1 -0
  546. package/dist/lib/JoggerConnection.d.ts.map +1 -1
  547. package/dist/lib/JoggerConnection.js +342 -0
  548. package/dist/lib/JoggerConnection.js.map +1 -0
  549. package/dist/lib/MotionStreamConnection.cjs +3 -0
  550. package/dist/lib/MotionStreamConnection.cjs.map +1 -0
  551. package/dist/lib/MotionStreamConnection.d.ts +1 -0
  552. package/dist/lib/MotionStreamConnection.d.ts.map +1 -1
  553. package/dist/lib/MotionStreamConnection.js +94 -0
  554. package/dist/lib/MotionStreamConnection.js.map +1 -0
  555. package/dist/lib/motionStateUpdate.cjs +2 -0
  556. package/dist/lib/motionStateUpdate.cjs.map +1 -0
  557. package/dist/lib/motionStateUpdate.js +49 -0
  558. package/dist/lib/motionStateUpdate.js.map +1 -0
  559. package/dist/test/consumer.test.d.ts +2 -0
  560. package/dist/test/consumer.test.d.ts.map +1 -0
  561. package/dist/themes/createDarkTheme.cjs +2 -0
  562. package/dist/themes/createDarkTheme.cjs.map +1 -0
  563. package/dist/themes/createDarkTheme.js +344 -0
  564. package/dist/themes/createDarkTheme.js.map +1 -0
  565. package/dist/themes/createLightTheme.cjs +2 -0
  566. package/dist/themes/createLightTheme.cjs.map +1 -0
  567. package/dist/themes/createLightTheme.js +9 -0
  568. package/dist/themes/createLightTheme.js.map +1 -0
  569. package/dist/themes/theming.cjs +2 -0
  570. package/dist/themes/theming.cjs.map +1 -0
  571. package/dist/themes/theming.js +14 -0
  572. package/dist/themes/theming.js.map +1 -0
  573. package/dist/wb-icons.cjs +2 -0
  574. package/dist/wb-icons.cjs.map +1 -0
  575. package/dist/wb-icons.js +47 -0
  576. package/dist/wb-icons.js.map +1 -0
  577. package/package.json +20 -9
  578. package/src/components/3d-viewport/CoordinateSystemTransform.tsx +2 -0
  579. package/src/components/3d-viewport/PresetEnvironment.tsx +2 -0
  580. package/src/components/3d-viewport/SafetyZonesRenderer.tsx +2 -0
  581. package/src/components/3d-viewport/TrajectoryRenderer.tsx +2 -0
  582. package/src/components/AppHeader.tsx +2 -0
  583. package/src/components/CopyableText.tsx +2 -0
  584. package/src/components/CycleTimer/CycleTimer.ts +2 -0
  585. package/src/components/CycleTimer/index.tsx +2 -0
  586. package/src/components/CycleTimer.tsx +2 -0
  587. package/src/components/DataGrid.tsx +2 -0
  588. package/src/components/LoadingCover.tsx +2 -0
  589. package/src/components/LogPanel.tsx +2 -0
  590. package/src/components/LogStore.ts +2 -0
  591. package/src/components/LogViewer.tsx +2 -0
  592. package/src/components/ProgramControl.tsx +2 -0
  593. package/src/components/ProgramStateIndicator.tsx +2 -0
  594. package/src/components/RobotCard.tsx +2 -0
  595. package/src/components/RobotListItem.tsx +2 -0
  596. package/src/components/RobotSetupReadinessIndicator.tsx +2 -0
  597. package/src/components/SelectableFab.tsx +2 -0
  598. package/src/components/TabBar.tsx +2 -0
  599. package/src/components/ThemeSelect.tsx +2 -0
  600. package/src/components/Timer/Timer.ts +2 -0
  601. package/src/components/Timer/index.tsx +2 -0
  602. package/src/components/Timer.ts +4 -0
  603. package/src/components/TransparentOverlay.tsx +2 -0
  604. package/src/components/VelocitySlider.tsx +2 -0
  605. package/src/components/jogging/JoggingCartesianAxisControl.tsx +2 -0
  606. package/src/components/jogging/JoggingJointValueControl.tsx +2 -0
  607. package/src/components/jogging/JoggingPanel.tsx +2 -0
  608. package/src/components/jogging/JoggingStore.ts +2 -0
  609. package/src/components/jogging/PoseCartesianValues.tsx +2 -0
  610. package/src/components/jogging/PoseJointValues.tsx +2 -0
  611. package/src/components/modal/NoMotionGroupModal.tsx +2 -0
  612. package/src/components/robots/DHLinearAxis.tsx +2 -0
  613. package/src/components/robots/DHRobot.tsx +2 -0
  614. package/src/components/robots/GenericRobot.tsx +2 -0
  615. package/src/components/robots/LinearAxis.tsx +2 -0
  616. package/src/components/robots/MotionGroupVisualizer.tsx +2 -0
  617. package/src/components/robots/Robot.tsx +2 -0
  618. package/src/components/robots/SupportedLinearAxis.tsx +2 -0
  619. package/src/components/robots/SupportedRobot.tsx +2 -0
  620. package/src/components/safetyBar/ControllerTypeIndicator.tsx +2 -0
  621. package/src/components/safetyBar/IndicatorWithExplanation.tsx +2 -0
  622. package/src/components/safetyBar/OperationModeIndicator.tsx +2 -0
  623. package/src/components/safetyBar/SafetyBar.tsx +2 -0
  624. package/src/components/safetyBar/SafetyStateIndicator.tsx +2 -0
  625. package/src/lib/ConnectedMotionGroup.ts +2 -0
  626. package/src/lib/JoggerConnection.ts +2 -0
  627. package/src/lib/MotionStreamConnection.ts +2 -0
  628. package/src/test/consumer.test.ts +230 -0
  629. package/dist/3d.cjs.js +0 -2
  630. package/dist/3d.cjs.js.map +0 -1
  631. package/dist/3d.es.js +0 -19
  632. package/dist/3d.es.js.map +0 -1
  633. package/dist/MotionGroupVisualizer-B-e22qXF.cjs +0 -2
  634. package/dist/MotionGroupVisualizer-B-e22qXF.cjs.map +0 -1
  635. package/dist/MotionGroupVisualizer-CIASsBC6.js +0 -1433
  636. package/dist/MotionGroupVisualizer-CIASsBC6.js.map +0 -1
  637. package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs +0 -5
  638. package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs.map +0 -1
  639. package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js +0 -4217
  640. package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js.map +0 -1
  641. package/dist/core.cjs.js +0 -2
  642. package/dist/core.cjs.js.map +0 -1
  643. package/dist/core.es.js +0 -52
  644. package/dist/core.es.js.map +0 -1
  645. package/dist/index.cjs.js +0 -2
  646. package/dist/index.cjs.js.map +0 -1
  647. package/dist/index.es.js +0 -92
  648. package/dist/index.es.js.map +0 -1
  649. package/dist/interpolation-BIB6FC35.cjs +0 -198
  650. package/dist/interpolation-BIB6FC35.cjs.map +0 -1
  651. package/dist/interpolation-lSTX6ZXZ.js +0 -14559
  652. package/dist/interpolation-lSTX6ZXZ.js.map +0 -1
  653. package/dist/safety-state-stop-ClWLVLMl.cjs +0 -2
  654. package/dist/safety-state-stop-ClWLVLMl.cjs.map +0 -1
  655. package/dist/safety-state-stop-DuMBCxN5.js +0 -91
  656. package/dist/safety-state-stop-DuMBCxN5.js.map +0 -1
  657. package/dist/theming-D_pShDEg.js +0 -32236
  658. package/dist/theming-D_pShDEg.js.map +0 -1
  659. package/dist/theming-L5E8VSae.cjs +0 -84
  660. package/dist/theming-L5E8VSae.cjs.map +0 -1
  661. package/dist/wb-icons.cjs.js +0 -2
  662. package/dist/wb-icons.cjs.js.map +0 -1
  663. package/dist/wb-icons.es.js +0 -27
  664. package/dist/wb-icons.es.js.map +0 -1
  665. package/dist/wbLogo-CObCmqTw.js +0 -31
  666. package/dist/wbLogo-CObCmqTw.js.map +0 -1
  667. package/dist/wbLogo-G_IfZ03l.cjs +0 -2
  668. package/dist/wbLogo-G_IfZ03l.cjs.map +0 -1
@@ -0,0 +1,91 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { useGLTF as m } from "@react-three/drei";
3
+ import { useState as p, useEffect as g, useCallback as h } from "react";
4
+ import { parseRobotModel as y, isFlange as b } from "./robotModelLogic.js";
5
+ function v(t) {
6
+ return t.type === "Mesh";
7
+ }
8
+ function R({
9
+ url: t,
10
+ flangeRef: s,
11
+ postModelRender: e,
12
+ ...a
13
+ }) {
14
+ const n = m(t), l = y(n, "robot.glb").gltf, o = h(
15
+ (r) => {
16
+ r && e && e();
17
+ },
18
+ [e]
19
+ );
20
+ function c(r) {
21
+ try {
22
+ return v(r) ? r.geometry ? /* @__PURE__ */ i(
23
+ "mesh",
24
+ {
25
+ name: r.name,
26
+ geometry: r.geometry,
27
+ material: r.material,
28
+ position: r.position,
29
+ rotation: r.rotation
30
+ },
31
+ r.uuid
32
+ ) : /* @__PURE__ */ i(
33
+ "group",
34
+ {
35
+ name: r.name,
36
+ position: r.position,
37
+ rotation: r.rotation
38
+ },
39
+ r.uuid
40
+ ) : /* @__PURE__ */ i(
41
+ "group",
42
+ {
43
+ name: r.name,
44
+ position: r.position,
45
+ rotation: r.rotation,
46
+ ref: b(r) ? s : void 0,
47
+ children: r.children.map(c)
48
+ },
49
+ r.uuid
50
+ );
51
+ } catch (f) {
52
+ return console.warn("Error rendering node", r.name, f), null;
53
+ }
54
+ }
55
+ return /* @__PURE__ */ i("group", { ...a, dispose: null, ref: o, children: c(l.scene) });
56
+ }
57
+ function E({
58
+ modelURL: t,
59
+ flangeRef: s,
60
+ postModelRender: e,
61
+ ...a
62
+ }) {
63
+ const [n, u] = p(null);
64
+ return g(() => {
65
+ (async () => {
66
+ try {
67
+ if (typeof t == "string")
68
+ u(t);
69
+ else {
70
+ const o = await t;
71
+ u(o);
72
+ }
73
+ } catch (o) {
74
+ console.error("Failed to resolve model URL:", o);
75
+ }
76
+ })();
77
+ }, [t]), n ? /* @__PURE__ */ i(
78
+ R,
79
+ {
80
+ url: n,
81
+ flangeRef: s,
82
+ postModelRender: e,
83
+ ...a
84
+ }
85
+ ) : null;
86
+ }
87
+ export {
88
+ E as GenericRobot,
89
+ E as default
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;"}
@@ -0,0 +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"),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"}
@@ -22,4 +22,5 @@ export type LinearAxisProps = {
22
22
  */
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
+ export default LinearAxis;
25
26
  //# sourceMappingURL=LinearAxis.d.ts.map
@@ -1 +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"}
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"}
@@ -0,0 +1,42 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { DHLinearAxis as d } from "./DHLinearAxis.js";
3
+ import { defaultGetModel as h } from "./robotModelLogic.js";
4
+ import { SupportedLinearAxis as n } from "./SupportedLinearAxis.js";
5
+ function P({
6
+ connectedMotionGroup: r,
7
+ getModel: t = h,
8
+ flangeRef: m,
9
+ transparentColor: l,
10
+ postModelRender: s,
11
+ ...e
12
+ }) {
13
+ if (!r.dhParameters)
14
+ return null;
15
+ const a = r.modelFromController || "";
16
+ return a && t(a) ? /* @__PURE__ */ i(
17
+ n,
18
+ {
19
+ rapidlyChangingMotionState: r.rapidlyChangingMotionState,
20
+ modelFromController: a,
21
+ dhParameters: r.dhParameters,
22
+ getModel: t,
23
+ flangeRef: m,
24
+ transparentColor: l,
25
+ postModelRender: s,
26
+ ...e
27
+ }
28
+ ) : /* @__PURE__ */ i(
29
+ d,
30
+ {
31
+ rapidlyChangingMotionState: r.rapidlyChangingMotionState,
32
+ dhParameters: r.dhParameters,
33
+ ...e
34
+ }
35
+ );
36
+ }
37
+ export {
38
+ P as LinearAxis,
39
+ P as default,
40
+ h as defaultGetModel
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;"}
@@ -0,0 +1,2 @@
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"}
@@ -0,0 +1,66 @@
1
+ import { jsx as v } from "react/jsx-runtime";
2
+ import { useThree as x, useFrame as A } from "@react-three/fiber";
3
+ import { useRef as u, useEffect as l, useCallback as _ } from "react";
4
+ import { useAutorun as b } from "../utils/hooks.js";
5
+ import { ValueInterpolator as R } from "../utils/interpolation.js";
6
+ import { collectJoints as w } from "./robotModelLogic.js";
7
+ function G({
8
+ rapidlyChangingMotionState: o,
9
+ dhParameters: m,
10
+ onTranslationChanged: c,
11
+ children: p
12
+ }) {
13
+ const d = u([]), i = u([]), r = u(null), { invalidate: f } = x();
14
+ l(() => {
15
+ const e = o.joint_position.filter(
16
+ (t) => t !== void 0
17
+ );
18
+ return r.current = new R(e, {
19
+ tension: 120,
20
+ // Controls spring stiffness - higher values create faster, more responsive motion
21
+ friction: 20,
22
+ // Controls damping - higher values reduce oscillation and create smoother settling
23
+ threshold: 1e-3
24
+ }), () => {
25
+ var t;
26
+ (t = r.current) == null || t.destroy();
27
+ };
28
+ }, []), A((e, t) => {
29
+ if (r.current) {
30
+ const n = r.current.update(t);
31
+ a(), n || f();
32
+ }
33
+ });
34
+ function j(e) {
35
+ e && (i.current = w(e), a(), f());
36
+ }
37
+ function a() {
38
+ var t;
39
+ const e = ((t = r.current) == null ? void 0 : t.getCurrentValues()) || [];
40
+ if (c)
41
+ c(i.current, e);
42
+ else
43
+ for (const [n, V] of i.current.entries()) {
44
+ const J = m[n].reverse_rotation_direction ? -1 : 1;
45
+ V.position.y = J * (e[n] || 0) / 1e3;
46
+ }
47
+ }
48
+ const s = _(() => {
49
+ const e = o.joint_position.filter(
50
+ (t) => t !== void 0
51
+ );
52
+ requestAnimationFrame(() => {
53
+ var t;
54
+ d.current = e, (t = r.current) == null || t.setTarget(e);
55
+ });
56
+ }, [o]);
57
+ return l(() => {
58
+ s();
59
+ }, [o, s]), b(() => {
60
+ s();
61
+ }), /* @__PURE__ */ v("group", { ref: j, children: p });
62
+ }
63
+ export {
64
+ G as default
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;"}
@@ -0,0 +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("../../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"}
@@ -6,4 +6,5 @@ export type MotionGroupVisualizerProps = {
6
6
  inverseSolver?: string | null;
7
7
  } & (SupportedRobotProps | SupportedLinearAxisProps);
8
8
  export declare const MotionGroupVisualizer: React.FC<MotionGroupVisualizerProps>;
9
+ export default MotionGroupVisualizer;
9
10
  //# sourceMappingURL=MotionGroupVisualizer.d.ts.map
@@ -1 +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"}
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"}
@@ -0,0 +1,21 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { JointTypeEnum as r } from "@wandelbots/nova-js/v2";
3
+ import { useState as f, useEffect as a, useMemo as n } from "react";
4
+ import { externalizeComponent as c } from "../../externalizeComponent.js";
5
+ import { SupportedLinearAxis as J } from "./SupportedLinearAxis.js";
6
+ import { SupportedRobot as R } from "./SupportedRobot.js";
7
+ const h = c((u) => {
8
+ const { inverseSolver: t, dhParameters: o, ...i } = u, [e, m] = f(
9
+ r.RevoluteJoint
10
+ );
11
+ a(() => {
12
+ o.length && m(o[0].type ?? r.RevoluteJoint);
13
+ }, [o]);
14
+ const p = n(() => t === null && e === r.RevoluteJoint, [t, e]), l = n(() => t === null && e === r.PrismaticJoint, [t, e]);
15
+ return n(() => !!t, [t]) || p ? /* @__PURE__ */ s(R, { dhParameters: o, ...i }) : l ? /* @__PURE__ */ s(J, { dhParameters: o, ...i }) : null;
16
+ });
17
+ export {
18
+ h as MotionGroupVisualizer,
19
+ h as default
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;"}
@@ -0,0 +1,2 @@
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"}
@@ -22,4 +22,5 @@ export type RobotProps = {
22
22
  */
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
+ export default Robot;
25
26
  //# sourceMappingURL=Robot.d.ts.map
@@ -1 +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"}
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"}
@@ -0,0 +1,31 @@
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import { defaultGetModel as d } from "./robotModelLogic.js";
3
+ import { SupportedRobot as i } from "./SupportedRobot.js";
4
+ function s({
5
+ connectedMotionGroup: r,
6
+ getModel: t = d,
7
+ flangeRef: a,
8
+ transparentColor: e,
9
+ postModelRender: o,
10
+ ...l
11
+ }) {
12
+ return r.dhParameters ? /* @__PURE__ */ m(
13
+ i,
14
+ {
15
+ rapidlyChangingMotionState: r.rapidlyChangingMotionState,
16
+ modelFromController: r.modelFromController || "",
17
+ dhParameters: r.dhParameters,
18
+ getModel: t,
19
+ flangeRef: a,
20
+ transparentColor: e,
21
+ postModelRender: o,
22
+ ...l
23
+ }
24
+ ) : null;
25
+ }
26
+ export {
27
+ s as Robot,
28
+ s as default,
29
+ d as defaultGetModel
30
+ };
31
+ //# sourceMappingURL=Robot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Robot.js","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":";;;AA0BO,SAASA,EAAM;AAAA,EACpB,sBAAAC;AAAA,EACA,UAAAC,IAAWC;AAAA,EACX,WAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAAe;AACb,SAAKN,EAAqB,eAKxB,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACER,EAAqB;AAAA,MAEvB,qBAAqBA,EAAqB,uBAAuB;AAAA,MACjE,cAAcA,EAAqB;AAAA,MACnC,UAAAC;AAAA,MACA,WAAAE;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA,MACC,GAAGC;AAAA,IAAA;AAAA,EAAA,IAdC;AAiBX;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const V=require("react/jsx-runtime"),d=require("@react-three/fiber"),o=require("react"),_=require("../utils/hooks.cjs"),J=require("../utils/interpolation.cjs"),x=require("./robotModelLogic.cjs");function A({rapidlyChangingMotionState:n,dhParameters:j,onRotationChanged:c,children:b}){const m=o.useRef([]),u=o.useRef([]),r=o.useRef(null),{invalidate:f}=d.useThree();o.useEffect(()=>{const t=n.joint_position.filter(e=>e!==void 0);return r.current=new J.ValueInterpolator(t,{tension:120,friction:20,threshold:.001}),()=>{var e;(e=r.current)==null||e.destroy()}},[]),d.useFrame((t,e)=>{if(r.current){const s=r.current.update(e);l(),s||f()}});function p(t){t&&(u.current=x.collectJoints(t),l(),f())}function l(){var e;const t=((e=r.current)==null?void 0:e.getCurrentValues())||[];if(c)c(u.current,t);else for(const[s,R]of u.current.entries()){const a=j[s],q=a.theta||0,v=a.reverse_rotation_direction?-1:1;R.rotation.y=v*(t[s]||0)+q}}const i=o.useCallback(()=>{const t=n.joint_position.filter(e=>e!==void 0);requestAnimationFrame(()=>{var e;m.current=t,(e=r.current)==null||e.setTarget(t)})},[n]);return o.useEffect(()=>{i()},[n,i]),_.useAutorun(()=>{i()}),V.jsx("group",{ref:p,children:b})}exports.default=A;
2
+ //# sourceMappingURL=RobotAnimator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RobotAnimator.cjs","sources":["../../../src/components/robots/RobotAnimator.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 RobotAnimatorProps = {\n rapidlyChangingMotionState: MotionGroupState\n dhParameters: DHParameter[]\n onRotationChanged?: (joints: Object3D[], jointValues: number[]) => void\n children: React.ReactNode\n}\n\nexport default function RobotAnimator({\n rapidlyChangingMotionState,\n dhParameters,\n onRotationChanged,\n children,\n}: RobotAnimatorProps) {\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 setRotation()\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 setRotation()\n invalidate()\n }\n\n function setRotation() {\n const updatedJointValues = interpolatorRef.current?.getCurrentValues() || []\n\n if (onRotationChanged) {\n onRotationChanged(jointObjects.current, updatedJointValues)\n } else {\n for (const [index, object] of jointObjects.current.entries()) {\n const dhParam = dhParameters[index]\n const rotationOffset = dhParam.theta || 0\n const rotationSign = dhParam.reverse_rotation_direction ? -1 : 1\n\n object.rotation.y =\n rotationSign * (updatedJointValues[index] || 0) + rotationOffset\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":["RobotAnimator","rapidlyChangingMotionState","dhParameters","onRotationChanged","children","jointValues","useRef","jointObjects","interpolatorRef","invalidate","useThree","useEffect","initialJointValues","item","ValueInterpolator","_a","useFrame","state","delta","isComplete","setRotation","setGroupRef","group","collectJoints","updatedJointValues","index","object","dhParam","rotationOffset","rotationSign","updateJoints","useCallback","newJointValues","useAutorun","jsx"],"mappings":"+SAgBA,SAAwBA,EAAc,CACpC,2BAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,SAAAC,CACF,EAAuB,CACrB,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,GAAc,OACrB,MAAMI,IAAqBT,EAAAP,EAAgB,UAAhB,YAAAO,EAAyB,qBAAsB,CAAA,EAE1E,GAAIZ,EACFA,EAAkBI,EAAa,QAASiB,CAAkB,MAE1D,UAAW,CAACC,EAAOC,CAAM,IAAKnB,EAAa,QAAQ,UAAW,CAC5D,MAAMoB,EAAUzB,EAAauB,CAAK,EAC5BG,EAAiBD,EAAQ,OAAS,EAClCE,EAAeF,EAAQ,2BAA6B,GAAK,EAE/DD,EAAO,SAAS,EACdG,GAAgBL,EAAmBC,CAAK,GAAK,GAAKG,CACtD,CAEJ,CAEA,MAAME,EAAeC,EAAAA,YAAY,IAAM,CACrC,MAAMC,EAAiB/B,EAA2B,eAAe,OAC9DY,GAASA,IAAS,MAAA,EAGrB,sBAAsB,IAAM,OAC1BR,EAAY,QAAU2B,GACtBjB,EAAAP,EAAgB,UAAhB,MAAAO,EAAyB,UAAUiB,EACrC,CAAC,CACH,EAAG,CAAC/B,CAA0B,CAAC,EAO/BU,OAAAA,EAAAA,UAAU,IAAM,CACdmB,EAAA,CACF,EAAG,CAAC7B,EAA4B6B,CAAY,CAAC,EAO7CG,EAAAA,WAAW,IAAM,CACfH,EAAA,CACF,CAAC,EAEMI,EAAAA,IAAC,QAAA,CAAM,IAAKb,EAAc,SAAAjB,CAAA,CAAS,CAC5C"}
@@ -0,0 +1,66 @@
1
+ import { jsx as R } from "react/jsx-runtime";
2
+ import { useThree as _, useFrame as x } from "@react-three/fiber";
3
+ import { useRef as u, useEffect as m, useCallback as A } from "react";
4
+ import { useAutorun as w } from "../utils/hooks.js";
5
+ import { ValueInterpolator as F } from "../utils/interpolation.js";
6
+ import { collectJoints as O } from "./robotModelLogic.js";
7
+ function I({
8
+ rapidlyChangingMotionState: o,
9
+ dhParameters: p,
10
+ onRotationChanged: c,
11
+ children: d
12
+ }) {
13
+ const j = u([]), s = u([]), r = u(null), { invalidate: f } = _();
14
+ m(() => {
15
+ const e = o.joint_position.filter(
16
+ (t) => t !== void 0
17
+ );
18
+ return r.current = new F(e, {
19
+ tension: 120,
20
+ // Controls spring stiffness - higher values create faster, more responsive motion
21
+ friction: 20,
22
+ // Controls damping - higher values reduce oscillation and create smoother settling
23
+ threshold: 1e-3
24
+ }), () => {
25
+ var t;
26
+ (t = r.current) == null || t.destroy();
27
+ };
28
+ }, []), x((e, t) => {
29
+ if (r.current) {
30
+ const n = r.current.update(t);
31
+ a(), n || f();
32
+ }
33
+ });
34
+ function V(e) {
35
+ e && (s.current = O(e), a(), f());
36
+ }
37
+ function a() {
38
+ var t;
39
+ const e = ((t = r.current) == null ? void 0 : t.getCurrentValues()) || [];
40
+ if (c)
41
+ c(s.current, e);
42
+ else
43
+ for (const [n, J] of s.current.entries()) {
44
+ const l = p[n], b = l.theta || 0, v = l.reverse_rotation_direction ? -1 : 1;
45
+ J.rotation.y = v * (e[n] || 0) + b;
46
+ }
47
+ }
48
+ const i = A(() => {
49
+ const e = o.joint_position.filter(
50
+ (t) => t !== void 0
51
+ );
52
+ requestAnimationFrame(() => {
53
+ var t;
54
+ j.current = e, (t = r.current) == null || t.setTarget(e);
55
+ });
56
+ }, [o]);
57
+ return m(() => {
58
+ i();
59
+ }, [o, i]), w(() => {
60
+ i();
61
+ }), /* @__PURE__ */ R("group", { ref: V, children: d });
62
+ }
63
+ export {
64
+ I as default
65
+ };
66
+ //# sourceMappingURL=RobotAnimator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RobotAnimator.js","sources":["../../../src/components/robots/RobotAnimator.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 RobotAnimatorProps = {\n rapidlyChangingMotionState: MotionGroupState\n dhParameters: DHParameter[]\n onRotationChanged?: (joints: Object3D[], jointValues: number[]) => void\n children: React.ReactNode\n}\n\nexport default function RobotAnimator({\n rapidlyChangingMotionState,\n dhParameters,\n onRotationChanged,\n children,\n}: RobotAnimatorProps) {\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 setRotation()\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 setRotation()\n invalidate()\n }\n\n function setRotation() {\n const updatedJointValues = interpolatorRef.current?.getCurrentValues() || []\n\n if (onRotationChanged) {\n onRotationChanged(jointObjects.current, updatedJointValues)\n } else {\n for (const [index, object] of jointObjects.current.entries()) {\n const dhParam = dhParameters[index]\n const rotationOffset = dhParam.theta || 0\n const rotationSign = dhParam.reverse_rotation_direction ? -1 : 1\n\n object.rotation.y =\n rotationSign * (updatedJointValues[index] || 0) + rotationOffset\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":["RobotAnimator","rapidlyChangingMotionState","dhParameters","onRotationChanged","children","jointValues","useRef","jointObjects","interpolatorRef","invalidate","useThree","useEffect","initialJointValues","item","ValueInterpolator","_a","useFrame","state","delta","isComplete","setRotation","setGroupRef","group","collectJoints","updatedJointValues","index","object","dhParam","rotationOffset","rotationSign","updateJoints","useCallback","newJointValues","useAutorun","jsx"],"mappings":";;;;;;AAgBA,SAAwBA,EAAc;AAAA,EACpC,4BAAAC;AAAA,EACA,cAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAC;AACF,GAAuB;AACrB,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,IAAc;;AACrB,UAAMI,MAAqBT,IAAAP,EAAgB,YAAhB,gBAAAO,EAAyB,uBAAsB,CAAA;AAE1E,QAAIZ;AACF,MAAAA,EAAkBI,EAAa,SAASiB,CAAkB;AAAA;AAE1D,iBAAW,CAACC,GAAOC,CAAM,KAAKnB,EAAa,QAAQ,WAAW;AAC5D,cAAMoB,IAAUzB,EAAauB,CAAK,GAC5BG,IAAiBD,EAAQ,SAAS,GAClCE,IAAeF,EAAQ,6BAA6B,KAAK;AAE/D,QAAAD,EAAO,SAAS,IACdG,KAAgBL,EAAmBC,CAAK,KAAK,KAAKG;AAAA,MACtD;AAAA,EAEJ;AAEA,QAAME,IAAeC,EAAY,MAAM;AACrC,UAAMC,IAAiB/B,EAA2B,eAAe;AAAA,MAC/D,CAACY,MAASA,MAAS;AAAA,IAAA;AAGrB,0BAAsB,MAAM;;AAC1B,MAAAR,EAAY,UAAU2B,IACtBjB,IAAAP,EAAgB,YAAhB,QAAAO,EAAyB,UAAUiB;AAAA,IACrC,CAAC;AAAA,EACH,GAAG,CAAC/B,CAA0B,CAAC;AAO/B,SAAAU,EAAU,MAAM;AACd,IAAAmB,EAAA;AAAA,EACF,GAAG,CAAC7B,GAA4B6B,CAAY,CAAC,GAO7CG,EAAW,MAAM;AACf,IAAAH,EAAA;AAAA,EACF,CAAC,GAEM,gBAAAI,EAAC,SAAA,EAAM,KAAKb,GAAc,UAAAjB,EAAA,CAAS;AAC5C;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),t=require("react"),R=require("react-error-boundary"),m=require("../../externalizeComponent.cjs"),S=require("../ConsoleFilter.cjs"),A=require("./DHLinearAxis.cjs"),G=require("./GenericRobot.cjs"),g=require("./LinearAxisAnimator.cjs"),a=require("./ghostStyle.cjs"),h=require("./robotModelLogic.cjs"),d=m.externalizeComponent(({rapidlyChangingMotionState:n,modelFromController:i,dhParameters:l,getModel:b=h.defaultGetModel,flangeRef:f,postModelRender:x,transparentColor:s,instanceUrl:j,...u})=>{const[o,p]=t.useState(null),q=t.useCallback(r=>{p(r)},[]);t.useEffect(()=>{o&&(s?a.applyGhostStyle(o,s):a.removeGhostStyle(o))},[o,s]);const c=e.jsx(A.DHLinearAxis,{rapidlyChangingMotionState:n,dhParameters:l,...u});return e.jsxs(R.ErrorBoundary,{fallback:c,onError:r=>{console.warn(r)},children:[e.jsx(t.Suspense,{fallback:c,children:e.jsx("group",{ref:q,children:e.jsx(g.default,{rapidlyChangingMotionState:n,dhParameters:l,children:e.jsx(G.GenericRobot,{modelURL:(()=>{const r=b(i,j);if(!r){const y=new Blob([],{type:"model/gltf-binary"}),L=new File([y],`${i}.glb`,{type:"model/gltf-binary"});return Promise.resolve(URL.createObjectURL(L))}return r})(),postModelRender:x,flangeRef:f,...u})})})}),e.jsx(S.default,{})]})});exports.SupportedLinearAxis=d;exports.default=d;
2
+ //# sourceMappingURL=SupportedLinearAxis.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportedLinearAxis.cjs","sources":["../../../src/components/robots/SupportedLinearAxis.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\nimport type { DHParameter, MotionGroupState } from \"@wandelbots/nova-js/v2\"\nimport { Suspense, useCallback, useEffect, useState } from \"react\"\nimport { ErrorBoundary } from \"react-error-boundary\"\nimport type * as THREE from \"three\"\nimport { externalizeComponent } from \"../../externalizeComponent\"\nimport ConsoleFilter from \"../ConsoleFilter\"\nimport { DHLinearAxis } from \"./DHLinearAxis\"\nimport { GenericRobot } from \"./GenericRobot\"\nimport LinearAxisAnimator from \"./LinearAxisAnimator\"\nimport { applyGhostStyle, removeGhostStyle } from \"./ghostStyle\"\nimport { defaultGetModel } from \"./robotModelLogic\"\n\nexport type DHLinearAxisProps = {\n rapidlyChangingMotionState: MotionGroupState\n dhParameters: Array<DHParameter>\n} & ThreeElements[\"group\"]\n\nexport type SupportedLinearAxisProps = {\n rapidlyChangingMotionState: MotionGroupState\n modelFromController: string\n dhParameters: DHParameter[]\n flangeRef?: React.Ref<THREE.Group>\n instanceUrl?: string\n getModel?: (\n modelFromController: string,\n instanceUrl?: string,\n ) => Promise<string> | undefined\n postModelRender?: () => void\n transparentColor?: string\n} & ThreeElements[\"group\"]\n\nexport const SupportedLinearAxis = externalizeComponent(\n ({\n rapidlyChangingMotionState,\n modelFromController,\n dhParameters,\n getModel = defaultGetModel,\n flangeRef,\n postModelRender,\n transparentColor,\n instanceUrl,\n ...props\n }: SupportedLinearAxisProps) => {\n const [robotGroup, setRobotGroup] = useState<THREE.Group | null>(null)\n\n const setRobotRef = useCallback((instance: THREE.Group | null) => {\n setRobotGroup(instance)\n }, [])\n\n useEffect(() => {\n if (!robotGroup) return\n\n if (transparentColor) {\n applyGhostStyle(robotGroup, transparentColor)\n } else {\n removeGhostStyle(robotGroup)\n }\n }, [robotGroup, transparentColor])\n\n const dhLinearAxis = (\n <DHLinearAxis\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n {...props}\n />\n )\n\n return (\n <ErrorBoundary\n fallback={dhLinearAxis}\n onError={(err) => {\n // Missing model; show the fallback for now\n console.warn(err)\n }}\n >\n <Suspense fallback={dhLinearAxis}>\n <group ref={setRobotRef}>\n <LinearAxisAnimator\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n >\n <GenericRobot\n modelURL={(() => {\n const result = getModel(modelFromController, instanceUrl)\n if (!result) {\n const mockBlob = new Blob([], { type: \"model/gltf-binary\" })\n const mockFile = new File(\n [mockBlob],\n `${modelFromController}.glb`,\n { type: \"model/gltf-binary\" },\n )\n return Promise.resolve(URL.createObjectURL(mockFile))\n }\n return result\n })()}\n postModelRender={postModelRender}\n flangeRef={flangeRef}\n {...props}\n />\n </LinearAxisAnimator>\n </group>\n </Suspense>\n <ConsoleFilter />\n </ErrorBoundary>\n )\n },\n)\n\nexport default SupportedLinearAxis\n"],"names":["SupportedLinearAxis","externalizeComponent","rapidlyChangingMotionState","modelFromController","dhParameters","getModel","defaultGetModel","flangeRef","postModelRender","transparentColor","instanceUrl","props","robotGroup","setRobotGroup","useState","setRobotRef","useCallback","instance","useEffect","applyGhostStyle","removeGhostStyle","dhLinearAxis","jsx","DHLinearAxis","jsxs","ErrorBoundary","err","Suspense","LinearAxisAnimator","GenericRobot","result","mockBlob","mockFile","ConsoleFilter"],"mappings":"2bAgCaA,EAAsBC,EAAAA,qBACjC,CAAC,CACC,2BAAAC,EACA,oBAAAC,EACA,aAAAC,EACA,SAAAC,EAAWC,EAAAA,gBACX,UAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,GAAGC,CAAA,IAC2B,CAC9B,KAAM,CAACC,EAAYC,CAAa,EAAIC,EAAAA,SAA6B,IAAI,EAE/DC,EAAcC,cAAaC,GAAiC,CAChEJ,EAAcI,CAAQ,CACxB,EAAG,CAAA,CAAE,EAELC,EAAAA,UAAU,IAAM,CACTN,IAEDH,EACFU,EAAAA,gBAAgBP,EAAYH,CAAgB,EAE5CW,EAAAA,iBAAiBR,CAAU,EAE/B,EAAG,CAACA,EAAYH,CAAgB,CAAC,EAEjC,MAAMY,EACJC,EAAAA,IAACC,EAAAA,aAAA,CACC,2BAAArB,EACA,aAAAE,EACC,GAAGO,CAAA,CAAA,EAIR,OACEa,EAAAA,KAACC,EAAAA,cAAA,CACC,SAAUJ,EACV,QAAUK,GAAQ,CAEhB,QAAQ,KAAKA,CAAG,CAClB,EAEA,SAAA,CAAAJ,EAAAA,IAACK,EAAAA,UAAS,SAAUN,EAClB,SAAAC,MAAC,QAAA,CAAM,IAAKP,EACV,SAAAO,EAAAA,IAACM,EAAAA,QAAA,CACC,2BAAA1B,EACA,aAAAE,EAEA,SAAAkB,EAAAA,IAACO,EAAAA,aAAA,CACC,UAAW,IAAM,CACf,MAAMC,EAASzB,EAASF,EAAqBO,CAAW,EACxD,GAAI,CAACoB,EAAQ,CACX,MAAMC,EAAW,IAAI,KAAK,CAAA,EAAI,CAAE,KAAM,oBAAqB,EACrDC,EAAW,IAAI,KACnB,CAACD,CAAQ,EACT,GAAG5B,CAAmB,OACtB,CAAE,KAAM,mBAAA,CAAoB,EAE9B,OAAO,QAAQ,QAAQ,IAAI,gBAAgB6B,CAAQ,CAAC,CACtD,CACA,OAAOF,CACT,GAAA,EACA,gBAAAtB,EACA,UAAAD,EACC,GAAGI,CAAA,CAAA,CACN,CAAA,EAEJ,CAAA,CACF,QACCsB,EAAAA,QAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAGrB,CACF"}
@@ -16,4 +16,5 @@ export type SupportedLinearAxisProps = {
16
16
  transparentColor?: string;
17
17
  } & ThreeElements["group"];
18
18
  export declare const SupportedLinearAxis: ({ rapidlyChangingMotionState, modelFromController, dhParameters, getModel, flangeRef, postModelRender, transparentColor, instanceUrl, ...props }: SupportedLinearAxisProps) => import("react/jsx-runtime").JSX.Element;
19
+ export default SupportedLinearAxis;
19
20
  //# sourceMappingURL=SupportedLinearAxis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SupportedLinearAxis.d.ts","sourceRoot":"","sources":["../../../src/components/robots/SupportedLinearAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG3E,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AASnC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,0BAA0B,EAAE,gBAAgB,CAAA;IAC5C,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;CACjC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B,MAAM,MAAM,wBAAwB,GAAG;IACrC,0BAA0B,EAAE,gBAAgB,CAAA;IAC5C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,CACT,mBAAmB,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B,eAAO,MAAM,mBAAmB,qJAW3B,wBAAwB,4CAgE5B,CAAA"}
1
+ {"version":3,"file":"SupportedLinearAxis.d.ts","sourceRoot":"","sources":["../../../src/components/robots/SupportedLinearAxis.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG3E,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AASnC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,0BAA0B,EAAE,gBAAgB,CAAA;IAC5C,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;CACjC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B,MAAM,MAAM,wBAAwB,GAAG;IACrC,0BAA0B,EAAE,gBAAgB,CAAA;IAC5C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,CACT,mBAAmB,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,KACjB,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B,eAAO,MAAM,mBAAmB,qJAW3B,wBAAwB,4CAgE5B,CAAA;AAED,eAAe,mBAAmB,CAAA"}