@wandelbots/wandelbots-js-react-components 5.5.1-pr.fix-standardize-output.591.60112ee → 5.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/3d.cjs +2 -1
- package/dist/3d.cjs.map +1 -0
- package/dist/3d.d.ts +1 -0
- package/dist/3d.d.ts.map +1 -0
- package/dist/3d.js +1 -0
- package/dist/3d.js.map +1 -0
- package/dist/Setup.d.ts +1 -0
- package/dist/Setup.d.ts.map +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.cjs +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.cjs.map +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.d.ts +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.js +1 -0
- package/dist/components/3d-viewport/PresetEnvironment.js.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +2 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.js +1 -0
- package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.js +1 -0
- package/dist/components/3d-viewport/TrajectoryRenderer.js.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs +2 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.js +1 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.js.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.cjs +2 -1
- package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.js +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.js.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +2 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +1 -0
- package/dist/components/AppHeader.cjs +2 -1
- package/dist/components/AppHeader.cjs.map +1 -0
- package/dist/components/AppHeader.d.ts +1 -0
- package/dist/components/AppHeader.d.ts.map +1 -0
- package/dist/components/AppHeader.js +34 -40
- package/dist/components/AppHeader.js.map +1 -0
- package/dist/components/ConsoleFilter.cjs +1 -0
- package/dist/components/ConsoleFilter.cjs.map +1 -0
- package/dist/components/ConsoleFilter.d.ts +1 -0
- package/dist/components/ConsoleFilter.d.ts.map +1 -0
- package/dist/components/ConsoleFilter.js +1 -0
- package/dist/components/ConsoleFilter.js.map +1 -0
- package/dist/components/CopyableText.cjs +1 -0
- package/dist/components/CopyableText.cjs.map +1 -0
- package/dist/components/CopyableText.d.ts +1 -0
- package/dist/components/CopyableText.d.ts.map +1 -0
- package/dist/components/CopyableText.js +1 -0
- package/dist/components/CopyableText.js.map +1 -0
- package/dist/components/CycleTimer/CycleTimer.d.ts +1 -0
- package/dist/components/CycleTimer/CycleTimer.d.ts.map +1 -0
- package/dist/components/CycleTimer/DefaultVariant.cjs +2 -1
- package/dist/components/CycleTimer/DefaultVariant.cjs.map +1 -0
- package/dist/components/CycleTimer/DefaultVariant.d.ts +1 -0
- package/dist/components/CycleTimer/DefaultVariant.d.ts.map +1 -0
- package/dist/components/CycleTimer/DefaultVariant.js +1 -0
- package/dist/components/CycleTimer/DefaultVariant.js.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.cjs +1 -0
- package/dist/components/CycleTimer/SmallVariant.cjs.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.d.ts +1 -0
- package/dist/components/CycleTimer/SmallVariant.d.ts.map +1 -0
- package/dist/components/CycleTimer/SmallVariant.js +1 -0
- package/dist/components/CycleTimer/SmallVariant.js.map +1 -0
- package/dist/components/CycleTimer/index.cjs +2 -1
- package/dist/components/CycleTimer/index.cjs.map +1 -0
- package/dist/components/CycleTimer/index.d.ts +1 -0
- package/dist/components/CycleTimer/index.d.ts.map +1 -0
- package/dist/components/CycleTimer/index.js +2 -1
- package/dist/components/CycleTimer/index.js.map +1 -0
- package/dist/components/CycleTimer/types.d.ts +1 -0
- package/dist/components/CycleTimer/types.d.ts.map +1 -0
- package/dist/components/CycleTimer/useAnimations.cjs +1 -0
- package/dist/components/CycleTimer/useAnimations.cjs.map +1 -0
- package/dist/components/CycleTimer/useAnimations.d.ts +1 -0
- package/dist/components/CycleTimer/useAnimations.d.ts.map +1 -0
- package/dist/components/CycleTimer/useAnimations.js +2 -9
- package/dist/components/CycleTimer/useAnimations.js.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.cjs +2 -1
- package/dist/components/CycleTimer/useTimerLogic.cjs.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.d.ts +1 -0
- package/dist/components/CycleTimer/useTimerLogic.d.ts.map +1 -0
- package/dist/components/CycleTimer/useTimerLogic.js +1 -0
- package/dist/components/CycleTimer/useTimerLogic.js.map +1 -0
- package/dist/components/CycleTimer/utils.cjs +2 -1
- package/dist/components/CycleTimer/utils.cjs.map +1 -0
- package/dist/components/CycleTimer/utils.d.ts +1 -0
- package/dist/components/CycleTimer/utils.d.ts.map +1 -0
- package/dist/components/CycleTimer/utils.js +11 -19
- package/dist/components/CycleTimer/utils.js.map +1 -0
- package/dist/components/CycleTimer.cjs +1 -0
- package/dist/components/CycleTimer.cjs.map +1 -0
- package/dist/components/CycleTimer.d.ts +1 -0
- package/dist/components/CycleTimer.d.ts.map +1 -0
- package/dist/components/CycleTimer.js +1 -0
- package/dist/components/CycleTimer.js.map +1 -0
- package/dist/components/DataGrid.cjs +2 -1
- package/dist/components/DataGrid.cjs.map +1 -0
- package/dist/components/DataGrid.d.ts +1 -0
- package/dist/components/DataGrid.d.ts.map +1 -0
- package/dist/components/DataGrid.js +2 -1
- package/dist/components/DataGrid.js.map +1 -0
- package/dist/components/LoadingCover.cjs +2 -1
- package/dist/components/LoadingCover.cjs.map +1 -0
- package/dist/components/LoadingCover.d.ts +1 -0
- package/dist/components/LoadingCover.d.ts.map +1 -0
- package/dist/components/LoadingCover.js +1 -0
- package/dist/components/LoadingCover.js.map +1 -0
- package/dist/components/LogPanel.cjs +2 -1
- package/dist/components/LogPanel.cjs.map +1 -0
- package/dist/components/LogPanel.d.ts +1 -0
- package/dist/components/LogPanel.d.ts.map +1 -0
- package/dist/components/LogPanel.js +2 -1
- package/dist/components/LogPanel.js.map +1 -0
- package/dist/components/LogStore.cjs +1 -0
- package/dist/components/LogStore.cjs.map +1 -0
- package/dist/components/LogStore.d.ts +1 -0
- package/dist/components/LogStore.d.ts.map +1 -0
- package/dist/components/LogStore.js +1 -0
- package/dist/components/LogStore.js.map +1 -0
- package/dist/components/LogViewer.cjs +2 -1
- package/dist/components/LogViewer.cjs.map +1 -0
- package/dist/components/LogViewer.d.ts +1 -0
- package/dist/components/LogViewer.d.ts.map +1 -0
- package/dist/components/LogViewer.js +2 -1
- package/dist/components/LogViewer.js.map +1 -0
- package/dist/components/ProgramControl.cjs +2 -1
- package/dist/components/ProgramControl.cjs.map +1 -0
- package/dist/components/ProgramControl.d.ts +1 -0
- package/dist/components/ProgramControl.d.ts.map +1 -0
- package/dist/components/ProgramControl.js +7 -6
- package/dist/components/ProgramControl.js.map +1 -0
- package/dist/components/ProgramStateIndicator.cjs +2 -1
- package/dist/components/ProgramStateIndicator.cjs.map +1 -0
- package/dist/components/ProgramStateIndicator.d.ts +1 -0
- package/dist/components/ProgramStateIndicator.d.ts.map +1 -0
- package/dist/components/ProgramStateIndicator.js +29 -28
- package/dist/components/ProgramStateIndicator.js.map +1 -0
- package/dist/components/RobotCard.cjs +2 -1
- package/dist/components/RobotCard.cjs.map +1 -0
- package/dist/components/RobotCard.d.ts +1 -0
- package/dist/components/RobotCard.d.ts.map +1 -0
- package/dist/components/RobotCard.js +2 -1
- package/dist/components/RobotCard.js.map +1 -0
- package/dist/components/RobotListItem.cjs +2 -1
- package/dist/components/RobotListItem.cjs.map +1 -0
- package/dist/components/RobotListItem.d.ts +1 -0
- package/dist/components/RobotListItem.d.ts.map +1 -0
- package/dist/components/RobotListItem.js +26 -25
- package/dist/components/RobotListItem.js.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.cjs +2 -1
- package/dist/components/RobotSetupReadinessIndicator.cjs.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts +1 -0
- package/dist/components/RobotSetupReadinessIndicator.d.ts.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.js +2 -1
- package/dist/components/RobotSetupReadinessIndicator.js.map +1 -0
- package/dist/components/RobotSetupReadinessIndicator.test.d.ts +2 -0
- package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +1 -0
- package/dist/components/SelectableFab.cjs +1 -0
- package/dist/components/SelectableFab.cjs.map +1 -0
- package/dist/components/SelectableFab.d.ts +1 -0
- package/dist/components/SelectableFab.d.ts.map +1 -0
- package/dist/components/SelectableFab.js +1 -0
- package/dist/components/SelectableFab.js.map +1 -0
- package/dist/components/TabBar.cjs +2 -1
- package/dist/components/TabBar.cjs.map +1 -0
- package/dist/components/TabBar.d.ts +1 -0
- package/dist/components/TabBar.d.ts.map +1 -0
- package/dist/components/TabBar.js +2 -1
- package/dist/components/TabBar.js.map +1 -0
- package/dist/components/ThemeSelect.d.ts +1 -0
- package/dist/components/ThemeSelect.d.ts.map +1 -0
- package/dist/components/Timer/Timer.d.ts +1 -0
- package/dist/components/Timer/Timer.d.ts.map +1 -0
- package/dist/components/Timer/TimerDefaultVariant.cjs +1 -0
- package/dist/components/Timer/TimerDefaultVariant.cjs.map +1 -0
- package/dist/components/Timer/TimerDefaultVariant.d.ts +1 -0
- package/dist/components/Timer/TimerDefaultVariant.d.ts.map +1 -0
- package/dist/components/Timer/TimerDefaultVariant.js +1 -0
- package/dist/components/Timer/TimerDefaultVariant.js.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.cjs +1 -0
- package/dist/components/Timer/TimerSmallVariant.cjs.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.d.ts +1 -0
- package/dist/components/Timer/TimerSmallVariant.d.ts.map +1 -0
- package/dist/components/Timer/TimerSmallVariant.js +1 -0
- package/dist/components/Timer/TimerSmallVariant.js.map +1 -0
- package/dist/components/Timer/index.cjs +2 -1
- package/dist/components/Timer/index.cjs.map +1 -0
- package/dist/components/Timer/index.d.ts +1 -0
- package/dist/components/Timer/index.d.ts.map +1 -0
- package/dist/components/Timer/index.js +12 -11
- package/dist/components/Timer/index.js.map +1 -0
- package/dist/components/Timer/types.d.ts +1 -0
- package/dist/components/Timer/types.d.ts.map +1 -0
- package/dist/components/Timer/useTimerAnimations.cjs +1 -0
- package/dist/components/Timer/useTimerAnimations.cjs.map +1 -0
- package/dist/components/Timer/useTimerAnimations.d.ts +1 -0
- package/dist/components/Timer/useTimerAnimations.d.ts.map +1 -0
- package/dist/components/Timer/useTimerAnimations.js +2 -5
- package/dist/components/Timer/useTimerAnimations.js.map +1 -0
- package/dist/components/Timer/useTimerLogic.cjs +1 -0
- package/dist/components/Timer/useTimerLogic.cjs.map +1 -0
- package/dist/components/Timer/useTimerLogic.d.ts +1 -0
- package/dist/components/Timer/useTimerLogic.d.ts.map +1 -0
- package/dist/components/Timer/useTimerLogic.js +1 -0
- package/dist/components/Timer/useTimerLogic.js.map +1 -0
- package/dist/components/Timer/utils.cjs +2 -1
- package/dist/components/Timer/utils.cjs.map +1 -0
- package/dist/components/Timer/utils.d.ts +1 -0
- package/dist/components/Timer/utils.d.ts.map +1 -0
- package/dist/components/Timer/utils.js +10 -10
- package/dist/components/Timer/utils.js.map +1 -0
- package/dist/components/Timer.cjs +1 -0
- package/dist/components/Timer.cjs.map +1 -0
- package/dist/components/Timer.d.ts +1 -0
- package/dist/components/Timer.d.ts.map +1 -0
- package/dist/components/Timer.js +1 -0
- package/dist/components/Timer.js.map +1 -0
- package/dist/components/TransparentOverlay.d.ts +1 -0
- package/dist/components/TransparentOverlay.d.ts.map +1 -0
- package/dist/components/VelocitySlider.cjs +1 -0
- package/dist/components/VelocitySlider.cjs.map +1 -0
- package/dist/components/VelocitySlider.d.ts +1 -0
- package/dist/components/VelocitySlider.d.ts.map +1 -0
- package/dist/components/VelocitySlider.js +1 -0
- package/dist/components/VelocitySlider.js.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.cjs +1 -0
- package/dist/components/experimental/utils/AdornedSelect.cjs.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.d.ts +1 -0
- package/dist/components/experimental/utils/AdornedSelect.d.ts.map +1 -0
- package/dist/components/experimental/utils/AdornedSelect.js +1 -0
- package/dist/components/experimental/utils/AdornedSelect.js.map +1 -0
- package/dist/components/jogging/JoggingBlocked.cjs +1 -0
- package/dist/components/jogging/JoggingBlocked.cjs.map +1 -0
- package/dist/components/jogging/JoggingBlocked.d.ts +1 -0
- package/dist/components/jogging/JoggingBlocked.d.ts.map +1 -0
- package/dist/components/jogging/JoggingBlocked.js +1 -0
- package/dist/components/jogging/JoggingBlocked.js.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs +2 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -0
- package/dist/components/jogging/JoggingCartesianAxisControl.js +20 -18
- package/dist/components/jogging/JoggingCartesianAxisControl.js.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.cjs +2 -1
- package/dist/components/jogging/JoggingCartesianTab.cjs.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.d.ts +1 -0
- package/dist/components/jogging/JoggingCartesianTab.d.ts.map +1 -0
- package/dist/components/jogging/JoggingCartesianTab.js +41 -37
- package/dist/components/jogging/JoggingCartesianTab.js.map +1 -0
- package/dist/components/jogging/JoggingFreedriveTab.d.ts +1 -0
- package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.cjs +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.d.ts +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.js +1 -0
- package/dist/components/jogging/JoggingJointLimitDetector.js.map +1 -0
- package/dist/components/jogging/JoggingJointTab.cjs +2 -1
- package/dist/components/jogging/JoggingJointTab.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointTab.d.ts +1 -0
- package/dist/components/jogging/JoggingJointTab.d.ts.map +1 -0
- package/dist/components/jogging/JoggingJointTab.js +1 -0
- package/dist/components/jogging/JoggingJointTab.js.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.cjs +2 -1
- package/dist/components/jogging/JoggingJointValueControl.cjs.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.d.ts +1 -0
- package/dist/components/jogging/JoggingJointValueControl.d.ts.map +1 -0
- package/dist/components/jogging/JoggingJointValueControl.js +2 -1
- package/dist/components/jogging/JoggingJointValueControl.js.map +1 -0
- package/dist/components/jogging/JoggingOptions.cjs +2 -1
- package/dist/components/jogging/JoggingOptions.cjs.map +1 -0
- package/dist/components/jogging/JoggingOptions.d.ts +1 -0
- package/dist/components/jogging/JoggingOptions.d.ts.map +1 -0
- package/dist/components/jogging/JoggingOptions.js +1 -0
- package/dist/components/jogging/JoggingOptions.js.map +1 -0
- package/dist/components/jogging/JoggingPanel.cjs +2 -1
- package/dist/components/jogging/JoggingPanel.cjs.map +1 -0
- package/dist/components/jogging/JoggingPanel.d.ts +1 -0
- package/dist/components/jogging/JoggingPanel.d.ts.map +1 -0
- package/dist/components/jogging/JoggingPanel.js +119 -21
- package/dist/components/jogging/JoggingPanel.js.map +1 -0
- package/dist/components/jogging/JoggingPanel.test.d.ts +2 -0
- package/dist/components/jogging/JoggingPanel.test.d.ts.map +1 -0
- package/dist/components/jogging/JoggingStore.cjs +1 -0
- package/dist/components/jogging/JoggingStore.cjs.map +1 -0
- package/dist/components/jogging/JoggingStore.d.ts +1 -0
- package/dist/components/jogging/JoggingStore.d.ts.map +1 -0
- package/dist/components/jogging/JoggingStore.js +1 -0
- package/dist/components/jogging/JoggingStore.js.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.d.ts +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.d.ts.map +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.js +1 -0
- package/dist/components/jogging/JoggingToggleButtonGroup.js.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.cjs +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.cjs.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.d.ts +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.js +1 -0
- package/dist/components/jogging/JoggingVelocitySlider.js.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.cjs +2 -1
- package/dist/components/jogging/PoseCartesianValues.cjs.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.d.ts +1 -0
- package/dist/components/jogging/PoseCartesianValues.d.ts.map +1 -0
- package/dist/components/jogging/PoseCartesianValues.js +5 -4
- package/dist/components/jogging/PoseCartesianValues.js.map +1 -0
- package/dist/components/jogging/PoseJointValues.cjs +2 -1
- package/dist/components/jogging/PoseJointValues.cjs.map +1 -0
- package/dist/components/jogging/PoseJointValues.d.ts +1 -0
- package/dist/components/jogging/PoseJointValues.d.ts.map +1 -0
- package/dist/components/jogging/PoseJointValues.js +2 -1
- package/dist/components/jogging/PoseJointValues.js.map +1 -0
- package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts +11 -0
- package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.cjs +1 -0
- package/dist/components/modal/NoMotionGroupModal.cjs.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.d.ts +1 -0
- package/dist/components/modal/NoMotionGroupModal.d.ts.map +1 -0
- package/dist/components/modal/NoMotionGroupModal.js +1 -0
- package/dist/components/modal/NoMotionGroupModal.js.map +1 -0
- package/dist/components/robots/AxisConfig.cjs +1 -0
- package/dist/components/robots/AxisConfig.cjs.map +1 -0
- package/dist/components/robots/AxisConfig.d.ts +1 -0
- package/dist/components/robots/AxisConfig.d.ts.map +1 -0
- package/dist/components/robots/AxisConfig.js +1 -0
- package/dist/components/robots/AxisConfig.js.map +1 -0
- package/dist/components/robots/DHLinearAxis.cjs +2 -1
- package/dist/components/robots/DHLinearAxis.cjs.map +1 -0
- package/dist/components/robots/DHLinearAxis.d.ts +1 -0
- package/dist/components/robots/DHLinearAxis.d.ts.map +1 -0
- package/dist/components/robots/DHLinearAxis.js +1 -0
- package/dist/components/robots/DHLinearAxis.js.map +1 -0
- package/dist/components/robots/DHRobot.cjs +2 -1
- package/dist/components/robots/DHRobot.cjs.map +1 -0
- package/dist/components/robots/DHRobot.d.ts +1 -0
- package/dist/components/robots/DHRobot.d.ts.map +1 -0
- package/dist/components/robots/DHRobot.js +1 -0
- package/dist/components/robots/DHRobot.js.map +1 -0
- package/dist/components/robots/GenericRobot.cjs +1 -0
- package/dist/components/robots/GenericRobot.cjs.map +1 -0
- package/dist/components/robots/GenericRobot.d.ts +1 -0
- package/dist/components/robots/GenericRobot.d.ts.map +1 -0
- package/dist/components/robots/GenericRobot.js +1 -0
- package/dist/components/robots/GenericRobot.js.map +1 -0
- package/dist/components/robots/LinearAxis.cjs +2 -1
- package/dist/components/robots/LinearAxis.cjs.map +1 -0
- package/dist/components/robots/LinearAxis.d.ts +1 -0
- package/dist/components/robots/LinearAxis.d.ts.map +1 -0
- package/dist/components/robots/LinearAxis.js +1 -0
- package/dist/components/robots/LinearAxis.js.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.cjs +2 -1
- package/dist/components/robots/LinearAxisAnimator.cjs.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.d.ts +1 -0
- package/dist/components/robots/LinearAxisAnimator.d.ts.map +1 -0
- package/dist/components/robots/LinearAxisAnimator.js +1 -0
- package/dist/components/robots/LinearAxisAnimator.js.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.cjs +2 -1
- package/dist/components/robots/MotionGroupVisualizer.cjs.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.d.ts +1 -0
- package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.js +5 -4
- package/dist/components/robots/MotionGroupVisualizer.js.map +1 -0
- package/dist/components/robots/Robot.cjs +2 -1
- package/dist/components/robots/Robot.cjs.map +1 -0
- package/dist/components/robots/Robot.d.ts +1 -0
- package/dist/components/robots/Robot.d.ts.map +1 -0
- package/dist/components/robots/Robot.js +1 -0
- package/dist/components/robots/Robot.js.map +1 -0
- package/dist/components/robots/RobotAnimator.cjs +2 -1
- package/dist/components/robots/RobotAnimator.cjs.map +1 -0
- package/dist/components/robots/RobotAnimator.d.ts +1 -0
- package/dist/components/robots/RobotAnimator.d.ts.map +1 -0
- package/dist/components/robots/RobotAnimator.js +1 -0
- package/dist/components/robots/RobotAnimator.js.map +1 -0
- package/dist/components/robots/RobotAnimator.test.d.ts +2 -0
- package/dist/components/robots/RobotAnimator.test.d.ts.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.cjs +2 -1
- package/dist/components/robots/SupportedLinearAxis.cjs.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.d.ts +1 -0
- package/dist/components/robots/SupportedLinearAxis.d.ts.map +1 -0
- package/dist/components/robots/SupportedLinearAxis.js +8 -7
- package/dist/components/robots/SupportedLinearAxis.js.map +1 -0
- package/dist/components/robots/SupportedRobot.cjs +2 -1
- package/dist/components/robots/SupportedRobot.cjs.map +1 -0
- package/dist/components/robots/SupportedRobot.d.ts +1 -0
- package/dist/components/robots/SupportedRobot.d.ts.map +1 -0
- package/dist/components/robots/SupportedRobot.js +7 -6
- package/dist/components/robots/SupportedRobot.js.map +1 -0
- package/dist/components/robots/ghostStyle.cjs +1 -0
- package/dist/components/robots/ghostStyle.cjs.map +1 -0
- package/dist/components/robots/ghostStyle.d.ts +1 -0
- package/dist/components/robots/ghostStyle.d.ts.map +1 -0
- package/dist/components/robots/ghostStyle.js +1 -0
- package/dist/components/robots/ghostStyle.js.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.cjs +1 -0
- package/dist/components/robots/manufacturerHomePositions.cjs.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.d.ts +1 -0
- package/dist/components/robots/manufacturerHomePositions.d.ts.map +1 -0
- package/dist/components/robots/manufacturerHomePositions.js +1 -0
- package/dist/components/robots/manufacturerHomePositions.js.map +1 -0
- package/dist/components/robots/robotModelLogic.cjs +2 -1
- package/dist/components/robots/robotModelLogic.cjs.map +1 -0
- package/dist/components/robots/robotModelLogic.d.ts +1 -0
- package/dist/components/robots/robotModelLogic.d.ts.map +1 -0
- package/dist/components/robots/robotModelLogic.js +34 -58
- package/dist/components/robots/robotModelLogic.js.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs +2 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +1 -0
- package/dist/components/safetyBar/ControllerTypeIndicator.js +12 -10
- package/dist/components/safetyBar/ControllerTypeIndicator.js.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.d.ts +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.js +1 -0
- package/dist/components/safetyBar/IndicatorWithExplanation.js.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.cjs +2 -1
- package/dist/components/safetyBar/OperationModeIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.d.ts +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +1 -0
- package/dist/components/safetyBar/OperationModeIndicator.js +24 -21
- package/dist/components/safetyBar/OperationModeIndicator.js.map +1 -0
- package/dist/components/safetyBar/SafetyBar.cjs +2 -1
- package/dist/components/safetyBar/SafetyBar.cjs.map +1 -0
- package/dist/components/safetyBar/SafetyBar.d.ts +1 -0
- package/dist/components/safetyBar/SafetyBar.d.ts.map +1 -0
- package/dist/components/safetyBar/SafetyBar.js +16 -15
- package/dist/components/safetyBar/SafetyBar.js.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.cjs +2 -1
- package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +1 -0
- package/dist/components/safetyBar/SafetyStateIndicator.js +30 -25
- package/dist/components/safetyBar/SafetyStateIndicator.js.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +3 -0
- package/dist/{chunks/controller-type-virtual-CWOoMRfl.js → components/safetyBar/icons/controller-type-physical.svg.js} +6 -10
- package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +11 -0
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/index.d.ts +1 -0
- package/dist/components/safetyBar/icons/index.d.ts.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +11 -0
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +2 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +1 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +3 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.js +11 -0
- package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +1 -0
- package/dist/components/utils/converters.cjs +2 -1
- package/dist/components/utils/converters.cjs.map +1 -0
- package/dist/components/utils/converters.d.ts +1 -0
- package/dist/components/utils/converters.d.ts.map +1 -0
- package/dist/components/utils/converters.js +11 -26
- package/dist/components/utils/converters.js.map +1 -0
- package/dist/components/utils/errorHandling.cjs +2 -1
- package/dist/components/utils/errorHandling.cjs.map +1 -0
- package/dist/components/utils/errorHandling.d.ts +1 -0
- package/dist/components/utils/errorHandling.d.ts.map +1 -0
- package/dist/components/utils/errorHandling.js +9 -17
- package/dist/components/utils/errorHandling.js.map +1 -0
- package/dist/components/utils/errorHandling.test.d.ts +2 -0
- package/dist/components/utils/errorHandling.test.d.ts.map +1 -0
- package/dist/components/utils/hooks.cjs +1 -0
- package/dist/components/utils/hooks.cjs.map +1 -0
- package/dist/components/utils/hooks.d.ts +1 -0
- package/dist/components/utils/hooks.d.ts.map +1 -0
- package/dist/components/utils/hooks.js +4 -3
- package/dist/components/utils/hooks.js.map +1 -0
- package/dist/components/utils/interpolation.cjs +1 -0
- package/dist/components/utils/interpolation.cjs.map +1 -0
- package/dist/components/utils/interpolation.d.ts +1 -0
- package/dist/components/utils/interpolation.d.ts.map +1 -0
- package/dist/components/utils/interpolation.js +1 -0
- package/dist/components/utils/interpolation.js.map +1 -0
- package/dist/components/utils/interpolation.test.d.ts +2 -0
- package/dist/components/utils/interpolation.test.d.ts.map +1 -0
- package/dist/core.cjs +2 -1
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +75 -70
- package/dist/core.js.map +1 -0
- package/dist/externalizeComponent.cjs +2 -0
- package/dist/externalizeComponent.cjs.map +1 -0
- package/dist/externalizeComponent.d.ts +1 -0
- package/dist/externalizeComponent.d.ts.map +1 -0
- package/dist/externalizeComponent.js +13 -0
- package/dist/externalizeComponent.js.map +1 -0
- package/dist/i18n/config.cjs +2 -0
- package/dist/i18n/config.cjs.map +1 -0
- package/dist/i18n/config.d.ts +1 -0
- package/dist/i18n/config.d.ts.map +1 -0
- package/dist/i18n/config.js +25 -0
- package/dist/i18n/config.js.map +1 -0
- package/dist/i18n/locales/de/translations.json.cjs +3 -0
- package/dist/i18n/locales/de/translations.json.cjs.map +1 -0
- package/dist/i18n/locales/de/translations.json.js +94 -0
- package/dist/i18n/locales/de/translations.json.js.map +1 -0
- package/dist/i18n/locales/en/translations.json.cjs +2 -0
- package/dist/i18n/locales/en/translations.json.cjs.map +1 -0
- package/dist/i18n/locales/en/translations.json.js +94 -0
- package/dist/i18n/locales/en/translations.json.js.map +1 -0
- package/dist/icons/DropdownArrowIcon.cjs +2 -0
- package/dist/icons/DropdownArrowIcon.cjs.map +1 -0
- package/dist/icons/DropdownArrowIcon.d.ts +1 -0
- package/dist/icons/DropdownArrowIcon.d.ts.map +1 -0
- package/dist/icons/DropdownArrowIcon.js +14 -0
- package/dist/icons/DropdownArrowIcon.js.map +1 -0
- package/dist/icons/axis-x.svg.cjs +2 -0
- package/dist/icons/axis-x.svg.cjs.map +1 -0
- package/dist/icons/axis-x.svg.d.ts +3 -0
- package/dist/icons/axis-x.svg.js +11 -0
- package/dist/icons/axis-x.svg.js.map +1 -0
- package/dist/icons/axis-y.svg.cjs +2 -0
- package/dist/icons/axis-y.svg.cjs.map +1 -0
- package/dist/icons/axis-y.svg.d.ts +3 -0
- package/dist/icons/axis-y.svg.js +11 -0
- package/dist/icons/axis-y.svg.js.map +1 -0
- package/dist/icons/axis-z.svg.cjs +2 -0
- package/dist/icons/axis-z.svg.cjs.map +1 -0
- package/dist/icons/axis-z.svg.d.ts +3 -0
- package/dist/icons/axis-z.svg.js +11 -0
- package/dist/icons/axis-z.svg.js.map +1 -0
- package/dist/icons/home.svg.cjs +2 -0
- package/dist/icons/home.svg.cjs.map +1 -0
- package/dist/icons/home.svg.d.ts +3 -0
- package/dist/icons/home.svg.js +11 -0
- package/dist/icons/home.svg.js.map +1 -0
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/jog-minus.svg.cjs +2 -0
- package/dist/icons/jog-minus.svg.cjs.map +1 -0
- package/dist/icons/jog-minus.svg.d.ts +3 -0
- package/dist/icons/jog-minus.svg.js +11 -0
- package/dist/icons/jog-minus.svg.js.map +1 -0
- package/dist/icons/jog-plus.svg.cjs +2 -0
- package/dist/icons/jog-plus.svg.cjs.map +1 -0
- package/dist/icons/jog-plus.svg.d.ts +3 -0
- package/dist/icons/jog-plus.svg.js +11 -0
- package/dist/icons/jog-plus.svg.js.map +1 -0
- package/dist/icons/jogging.svg.cjs +2 -0
- package/dist/icons/jogging.svg.cjs.map +1 -0
- package/dist/icons/jogging.svg.d.ts +3 -0
- package/dist/icons/jogging.svg.js +11 -0
- package/dist/icons/jogging.svg.js.map +1 -0
- package/dist/icons/orientation-coord-system.svg.cjs +2 -0
- package/dist/icons/orientation-coord-system.svg.cjs.map +1 -0
- package/dist/icons/orientation-coord-system.svg.d.ts +3 -0
- package/dist/icons/orientation-coord-system.svg.js +11 -0
- package/dist/icons/orientation-coord-system.svg.js.map +1 -0
- package/dist/icons/orientation-tool.svg.cjs +2 -0
- package/dist/icons/orientation-tool.svg.cjs.map +1 -0
- package/dist/icons/orientation-tool.svg.d.ts +3 -0
- package/dist/icons/orientation-tool.svg.js +11 -0
- package/dist/icons/orientation-tool.svg.js.map +1 -0
- package/dist/icons/robot.svg.cjs +2 -0
- package/dist/icons/robot.svg.cjs.map +1 -0
- package/dist/icons/robot.svg.d.ts +3 -0
- package/dist/{chunks/robot-D97QEl_l.js → icons/robot.svg.js} +3 -2
- package/dist/icons/robot.svg.js.map +1 -0
- package/dist/icons/rotation.svg.cjs +2 -0
- package/dist/icons/rotation.svg.cjs.map +1 -0
- package/dist/icons/rotation.svg.d.ts +3 -0
- package/dist/icons/rotation.svg.js +11 -0
- package/dist/icons/rotation.svg.js.map +1 -0
- package/dist/icons/wbLogo.svg.cjs +2 -0
- package/dist/icons/wbLogo.svg.cjs.map +1 -0
- package/dist/icons/wbLogo.svg.d.ts +3 -0
- package/dist/icons/wbLogo.svg.js +11 -0
- package/dist/icons/wbLogo.svg.js.map +1 -0
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +140 -120
- package/dist/index.js.map +1 -0
- package/dist/lib/ConnectedMotionGroup.cjs +4 -0
- package/dist/lib/ConnectedMotionGroup.cjs.map +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -0
- package/dist/lib/ConnectedMotionGroup.js +250 -0
- package/dist/lib/ConnectedMotionGroup.js.map +1 -0
- package/dist/lib/JoggerConnection.cjs +2 -0
- package/dist/lib/JoggerConnection.cjs.map +1 -0
- package/dist/lib/JoggerConnection.d.ts +1 -0
- package/dist/lib/JoggerConnection.d.ts.map +1 -0
- package/dist/lib/JoggerConnection.js +342 -0
- package/dist/lib/JoggerConnection.js.map +1 -0
- package/dist/lib/JoggerConnection.test.d.ts +2 -0
- package/dist/lib/JoggerConnection.test.d.ts.map +1 -0
- package/dist/lib/MotionStreamConnection.cjs +3 -0
- package/dist/lib/MotionStreamConnection.cjs.map +1 -0
- package/dist/lib/MotionStreamConnection.d.ts +1 -0
- package/dist/lib/MotionStreamConnection.d.ts.map +1 -0
- package/dist/lib/MotionStreamConnection.js +94 -0
- package/dist/lib/MotionStreamConnection.js.map +1 -0
- package/dist/lib/MotionStreamConnection.test.d.ts +2 -0
- package/dist/lib/MotionStreamConnection.test.d.ts.map +1 -0
- package/dist/lib/motionStateUpdate.cjs +2 -0
- package/dist/lib/motionStateUpdate.cjs.map +1 -0
- package/dist/lib/motionStateUpdate.d.ts +1 -0
- package/dist/lib/motionStateUpdate.d.ts.map +1 -0
- package/dist/lib/motionStateUpdate.js +49 -0
- package/dist/lib/motionStateUpdate.js.map +1 -0
- package/dist/lib/motionStateUpdate.test.d.ts +2 -0
- package/dist/lib/motionStateUpdate.test.d.ts.map +1 -0
- package/dist/test/consumer.test.d.ts +2 -0
- package/dist/test/consumer.test.d.ts.map +1 -0
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/themes/createDarkTheme.cjs +2 -0
- package/dist/themes/createDarkTheme.cjs.map +1 -0
- package/dist/themes/createDarkTheme.d.ts +1 -0
- package/dist/themes/createDarkTheme.d.ts.map +1 -0
- package/dist/themes/createDarkTheme.js +344 -0
- package/dist/themes/createDarkTheme.js.map +1 -0
- package/dist/themes/createLightTheme.cjs +2 -0
- package/dist/themes/createLightTheme.cjs.map +1 -0
- package/dist/themes/createLightTheme.d.ts +1 -0
- package/dist/themes/createLightTheme.d.ts.map +1 -0
- package/dist/themes/createLightTheme.js +9 -0
- package/dist/themes/createLightTheme.js.map +1 -0
- package/dist/themes/themeTypes.d.ts +1 -0
- package/dist/themes/themeTypes.d.ts.map +1 -0
- package/dist/themes/theming.cjs +2 -0
- package/dist/themes/theming.cjs.map +1 -0
- package/dist/themes/theming.d.ts +1 -0
- package/dist/themes/theming.d.ts.map +1 -0
- package/dist/themes/theming.js +14 -0
- package/dist/themes/theming.js.map +1 -0
- package/dist/wb-icons.cjs +2 -1
- package/dist/wb-icons.cjs.map +1 -0
- package/dist/wb-icons.d.ts +1 -0
- package/dist/wb-icons.d.ts.map +1 -0
- package/dist/wb-icons.js +44 -28
- package/dist/wb-icons.js.map +1 -0
- package/package.json +6 -5
- package/src/3d.ts +18 -0
- package/src/Setup.tsx +33 -0
- package/src/components/3d-viewport/CoordinateSystemTransform.tsx +57 -0
- package/src/components/3d-viewport/PresetEnvironment.tsx +81 -0
- package/src/components/3d-viewport/SafetyZonesRenderer.tsx +198 -0
- package/src/components/3d-viewport/TrajectoryRenderer.tsx +41 -0
- package/src/components/3d-viewport/collider/ColliderCollection.tsx +35 -0
- package/src/components/3d-viewport/collider/ColliderElement.tsx +36 -0
- package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +26 -0
- package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +48 -0
- package/src/components/AppHeader.md +84 -0
- package/src/components/AppHeader.tsx +197 -0
- package/src/components/ConsoleFilter.tsx +24 -0
- package/src/components/CopyableText.tsx +89 -0
- package/src/components/CycleTimer/CycleTimer.ts +8 -0
- package/src/components/CycleTimer/DefaultVariant.tsx +326 -0
- package/src/components/CycleTimer/SmallVariant.tsx +229 -0
- package/src/components/CycleTimer/index.tsx +158 -0
- package/src/components/CycleTimer/types.ts +58 -0
- package/src/components/CycleTimer/useAnimations.ts +202 -0
- package/src/components/CycleTimer/useTimerLogic.ts +330 -0
- package/src/components/CycleTimer/utils.ts +122 -0
- package/src/components/CycleTimer.tsx +8 -0
- package/src/components/DataGrid.tsx +664 -0
- package/src/components/LoadingCover.tsx +91 -0
- package/src/components/LogPanel.tsx +71 -0
- package/src/components/LogStore.ts +46 -0
- package/src/components/LogViewer.tsx +368 -0
- package/src/components/ProgramControl.tsx +267 -0
- package/src/components/ProgramStateIndicator.tsx +195 -0
- package/src/components/RobotCard.tsx +495 -0
- package/src/components/RobotListItem.tsx +155 -0
- package/src/components/RobotSetupReadinessIndicator.test.tsx +60 -0
- package/src/components/RobotSetupReadinessIndicator.tsx +161 -0
- package/src/components/SelectableFab.tsx +52 -0
- package/src/components/TabBar.tsx +325 -0
- package/src/components/ThemeSelect.tsx +51 -0
- package/src/components/Timer/Timer.ts +4 -0
- package/src/components/Timer/TimerDefaultVariant.tsx +143 -0
- package/src/components/Timer/TimerSmallVariant.tsx +141 -0
- package/src/components/Timer/index.tsx +103 -0
- package/src/components/Timer/types.ts +38 -0
- package/src/components/Timer/useTimerAnimations.ts +94 -0
- package/src/components/Timer/useTimerLogic.ts +214 -0
- package/src/components/Timer/utils.ts +87 -0
- package/src/components/Timer.ts +4 -0
- package/src/components/TransparentOverlay.tsx +28 -0
- package/src/components/VelocitySlider.tsx +117 -0
- package/src/components/experimental/utils/AdornedSelect.tsx +38 -0
- package/src/components/jogging/JoggingBlocked.tsx +43 -0
- package/src/components/jogging/JoggingCartesianAxisControl.tsx +237 -0
- package/src/components/jogging/JoggingCartesianTab.tsx +349 -0
- package/src/components/jogging/JoggingFreedriveTab.tsx +8 -0
- package/src/components/jogging/JoggingJointLimitDetector.tsx +57 -0
- package/src/components/jogging/JoggingJointTab.tsx +126 -0
- package/src/components/jogging/JoggingJointValueControl.tsx +293 -0
- package/src/components/jogging/JoggingOptions.tsx +163 -0
- package/src/components/jogging/JoggingPanel.test.tsx +645 -0
- package/src/components/jogging/JoggingPanel.tsx +204 -0
- package/src/components/jogging/JoggingStore.ts +485 -0
- package/src/components/jogging/JoggingToggleButtonGroup.tsx +25 -0
- package/src/components/jogging/JoggingVelocitySlider.tsx +39 -0
- package/src/components/jogging/PoseCartesianValues.tsx +55 -0
- package/src/components/jogging/PoseJointValues.tsx +54 -0
- package/src/components/jogging/__fixtures__/motionStreamMockData.ts +136 -0
- package/src/components/modal/NoMotionGroupModal.tsx +91 -0
- package/src/components/robots/AxisConfig.ts +3 -0
- package/src/components/robots/DHLinearAxis.tsx +147 -0
- package/src/components/robots/DHRobot.tsx +152 -0
- package/src/components/robots/GenericRobot.tsx +137 -0
- package/src/components/robots/LinearAxis.tsx +74 -0
- package/src/components/robots/LinearAxisAnimator.tsx +118 -0
- package/src/components/robots/MotionGroupVisualizer.tsx +73 -0
- package/src/components/robots/Robot.tsx +57 -0
- package/src/components/robots/RobotAnimator.test.tsx +98 -0
- package/src/components/robots/RobotAnimator.tsx +116 -0
- package/src/components/robots/SupportedLinearAxis.tsx +110 -0
- package/src/components/robots/SupportedRobot.tsx +111 -0
- package/src/components/robots/ghostStyle.ts +71 -0
- package/src/components/robots/manufacturerHomePositions.ts +76 -0
- package/src/components/robots/robotModelLogic.ts +158 -0
- package/src/components/safetyBar/ControllerTypeIndicator.tsx +79 -0
- package/src/components/safetyBar/IndicatorWithExplanation.tsx +137 -0
- package/src/components/safetyBar/OperationModeIndicator.tsx +98 -0
- package/src/components/safetyBar/SafetyBar.tsx +72 -0
- package/src/components/safetyBar/SafetyStateIndicator.tsx +163 -0
- package/src/components/safetyBar/icons/controller-type-physical.svg +1 -0
- package/src/components/safetyBar/icons/controller-type-virtual.svg +1 -0
- package/src/components/safetyBar/icons/index.ts +10 -0
- package/src/components/safetyBar/icons/operation-mode-automatic.svg +1 -0
- package/src/components/safetyBar/icons/operation-mode-error.svg +1 -0
- package/src/components/safetyBar/icons/operation-mode-manual.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-error.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-estop.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-manual-action-required.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-normal.svg +1 -0
- package/src/components/safetyBar/icons/safety-state-stop.svg +1 -0
- package/src/components/utils/converters.ts +90 -0
- package/src/components/utils/errorHandling.test.ts +41 -0
- package/src/components/utils/errorHandling.ts +38 -0
- package/src/components/utils/hooks.tsx +55 -0
- package/src/components/utils/interpolation.test.ts +1138 -0
- package/src/components/utils/interpolation.ts +380 -0
- package/src/core.ts +33 -0
- package/src/declarations.d.ts +10 -0
- package/src/env.d.ts +3 -0
- package/src/externalizeComponent.tsx +28 -0
- package/src/i18n/config.ts +26 -0
- package/src/i18n/locales/de/translations.json +89 -0
- package/src/i18n/locales/en/translations.json +90 -0
- package/src/icons/DropdownArrowIcon.tsx +12 -0
- package/src/icons/axis-x.svg +1 -0
- package/src/icons/axis-y.svg +1 -0
- package/src/icons/axis-z.svg +1 -0
- package/src/icons/home.svg +1 -0
- package/src/icons/index.ts +12 -0
- package/src/icons/jog-minus.svg +5 -0
- package/src/icons/jog-plus.svg +9 -0
- package/src/icons/jogging.svg +1 -0
- package/src/icons/orientation-coord-system.svg +1 -0
- package/src/icons/orientation-tool.svg +1 -0
- package/src/icons/robot.svg +1 -0
- package/src/icons/rotation.svg +3 -0
- package/src/icons/wbLogo.svg +1 -0
- package/src/index.ts +4 -0
- package/src/lib/ConnectedMotionGroup.ts +441 -0
- package/src/lib/JoggerConnection.test.ts +122 -0
- package/src/lib/JoggerConnection.ts +694 -0
- package/src/lib/MotionStreamConnection.test.ts +23 -0
- package/src/lib/MotionStreamConnection.ts +186 -0
- package/src/lib/motionStateUpdate.test.ts +28 -0
- package/src/lib/motionStateUpdate.ts +117 -0
- package/src/test/consumer.test.ts +257 -0
- package/src/test/setup.ts +111 -0
- package/src/themes/createDarkTheme.ts +343 -0
- package/src/themes/createLightTheme.ts +8 -0
- package/src/themes/themeTypes.ts +96 -0
- package/src/themes/theming.ts +29 -0
- package/src/wb-icons.ts +3 -0
- package/dist/chunks/JoggingPanel-CQH_oXTB.js +0 -586
- package/dist/chunks/JoggingPanel-DZN2Y39k.cjs +0 -2
- package/dist/chunks/controller-type-virtual-BuJWQOvV.cjs +0 -1
- package/dist/chunks/externalizeComponent-DOwkaDcw.cjs +0 -2
- package/dist/chunks/externalizeComponent-eiCc5DIh.js +0 -209
- package/dist/chunks/jog-plus-CAUurv4S.js +0 -15
- package/dist/chunks/jog-plus-Dy1r7-r5.cjs +0 -1
- package/dist/chunks/operation-mode-manual-Di4Z1KM1.js +0 -20
- package/dist/chunks/operation-mode-manual-eHwVILeI.cjs +0 -1
- package/dist/chunks/robot-CrNbCELh.cjs +0 -1
- package/dist/chunks/rotation-CIOAnn9q.cjs +0 -1
- package/dist/chunks/rotation-Dm5YL3NM.js +0 -25
- package/dist/chunks/safety-state-stop-Bg0VUsM4.js +0 -30
- package/dist/chunks/safety-state-stop-CNxVYiap.cjs +0 -1
- package/dist/chunks/theming-Chx_tewl.cjs +0 -3
- package/dist/chunks/theming-Cw6qwBM7.js +0 -600
- package/dist/chunks/wbLogo-CObCmqTw.js +0 -30
- package/dist/chunks/wbLogo-G_IfZ03l.cjs +0 -1
- package/dist/components/3d-viewport/CoordinateSystemTransform.cjs +0 -1
- package/dist/components/3d-viewport/CoordinateSystemTransform.js +0 -37
- package/dist/components/CycleTimer/CycleTimer.cjs +0 -1
- package/dist/components/CycleTimer/CycleTimer.js +0 -5
- package/dist/components/CycleTimer/types.cjs +0 -1
- package/dist/components/CycleTimer/types.js +0 -1
- package/dist/components/ThemeSelect.cjs +0 -1
- package/dist/components/ThemeSelect.js +0 -38
- package/dist/components/Timer/Timer.cjs +0 -1
- package/dist/components/Timer/Timer.js +0 -5
- package/dist/components/Timer/types.cjs +0 -1
- package/dist/components/Timer/types.js +0 -1
- package/dist/components/TransparentOverlay.cjs +0 -1
- package/dist/components/TransparentOverlay.js +0 -26
- package/dist/components/jogging/JoggingFreedriveTab.cjs +0 -1
- package/dist/components/jogging/JoggingFreedriveTab.js +0 -6
- package/dist/components/safetyBar/icons/index.cjs +0 -1
- package/dist/components/safetyBar/icons/index.js +0 -15
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { useGLTF } from "@react-three/drei"
|
|
2
|
+
import type { ThreeElements } from "@react-three/fiber"
|
|
3
|
+
import type React from "react"
|
|
4
|
+
import { useCallback, useEffect, useState } from "react"
|
|
5
|
+
import type { Group, Mesh, Object3D } from "three"
|
|
6
|
+
import { isFlange, parseRobotModel } from "./robotModelLogic"
|
|
7
|
+
|
|
8
|
+
export type RobotModelProps = {
|
|
9
|
+
modelURL: string | Promise<string>
|
|
10
|
+
/**
|
|
11
|
+
* Called after a robot model has been loaded and
|
|
12
|
+
* rendered into the threejs scene
|
|
13
|
+
*/
|
|
14
|
+
postModelRender?: () => void
|
|
15
|
+
flangeRef?: React.Ref<Group>
|
|
16
|
+
} & ThreeElements["group"]
|
|
17
|
+
|
|
18
|
+
function isMesh(node: Object3D): node is Mesh {
|
|
19
|
+
return node.type === "Mesh"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Separate component that only renders when we have a valid URL
|
|
23
|
+
function LoadedRobotModel({
|
|
24
|
+
url,
|
|
25
|
+
flangeRef,
|
|
26
|
+
postModelRender,
|
|
27
|
+
...props
|
|
28
|
+
}: {
|
|
29
|
+
url: string
|
|
30
|
+
flangeRef?: React.Ref<Group>
|
|
31
|
+
postModelRender?: () => void
|
|
32
|
+
} & ThreeElements["group"]) {
|
|
33
|
+
const gltfResult = useGLTF(url)
|
|
34
|
+
const parsed = parseRobotModel(gltfResult, "robot.glb")
|
|
35
|
+
const gltf = parsed.gltf
|
|
36
|
+
|
|
37
|
+
const groupRef: React.RefCallback<Group> = useCallback(
|
|
38
|
+
(group) => {
|
|
39
|
+
if (group && postModelRender) {
|
|
40
|
+
postModelRender()
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
[postModelRender],
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
function renderNode(node: Object3D): React.ReactNode {
|
|
47
|
+
try {
|
|
48
|
+
if (isMesh(node)) {
|
|
49
|
+
// Defensive: only render mesh if geometry exists
|
|
50
|
+
if ((node as Mesh).geometry) {
|
|
51
|
+
return (
|
|
52
|
+
<mesh
|
|
53
|
+
name={node.name}
|
|
54
|
+
key={node.uuid}
|
|
55
|
+
geometry={(node as Mesh).geometry}
|
|
56
|
+
material={(node as Mesh).material}
|
|
57
|
+
position={node.position}
|
|
58
|
+
rotation={node.rotation}
|
|
59
|
+
/>
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
// Fallback to empty group if geometry is missing
|
|
63
|
+
return (
|
|
64
|
+
<group
|
|
65
|
+
name={node.name}
|
|
66
|
+
key={node.uuid}
|
|
67
|
+
position={node.position}
|
|
68
|
+
rotation={node.rotation}
|
|
69
|
+
/>
|
|
70
|
+
)
|
|
71
|
+
} else {
|
|
72
|
+
return (
|
|
73
|
+
<group
|
|
74
|
+
name={node.name}
|
|
75
|
+
key={node.uuid}
|
|
76
|
+
position={node.position}
|
|
77
|
+
rotation={node.rotation}
|
|
78
|
+
ref={isFlange(node) ? flangeRef : undefined}
|
|
79
|
+
>
|
|
80
|
+
{node.children.map(renderNode)}
|
|
81
|
+
</group>
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
} catch (e) {
|
|
85
|
+
console.warn("Error rendering node", node.name, e)
|
|
86
|
+
return null
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return (
|
|
91
|
+
<group {...props} dispose={null} ref={groupRef}>
|
|
92
|
+
{renderNode(gltf.scene)}
|
|
93
|
+
</group>
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export function GenericRobot({
|
|
98
|
+
modelURL,
|
|
99
|
+
flangeRef,
|
|
100
|
+
postModelRender,
|
|
101
|
+
...props
|
|
102
|
+
}: RobotModelProps) {
|
|
103
|
+
const [resolvedURL, setResolvedURL] = useState<string | null>(null)
|
|
104
|
+
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
const resolveURL = async () => {
|
|
107
|
+
try {
|
|
108
|
+
if (typeof modelURL === "string") {
|
|
109
|
+
setResolvedURL(modelURL)
|
|
110
|
+
} else {
|
|
111
|
+
const url = await modelURL
|
|
112
|
+
setResolvedURL(url)
|
|
113
|
+
}
|
|
114
|
+
} catch (error) {
|
|
115
|
+
console.error("Failed to resolve model URL:", error)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
resolveURL()
|
|
120
|
+
}, [modelURL])
|
|
121
|
+
|
|
122
|
+
// Don't render until we have a resolved URL
|
|
123
|
+
if (!resolvedURL) {
|
|
124
|
+
return null // Loading state
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return (
|
|
128
|
+
<LoadedRobotModel
|
|
129
|
+
url={resolvedURL}
|
|
130
|
+
flangeRef={flangeRef}
|
|
131
|
+
postModelRender={postModelRender}
|
|
132
|
+
{...props}
|
|
133
|
+
/>
|
|
134
|
+
)
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export default GenericRobot
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { ThreeElements } from "@react-three/fiber"
|
|
2
|
+
|
|
3
|
+
import type { Group } from "three"
|
|
4
|
+
import type { ConnectedMotionGroup } from "../../lib/ConnectedMotionGroup"
|
|
5
|
+
import { DHLinearAxis } from "./DHLinearAxis"
|
|
6
|
+
import { defaultGetModel } from "./robotModelLogic"
|
|
7
|
+
import { SupportedLinearAxis } from "./SupportedLinearAxis"
|
|
8
|
+
|
|
9
|
+
export type LinearAxisProps = {
|
|
10
|
+
connectedMotionGroup: ConnectedMotionGroup
|
|
11
|
+
getModel?: (modelFromController: string) => Promise<string>
|
|
12
|
+
flangeRef?: React.Ref<Group>
|
|
13
|
+
transparentColor?: string
|
|
14
|
+
postModelRender?: () => void
|
|
15
|
+
} & ThreeElements["group"]
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The LinearAxis component is a wrapper that renders SupportedLinearAxis if a model is available,
|
|
19
|
+
* otherwise falls back to DHLinearAxis for usage with @wandelbots/nova-js ConnectedMotionGroup object.
|
|
20
|
+
*
|
|
21
|
+
* @param {LinearAxisProps} props - The properties for the LinearAxis component.
|
|
22
|
+
* @param {ConnectedMotionGroup} props.connectedMotionGroup - The connected motion group containing motion state and parameters.
|
|
23
|
+
* @param {Function} [props.getModel=defaultGetModel] - Optional function to get the model URL. Defaults to defaultGetModel.
|
|
24
|
+
* @param {Object} props - Additional properties passed to the underlying component.
|
|
25
|
+
*
|
|
26
|
+
* @returns {JSX.Element} The rendered SupportedLinearAxis or DHLinearAxis component.
|
|
27
|
+
*/
|
|
28
|
+
export function LinearAxis({
|
|
29
|
+
connectedMotionGroup,
|
|
30
|
+
getModel = defaultGetModel,
|
|
31
|
+
flangeRef,
|
|
32
|
+
transparentColor,
|
|
33
|
+
postModelRender,
|
|
34
|
+
...props
|
|
35
|
+
}: LinearAxisProps) {
|
|
36
|
+
if (!connectedMotionGroup.dhParameters) {
|
|
37
|
+
return null
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const modelFromController = connectedMotionGroup.modelFromController || ""
|
|
41
|
+
const hasModel = modelFromController && getModel(modelFromController)
|
|
42
|
+
|
|
43
|
+
// Use SupportedLinearAxis if model is available, otherwise fall back to DHLinearAxis
|
|
44
|
+
if (hasModel) {
|
|
45
|
+
return (
|
|
46
|
+
<SupportedLinearAxis
|
|
47
|
+
rapidlyChangingMotionState={
|
|
48
|
+
connectedMotionGroup.rapidlyChangingMotionState
|
|
49
|
+
}
|
|
50
|
+
modelFromController={modelFromController}
|
|
51
|
+
dhParameters={connectedMotionGroup.dhParameters}
|
|
52
|
+
getModel={getModel}
|
|
53
|
+
flangeRef={flangeRef}
|
|
54
|
+
transparentColor={transparentColor}
|
|
55
|
+
postModelRender={postModelRender}
|
|
56
|
+
{...props}
|
|
57
|
+
/>
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return (
|
|
62
|
+
<DHLinearAxis
|
|
63
|
+
rapidlyChangingMotionState={
|
|
64
|
+
connectedMotionGroup.rapidlyChangingMotionState
|
|
65
|
+
}
|
|
66
|
+
dhParameters={connectedMotionGroup.dhParameters}
|
|
67
|
+
{...props}
|
|
68
|
+
/>
|
|
69
|
+
)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export { defaultGetModel }
|
|
73
|
+
|
|
74
|
+
export default LinearAxis
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { useFrame, useThree } from "@react-three/fiber"
|
|
2
|
+
import type { DHParameter, MotionGroupState } from "@wandelbots/nova-js/v2"
|
|
3
|
+
import type React from "react"
|
|
4
|
+
import { useCallback, useEffect, useRef } from "react"
|
|
5
|
+
import type { Group, Object3D } from "three"
|
|
6
|
+
import { useAutorun } from "../utils/hooks"
|
|
7
|
+
import { ValueInterpolator } from "../utils/interpolation"
|
|
8
|
+
import { collectJoints } from "./robotModelLogic"
|
|
9
|
+
|
|
10
|
+
type LinearAxisAnimatorProps = {
|
|
11
|
+
rapidlyChangingMotionState: MotionGroupState
|
|
12
|
+
dhParameters: DHParameter[]
|
|
13
|
+
onTranslationChanged?: (joints: Object3D[], jointValues: number[]) => void
|
|
14
|
+
children: React.ReactNode
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default function LinearAxisAnimator({
|
|
18
|
+
rapidlyChangingMotionState,
|
|
19
|
+
dhParameters,
|
|
20
|
+
onTranslationChanged,
|
|
21
|
+
children,
|
|
22
|
+
}: LinearAxisAnimatorProps) {
|
|
23
|
+
const jointValues = useRef<number[]>([])
|
|
24
|
+
const jointObjects = useRef<Object3D[]>([])
|
|
25
|
+
const interpolatorRef = useRef<ValueInterpolator | null>(null)
|
|
26
|
+
const { invalidate } = useThree()
|
|
27
|
+
|
|
28
|
+
// Initialize interpolator
|
|
29
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
const initialJointValues = rapidlyChangingMotionState.joint_position.filter(
|
|
32
|
+
(item) => item !== undefined,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
interpolatorRef.current = new ValueInterpolator(initialJointValues, {
|
|
36
|
+
tension: 120, // Controls spring stiffness - higher values create faster, more responsive motion
|
|
37
|
+
friction: 20, // Controls damping - higher values reduce oscillation and create smoother settling
|
|
38
|
+
threshold: 0.001,
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
return () => {
|
|
42
|
+
interpolatorRef.current?.destroy()
|
|
43
|
+
}
|
|
44
|
+
}, [])
|
|
45
|
+
|
|
46
|
+
// Animation loop that runs at the display's refresh rate
|
|
47
|
+
useFrame((state, delta) => {
|
|
48
|
+
if (interpolatorRef.current) {
|
|
49
|
+
const isComplete = interpolatorRef.current.update(delta)
|
|
50
|
+
setTranslation()
|
|
51
|
+
|
|
52
|
+
// Trigger a re-render only if the animation is still running
|
|
53
|
+
if (!isComplete) {
|
|
54
|
+
invalidate()
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
function setGroupRef(group: Group | null) {
|
|
60
|
+
if (!group) return
|
|
61
|
+
|
|
62
|
+
jointObjects.current = collectJoints(group)
|
|
63
|
+
|
|
64
|
+
// Set initial position
|
|
65
|
+
setTranslation()
|
|
66
|
+
invalidate()
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function setTranslation() {
|
|
70
|
+
const updatedJointValues = interpolatorRef.current?.getCurrentValues() || []
|
|
71
|
+
|
|
72
|
+
if (onTranslationChanged) {
|
|
73
|
+
onTranslationChanged(jointObjects.current, updatedJointValues)
|
|
74
|
+
} else {
|
|
75
|
+
// For linear axes, we apply translation instead of rotation
|
|
76
|
+
for (const [index, object] of jointObjects.current.entries()) {
|
|
77
|
+
const dhParam = dhParameters[index]
|
|
78
|
+
const translationSign = dhParam.reverse_rotation_direction ? -1 : 1
|
|
79
|
+
|
|
80
|
+
// Apply linear translation along Y axis
|
|
81
|
+
// Convert from millimeters to meters
|
|
82
|
+
object.position.y =
|
|
83
|
+
(translationSign * (updatedJointValues[index] || 0)) / 1000
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const updateJoints = useCallback(() => {
|
|
89
|
+
const newJointValues = rapidlyChangingMotionState.joint_position.filter(
|
|
90
|
+
(item) => item !== undefined,
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
requestAnimationFrame(() => {
|
|
94
|
+
jointValues.current = newJointValues
|
|
95
|
+
interpolatorRef.current?.setTarget(newJointValues)
|
|
96
|
+
})
|
|
97
|
+
}, [rapidlyChangingMotionState])
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Fire an update joints call on every motion state change.
|
|
101
|
+
* requestAnimationFrame used to avoid blocking main thread
|
|
102
|
+
*/
|
|
103
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
updateJoints()
|
|
106
|
+
}, [rapidlyChangingMotionState, updateJoints])
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* As some consumer applications (eg. storybook) deliver
|
|
110
|
+
* mobx observable for rapidlyChangingMotionState, we need to
|
|
111
|
+
* register the watcher to get the newest value updates
|
|
112
|
+
*/
|
|
113
|
+
useAutorun(() => {
|
|
114
|
+
updateJoints()
|
|
115
|
+
})
|
|
116
|
+
|
|
117
|
+
return <group ref={setGroupRef}>{children}</group>
|
|
118
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { JointTypeEnum } from "@wandelbots/nova-js/v2"
|
|
2
|
+
import type React from "react"
|
|
3
|
+
import { useEffect, useMemo, useState } from "react"
|
|
4
|
+
|
|
5
|
+
import { externalizeComponent } from "../../externalizeComponent"
|
|
6
|
+
import {
|
|
7
|
+
SupportedLinearAxis,
|
|
8
|
+
type SupportedLinearAxisProps,
|
|
9
|
+
} from "./SupportedLinearAxis"
|
|
10
|
+
import { SupportedRobot, type SupportedRobotProps } from "./SupportedRobot"
|
|
11
|
+
|
|
12
|
+
export type MotionGroupVisualizerProps = {
|
|
13
|
+
instanceUrl: string
|
|
14
|
+
inverseSolver?: string | null
|
|
15
|
+
} & (SupportedRobotProps | SupportedLinearAxisProps)
|
|
16
|
+
|
|
17
|
+
export const MotionGroupVisualizer: React.FC<MotionGroupVisualizerProps> =
|
|
18
|
+
externalizeComponent((props: MotionGroupVisualizerProps) => {
|
|
19
|
+
const { inverseSolver, dhParameters, ...rest } = props
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Joint type to find out - in combination with inverseSolver - whether the
|
|
23
|
+
* active robot is a turn table
|
|
24
|
+
*/
|
|
25
|
+
const [jointType, setJointType] = useState<JointTypeEnum>(
|
|
26
|
+
JointTypeEnum.RevoluteJoint,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Sets the joint type according to delivered dh parameter type
|
|
31
|
+
*/
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (dhParameters.length) {
|
|
34
|
+
setJointType(dhParameters[0].type ?? JointTypeEnum.RevoluteJoint)
|
|
35
|
+
}
|
|
36
|
+
}, [dhParameters])
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The turntable models return inverseSolver = null - however these models
|
|
40
|
+
* should be rendered with SupportedRobot instead of SupportedLinearAxis
|
|
41
|
+
*/
|
|
42
|
+
const isTurnTable = useMemo(() => {
|
|
43
|
+
return inverseSolver === null && jointType === JointTypeEnum.RevoluteJoint
|
|
44
|
+
}, [inverseSolver, jointType])
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Linear axis check
|
|
48
|
+
*/
|
|
49
|
+
const isLinearAxis = useMemo(() => {
|
|
50
|
+
return (
|
|
51
|
+
inverseSolver === null && jointType === JointTypeEnum.PrismaticJoint
|
|
52
|
+
)
|
|
53
|
+
}, [inverseSolver, jointType])
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Robot differentiation for readability reasons
|
|
57
|
+
*/
|
|
58
|
+
const isRobot = useMemo(() => {
|
|
59
|
+
return !!inverseSolver
|
|
60
|
+
}, [inverseSolver])
|
|
61
|
+
|
|
62
|
+
if (isRobot || isTurnTable) {
|
|
63
|
+
return <SupportedRobot dhParameters={dhParameters} {...rest} />
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (isLinearAxis) {
|
|
67
|
+
return <SupportedLinearAxis dhParameters={dhParameters} {...rest} />
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return null
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
export default MotionGroupVisualizer
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ThreeElements } from "@react-three/fiber"
|
|
2
|
+
|
|
3
|
+
import type { Group } from "three"
|
|
4
|
+
import type { ConnectedMotionGroup } from "../../lib/ConnectedMotionGroup"
|
|
5
|
+
import { defaultGetModel } from "./robotModelLogic"
|
|
6
|
+
import { SupportedRobot } from "./SupportedRobot"
|
|
7
|
+
|
|
8
|
+
export type RobotProps = {
|
|
9
|
+
connectedMotionGroup: ConnectedMotionGroup
|
|
10
|
+
getModel?: (modelFromController: string) => Promise<string>
|
|
11
|
+
flangeRef?: React.Ref<Group>
|
|
12
|
+
transparentColor?: string
|
|
13
|
+
postModelRender?: () => void
|
|
14
|
+
} & ThreeElements["group"]
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The Robot component is a wrapper around the SupportedRobot component
|
|
18
|
+
* for usage with @wandelbots/nova-js ConnectedMotionGroup object.
|
|
19
|
+
*
|
|
20
|
+
* @param {RobotProps} props - The properties for the Robot component.
|
|
21
|
+
* @param {ConnectedMotionGroup} props.connectedMotionGroup - The connected motion group containing motion state and parameters.
|
|
22
|
+
* @param {Function} [props.getModel=defaultGetModel] - Optional function to get the model URL. Defaults to defaultGetModel.
|
|
23
|
+
* @param {Object} props - Additional properties passed to the SupportedRobot component.
|
|
24
|
+
*
|
|
25
|
+
* @returns {JSX.Element} The rendered SupportedRobot component.
|
|
26
|
+
*/
|
|
27
|
+
export function Robot({
|
|
28
|
+
connectedMotionGroup,
|
|
29
|
+
getModel = defaultGetModel,
|
|
30
|
+
flangeRef,
|
|
31
|
+
transparentColor,
|
|
32
|
+
postModelRender,
|
|
33
|
+
...props
|
|
34
|
+
}: RobotProps) {
|
|
35
|
+
if (!connectedMotionGroup.dhParameters) {
|
|
36
|
+
return null
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<SupportedRobot
|
|
41
|
+
rapidlyChangingMotionState={
|
|
42
|
+
connectedMotionGroup.rapidlyChangingMotionState
|
|
43
|
+
}
|
|
44
|
+
modelFromController={connectedMotionGroup.modelFromController || ""}
|
|
45
|
+
dhParameters={connectedMotionGroup.dhParameters}
|
|
46
|
+
getModel={getModel}
|
|
47
|
+
flangeRef={flangeRef}
|
|
48
|
+
transparentColor={transparentColor}
|
|
49
|
+
postModelRender={postModelRender}
|
|
50
|
+
{...props}
|
|
51
|
+
/>
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { defaultGetModel }
|
|
56
|
+
|
|
57
|
+
export default Robot
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { DHParameter, MotionGroupState } from "@wandelbots/nova-js/v2"
|
|
2
|
+
import { describe, expect, it, vi } from "vitest"
|
|
3
|
+
import RobotAnimator from "./RobotAnimator"
|
|
4
|
+
|
|
5
|
+
// Mock the dependencies
|
|
6
|
+
vi.mock("./robotModelLogic", () => ({
|
|
7
|
+
collectJoints: vi.fn(),
|
|
8
|
+
}))
|
|
9
|
+
|
|
10
|
+
vi.mock("../utils/interpolation", () => ({
|
|
11
|
+
ValueInterpolator: vi.fn().mockImplementation(() => ({
|
|
12
|
+
setTarget: vi.fn(),
|
|
13
|
+
getCurrentValues: vi.fn(() => []),
|
|
14
|
+
destroy: vi.fn(),
|
|
15
|
+
})),
|
|
16
|
+
}))
|
|
17
|
+
|
|
18
|
+
describe("RobotAnimator", () => {
|
|
19
|
+
it("should export the component correctly", () => {
|
|
20
|
+
expect(RobotAnimator).toBeDefined()
|
|
21
|
+
expect(typeof RobotAnimator).toBe("function")
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
it("should handle props with different numbers of joints", () => {
|
|
25
|
+
// Test that the component accepts different numbers of DH parameters
|
|
26
|
+
const mockMotionState4Joints: MotionGroupState = {
|
|
27
|
+
joint_position: [0.1, 0.2, 0.3, 0.4],
|
|
28
|
+
} as unknown as MotionGroupState
|
|
29
|
+
|
|
30
|
+
const mockDHParameters4Joints: DHParameter[] = [
|
|
31
|
+
{ theta: 0, reverse_rotation_direction: false },
|
|
32
|
+
{ theta: 0, reverse_rotation_direction: false },
|
|
33
|
+
{ theta: 0, reverse_rotation_direction: false },
|
|
34
|
+
{ theta: 0, reverse_rotation_direction: false },
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
const mockMotionState7Joints: MotionGroupState = {
|
|
38
|
+
joint_position: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7],
|
|
39
|
+
} as unknown as MotionGroupState
|
|
40
|
+
|
|
41
|
+
const mockDHParameters7Joints: DHParameter[] = Array(7).fill({
|
|
42
|
+
theta: 0,
|
|
43
|
+
reverse_rotation_direction: false,
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
// These should not throw TypeScript errors
|
|
47
|
+
expect(() => {
|
|
48
|
+
const props4 = {
|
|
49
|
+
rapidlyChangingMotionState: mockMotionState4Joints,
|
|
50
|
+
dhParameters: mockDHParameters4Joints,
|
|
51
|
+
children: null,
|
|
52
|
+
}
|
|
53
|
+
// Verify props are correctly typed
|
|
54
|
+
expect(props4.dhParameters).toHaveLength(4)
|
|
55
|
+
expect(props4.rapidlyChangingMotionState.joint_position).toHaveLength(4)
|
|
56
|
+
}).not.toThrow()
|
|
57
|
+
|
|
58
|
+
expect(() => {
|
|
59
|
+
const props7 = {
|
|
60
|
+
rapidlyChangingMotionState: mockMotionState7Joints,
|
|
61
|
+
dhParameters: mockDHParameters7Joints,
|
|
62
|
+
children: null,
|
|
63
|
+
}
|
|
64
|
+
expect(props7.dhParameters).toHaveLength(7)
|
|
65
|
+
expect(props7.rapidlyChangingMotionState.joint_position).toHaveLength(7)
|
|
66
|
+
}).not.toThrow()
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
it("should use custom interpolation for smooth value transitions", () => {
|
|
70
|
+
// Test the rotation calculation logic
|
|
71
|
+
const dhParam1 = { theta: 0.1, reverse_rotation_direction: false }
|
|
72
|
+
const dhParam2 = { theta: -0.2, reverse_rotation_direction: true }
|
|
73
|
+
const jointValue1 = 0.5
|
|
74
|
+
const jointValue2 = 1.0
|
|
75
|
+
|
|
76
|
+
// Calculate expected rotations
|
|
77
|
+
const expectedRotation1 = 1 * jointValue1 + 0.1 // 0.6
|
|
78
|
+
const expectedRotation2 = -1 * jointValue2 + -0.2 // -1.2
|
|
79
|
+
|
|
80
|
+
expect(expectedRotation1).toBe(0.6)
|
|
81
|
+
expect(expectedRotation2).toBe(-1.2)
|
|
82
|
+
|
|
83
|
+
// Test edge cases
|
|
84
|
+
const dhParamReverse = { theta: 0, reverse_rotation_direction: true }
|
|
85
|
+
const jointValueZero = 0
|
|
86
|
+
const expectedRotationReverse = -1 * jointValueZero + 0 // 0
|
|
87
|
+
|
|
88
|
+
expect(expectedRotationReverse).toBe(0)
|
|
89
|
+
|
|
90
|
+
// Test rotation direction logic
|
|
91
|
+
const testValue = 1.5
|
|
92
|
+
const normalParam = { theta: 0, reverse_rotation_direction: false }
|
|
93
|
+
const reversedParam = { theta: 0, reverse_rotation_direction: true }
|
|
94
|
+
|
|
95
|
+
expect(1 * testValue + 0).toBe(1.5) // Normal direction
|
|
96
|
+
expect(-1 * testValue + 0).toBe(-1.5) // Reversed direction
|
|
97
|
+
})
|
|
98
|
+
})
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { useFrame, useThree } from "@react-three/fiber"
|
|
2
|
+
import type { DHParameter, MotionGroupState } from "@wandelbots/nova-js/v2"
|
|
3
|
+
import type React from "react"
|
|
4
|
+
import { useCallback, useEffect, useRef } from "react"
|
|
5
|
+
import type { Group, Object3D } from "three"
|
|
6
|
+
import { useAutorun } from "../utils/hooks"
|
|
7
|
+
import { ValueInterpolator } from "../utils/interpolation"
|
|
8
|
+
import { collectJoints } from "./robotModelLogic"
|
|
9
|
+
|
|
10
|
+
type RobotAnimatorProps = {
|
|
11
|
+
rapidlyChangingMotionState: MotionGroupState
|
|
12
|
+
dhParameters: DHParameter[]
|
|
13
|
+
onRotationChanged?: (joints: Object3D[], jointValues: number[]) => void
|
|
14
|
+
children: React.ReactNode
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default function RobotAnimator({
|
|
18
|
+
rapidlyChangingMotionState,
|
|
19
|
+
dhParameters,
|
|
20
|
+
onRotationChanged,
|
|
21
|
+
children,
|
|
22
|
+
}: RobotAnimatorProps) {
|
|
23
|
+
const jointValues = useRef<number[]>([])
|
|
24
|
+
const jointObjects = useRef<Object3D[]>([])
|
|
25
|
+
const interpolatorRef = useRef<ValueInterpolator | null>(null)
|
|
26
|
+
const { invalidate } = useThree()
|
|
27
|
+
|
|
28
|
+
// Initialize interpolator
|
|
29
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
const initialJointValues = rapidlyChangingMotionState.joint_position.filter(
|
|
32
|
+
(item) => item !== undefined,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
interpolatorRef.current = new ValueInterpolator(initialJointValues, {
|
|
36
|
+
tension: 120, // Controls spring stiffness - higher values create faster, more responsive motion
|
|
37
|
+
friction: 20, // Controls damping - higher values reduce oscillation and create smoother settling
|
|
38
|
+
threshold: 0.001,
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
return () => {
|
|
42
|
+
interpolatorRef.current?.destroy()
|
|
43
|
+
}
|
|
44
|
+
}, [])
|
|
45
|
+
|
|
46
|
+
// Animation loop that runs at the display's refresh rate
|
|
47
|
+
useFrame((state, delta) => {
|
|
48
|
+
if (interpolatorRef.current) {
|
|
49
|
+
const isComplete = interpolatorRef.current.update(delta)
|
|
50
|
+
setRotation()
|
|
51
|
+
|
|
52
|
+
// Trigger a re-render only if the animation is still running
|
|
53
|
+
if (!isComplete) {
|
|
54
|
+
invalidate()
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
function setGroupRef(group: Group | null) {
|
|
60
|
+
if (!group) return
|
|
61
|
+
|
|
62
|
+
jointObjects.current = collectJoints(group)
|
|
63
|
+
|
|
64
|
+
// Set initial position
|
|
65
|
+
setRotation()
|
|
66
|
+
invalidate()
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function setRotation() {
|
|
70
|
+
const updatedJointValues = interpolatorRef.current?.getCurrentValues() || []
|
|
71
|
+
|
|
72
|
+
if (onRotationChanged) {
|
|
73
|
+
onRotationChanged(jointObjects.current, updatedJointValues)
|
|
74
|
+
} else {
|
|
75
|
+
for (const [index, object] of jointObjects.current.entries()) {
|
|
76
|
+
const dhParam = dhParameters[index]
|
|
77
|
+
const rotationOffset = dhParam.theta || 0
|
|
78
|
+
const rotationSign = dhParam.reverse_rotation_direction ? -1 : 1
|
|
79
|
+
|
|
80
|
+
object.rotation.y =
|
|
81
|
+
rotationSign * (updatedJointValues[index] || 0) + rotationOffset
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const updateJoints = useCallback(() => {
|
|
87
|
+
const newJointValues = rapidlyChangingMotionState.joint_position.filter(
|
|
88
|
+
(item) => item !== undefined,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
requestAnimationFrame(() => {
|
|
92
|
+
jointValues.current = newJointValues
|
|
93
|
+
interpolatorRef.current?.setTarget(newJointValues)
|
|
94
|
+
})
|
|
95
|
+
}, [rapidlyChangingMotionState])
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Fire an update joints call on every motion state change.
|
|
99
|
+
* requestAnimationFrame used to avoid blocking main thread
|
|
100
|
+
*/
|
|
101
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code
|
|
102
|
+
useEffect(() => {
|
|
103
|
+
updateJoints()
|
|
104
|
+
}, [rapidlyChangingMotionState, updateJoints])
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* As some consumer applications (eg. storybook) deliver
|
|
108
|
+
* mobx observable for rapidlyChangingMotionState, we need to
|
|
109
|
+
* register the watcher to get the newest value updates
|
|
110
|
+
*/
|
|
111
|
+
useAutorun(() => {
|
|
112
|
+
updateJoints()
|
|
113
|
+
})
|
|
114
|
+
|
|
115
|
+
return <group ref={setGroupRef}>{children}</group>
|
|
116
|
+
}
|