@wandelbots/wandelbots-js-react-components 5.5.1 → 5.5.2-pr.fix-performance-issues.594.d053ea2
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 +1 -2
- package/dist/3d.d.ts +0 -1
- package/dist/3d.js +16 -29
- package/dist/{components/safetyBar → SafetyBar}/ControllerTypeIndicator.d.ts +0 -1
- package/dist/{components/safetyBar → SafetyBar}/IndicatorWithExplanation.d.ts +0 -1
- package/dist/{components/safetyBar → SafetyBar}/OperationModeIndicator.d.ts +0 -1
- package/dist/{components/safetyBar → SafetyBar}/SafetyBar.d.ts +0 -1
- package/dist/{components/safetyBar → SafetyBar}/SafetyStateIndicator.d.ts +0 -1
- package/dist/{components/safetyBar → SafetyBar}/icons/index.d.ts +0 -1
- package/dist/SafetyBar/index.cjs +1 -0
- package/dist/SafetyBar/index.d.ts +2 -0
- package/dist/SafetyBar/index.js +5 -0
- package/dist/Setup.d.ts +0 -1
- package/dist/chunks/MotionGroupVisualizer-4AcH6kaR.cjs +1 -0
- package/dist/chunks/MotionGroupVisualizer-om9U-U7G.js +1376 -0
- package/dist/chunks/SafetyBar-C8whliAf.js +413 -0
- package/dist/chunks/SafetyBar-CLm3UQRA.cjs +1 -0
- package/dist/chunks/externalizeComponent-BHZdH14U.cjs +2 -0
- package/dist/chunks/externalizeComponent-D6S3WLFc.js +248 -0
- package/dist/chunks/interpolation-B84QX33C.cjs +1 -0
- package/dist/chunks/interpolation-D9WFd-j_.js +433 -0
- package/dist/chunks/robot-Cy9ST5-m.js +40 -0
- package/dist/chunks/robot-SEtfVAmf.cjs +1 -0
- package/dist/chunks/safety-state-stop-CJW5CKkp.js +55 -0
- package/dist/chunks/safety-state-stop-CgPfwC18.cjs +1 -0
- package/dist/chunks/theming-CLIhckeP.js +5473 -0
- package/dist/chunks/theming-DnEooKgA.cjs +4 -0
- package/dist/chunks/wbLogo-CObCmqTw.js +30 -0
- package/dist/chunks/wbLogo-G_IfZ03l.cjs +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +0 -1
- package/dist/components/3d-viewport/PresetEnvironment.d.ts +0 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +0 -1
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +0 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +0 -1
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts +0 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +0 -1
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +0 -1
- package/dist/components/AppHeader.d.ts +0 -1
- package/dist/components/ConsoleFilter.d.ts +0 -1
- package/dist/components/CopyableText.d.ts +0 -1
- package/dist/components/CycleTimer/CycleTimer.d.ts +0 -1
- package/dist/components/CycleTimer/DefaultVariant.d.ts +0 -1
- package/dist/components/CycleTimer/SmallVariant.d.ts +0 -1
- package/dist/components/CycleTimer/index.d.ts +0 -1
- package/dist/components/CycleTimer/types.d.ts +0 -1
- package/dist/components/CycleTimer/useAnimations.d.ts +0 -1
- package/dist/components/CycleTimer/useTimerLogic.d.ts +0 -1
- package/dist/components/CycleTimer/utils.d.ts +0 -1
- package/dist/components/CycleTimer.d.ts +0 -1
- package/dist/components/DataGrid.d.ts +0 -1
- package/dist/components/LoadingCover.d.ts +0 -1
- package/dist/components/LogPanel.d.ts +0 -1
- package/dist/components/LogStore.d.ts +0 -1
- package/dist/components/LogViewer.d.ts +0 -1
- package/dist/components/ProgramControl.d.ts +0 -1
- package/dist/components/ProgramStateIndicator.d.ts +0 -1
- package/dist/components/RobotCard.d.ts +0 -1
- package/dist/components/RobotListItem.d.ts +0 -1
- package/dist/components/RobotSetupReadinessIndicator.d.ts +0 -1
- package/dist/components/SelectableFab.d.ts +0 -1
- package/dist/components/TabBar.d.ts +0 -1
- package/dist/components/ThemeSelect.d.ts +0 -1
- package/dist/components/Timer/Timer.d.ts +0 -1
- package/dist/components/Timer/TimerDefaultVariant.d.ts +0 -1
- package/dist/components/Timer/TimerSmallVariant.d.ts +0 -1
- package/dist/components/Timer/index.d.ts +0 -1
- package/dist/components/Timer/types.d.ts +0 -1
- package/dist/components/Timer/useTimerAnimations.d.ts +0 -1
- package/dist/components/Timer/useTimerLogic.d.ts +0 -1
- package/dist/components/Timer/utils.d.ts +0 -1
- package/dist/components/Timer.d.ts +0 -1
- package/dist/components/TransparentOverlay.d.ts +0 -1
- package/dist/components/VelocitySlider.d.ts +0 -1
- package/dist/components/experimental/utils/AdornedSelect.d.ts +0 -1
- package/dist/components/jogging/JoggingBlocked.d.ts +0 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts +0 -1
- package/dist/components/jogging/JoggingCartesianTab.d.ts +0 -1
- package/dist/components/jogging/JoggingFreedriveTab.d.ts +0 -1
- package/dist/components/jogging/JoggingJointLimitDetector.d.ts +0 -1
- package/dist/components/jogging/JoggingJointTab.d.ts +0 -1
- package/dist/components/jogging/JoggingJointValueControl.d.ts +0 -1
- package/dist/components/jogging/JoggingOptions.d.ts +0 -1
- package/dist/components/jogging/JoggingPanel.d.ts +0 -1
- package/dist/components/jogging/JoggingStore.d.ts +0 -1
- package/dist/components/jogging/JoggingToggleButtonGroup.d.ts +0 -1
- package/dist/components/jogging/JoggingVelocitySlider.d.ts +0 -1
- package/dist/components/jogging/PoseCartesianValues.d.ts +0 -1
- package/dist/components/jogging/PoseJointValues.d.ts +0 -1
- package/dist/components/modal/NoMotionGroupModal.d.ts +0 -1
- package/dist/components/robots/AxisConfig.d.ts +0 -1
- package/dist/components/robots/DHLinearAxis.d.ts +0 -1
- package/dist/components/robots/DHRobot.d.ts +0 -1
- package/dist/components/robots/GenericRobot.d.ts +0 -1
- package/dist/components/robots/LinearAxis.d.ts +0 -1
- package/dist/components/robots/LinearAxisAnimator.d.ts +0 -1
- package/dist/components/robots/MotionGroupVisualizer.d.ts +0 -1
- package/dist/components/robots/Robot.d.ts +0 -1
- package/dist/components/robots/RobotAnimator.d.ts +0 -1
- package/dist/components/robots/SupportedLinearAxis.d.ts +0 -1
- package/dist/components/robots/SupportedRobot.d.ts +0 -1
- package/dist/components/robots/ghostStyle.d.ts +0 -1
- package/dist/components/robots/manufacturerHomePositions.d.ts +0 -1
- package/dist/components/robots/robotModelLogic.d.ts +0 -1
- package/dist/components/utils/converters.d.ts +0 -1
- package/dist/components/utils/errorHandling.d.ts +0 -1
- package/dist/components/utils/hooks.d.ts +0 -1
- package/dist/components/utils/interpolation.d.ts +0 -1
- package/dist/core.cjs +1 -2
- package/dist/core.d.ts +1 -2
- package/dist/core.js +50 -78
- package/dist/externalizeComponent.d.ts +0 -1
- package/dist/i18n/config.d.ts +0 -1
- package/dist/icons/DropdownArrowIcon.d.ts +0 -1
- package/dist/icons/index.d.ts +0 -1
- package/dist/index.cjs +1 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.js +91 -150
- package/dist/lib/ConnectedMotionGroup.d.ts +0 -1
- package/dist/lib/JoggerConnection.d.ts +0 -1
- package/dist/lib/MotionStreamConnection.d.ts +0 -1
- package/dist/lib/motionStateUpdate.d.ts +0 -1
- package/dist/themes/createDarkTheme.d.ts +0 -1
- package/dist/themes/createLightTheme.d.ts +0 -1
- package/dist/themes/themeTypes.d.ts +0 -1
- package/dist/themes/theming.d.ts +0 -1
- package/dist/wb-icons.cjs +1 -2
- package/dist/wb-icons.d.ts +1 -2
- package/dist/wb-icons.js +25 -45
- package/package.json +4 -5
- package/dist/3d.cjs.map +0 -1
- package/dist/3d.d.ts.map +0 -1
- package/dist/3d.js.map +0 -1
- package/dist/Setup.d.ts.map +0 -1
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +0 -1
- package/dist/components/3d-viewport/PresetEnvironment.cjs +0 -2
- package/dist/components/3d-viewport/PresetEnvironment.cjs.map +0 -1
- package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +0 -1
- package/dist/components/3d-viewport/PresetEnvironment.js +0 -81
- package/dist/components/3d-viewport/PresetEnvironment.js.map +0 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs +0 -2
- package/dist/components/3d-viewport/SafetyZonesRenderer.cjs.map +0 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +0 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.js +0 -131
- package/dist/components/3d-viewport/SafetyZonesRenderer.js.map +0 -1
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs +0 -2
- package/dist/components/3d-viewport/TrajectoryRenderer.cjs.map +0 -1
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +0 -1
- package/dist/components/3d-viewport/TrajectoryRenderer.js +0 -31
- package/dist/components/3d-viewport/TrajectoryRenderer.js.map +0 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs +0 -2
- package/dist/components/3d-viewport/collider/ColliderCollection.cjs.map +0 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +0 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.js +0 -22
- package/dist/components/3d-viewport/collider/ColliderCollection.js.map +0 -1
- package/dist/components/3d-viewport/collider/ColliderElement.cjs +0 -2
- package/dist/components/3d-viewport/collider/ColliderElement.cjs.map +0 -1
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +0 -1
- package/dist/components/3d-viewport/collider/ColliderElement.js +0 -29
- package/dist/components/3d-viewport/collider/ColliderElement.js.map +0 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs +0 -2
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.cjs.map +0 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +0 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js +0 -19
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.js.map +0 -1
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs +0 -2
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.cjs.map +0 -1
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +0 -1
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js +0 -43
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.js.map +0 -1
- package/dist/components/AppHeader.cjs +0 -2
- package/dist/components/AppHeader.cjs.map +0 -1
- package/dist/components/AppHeader.d.ts.map +0 -1
- package/dist/components/AppHeader.js +0 -139
- package/dist/components/AppHeader.js.map +0 -1
- package/dist/components/ConsoleFilter.cjs +0 -2
- package/dist/components/ConsoleFilter.cjs.map +0 -1
- package/dist/components/ConsoleFilter.d.ts.map +0 -1
- package/dist/components/ConsoleFilter.js +0 -13
- package/dist/components/ConsoleFilter.js.map +0 -1
- package/dist/components/CopyableText.cjs +0 -2
- package/dist/components/CopyableText.cjs.map +0 -1
- package/dist/components/CopyableText.d.ts.map +0 -1
- package/dist/components/CopyableText.js +0 -71
- package/dist/components/CopyableText.js.map +0 -1
- package/dist/components/CycleTimer/CycleTimer.d.ts.map +0 -1
- package/dist/components/CycleTimer/DefaultVariant.cjs +0 -2
- package/dist/components/CycleTimer/DefaultVariant.cjs.map +0 -1
- package/dist/components/CycleTimer/DefaultVariant.d.ts.map +0 -1
- package/dist/components/CycleTimer/DefaultVariant.js +0 -301
- package/dist/components/CycleTimer/DefaultVariant.js.map +0 -1
- package/dist/components/CycleTimer/SmallVariant.cjs +0 -2
- package/dist/components/CycleTimer/SmallVariant.cjs.map +0 -1
- package/dist/components/CycleTimer/SmallVariant.d.ts.map +0 -1
- package/dist/components/CycleTimer/SmallVariant.js +0 -150
- package/dist/components/CycleTimer/SmallVariant.js.map +0 -1
- package/dist/components/CycleTimer/index.cjs +0 -2
- package/dist/components/CycleTimer/index.cjs.map +0 -1
- package/dist/components/CycleTimer/index.d.ts.map +0 -1
- package/dist/components/CycleTimer/index.js +0 -86
- package/dist/components/CycleTimer/index.js.map +0 -1
- package/dist/components/CycleTimer/types.d.ts.map +0 -1
- package/dist/components/CycleTimer/useAnimations.cjs +0 -2
- package/dist/components/CycleTimer/useAnimations.cjs.map +0 -1
- package/dist/components/CycleTimer/useAnimations.d.ts.map +0 -1
- package/dist/components/CycleTimer/useAnimations.js +0 -105
- package/dist/components/CycleTimer/useAnimations.js.map +0 -1
- package/dist/components/CycleTimer/useTimerLogic.cjs +0 -2
- package/dist/components/CycleTimer/useTimerLogic.cjs.map +0 -1
- package/dist/components/CycleTimer/useTimerLogic.d.ts.map +0 -1
- package/dist/components/CycleTimer/useTimerLogic.js +0 -191
- package/dist/components/CycleTimer/useTimerLogic.js.map +0 -1
- package/dist/components/CycleTimer/utils.cjs +0 -2
- package/dist/components/CycleTimer/utils.cjs.map +0 -1
- package/dist/components/CycleTimer/utils.d.ts.map +0 -1
- package/dist/components/CycleTimer/utils.js +0 -20
- package/dist/components/CycleTimer/utils.js.map +0 -1
- package/dist/components/CycleTimer.cjs +0 -2
- package/dist/components/CycleTimer.cjs.map +0 -1
- package/dist/components/CycleTimer.d.ts.map +0 -1
- package/dist/components/CycleTimer.js +0 -6
- package/dist/components/CycleTimer.js.map +0 -1
- package/dist/components/DataGrid.cjs +0 -2
- package/dist/components/DataGrid.cjs.map +0 -1
- package/dist/components/DataGrid.d.ts.map +0 -1
- package/dist/components/DataGrid.js +0 -535
- package/dist/components/DataGrid.js.map +0 -1
- package/dist/components/LoadingCover.cjs +0 -2
- package/dist/components/LoadingCover.cjs.map +0 -1
- package/dist/components/LoadingCover.d.ts.map +0 -1
- package/dist/components/LoadingCover.js +0 -77
- package/dist/components/LoadingCover.js.map +0 -1
- package/dist/components/LogPanel.cjs +0 -2
- package/dist/components/LogPanel.cjs.map +0 -1
- package/dist/components/LogPanel.d.ts.map +0 -1
- package/dist/components/LogPanel.js +0 -34
- package/dist/components/LogPanel.js.map +0 -1
- package/dist/components/LogStore.cjs +0 -2
- package/dist/components/LogStore.cjs.map +0 -1
- package/dist/components/LogStore.d.ts.map +0 -1
- package/dist/components/LogStore.js +0 -33
- package/dist/components/LogStore.js.map +0 -1
- package/dist/components/LogViewer.cjs +0 -2
- package/dist/components/LogViewer.cjs.map +0 -1
- package/dist/components/LogViewer.d.ts.map +0 -1
- package/dist/components/LogViewer.js +0 -299
- package/dist/components/LogViewer.js.map +0 -1
- package/dist/components/ProgramControl.cjs +0 -2
- package/dist/components/ProgramControl.cjs.map +0 -1
- package/dist/components/ProgramControl.d.ts.map +0 -1
- package/dist/components/ProgramControl.js +0 -147
- package/dist/components/ProgramControl.js.map +0 -1
- package/dist/components/ProgramStateIndicator.cjs +0 -2
- package/dist/components/ProgramStateIndicator.cjs.map +0 -1
- package/dist/components/ProgramStateIndicator.d.ts.map +0 -1
- package/dist/components/ProgramStateIndicator.js +0 -140
- package/dist/components/ProgramStateIndicator.js.map +0 -1
- package/dist/components/RobotCard.cjs +0 -2
- package/dist/components/RobotCard.cjs.map +0 -1
- package/dist/components/RobotCard.d.ts.map +0 -1
- package/dist/components/RobotCard.js +0 -360
- package/dist/components/RobotCard.js.map +0 -1
- package/dist/components/RobotListItem.cjs +0 -2
- package/dist/components/RobotListItem.cjs.map +0 -1
- package/dist/components/RobotListItem.d.ts.map +0 -1
- package/dist/components/RobotListItem.js +0 -122
- package/dist/components/RobotListItem.js.map +0 -1
- package/dist/components/RobotSetupReadinessIndicator.cjs +0 -2
- package/dist/components/RobotSetupReadinessIndicator.cjs.map +0 -1
- package/dist/components/RobotSetupReadinessIndicator.d.ts.map +0 -1
- package/dist/components/RobotSetupReadinessIndicator.js +0 -122
- package/dist/components/RobotSetupReadinessIndicator.js.map +0 -1
- package/dist/components/RobotSetupReadinessIndicator.test.d.ts +0 -2
- package/dist/components/RobotSetupReadinessIndicator.test.d.ts.map +0 -1
- package/dist/components/SelectableFab.cjs +0 -2
- package/dist/components/SelectableFab.cjs.map +0 -1
- package/dist/components/SelectableFab.d.ts.map +0 -1
- package/dist/components/SelectableFab.js +0 -51
- package/dist/components/SelectableFab.js.map +0 -1
- package/dist/components/TabBar.cjs +0 -2
- package/dist/components/TabBar.cjs.map +0 -1
- package/dist/components/TabBar.d.ts.map +0 -1
- package/dist/components/TabBar.js +0 -212
- package/dist/components/TabBar.js.map +0 -1
- package/dist/components/ThemeSelect.d.ts.map +0 -1
- package/dist/components/Timer/Timer.d.ts.map +0 -1
- package/dist/components/Timer/TimerDefaultVariant.cjs +0 -2
- package/dist/components/Timer/TimerDefaultVariant.cjs.map +0 -1
- package/dist/components/Timer/TimerDefaultVariant.d.ts.map +0 -1
- package/dist/components/Timer/TimerDefaultVariant.js +0 -136
- package/dist/components/Timer/TimerDefaultVariant.js.map +0 -1
- package/dist/components/Timer/TimerSmallVariant.cjs +0 -2
- package/dist/components/Timer/TimerSmallVariant.cjs.map +0 -1
- package/dist/components/Timer/TimerSmallVariant.d.ts.map +0 -1
- package/dist/components/Timer/TimerSmallVariant.js +0 -128
- package/dist/components/Timer/TimerSmallVariant.js.map +0 -1
- package/dist/components/Timer/index.cjs +0 -2
- package/dist/components/Timer/index.cjs.map +0 -1
- package/dist/components/Timer/index.d.ts.map +0 -1
- package/dist/components/Timer/index.js +0 -68
- package/dist/components/Timer/index.js.map +0 -1
- package/dist/components/Timer/types.d.ts.map +0 -1
- package/dist/components/Timer/useTimerAnimations.cjs +0 -2
- package/dist/components/Timer/useTimerAnimations.cjs.map +0 -1
- package/dist/components/Timer/useTimerAnimations.d.ts.map +0 -1
- package/dist/components/Timer/useTimerAnimations.js +0 -48
- package/dist/components/Timer/useTimerAnimations.js.map +0 -1
- package/dist/components/Timer/useTimerLogic.cjs +0 -2
- package/dist/components/Timer/useTimerLogic.cjs.map +0 -1
- package/dist/components/Timer/useTimerLogic.d.ts.map +0 -1
- package/dist/components/Timer/useTimerLogic.js +0 -113
- package/dist/components/Timer/useTimerLogic.js.map +0 -1
- package/dist/components/Timer/utils.cjs +0 -2
- package/dist/components/Timer/utils.cjs.map +0 -1
- package/dist/components/Timer/utils.d.ts.map +0 -1
- package/dist/components/Timer/utils.js +0 -19
- package/dist/components/Timer/utils.js.map +0 -1
- package/dist/components/Timer.cjs +0 -2
- package/dist/components/Timer.cjs.map +0 -1
- package/dist/components/Timer.d.ts.map +0 -1
- package/dist/components/Timer.js +0 -6
- package/dist/components/Timer.js.map +0 -1
- package/dist/components/TransparentOverlay.d.ts.map +0 -1
- package/dist/components/VelocitySlider.cjs +0 -2
- package/dist/components/VelocitySlider.cjs.map +0 -1
- package/dist/components/VelocitySlider.d.ts.map +0 -1
- package/dist/components/VelocitySlider.js +0 -97
- package/dist/components/VelocitySlider.js.map +0 -1
- package/dist/components/experimental/utils/AdornedSelect.cjs +0 -2
- package/dist/components/experimental/utils/AdornedSelect.cjs.map +0 -1
- package/dist/components/experimental/utils/AdornedSelect.d.ts.map +0 -1
- package/dist/components/experimental/utils/AdornedSelect.js +0 -35
- package/dist/components/experimental/utils/AdornedSelect.js.map +0 -1
- package/dist/components/jogging/JoggingBlocked.cjs +0 -2
- package/dist/components/jogging/JoggingBlocked.cjs.map +0 -1
- package/dist/components/jogging/JoggingBlocked.d.ts.map +0 -1
- package/dist/components/jogging/JoggingBlocked.js +0 -46
- package/dist/components/jogging/JoggingBlocked.js.map +0 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs +0 -2
- package/dist/components/jogging/JoggingCartesianAxisControl.cjs.map +0 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +0 -1
- package/dist/components/jogging/JoggingCartesianAxisControl.js +0 -186
- package/dist/components/jogging/JoggingCartesianAxisControl.js.map +0 -1
- package/dist/components/jogging/JoggingCartesianTab.cjs +0 -2
- package/dist/components/jogging/JoggingCartesianTab.cjs.map +0 -1
- package/dist/components/jogging/JoggingCartesianTab.d.ts.map +0 -1
- package/dist/components/jogging/JoggingCartesianTab.js +0 -267
- package/dist/components/jogging/JoggingCartesianTab.js.map +0 -1
- package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +0 -1
- package/dist/components/jogging/JoggingJointLimitDetector.cjs +0 -2
- package/dist/components/jogging/JoggingJointLimitDetector.cjs.map +0 -1
- package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +0 -1
- package/dist/components/jogging/JoggingJointLimitDetector.js +0 -42
- package/dist/components/jogging/JoggingJointLimitDetector.js.map +0 -1
- package/dist/components/jogging/JoggingJointTab.cjs +0 -2
- package/dist/components/jogging/JoggingJointTab.cjs.map +0 -1
- package/dist/components/jogging/JoggingJointTab.d.ts.map +0 -1
- package/dist/components/jogging/JoggingJointTab.js +0 -114
- package/dist/components/jogging/JoggingJointTab.js.map +0 -1
- package/dist/components/jogging/JoggingJointValueControl.cjs +0 -2
- package/dist/components/jogging/JoggingJointValueControl.cjs.map +0 -1
- package/dist/components/jogging/JoggingJointValueControl.d.ts.map +0 -1
- package/dist/components/jogging/JoggingJointValueControl.js +0 -240
- package/dist/components/jogging/JoggingJointValueControl.js.map +0 -1
- package/dist/components/jogging/JoggingOptions.cjs +0 -2
- package/dist/components/jogging/JoggingOptions.cjs.map +0 -1
- package/dist/components/jogging/JoggingOptions.d.ts.map +0 -1
- package/dist/components/jogging/JoggingOptions.js +0 -117
- package/dist/components/jogging/JoggingOptions.js.map +0 -1
- package/dist/components/jogging/JoggingPanel.cjs +0 -2
- package/dist/components/jogging/JoggingPanel.cjs.map +0 -1
- package/dist/components/jogging/JoggingPanel.d.ts.map +0 -1
- package/dist/components/jogging/JoggingPanel.js +0 -121
- package/dist/components/jogging/JoggingPanel.js.map +0 -1
- package/dist/components/jogging/JoggingPanel.test.d.ts +0 -2
- package/dist/components/jogging/JoggingPanel.test.d.ts.map +0 -1
- package/dist/components/jogging/JoggingStore.cjs +0 -2
- package/dist/components/jogging/JoggingStore.cjs.map +0 -1
- package/dist/components/jogging/JoggingStore.d.ts.map +0 -1
- package/dist/components/jogging/JoggingStore.js +0 -219
- package/dist/components/jogging/JoggingStore.js.map +0 -1
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs +0 -2
- package/dist/components/jogging/JoggingToggleButtonGroup.cjs.map +0 -1
- package/dist/components/jogging/JoggingToggleButtonGroup.d.ts.map +0 -1
- package/dist/components/jogging/JoggingToggleButtonGroup.js +0 -29
- package/dist/components/jogging/JoggingToggleButtonGroup.js.map +0 -1
- package/dist/components/jogging/JoggingVelocitySlider.cjs +0 -2
- package/dist/components/jogging/JoggingVelocitySlider.cjs.map +0 -1
- package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +0 -1
- package/dist/components/jogging/JoggingVelocitySlider.js +0 -40
- package/dist/components/jogging/JoggingVelocitySlider.js.map +0 -1
- package/dist/components/jogging/PoseCartesianValues.cjs +0 -2
- package/dist/components/jogging/PoseCartesianValues.cjs.map +0 -1
- package/dist/components/jogging/PoseCartesianValues.d.ts.map +0 -1
- package/dist/components/jogging/PoseCartesianValues.js +0 -48
- package/dist/components/jogging/PoseCartesianValues.js.map +0 -1
- package/dist/components/jogging/PoseJointValues.cjs +0 -2
- package/dist/components/jogging/PoseJointValues.cjs.map +0 -1
- package/dist/components/jogging/PoseJointValues.d.ts.map +0 -1
- package/dist/components/jogging/PoseJointValues.js +0 -47
- package/dist/components/jogging/PoseJointValues.js.map +0 -1
- package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts +0 -11
- package/dist/components/jogging/__fixtures__/motionStreamMockData.d.ts.map +0 -1
- package/dist/components/modal/NoMotionGroupModal.cjs +0 -2
- package/dist/components/modal/NoMotionGroupModal.cjs.map +0 -1
- package/dist/components/modal/NoMotionGroupModal.d.ts.map +0 -1
- package/dist/components/modal/NoMotionGroupModal.js +0 -92
- package/dist/components/modal/NoMotionGroupModal.js.map +0 -1
- package/dist/components/robots/AxisConfig.cjs +0 -2
- package/dist/components/robots/AxisConfig.cjs.map +0 -1
- package/dist/components/robots/AxisConfig.d.ts.map +0 -1
- package/dist/components/robots/AxisConfig.js +0 -5
- package/dist/components/robots/AxisConfig.js.map +0 -1
- package/dist/components/robots/DHLinearAxis.cjs +0 -2
- package/dist/components/robots/DHLinearAxis.cjs.map +0 -1
- package/dist/components/robots/DHLinearAxis.d.ts.map +0 -1
- package/dist/components/robots/DHLinearAxis.js +0 -92
- package/dist/components/robots/DHLinearAxis.js.map +0 -1
- package/dist/components/robots/DHRobot.cjs +0 -2
- package/dist/components/robots/DHRobot.cjs.map +0 -1
- package/dist/components/robots/DHRobot.d.ts.map +0 -1
- package/dist/components/robots/DHRobot.js +0 -94
- package/dist/components/robots/DHRobot.js.map +0 -1
- package/dist/components/robots/GenericRobot.cjs +0 -2
- package/dist/components/robots/GenericRobot.cjs.map +0 -1
- package/dist/components/robots/GenericRobot.d.ts.map +0 -1
- package/dist/components/robots/GenericRobot.js +0 -91
- package/dist/components/robots/GenericRobot.js.map +0 -1
- package/dist/components/robots/LinearAxis.cjs +0 -2
- package/dist/components/robots/LinearAxis.cjs.map +0 -1
- package/dist/components/robots/LinearAxis.d.ts.map +0 -1
- package/dist/components/robots/LinearAxis.js +0 -42
- package/dist/components/robots/LinearAxis.js.map +0 -1
- package/dist/components/robots/LinearAxisAnimator.cjs +0 -2
- package/dist/components/robots/LinearAxisAnimator.cjs.map +0 -1
- package/dist/components/robots/LinearAxisAnimator.d.ts.map +0 -1
- package/dist/components/robots/LinearAxisAnimator.js +0 -66
- package/dist/components/robots/LinearAxisAnimator.js.map +0 -1
- package/dist/components/robots/MotionGroupVisualizer.cjs +0 -2
- package/dist/components/robots/MotionGroupVisualizer.cjs.map +0 -1
- package/dist/components/robots/MotionGroupVisualizer.d.ts.map +0 -1
- package/dist/components/robots/MotionGroupVisualizer.js +0 -21
- package/dist/components/robots/MotionGroupVisualizer.js.map +0 -1
- package/dist/components/robots/Robot.cjs +0 -2
- package/dist/components/robots/Robot.cjs.map +0 -1
- package/dist/components/robots/Robot.d.ts.map +0 -1
- package/dist/components/robots/Robot.js +0 -31
- package/dist/components/robots/Robot.js.map +0 -1
- package/dist/components/robots/RobotAnimator.cjs +0 -2
- package/dist/components/robots/RobotAnimator.cjs.map +0 -1
- package/dist/components/robots/RobotAnimator.d.ts.map +0 -1
- package/dist/components/robots/RobotAnimator.js +0 -66
- package/dist/components/robots/RobotAnimator.js.map +0 -1
- package/dist/components/robots/RobotAnimator.test.d.ts +0 -2
- package/dist/components/robots/RobotAnimator.test.d.ts.map +0 -1
- package/dist/components/robots/SupportedLinearAxis.cjs +0 -2
- package/dist/components/robots/SupportedLinearAxis.cjs.map +0 -1
- package/dist/components/robots/SupportedLinearAxis.d.ts.map +0 -1
- package/dist/components/robots/SupportedLinearAxis.js +0 -82
- package/dist/components/robots/SupportedLinearAxis.js.map +0 -1
- package/dist/components/robots/SupportedRobot.cjs +0 -2
- package/dist/components/robots/SupportedRobot.cjs.map +0 -1
- package/dist/components/robots/SupportedRobot.d.ts.map +0 -1
- package/dist/components/robots/SupportedRobot.js +0 -82
- package/dist/components/robots/SupportedRobot.js.map +0 -1
- package/dist/components/robots/ghostStyle.cjs +0 -2
- package/dist/components/robots/ghostStyle.cjs.map +0 -1
- package/dist/components/robots/ghostStyle.d.ts.map +0 -1
- package/dist/components/robots/ghostStyle.js +0 -40
- package/dist/components/robots/ghostStyle.js.map +0 -1
- package/dist/components/robots/manufacturerHomePositions.cjs +0 -2
- package/dist/components/robots/manufacturerHomePositions.cjs.map +0 -1
- package/dist/components/robots/manufacturerHomePositions.d.ts.map +0 -1
- package/dist/components/robots/manufacturerHomePositions.js +0 -51
- package/dist/components/robots/manufacturerHomePositions.js.map +0 -1
- package/dist/components/robots/robotModelLogic.cjs +0 -2
- package/dist/components/robots/robotModelLogic.cjs.map +0 -1
- package/dist/components/robots/robotModelLogic.d.ts.map +0 -1
- package/dist/components/robots/robotModelLogic.js +0 -61
- package/dist/components/robots/robotModelLogic.js.map +0 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs +0 -2
- package/dist/components/safetyBar/ControllerTypeIndicator.cjs.map +0 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.d.ts.map +0 -1
- package/dist/components/safetyBar/ControllerTypeIndicator.js +0 -71
- package/dist/components/safetyBar/ControllerTypeIndicator.js.map +0 -1
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs +0 -2
- package/dist/components/safetyBar/IndicatorWithExplanation.cjs.map +0 -1
- package/dist/components/safetyBar/IndicatorWithExplanation.d.ts.map +0 -1
- package/dist/components/safetyBar/IndicatorWithExplanation.js +0 -123
- package/dist/components/safetyBar/IndicatorWithExplanation.js.map +0 -1
- package/dist/components/safetyBar/OperationModeIndicator.cjs +0 -2
- package/dist/components/safetyBar/OperationModeIndicator.cjs.map +0 -1
- package/dist/components/safetyBar/OperationModeIndicator.d.ts.map +0 -1
- package/dist/components/safetyBar/OperationModeIndicator.js +0 -75
- package/dist/components/safetyBar/OperationModeIndicator.js.map +0 -1
- package/dist/components/safetyBar/SafetyBar.cjs +0 -2
- package/dist/components/safetyBar/SafetyBar.cjs.map +0 -1
- package/dist/components/safetyBar/SafetyBar.d.ts.map +0 -1
- package/dist/components/safetyBar/SafetyBar.js +0 -66
- package/dist/components/safetyBar/SafetyBar.js.map +0 -1
- package/dist/components/safetyBar/SafetyStateIndicator.cjs +0 -2
- package/dist/components/safetyBar/SafetyStateIndicator.cjs.map +0 -1
- package/dist/components/safetyBar/SafetyStateIndicator.d.ts.map +0 -1
- package/dist/components/safetyBar/SafetyStateIndicator.js +0 -126
- package/dist/components/safetyBar/SafetyStateIndicator.js.map +0 -1
- package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/controller-type-physical.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/controller-type-physical.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/controller-type-physical.svg.js +0 -11
- package/dist/components/safetyBar/icons/controller-type-physical.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.js +0 -11
- package/dist/components/safetyBar/icons/controller-type-virtual.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/index.d.ts.map +0 -1
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js +0 -11
- package/dist/components/safetyBar/icons/operation-mode-automatic.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/operation-mode-error.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/operation-mode-error.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/operation-mode-error.svg.js +0 -11
- package/dist/components/safetyBar/icons/operation-mode-error.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.js +0 -11
- package/dist/components/safetyBar/icons/operation-mode-manual.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-error.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/safety-state-error.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-error.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/safety-state-error.svg.js +0 -11
- package/dist/components/safetyBar/icons/safety-state-error.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/safety-state-estop.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-estop.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/safety-state-estop.svg.js +0 -11
- package/dist/components/safetyBar/icons/safety-state-estop.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js +0 -11
- package/dist/components/safetyBar/icons/safety-state-manual-action-required.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/safety-state-normal.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-normal.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/safety-state-normal.svg.js +0 -11
- package/dist/components/safetyBar/icons/safety-state-normal.svg.js.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs +0 -2
- package/dist/components/safetyBar/icons/safety-state-stop.svg.cjs.map +0 -1
- package/dist/components/safetyBar/icons/safety-state-stop.svg.d.ts +0 -3
- package/dist/components/safetyBar/icons/safety-state-stop.svg.js +0 -11
- package/dist/components/safetyBar/icons/safety-state-stop.svg.js.map +0 -1
- package/dist/components/utils/converters.cjs +0 -2
- package/dist/components/utils/converters.cjs.map +0 -1
- package/dist/components/utils/converters.d.ts.map +0 -1
- package/dist/components/utils/converters.js +0 -40
- package/dist/components/utils/converters.js.map +0 -1
- package/dist/components/utils/errorHandling.cjs +0 -2
- package/dist/components/utils/errorHandling.cjs.map +0 -1
- package/dist/components/utils/errorHandling.d.ts.map +0 -1
- package/dist/components/utils/errorHandling.js +0 -14
- package/dist/components/utils/errorHandling.js.map +0 -1
- package/dist/components/utils/errorHandling.test.d.ts +0 -2
- package/dist/components/utils/errorHandling.test.d.ts.map +0 -1
- package/dist/components/utils/hooks.cjs +0 -2
- package/dist/components/utils/hooks.cjs.map +0 -1
- package/dist/components/utils/hooks.d.ts.map +0 -1
- package/dist/components/utils/hooks.js +0 -29
- package/dist/components/utils/hooks.js.map +0 -1
- package/dist/components/utils/interpolation.cjs +0 -2
- package/dist/components/utils/interpolation.cjs.map +0 -1
- package/dist/components/utils/interpolation.d.ts.map +0 -1
- package/dist/components/utils/interpolation.js +0 -138
- package/dist/components/utils/interpolation.js.map +0 -1
- package/dist/components/utils/interpolation.test.d.ts +0 -2
- package/dist/components/utils/interpolation.test.d.ts.map +0 -1
- package/dist/core.cjs.map +0 -1
- package/dist/core.d.ts.map +0 -1
- package/dist/core.js.map +0 -1
- package/dist/externalizeComponent.cjs +0 -2
- package/dist/externalizeComponent.cjs.map +0 -1
- package/dist/externalizeComponent.d.ts.map +0 -1
- package/dist/externalizeComponent.js +0 -13
- package/dist/externalizeComponent.js.map +0 -1
- package/dist/i18n/config.cjs +0 -2
- package/dist/i18n/config.cjs.map +0 -1
- package/dist/i18n/config.d.ts.map +0 -1
- package/dist/i18n/config.js +0 -25
- package/dist/i18n/config.js.map +0 -1
- package/dist/i18n/locales/de/translations.json.cjs +0 -3
- package/dist/i18n/locales/de/translations.json.cjs.map +0 -1
- package/dist/i18n/locales/de/translations.json.js +0 -94
- package/dist/i18n/locales/de/translations.json.js.map +0 -1
- package/dist/i18n/locales/en/translations.json.cjs +0 -2
- package/dist/i18n/locales/en/translations.json.cjs.map +0 -1
- package/dist/i18n/locales/en/translations.json.js +0 -94
- package/dist/i18n/locales/en/translations.json.js.map +0 -1
- package/dist/icons/DropdownArrowIcon.cjs +0 -2
- package/dist/icons/DropdownArrowIcon.cjs.map +0 -1
- package/dist/icons/DropdownArrowIcon.d.ts.map +0 -1
- package/dist/icons/DropdownArrowIcon.js +0 -14
- package/dist/icons/DropdownArrowIcon.js.map +0 -1
- package/dist/icons/axis-x.svg.cjs +0 -2
- package/dist/icons/axis-x.svg.cjs.map +0 -1
- package/dist/icons/axis-x.svg.d.ts +0 -3
- package/dist/icons/axis-x.svg.js +0 -11
- package/dist/icons/axis-x.svg.js.map +0 -1
- package/dist/icons/axis-y.svg.cjs +0 -2
- package/dist/icons/axis-y.svg.cjs.map +0 -1
- package/dist/icons/axis-y.svg.d.ts +0 -3
- package/dist/icons/axis-y.svg.js +0 -11
- package/dist/icons/axis-y.svg.js.map +0 -1
- package/dist/icons/axis-z.svg.cjs +0 -2
- package/dist/icons/axis-z.svg.cjs.map +0 -1
- package/dist/icons/axis-z.svg.d.ts +0 -3
- package/dist/icons/axis-z.svg.js +0 -11
- package/dist/icons/axis-z.svg.js.map +0 -1
- package/dist/icons/home.svg.cjs +0 -2
- package/dist/icons/home.svg.cjs.map +0 -1
- package/dist/icons/home.svg.d.ts +0 -3
- package/dist/icons/home.svg.js +0 -11
- package/dist/icons/home.svg.js.map +0 -1
- package/dist/icons/index.d.ts.map +0 -1
- package/dist/icons/jog-minus.svg.cjs +0 -2
- package/dist/icons/jog-minus.svg.cjs.map +0 -1
- package/dist/icons/jog-minus.svg.d.ts +0 -3
- package/dist/icons/jog-minus.svg.js +0 -11
- package/dist/icons/jog-minus.svg.js.map +0 -1
- package/dist/icons/jog-plus.svg.cjs +0 -2
- package/dist/icons/jog-plus.svg.cjs.map +0 -1
- package/dist/icons/jog-plus.svg.d.ts +0 -3
- package/dist/icons/jog-plus.svg.js +0 -11
- package/dist/icons/jog-plus.svg.js.map +0 -1
- package/dist/icons/jogging.svg.cjs +0 -2
- package/dist/icons/jogging.svg.cjs.map +0 -1
- package/dist/icons/jogging.svg.d.ts +0 -3
- package/dist/icons/jogging.svg.js +0 -11
- package/dist/icons/jogging.svg.js.map +0 -1
- package/dist/icons/orientation-coord-system.svg.cjs +0 -2
- package/dist/icons/orientation-coord-system.svg.cjs.map +0 -1
- package/dist/icons/orientation-coord-system.svg.d.ts +0 -3
- package/dist/icons/orientation-coord-system.svg.js +0 -11
- package/dist/icons/orientation-coord-system.svg.js.map +0 -1
- package/dist/icons/orientation-tool.svg.cjs +0 -2
- package/dist/icons/orientation-tool.svg.cjs.map +0 -1
- package/dist/icons/orientation-tool.svg.d.ts +0 -3
- package/dist/icons/orientation-tool.svg.js +0 -11
- package/dist/icons/orientation-tool.svg.js.map +0 -1
- package/dist/icons/robot.svg.cjs +0 -2
- package/dist/icons/robot.svg.cjs.map +0 -1
- package/dist/icons/robot.svg.d.ts +0 -3
- package/dist/icons/robot.svg.js +0 -11
- package/dist/icons/robot.svg.js.map +0 -1
- package/dist/icons/rotation.svg.cjs +0 -2
- package/dist/icons/rotation.svg.cjs.map +0 -1
- package/dist/icons/rotation.svg.d.ts +0 -3
- package/dist/icons/rotation.svg.js +0 -11
- package/dist/icons/rotation.svg.js.map +0 -1
- package/dist/icons/wbLogo.svg.cjs +0 -2
- package/dist/icons/wbLogo.svg.cjs.map +0 -1
- package/dist/icons/wbLogo.svg.d.ts +0 -3
- package/dist/icons/wbLogo.svg.js +0 -11
- package/dist/icons/wbLogo.svg.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/ConnectedMotionGroup.cjs +0 -4
- package/dist/lib/ConnectedMotionGroup.cjs.map +0 -1
- package/dist/lib/ConnectedMotionGroup.d.ts.map +0 -1
- package/dist/lib/ConnectedMotionGroup.js +0 -250
- package/dist/lib/ConnectedMotionGroup.js.map +0 -1
- package/dist/lib/JoggerConnection.cjs +0 -2
- package/dist/lib/JoggerConnection.cjs.map +0 -1
- package/dist/lib/JoggerConnection.d.ts.map +0 -1
- package/dist/lib/JoggerConnection.js +0 -342
- package/dist/lib/JoggerConnection.js.map +0 -1
- package/dist/lib/JoggerConnection.test.d.ts +0 -2
- package/dist/lib/JoggerConnection.test.d.ts.map +0 -1
- package/dist/lib/MotionStreamConnection.cjs +0 -3
- package/dist/lib/MotionStreamConnection.cjs.map +0 -1
- package/dist/lib/MotionStreamConnection.d.ts.map +0 -1
- package/dist/lib/MotionStreamConnection.js +0 -94
- package/dist/lib/MotionStreamConnection.js.map +0 -1
- package/dist/lib/MotionStreamConnection.test.d.ts +0 -2
- package/dist/lib/MotionStreamConnection.test.d.ts.map +0 -1
- package/dist/lib/motionStateUpdate.cjs +0 -2
- package/dist/lib/motionStateUpdate.cjs.map +0 -1
- package/dist/lib/motionStateUpdate.d.ts.map +0 -1
- package/dist/lib/motionStateUpdate.js +0 -49
- package/dist/lib/motionStateUpdate.js.map +0 -1
- package/dist/lib/motionStateUpdate.test.d.ts +0 -2
- package/dist/lib/motionStateUpdate.test.d.ts.map +0 -1
- package/dist/test/consumer.test.d.ts +0 -2
- package/dist/test/consumer.test.d.ts.map +0 -1
- package/dist/test/setup.d.ts +0 -2
- package/dist/test/setup.d.ts.map +0 -1
- package/dist/themes/createDarkTheme.cjs +0 -2
- package/dist/themes/createDarkTheme.cjs.map +0 -1
- package/dist/themes/createDarkTheme.d.ts.map +0 -1
- package/dist/themes/createDarkTheme.js +0 -344
- package/dist/themes/createDarkTheme.js.map +0 -1
- package/dist/themes/createLightTheme.cjs +0 -2
- package/dist/themes/createLightTheme.cjs.map +0 -1
- package/dist/themes/createLightTheme.d.ts.map +0 -1
- package/dist/themes/createLightTheme.js +0 -9
- package/dist/themes/createLightTheme.js.map +0 -1
- package/dist/themes/themeTypes.d.ts.map +0 -1
- package/dist/themes/theming.cjs +0 -2
- package/dist/themes/theming.cjs.map +0 -1
- package/dist/themes/theming.d.ts.map +0 -1
- package/dist/themes/theming.js +0 -14
- package/dist/themes/theming.js.map +0 -1
- package/dist/wb-icons.cjs.map +0 -1
- package/dist/wb-icons.d.ts.map +0 -1
- package/dist/wb-icons.js.map +0 -1
- package/src/3d.ts +0 -18
- package/src/Setup.tsx +0 -33
- package/src/components/3d-viewport/CoordinateSystemTransform.tsx +0 -57
- package/src/components/3d-viewport/PresetEnvironment.tsx +0 -81
- package/src/components/3d-viewport/SafetyZonesRenderer.tsx +0 -198
- package/src/components/3d-viewport/TrajectoryRenderer.tsx +0 -41
- package/src/components/3d-viewport/collider/ColliderCollection.tsx +0 -35
- package/src/components/3d-viewport/collider/ColliderElement.tsx +0 -36
- package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +0 -26
- package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +0 -48
- package/src/components/AppHeader.md +0 -84
- package/src/components/AppHeader.tsx +0 -197
- package/src/components/ConsoleFilter.tsx +0 -24
- package/src/components/CopyableText.tsx +0 -89
- package/src/components/CycleTimer/CycleTimer.ts +0 -8
- package/src/components/CycleTimer/DefaultVariant.tsx +0 -326
- package/src/components/CycleTimer/SmallVariant.tsx +0 -229
- package/src/components/CycleTimer/index.tsx +0 -158
- package/src/components/CycleTimer/types.ts +0 -58
- package/src/components/CycleTimer/useAnimations.ts +0 -202
- package/src/components/CycleTimer/useTimerLogic.ts +0 -330
- package/src/components/CycleTimer/utils.ts +0 -122
- package/src/components/CycleTimer.tsx +0 -8
- package/src/components/DataGrid.tsx +0 -664
- package/src/components/LoadingCover.tsx +0 -91
- package/src/components/LogPanel.tsx +0 -71
- package/src/components/LogStore.ts +0 -46
- package/src/components/LogViewer.tsx +0 -368
- package/src/components/ProgramControl.tsx +0 -267
- package/src/components/ProgramStateIndicator.tsx +0 -195
- package/src/components/RobotCard.tsx +0 -495
- package/src/components/RobotListItem.tsx +0 -155
- package/src/components/RobotSetupReadinessIndicator.test.tsx +0 -60
- package/src/components/RobotSetupReadinessIndicator.tsx +0 -161
- package/src/components/SelectableFab.tsx +0 -52
- package/src/components/TabBar.tsx +0 -325
- package/src/components/ThemeSelect.tsx +0 -51
- package/src/components/Timer/Timer.ts +0 -4
- package/src/components/Timer/TimerDefaultVariant.tsx +0 -143
- package/src/components/Timer/TimerSmallVariant.tsx +0 -141
- package/src/components/Timer/index.tsx +0 -103
- package/src/components/Timer/types.ts +0 -38
- package/src/components/Timer/useTimerAnimations.ts +0 -94
- package/src/components/Timer/useTimerLogic.ts +0 -214
- package/src/components/Timer/utils.ts +0 -87
- package/src/components/Timer.ts +0 -4
- package/src/components/TransparentOverlay.tsx +0 -28
- package/src/components/VelocitySlider.tsx +0 -117
- package/src/components/experimental/utils/AdornedSelect.tsx +0 -38
- package/src/components/jogging/JoggingBlocked.tsx +0 -43
- package/src/components/jogging/JoggingCartesianAxisControl.tsx +0 -237
- package/src/components/jogging/JoggingCartesianTab.tsx +0 -349
- package/src/components/jogging/JoggingFreedriveTab.tsx +0 -8
- package/src/components/jogging/JoggingJointLimitDetector.tsx +0 -57
- package/src/components/jogging/JoggingJointTab.tsx +0 -126
- package/src/components/jogging/JoggingJointValueControl.tsx +0 -293
- package/src/components/jogging/JoggingOptions.tsx +0 -163
- package/src/components/jogging/JoggingPanel.test.tsx +0 -645
- package/src/components/jogging/JoggingPanel.tsx +0 -204
- package/src/components/jogging/JoggingStore.ts +0 -485
- package/src/components/jogging/JoggingToggleButtonGroup.tsx +0 -25
- package/src/components/jogging/JoggingVelocitySlider.tsx +0 -39
- package/src/components/jogging/PoseCartesianValues.tsx +0 -55
- package/src/components/jogging/PoseJointValues.tsx +0 -54
- package/src/components/jogging/__fixtures__/motionStreamMockData.ts +0 -136
- package/src/components/modal/NoMotionGroupModal.tsx +0 -91
- package/src/components/robots/AxisConfig.ts +0 -3
- package/src/components/robots/DHLinearAxis.tsx +0 -147
- package/src/components/robots/DHRobot.tsx +0 -152
- package/src/components/robots/GenericRobot.tsx +0 -137
- package/src/components/robots/LinearAxis.tsx +0 -74
- package/src/components/robots/LinearAxisAnimator.tsx +0 -118
- package/src/components/robots/MotionGroupVisualizer.tsx +0 -73
- package/src/components/robots/Robot.tsx +0 -57
- package/src/components/robots/RobotAnimator.test.tsx +0 -98
- package/src/components/robots/RobotAnimator.tsx +0 -116
- package/src/components/robots/SupportedLinearAxis.tsx +0 -110
- package/src/components/robots/SupportedRobot.tsx +0 -111
- package/src/components/robots/ghostStyle.ts +0 -71
- package/src/components/robots/manufacturerHomePositions.ts +0 -76
- package/src/components/robots/robotModelLogic.ts +0 -158
- package/src/components/safetyBar/ControllerTypeIndicator.tsx +0 -79
- package/src/components/safetyBar/IndicatorWithExplanation.tsx +0 -137
- package/src/components/safetyBar/OperationModeIndicator.tsx +0 -98
- package/src/components/safetyBar/SafetyBar.tsx +0 -72
- package/src/components/safetyBar/SafetyStateIndicator.tsx +0 -163
- package/src/components/safetyBar/icons/controller-type-physical.svg +0 -1
- package/src/components/safetyBar/icons/controller-type-virtual.svg +0 -1
- package/src/components/safetyBar/icons/index.ts +0 -10
- package/src/components/safetyBar/icons/operation-mode-automatic.svg +0 -1
- package/src/components/safetyBar/icons/operation-mode-error.svg +0 -1
- package/src/components/safetyBar/icons/operation-mode-manual.svg +0 -1
- package/src/components/safetyBar/icons/safety-state-error.svg +0 -1
- package/src/components/safetyBar/icons/safety-state-estop.svg +0 -1
- package/src/components/safetyBar/icons/safety-state-manual-action-required.svg +0 -1
- package/src/components/safetyBar/icons/safety-state-normal.svg +0 -1
- package/src/components/safetyBar/icons/safety-state-stop.svg +0 -1
- package/src/components/utils/converters.ts +0 -90
- package/src/components/utils/errorHandling.test.ts +0 -41
- package/src/components/utils/errorHandling.ts +0 -38
- package/src/components/utils/hooks.tsx +0 -55
- package/src/components/utils/interpolation.test.ts +0 -1138
- package/src/components/utils/interpolation.ts +0 -380
- package/src/core.ts +0 -33
- package/src/declarations.d.ts +0 -10
- package/src/env.d.ts +0 -3
- package/src/externalizeComponent.tsx +0 -28
- package/src/i18n/config.ts +0 -26
- package/src/i18n/locales/de/translations.json +0 -89
- package/src/i18n/locales/en/translations.json +0 -90
- package/src/icons/DropdownArrowIcon.tsx +0 -12
- package/src/icons/axis-x.svg +0 -1
- package/src/icons/axis-y.svg +0 -1
- package/src/icons/axis-z.svg +0 -1
- package/src/icons/home.svg +0 -1
- package/src/icons/index.ts +0 -12
- package/src/icons/jog-minus.svg +0 -5
- package/src/icons/jog-plus.svg +0 -9
- package/src/icons/jogging.svg +0 -1
- package/src/icons/orientation-coord-system.svg +0 -1
- package/src/icons/orientation-tool.svg +0 -1
- package/src/icons/robot.svg +0 -1
- package/src/icons/rotation.svg +0 -3
- package/src/icons/wbLogo.svg +0 -1
- package/src/index.ts +0 -4
- package/src/lib/ConnectedMotionGroup.ts +0 -441
- package/src/lib/JoggerConnection.test.ts +0 -122
- package/src/lib/JoggerConnection.ts +0 -694
- package/src/lib/MotionStreamConnection.test.ts +0 -23
- package/src/lib/MotionStreamConnection.ts +0 -186
- package/src/lib/motionStateUpdate.test.ts +0 -28
- package/src/lib/motionStateUpdate.ts +0 -117
- package/src/test/consumer.test.ts +0 -257
- package/src/test/setup.ts +0 -111
- package/src/themes/createDarkTheme.ts +0 -343
- package/src/themes/createLightTheme.ts +0 -8
- package/src/themes/themeTypes.ts +0 -96
- package/src/themes/theming.ts +0 -29
- package/src/wb-icons.ts +0 -3
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { jsx as r, jsxs as h } from "react/jsx-runtime";
|
|
2
|
-
import { Line as _ } from "@react-three/drei";
|
|
3
|
-
import { useRef as T } from "react";
|
|
4
|
-
import { Matrix4 as n, Vector3 as s, Quaternion as j } from "three";
|
|
5
|
-
import L from "./LinearAxisAnimator.js";
|
|
6
|
-
function P({
|
|
7
|
-
rapidlyChangingMotionState: w,
|
|
8
|
-
dhParameters: a,
|
|
9
|
-
...R
|
|
10
|
-
}) {
|
|
11
|
-
const m = new n(), p = T(null), u = T(null);
|
|
12
|
-
function g(y) {
|
|
13
|
-
const c = new n();
|
|
14
|
-
for (let i = 0; i < a.length; i++) {
|
|
15
|
-
const t = a[i], d = y[i] ?? 0, o = new n().makeRotationY(t.theta).multiply(
|
|
16
|
-
new n().makeTranslation(
|
|
17
|
-
t.a / 1e3,
|
|
18
|
-
(t.d + d * (t.reverse_rotation_direction ? -1 : 1)) / 1e3,
|
|
19
|
-
0
|
|
20
|
-
)
|
|
21
|
-
).multiply(new n().makeRotationX(t.alpha));
|
|
22
|
-
c.multiply(o);
|
|
23
|
-
}
|
|
24
|
-
const e = new s(), l = new j(), f = new s();
|
|
25
|
-
return c.decompose(e, l, f), e;
|
|
26
|
-
}
|
|
27
|
-
const x = g(
|
|
28
|
-
w.joint_position
|
|
29
|
-
);
|
|
30
|
-
function k(y, c) {
|
|
31
|
-
m.identity();
|
|
32
|
-
let e = new s();
|
|
33
|
-
for (let t = 0; t < a.length; t++) {
|
|
34
|
-
const d = c[t] ?? 0, o = a[t], M = new n().makeRotationY(o.theta).multiply(
|
|
35
|
-
new n().makeTranslation(
|
|
36
|
-
o.a / 1e3,
|
|
37
|
-
(o.d + d * (o.reverse_rotation_direction ? -1 : 1)) / 1e3,
|
|
38
|
-
0
|
|
39
|
-
)
|
|
40
|
-
).multiply(new n().makeRotationX(o.alpha));
|
|
41
|
-
m.multiply(M);
|
|
42
|
-
}
|
|
43
|
-
const l = new s(), f = new j(), i = new s();
|
|
44
|
-
if (m.decompose(l, f, i), e = l, p.current && p.current.position.set(
|
|
45
|
-
e.x,
|
|
46
|
-
e.y,
|
|
47
|
-
e.z
|
|
48
|
-
), u.current) {
|
|
49
|
-
const t = u.current.geometry;
|
|
50
|
-
t != null && t.setPositions && t.setPositions([
|
|
51
|
-
0,
|
|
52
|
-
0,
|
|
53
|
-
0,
|
|
54
|
-
e.x,
|
|
55
|
-
e.y,
|
|
56
|
-
e.z
|
|
57
|
-
]);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return /* @__PURE__ */ r(
|
|
61
|
-
L,
|
|
62
|
-
{
|
|
63
|
-
rapidlyChangingMotionState: w,
|
|
64
|
-
dhParameters: a,
|
|
65
|
-
onTranslationChanged: k,
|
|
66
|
-
children: /* @__PURE__ */ h("group", { ...R, name: "Scene", children: [
|
|
67
|
-
/* @__PURE__ */ h("mesh", { name: "Base", position: [0, 0, 0], children: [
|
|
68
|
-
/* @__PURE__ */ r("sphereGeometry", { args: [0.02, 32, 32] }),
|
|
69
|
-
/* @__PURE__ */ r("meshStandardMaterial", { color: "green", depthTest: !0 })
|
|
70
|
-
] }),
|
|
71
|
-
/* @__PURE__ */ r(
|
|
72
|
-
_,
|
|
73
|
-
{
|
|
74
|
-
ref: u,
|
|
75
|
-
points: [new s(0, 0, 0), x],
|
|
76
|
-
color: "White",
|
|
77
|
-
lineWidth: 5
|
|
78
|
-
}
|
|
79
|
-
),
|
|
80
|
-
/* @__PURE__ */ h("mesh", { ref: p, name: "TCP", position: x, children: [
|
|
81
|
-
/* @__PURE__ */ r("sphereGeometry", { args: [0.025, 32, 32] }),
|
|
82
|
-
/* @__PURE__ */ r("meshStandardMaterial", { color: "red", depthTest: !0 })
|
|
83
|
-
] })
|
|
84
|
-
] })
|
|
85
|
-
}
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
export {
|
|
89
|
-
P as DHLinearAxis,
|
|
90
|
-
P as default
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=DHLinearAxis.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DHLinearAxis.js","sources":["../../../src/components/robots/DHLinearAxis.tsx"],"sourcesContent":["/* biome-ignore-all lint/style/noNonNullAssertion: pre-biome code */\n/* biome-ignore-all lint/suspicious/noExplicitAny: pre-biome code */\n\nimport { Line } from \"@react-three/drei\"\nimport { useRef } from \"react\"\nimport type * as THREE from \"three\"\nimport { Matrix4, Quaternion, Vector3 } from \"three\"\nimport LinearAxisAnimator from \"./LinearAxisAnimator\"\nimport type { DHLinearAxisProps } from \"./SupportedLinearAxis\"\n\nexport function DHLinearAxis({\n rapidlyChangingMotionState,\n dhParameters,\n ...props\n}: DHLinearAxisProps) {\n // reused in every update\n const accumulatedMatrix = new Matrix4()\n\n const tcpMeshRef = useRef<THREE.Mesh | null>(null)\n const tcpLineRef = useRef<any>(null)\n\n // Calculate initial TCP position\n function calculateTcpPosition(jointValues: number[]): Vector3 {\n const tempMatrix = new Matrix4()\n\n for (let i = 0; i < dhParameters.length; i++) {\n const param = dhParameters[i]\n const jointValue = jointValues[i] ?? 0\n\n const matrix = new Matrix4()\n .makeRotationY(param.theta!) // Base rotation (if any)\n .multiply(\n new Matrix4().makeTranslation(\n param.a! / 1000,\n (param.d! +\n jointValue * (param.reverse_rotation_direction ? -1 : 1)) /\n 1000,\n 0,\n ),\n ) // Translate along X by a, and Y by d + joint_position\n .multiply(new Matrix4().makeRotationX(param.alpha!)) // Rotate around X\n\n tempMatrix.multiply(matrix)\n }\n\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n tempMatrix.decompose(position, quaternion, scale)\n return position\n }\n\n // Calculate initial TCP position for rendering\n const initialTcpPosition = calculateTcpPosition(\n rapidlyChangingMotionState.joint_position,\n )\n\n function setTranslation(joints: THREE.Object3D[], jointValues: number[]) {\n accumulatedMatrix.identity()\n\n let tcpPosition = new Vector3()\n\n // Process all joints based on dhParameters length, not joints array\n // Since we're using DHLinearAxis directly without a model, we don't have joint objects\n for (let jointIndex = 0; jointIndex < dhParameters.length; jointIndex++) {\n const jointValue = jointValues[jointIndex] ?? 0\n const param = dhParameters[jointIndex]\n\n // Calculate and accumulate transformation\n const matrix = new Matrix4()\n .makeRotationY(param.theta!) // Base rotation (if any)\n .multiply(\n new Matrix4().makeTranslation(\n param.a! / 1000,\n (param.d! +\n jointValue * (param.reverse_rotation_direction ? -1 : 1)) /\n 1000,\n 0,\n ),\n )\n .multiply(new Matrix4().makeRotationX(param.alpha!))\n\n accumulatedMatrix.multiply(matrix)\n }\n\n // Get final TCP position from accumulated matrix\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n accumulatedMatrix.decompose(position, quaternion, scale)\n tcpPosition = position\n\n // Update TCP marker\n if (tcpMeshRef.current) {\n tcpMeshRef.current.position.set(\n tcpPosition.x,\n tcpPosition.y,\n tcpPosition.z,\n )\n }\n\n // Update TCP line\n if (tcpLineRef.current) {\n const lineGeometry = tcpLineRef.current.geometry\n if (lineGeometry?.setPositions) {\n lineGeometry.setPositions([\n 0,\n 0,\n 0,\n tcpPosition.x,\n tcpPosition.y,\n tcpPosition.z,\n ])\n }\n }\n }\n\n return (\n <LinearAxisAnimator\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n onTranslationChanged={setTranslation}\n >\n <group {...props} name=\"Scene\">\n {/* Base (origin) - Green sphere representing initial previous position */}\n <mesh name=\"Base\" position={[0, 0, 0]}>\n <sphereGeometry args={[0.02, 32, 32]} />\n <meshStandardMaterial color={\"green\"} depthTest={true} />\n </mesh>\n {/* Line from Base to TCP */}\n <Line\n ref={tcpLineRef}\n points={[new Vector3(0, 0, 0), initialTcpPosition]}\n color={\"White\"}\n lineWidth={5}\n />\n {/* TCP (Tool Center Point) - Red sphere that shows final position */}\n <mesh ref={tcpMeshRef} name=\"TCP\" position={initialTcpPosition}>\n <sphereGeometry args={[0.025, 32, 32]} />\n <meshStandardMaterial color={\"red\"} depthTest={true} />\n </mesh>\n </group>\n </LinearAxisAnimator>\n )\n}\n\nexport default DHLinearAxis\n"],"names":["DHLinearAxis","rapidlyChangingMotionState","dhParameters","props","accumulatedMatrix","Matrix4","tcpMeshRef","useRef","tcpLineRef","calculateTcpPosition","jointValues","tempMatrix","param","jointValue","matrix","position","Vector3","quaternion","Quaternion","scale","initialTcpPosition","setTranslation","joints","tcpPosition","jointIndex","lineGeometry","jsx","LinearAxisAnimator","jsxs","Line"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),b=require("@react-three/drei"),p=require("react"),c=require("three"),w=require("./RobotAnimator.cjs"),M="line",_="mesh";function y({rapidlyChangingMotionState:x,dhParameters:r,...R}){const a=new c.Matrix4,f=p.useRef([]),m=p.useRef([]);p.useEffect(()=>{f.current=new Array(r.length).fill(null),m.current=new Array(r.length).fill(null)},[r.length]);function h(n,e){const t=new c.Vector3,i=new c.Quaternion,o=new c.Vector3;a.decompose(t,i,o);const l=t.clone(),u=new c.Matrix4().makeRotationY(n.theta+e*(n.reverse_rotation_direction?-1:1)).multiply(new c.Matrix4().makeTranslation(0,n.d/1e3,0)).multiply(new c.Matrix4().makeTranslation(n.a/1e3,0,0)).multiply(new c.Matrix4().makeRotationX(n.alpha));return a.multiply(u),a.decompose(t,i,o),{a:l,b:t}}function j(n,e,t,i){if(!r)return;const o=r[n];if(!o)return;const{a:l,b:u}=h(o,i);e.geometry.setPositions([l.toArray(),u.toArray()].flat()),t.position.set(u.x,u.y,u.z)}function g(n,e){a.identity();for(let t=0;t<Math.min(n.length,e.length);t++){const i=f.current[t],o=m.current[t];i&&o&&j(t,i,o,e[t])}}return s.jsx(w.default,{rapidlyChangingMotionState:x,dhParameters:r,onRotationChanged:g,children:s.jsxs("group",{...R,name:"Scene",children:[s.jsxs("mesh",{children:[s.jsx("sphereGeometry",{args:[.01,32,32]}),s.jsx("meshStandardMaterial",{color:"black",depthTest:!0})]}),r==null?void 0:r.map((n,e)=>{const{a:t,b:i}=h(n,x.joint_position[e]??0),o=`dhrobot_J0${e}`;return s.jsxs("group",{name:o,children:[s.jsx(b.Line,{ref:l=>{f.current[e]=l},name:M,points:[t,i],color:"white",lineWidth:5}),s.jsxs("mesh",{ref:l=>{m.current[e]=l},name:_,position:i,children:[s.jsx("sphereGeometry",{args:[.01,32,32]}),s.jsx("meshStandardMaterial",{color:"black",depthTest:!0})]},`mesh_${e}`)]},o)})]})})}exports.DHRobot=y;exports.default=y;
|
|
2
|
-
//# sourceMappingURL=DHRobot.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DHRobot.cjs","sources":["../../../src/components/robots/DHRobot.tsx"],"sourcesContent":["/* biome-ignore-all lint/style/noNonNullAssertion: pre-biome code */\n/* biome-ignore-all lint/suspicious/noExplicitAny: pre-biome code */\n\nimport { Line } from \"@react-three/drei\"\nimport type { DHParameter } from \"@wandelbots/nova-js/v2\"\nimport React, { useRef } from \"react\"\nimport type * as THREE from \"three\"\nimport { Matrix4, Quaternion, Vector3 } from \"three\"\nimport type { LineGeometry } from \"three/examples/jsm/lines/LineGeometry.js\"\nimport RobotAnimator from \"./RobotAnimator\"\nimport type { DHRobotProps } from \"./SupportedRobot\"\n\nconst CHILD_LINE = \"line\"\nconst CHILD_MESH = \"mesh\"\n\nexport function DHRobot({\n rapidlyChangingMotionState,\n dhParameters,\n ...props\n}: DHRobotProps) {\n // reused in every update\n const accumulatedMatrix = new Matrix4()\n\n // Store direct references to avoid searching by name\n const lineRefs = useRef<any[]>([])\n const meshRefs = useRef<(THREE.Mesh | null)[]>([])\n\n // Initialize refs array when dhParameters change\n React.useEffect(() => {\n lineRefs.current = new Array(dhParameters.length).fill(null)\n meshRefs.current = new Array(dhParameters.length).fill(null)\n }, [dhParameters.length])\n\n // Updates accumulatedMatrix with every execution\n // Reset the matrix to identity if you start a new position update\n function getLinePoints(\n dhParameter: DHParameter,\n jointRotation: number,\n ): {\n a: THREE.Vector3\n b: THREE.Vector3\n } {\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n accumulatedMatrix.decompose(position, quaternion, scale)\n const prevPosition = position.clone() // Update the previous position\n\n const matrix = new Matrix4()\n .makeRotationY(\n dhParameter.theta! +\n jointRotation * (dhParameter.reverse_rotation_direction ? -1 : 1),\n ) // Rotate around Z\n .multiply(new Matrix4().makeTranslation(0, dhParameter.d! / 1000, 0)) // Translate along Z\n .multiply(new Matrix4().makeTranslation(dhParameter.a! / 1000, 0, 0)) // Translate along X\n .multiply(new Matrix4().makeRotationX(dhParameter.alpha!)) // Rotate around X\n\n // Accumulate transformations\n accumulatedMatrix.multiply(matrix)\n accumulatedMatrix.decompose(position, quaternion, scale)\n return { a: prevPosition, b: position }\n }\n\n function setJointLineRotation(\n jointIndex: number,\n line: any, // Use any for drei Line component\n mesh: THREE.Mesh,\n jointValue: number,\n ) {\n if (!dhParameters) {\n return\n }\n\n const dh_parameter = dhParameters[jointIndex]\n if (!dh_parameter) {\n return\n }\n\n const { a, b } = getLinePoints(dh_parameter, jointValue)\n const lineGeometry = line.geometry as LineGeometry\n lineGeometry.setPositions([a.toArray(), b.toArray()].flat())\n\n mesh.position.set(b.x, b.y, b.z)\n }\n\n function setRotation(joints: THREE.Object3D[], jointValues: number[]) {\n accumulatedMatrix.identity()\n\n // Use direct refs instead of searching by name\n for (\n let jointIndex = 0;\n jointIndex < Math.min(joints.length, jointValues.length);\n jointIndex++\n ) {\n const line = lineRefs.current[jointIndex]\n const mesh = meshRefs.current[jointIndex]\n\n if (line && mesh) {\n setJointLineRotation(jointIndex, line, mesh, jointValues[jointIndex]!)\n }\n }\n }\n\n return (\n <RobotAnimator\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n onRotationChanged={setRotation}\n >\n <group {...props} name=\"Scene\">\n <mesh>\n <sphereGeometry args={[0.01, 32, 32]} />\n <meshStandardMaterial color={\"black\"} depthTest={true} />\n </mesh>\n {dhParameters?.map((param, index) => {\n const { a, b } = getLinePoints(\n param,\n rapidlyChangingMotionState.joint_position[index] ?? 0,\n )\n const jointName = `dhrobot_J0${index}`\n return (\n <group name={jointName} key={jointName}>\n <Line\n ref={(ref) => {\n lineRefs.current[index] = ref\n }}\n name={CHILD_LINE}\n points={[a, b]}\n color={\"white\"}\n lineWidth={5}\n />\n <mesh\n ref={(ref) => {\n meshRefs.current[index] = ref\n }}\n name={CHILD_MESH}\n // biome-ignore lint/suspicious/noArrayIndexKey: pre-biome code\n key={`mesh_${index}`}\n position={b}\n >\n <sphereGeometry args={[0.01, 32, 32]} />\n <meshStandardMaterial color={\"black\"} depthTest={true} />\n </mesh>\n </group>\n )\n })}\n </group>\n </RobotAnimator>\n )\n}\n\nexport default DHRobot\n"],"names":["CHILD_LINE","CHILD_MESH","DHRobot","rapidlyChangingMotionState","dhParameters","props","accumulatedMatrix","Matrix4","lineRefs","useRef","meshRefs","React","getLinePoints","dhParameter","jointRotation","position","Vector3","quaternion","Quaternion","scale","prevPosition","matrix","setJointLineRotation","jointIndex","line","mesh","jointValue","dh_parameter","a","b","setRotation","joints","jointValues","jsx","RobotAnimator","jsxs","param","index","jointName","Line","ref"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DHRobot.d.ts","sourceRoot":"","sources":["../../../src/components/robots/DHRobot.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAKpD,wBAAgB,OAAO,CAAC,EACtB,0BAA0B,EAC1B,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,YAAY,2CAkId;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { jsx as s, jsxs as a } from "react/jsx-runtime";
|
|
2
|
-
import { Line as k } from "@react-three/drei";
|
|
3
|
-
import L, { useRef as w } from "react";
|
|
4
|
-
import { Matrix4 as u, Vector3 as R, Quaternion as d } from "three";
|
|
5
|
-
import A from "./RobotAnimator.js";
|
|
6
|
-
const M = "line", j = "mesh";
|
|
7
|
-
function E({
|
|
8
|
-
rapidlyChangingMotionState: h,
|
|
9
|
-
dhParameters: r,
|
|
10
|
-
...g
|
|
11
|
-
}) {
|
|
12
|
-
const m = new u(), p = w([]), f = w([]);
|
|
13
|
-
L.useEffect(() => {
|
|
14
|
-
p.current = new Array(r.length).fill(null), f.current = new Array(r.length).fill(null);
|
|
15
|
-
}, [r.length]);
|
|
16
|
-
function y(o, n) {
|
|
17
|
-
const t = new R(), i = new d(), e = new R();
|
|
18
|
-
m.decompose(t, i, e);
|
|
19
|
-
const c = t.clone(), l = new u().makeRotationY(
|
|
20
|
-
o.theta + n * (o.reverse_rotation_direction ? -1 : 1)
|
|
21
|
-
).multiply(new u().makeTranslation(0, o.d / 1e3, 0)).multiply(new u().makeTranslation(o.a / 1e3, 0, 0)).multiply(new u().makeRotationX(o.alpha));
|
|
22
|
-
return m.multiply(l), m.decompose(t, i, e), { a: c, b: t };
|
|
23
|
-
}
|
|
24
|
-
function _(o, n, t, i) {
|
|
25
|
-
if (!r)
|
|
26
|
-
return;
|
|
27
|
-
const e = r[o];
|
|
28
|
-
if (!e)
|
|
29
|
-
return;
|
|
30
|
-
const { a: c, b: l } = y(e, i);
|
|
31
|
-
n.geometry.setPositions([c.toArray(), l.toArray()].flat()), t.position.set(l.x, l.y, l.z);
|
|
32
|
-
}
|
|
33
|
-
function b(o, n) {
|
|
34
|
-
m.identity();
|
|
35
|
-
for (let t = 0; t < Math.min(o.length, n.length); t++) {
|
|
36
|
-
const i = p.current[t], e = f.current[t];
|
|
37
|
-
i && e && _(t, i, e, n[t]);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return /* @__PURE__ */ s(
|
|
41
|
-
A,
|
|
42
|
-
{
|
|
43
|
-
rapidlyChangingMotionState: h,
|
|
44
|
-
dhParameters: r,
|
|
45
|
-
onRotationChanged: b,
|
|
46
|
-
children: /* @__PURE__ */ a("group", { ...g, name: "Scene", children: [
|
|
47
|
-
/* @__PURE__ */ a("mesh", { children: [
|
|
48
|
-
/* @__PURE__ */ s("sphereGeometry", { args: [0.01, 32, 32] }),
|
|
49
|
-
/* @__PURE__ */ s("meshStandardMaterial", { color: "black", depthTest: !0 })
|
|
50
|
-
] }),
|
|
51
|
-
r == null ? void 0 : r.map((o, n) => {
|
|
52
|
-
const { a: t, b: i } = y(
|
|
53
|
-
o,
|
|
54
|
-
h.joint_position[n] ?? 0
|
|
55
|
-
), e = `dhrobot_J0${n}`;
|
|
56
|
-
return /* @__PURE__ */ a("group", { name: e, children: [
|
|
57
|
-
/* @__PURE__ */ s(
|
|
58
|
-
k,
|
|
59
|
-
{
|
|
60
|
-
ref: (c) => {
|
|
61
|
-
p.current[n] = c;
|
|
62
|
-
},
|
|
63
|
-
name: M,
|
|
64
|
-
points: [t, i],
|
|
65
|
-
color: "white",
|
|
66
|
-
lineWidth: 5
|
|
67
|
-
}
|
|
68
|
-
),
|
|
69
|
-
/* @__PURE__ */ a(
|
|
70
|
-
"mesh",
|
|
71
|
-
{
|
|
72
|
-
ref: (c) => {
|
|
73
|
-
f.current[n] = c;
|
|
74
|
-
},
|
|
75
|
-
name: j,
|
|
76
|
-
position: i,
|
|
77
|
-
children: [
|
|
78
|
-
/* @__PURE__ */ s("sphereGeometry", { args: [0.01, 32, 32] }),
|
|
79
|
-
/* @__PURE__ */ s("meshStandardMaterial", { color: "black", depthTest: !0 })
|
|
80
|
-
]
|
|
81
|
-
},
|
|
82
|
-
`mesh_${n}`
|
|
83
|
-
)
|
|
84
|
-
] }, e);
|
|
85
|
-
})
|
|
86
|
-
] })
|
|
87
|
-
}
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
export {
|
|
91
|
-
E as DHRobot,
|
|
92
|
-
E as default
|
|
93
|
-
};
|
|
94
|
-
//# sourceMappingURL=DHRobot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DHRobot.js","sources":["../../../src/components/robots/DHRobot.tsx"],"sourcesContent":["/* biome-ignore-all lint/style/noNonNullAssertion: pre-biome code */\n/* biome-ignore-all lint/suspicious/noExplicitAny: pre-biome code */\n\nimport { Line } from \"@react-three/drei\"\nimport type { DHParameter } from \"@wandelbots/nova-js/v2\"\nimport React, { useRef } from \"react\"\nimport type * as THREE from \"three\"\nimport { Matrix4, Quaternion, Vector3 } from \"three\"\nimport type { LineGeometry } from \"three/examples/jsm/lines/LineGeometry.js\"\nimport RobotAnimator from \"./RobotAnimator\"\nimport type { DHRobotProps } from \"./SupportedRobot\"\n\nconst CHILD_LINE = \"line\"\nconst CHILD_MESH = \"mesh\"\n\nexport function DHRobot({\n rapidlyChangingMotionState,\n dhParameters,\n ...props\n}: DHRobotProps) {\n // reused in every update\n const accumulatedMatrix = new Matrix4()\n\n // Store direct references to avoid searching by name\n const lineRefs = useRef<any[]>([])\n const meshRefs = useRef<(THREE.Mesh | null)[]>([])\n\n // Initialize refs array when dhParameters change\n React.useEffect(() => {\n lineRefs.current = new Array(dhParameters.length).fill(null)\n meshRefs.current = new Array(dhParameters.length).fill(null)\n }, [dhParameters.length])\n\n // Updates accumulatedMatrix with every execution\n // Reset the matrix to identity if you start a new position update\n function getLinePoints(\n dhParameter: DHParameter,\n jointRotation: number,\n ): {\n a: THREE.Vector3\n b: THREE.Vector3\n } {\n const position = new Vector3()\n const quaternion = new Quaternion()\n const scale = new Vector3()\n accumulatedMatrix.decompose(position, quaternion, scale)\n const prevPosition = position.clone() // Update the previous position\n\n const matrix = new Matrix4()\n .makeRotationY(\n dhParameter.theta! +\n jointRotation * (dhParameter.reverse_rotation_direction ? -1 : 1),\n ) // Rotate around Z\n .multiply(new Matrix4().makeTranslation(0, dhParameter.d! / 1000, 0)) // Translate along Z\n .multiply(new Matrix4().makeTranslation(dhParameter.a! / 1000, 0, 0)) // Translate along X\n .multiply(new Matrix4().makeRotationX(dhParameter.alpha!)) // Rotate around X\n\n // Accumulate transformations\n accumulatedMatrix.multiply(matrix)\n accumulatedMatrix.decompose(position, quaternion, scale)\n return { a: prevPosition, b: position }\n }\n\n function setJointLineRotation(\n jointIndex: number,\n line: any, // Use any for drei Line component\n mesh: THREE.Mesh,\n jointValue: number,\n ) {\n if (!dhParameters) {\n return\n }\n\n const dh_parameter = dhParameters[jointIndex]\n if (!dh_parameter) {\n return\n }\n\n const { a, b } = getLinePoints(dh_parameter, jointValue)\n const lineGeometry = line.geometry as LineGeometry\n lineGeometry.setPositions([a.toArray(), b.toArray()].flat())\n\n mesh.position.set(b.x, b.y, b.z)\n }\n\n function setRotation(joints: THREE.Object3D[], jointValues: number[]) {\n accumulatedMatrix.identity()\n\n // Use direct refs instead of searching by name\n for (\n let jointIndex = 0;\n jointIndex < Math.min(joints.length, jointValues.length);\n jointIndex++\n ) {\n const line = lineRefs.current[jointIndex]\n const mesh = meshRefs.current[jointIndex]\n\n if (line && mesh) {\n setJointLineRotation(jointIndex, line, mesh, jointValues[jointIndex]!)\n }\n }\n }\n\n return (\n <RobotAnimator\n rapidlyChangingMotionState={rapidlyChangingMotionState}\n dhParameters={dhParameters}\n onRotationChanged={setRotation}\n >\n <group {...props} name=\"Scene\">\n <mesh>\n <sphereGeometry args={[0.01, 32, 32]} />\n <meshStandardMaterial color={\"black\"} depthTest={true} />\n </mesh>\n {dhParameters?.map((param, index) => {\n const { a, b } = getLinePoints(\n param,\n rapidlyChangingMotionState.joint_position[index] ?? 0,\n )\n const jointName = `dhrobot_J0${index}`\n return (\n <group name={jointName} key={jointName}>\n <Line\n ref={(ref) => {\n lineRefs.current[index] = ref\n }}\n name={CHILD_LINE}\n points={[a, b]}\n color={\"white\"}\n lineWidth={5}\n />\n <mesh\n ref={(ref) => {\n meshRefs.current[index] = ref\n }}\n name={CHILD_MESH}\n // biome-ignore lint/suspicious/noArrayIndexKey: pre-biome code\n key={`mesh_${index}`}\n position={b}\n >\n <sphereGeometry args={[0.01, 32, 32]} />\n <meshStandardMaterial color={\"black\"} depthTest={true} />\n </mesh>\n </group>\n )\n })}\n </group>\n </RobotAnimator>\n )\n}\n\nexport default DHRobot\n"],"names":["CHILD_LINE","CHILD_MESH","DHRobot","rapidlyChangingMotionState","dhParameters","props","accumulatedMatrix","Matrix4","lineRefs","useRef","meshRefs","React","getLinePoints","dhParameter","jointRotation","position","Vector3","quaternion","Quaternion","scale","prevPosition","matrix","setJointLineRotation","jointIndex","line","mesh","jointValue","dh_parameter","a","b","setRotation","joints","jointValues","jsx","RobotAnimator","jsxs","param","index","jointName","Line","ref"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),b=require("@react-three/drei"),l=require("react"),g=require("./robotModelLogic.cjs");function y(r){return r.type==="Mesh"}function R({url:r,flangeRef:n,postModelRender:t,...u}){const s=b.useGLTF(r),c=g.parseRobotModel(s,"robot.glb").gltf,o=l.useCallback(e=>{e&&t&&t()},[t]);function f(e){try{return y(e)?e.geometry?i.jsx("mesh",{name:e.name,geometry:e.geometry,material:e.material,position:e.position,rotation:e.rotation},e.uuid):i.jsx("group",{name:e.name,position:e.position,rotation:e.rotation},e.uuid):i.jsx("group",{name:e.name,position:e.position,rotation:e.rotation,ref:g.isFlange(e)?n:void 0,children:e.children.map(f)},e.uuid)}catch(m){return console.warn("Error rendering node",e.name,m),null}}return i.jsx("group",{...u,dispose:null,ref:o,children:f(c.scene)})}function p({modelURL:r,flangeRef:n,postModelRender:t,...u}){const[s,a]=l.useState(null);return l.useEffect(()=>{(async()=>{try{if(typeof r=="string")a(r);else{const o=await r;a(o)}}catch(o){console.error("Failed to resolve model URL:",o)}})()},[r]),s?i.jsx(R,{url:s,flangeRef:n,postModelRender:t,...u}):null}exports.GenericRobot=p;exports.default=p;
|
|
2
|
-
//# sourceMappingURL=GenericRobot.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GenericRobot.cjs","sources":["../../../src/components/robots/GenericRobot.tsx"],"sourcesContent":["import { useGLTF } from \"@react-three/drei\"\nimport type { ThreeElements } from \"@react-three/fiber\"\nimport type React from \"react\"\nimport { useCallback, useEffect, useState } from \"react\"\nimport type { Group, Mesh, Object3D } from \"three\"\nimport { isFlange, parseRobotModel } from \"./robotModelLogic\"\n\nexport type RobotModelProps = {\n modelURL: string | Promise<string>\n /**\n * Called after a robot model has been loaded and\n * rendered into the threejs scene\n */\n postModelRender?: () => void\n flangeRef?: React.Ref<Group>\n} & ThreeElements[\"group\"]\n\nfunction isMesh(node: Object3D): node is Mesh {\n return node.type === \"Mesh\"\n}\n\n// Separate component that only renders when we have a valid URL\nfunction LoadedRobotModel({\n url,\n flangeRef,\n postModelRender,\n ...props\n}: {\n url: string\n flangeRef?: React.Ref<Group>\n postModelRender?: () => void\n} & ThreeElements[\"group\"]) {\n const gltfResult = useGLTF(url)\n const parsed = parseRobotModel(gltfResult, \"robot.glb\")\n const gltf = parsed.gltf\n\n const groupRef: React.RefCallback<Group> = useCallback(\n (group) => {\n if (group && postModelRender) {\n postModelRender()\n }\n },\n [postModelRender],\n )\n\n function renderNode(node: Object3D): React.ReactNode {\n try {\n if (isMesh(node)) {\n // Defensive: only render mesh if geometry exists\n if ((node as Mesh).geometry) {\n return (\n <mesh\n name={node.name}\n key={node.uuid}\n geometry={(node as Mesh).geometry}\n material={(node as Mesh).material}\n position={node.position}\n rotation={node.rotation}\n />\n )\n }\n // Fallback to empty group if geometry is missing\n return (\n <group\n name={node.name}\n key={node.uuid}\n position={node.position}\n rotation={node.rotation}\n />\n )\n } else {\n return (\n <group\n name={node.name}\n key={node.uuid}\n position={node.position}\n rotation={node.rotation}\n ref={isFlange(node) ? flangeRef : undefined}\n >\n {node.children.map(renderNode)}\n </group>\n )\n }\n } catch (e) {\n console.warn(\"Error rendering node\", node.name, e)\n return null\n }\n }\n\n return (\n <group {...props} dispose={null} ref={groupRef}>\n {renderNode(gltf.scene)}\n </group>\n )\n}\n\nexport function GenericRobot({\n modelURL,\n flangeRef,\n postModelRender,\n ...props\n}: RobotModelProps) {\n const [resolvedURL, setResolvedURL] = useState<string | null>(null)\n\n useEffect(() => {\n const resolveURL = async () => {\n try {\n if (typeof modelURL === \"string\") {\n setResolvedURL(modelURL)\n } else {\n const url = await modelURL\n setResolvedURL(url)\n }\n } catch (error) {\n console.error(\"Failed to resolve model URL:\", error)\n }\n }\n\n resolveURL()\n }, [modelURL])\n\n // Don't render until we have a resolved URL\n if (!resolvedURL) {\n return null // Loading state\n }\n\n return (\n <LoadedRobotModel\n url={resolvedURL}\n flangeRef={flangeRef}\n postModelRender={postModelRender}\n {...props}\n />\n )\n}\n\nexport default GenericRobot\n"],"names":["isMesh","node","LoadedRobotModel","url","flangeRef","postModelRender","props","gltfResult","useGLTF","gltf","parseRobotModel","groupRef","useCallback","group","renderNode","jsx","isFlange","e","GenericRobot","modelURL","resolvedURL","setResolvedURL","useState","useEffect","error"],"mappings":"sOAiBA,SAASA,EAAOC,EAA8B,CAC5C,OAAOA,EAAK,OAAS,MACvB,CAGA,SAASC,EAAiB,CACxB,IAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,GAAGC,CACL,EAI4B,CAC1B,MAAMC,EAAaC,EAAAA,QAAQL,CAAG,EAExBM,EADSC,EAAAA,gBAAgBH,EAAY,WAAW,EAClC,KAEdI,EAAqCC,EAAAA,YACxCC,GAAU,CACLA,GAASR,GACXA,EAAA,CAEJ,EACA,CAACA,CAAe,CAAA,EAGlB,SAASS,EAAWb,EAAiC,CACnD,GAAI,CACF,OAAID,EAAOC,CAAI,EAERA,EAAc,SAEfc,EAAAA,IAAC,OAAA,CACC,KAAMd,EAAK,KAEX,SAAWA,EAAc,SACzB,SAAWA,EAAc,SACzB,SAAUA,EAAK,SACf,SAAUA,EAAK,QAAA,EAJVA,EAAK,IAAA,EAUdc,EAAAA,IAAC,QAAA,CACC,KAAMd,EAAK,KAEX,SAAUA,EAAK,SACf,SAAUA,EAAK,QAAA,EAFVA,EAAK,IAAA,EAOZc,EAAAA,IAAC,QAAA,CACC,KAAMd,EAAK,KAEX,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,IAAKe,EAAAA,SAASf,CAAI,EAAIG,EAAY,OAEjC,SAAAH,EAAK,SAAS,IAAIa,CAAU,CAAA,EALxBb,EAAK,IAAA,CASlB,OAASgB,EAAG,CACV,eAAQ,KAAK,uBAAwBhB,EAAK,KAAMgB,CAAC,EAC1C,IACT,CACF,CAEA,OACEF,EAAAA,IAAC,QAAA,CAAO,GAAGT,EAAO,QAAS,KAAM,IAAKK,EACnC,SAAAG,EAAWL,EAAK,KAAK,CAAA,CACxB,CAEJ,CAEO,SAASS,EAAa,CAC3B,SAAAC,EACA,UAAAf,EACA,gBAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,KAAM,CAACc,EAAaC,CAAc,EAAIC,EAAAA,SAAwB,IAAI,EAoBlE,OAlBAC,EAAAA,UAAU,IAAM,EACK,SAAY,CAC7B,GAAI,CACF,GAAI,OAAOJ,GAAa,SACtBE,EAAeF,CAAQ,MAClB,CACL,MAAMhB,EAAM,MAAMgB,EAClBE,EAAelB,CAAG,CACpB,CACF,OAASqB,EAAO,CACd,QAAQ,MAAM,+BAAgCA,CAAK,CACrD,CACF,GAEA,CACF,EAAG,CAACL,CAAQ,CAAC,EAGRC,EAKHL,EAAAA,IAACb,EAAA,CACC,IAAKkB,EACL,UAAAhB,EACA,gBAAAC,EACC,GAAGC,CAAA,CAAA,EARC,IAWX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GenericRobot.d.ts","sourceRoot":"","sources":["../../../src/components/robots/GenericRobot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAGlD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;CAC7B,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAiF1B,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,eAAe,EACf,GAAG,KAAK,EACT,EAAE,eAAe,kDAiCjB;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -1,91 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GenericRobot.js","sources":["../../../src/components/robots/GenericRobot.tsx"],"sourcesContent":["import { useGLTF } from \"@react-three/drei\"\nimport type { ThreeElements } from \"@react-three/fiber\"\nimport type React from \"react\"\nimport { useCallback, useEffect, useState } from \"react\"\nimport type { Group, Mesh, Object3D } from \"three\"\nimport { isFlange, parseRobotModel } from \"./robotModelLogic\"\n\nexport type RobotModelProps = {\n modelURL: string | Promise<string>\n /**\n * Called after a robot model has been loaded and\n * rendered into the threejs scene\n */\n postModelRender?: () => void\n flangeRef?: React.Ref<Group>\n} & ThreeElements[\"group\"]\n\nfunction isMesh(node: Object3D): node is Mesh {\n return node.type === \"Mesh\"\n}\n\n// Separate component that only renders when we have a valid URL\nfunction LoadedRobotModel({\n url,\n flangeRef,\n postModelRender,\n ...props\n}: {\n url: string\n flangeRef?: React.Ref<Group>\n postModelRender?: () => void\n} & ThreeElements[\"group\"]) {\n const gltfResult = useGLTF(url)\n const parsed = parseRobotModel(gltfResult, \"robot.glb\")\n const gltf = parsed.gltf\n\n const groupRef: React.RefCallback<Group> = useCallback(\n (group) => {\n if (group && postModelRender) {\n postModelRender()\n }\n },\n [postModelRender],\n )\n\n function renderNode(node: Object3D): React.ReactNode {\n try {\n if (isMesh(node)) {\n // Defensive: only render mesh if geometry exists\n if ((node as Mesh).geometry) {\n return (\n <mesh\n name={node.name}\n key={node.uuid}\n geometry={(node as Mesh).geometry}\n material={(node as Mesh).material}\n position={node.position}\n rotation={node.rotation}\n />\n )\n }\n // Fallback to empty group if geometry is missing\n return (\n <group\n name={node.name}\n key={node.uuid}\n position={node.position}\n rotation={node.rotation}\n />\n )\n } else {\n return (\n <group\n name={node.name}\n key={node.uuid}\n position={node.position}\n rotation={node.rotation}\n ref={isFlange(node) ? flangeRef : undefined}\n >\n {node.children.map(renderNode)}\n </group>\n )\n }\n } catch (e) {\n console.warn(\"Error rendering node\", node.name, e)\n return null\n }\n }\n\n return (\n <group {...props} dispose={null} ref={groupRef}>\n {renderNode(gltf.scene)}\n </group>\n )\n}\n\nexport function GenericRobot({\n modelURL,\n flangeRef,\n postModelRender,\n ...props\n}: RobotModelProps) {\n const [resolvedURL, setResolvedURL] = useState<string | null>(null)\n\n useEffect(() => {\n const resolveURL = async () => {\n try {\n if (typeof modelURL === \"string\") {\n setResolvedURL(modelURL)\n } else {\n const url = await modelURL\n setResolvedURL(url)\n }\n } catch (error) {\n console.error(\"Failed to resolve model URL:\", error)\n }\n }\n\n resolveURL()\n }, [modelURL])\n\n // Don't render until we have a resolved URL\n if (!resolvedURL) {\n return null // Loading state\n }\n\n return (\n <LoadedRobotModel\n url={resolvedURL}\n flangeRef={flangeRef}\n postModelRender={postModelRender}\n {...props}\n />\n )\n}\n\nexport default GenericRobot\n"],"names":["isMesh","node","LoadedRobotModel","url","flangeRef","postModelRender","props","gltfResult","useGLTF","gltf","parseRobotModel","groupRef","useCallback","group","renderNode","jsx","isFlange","e","GenericRobot","modelURL","resolvedURL","setResolvedURL","useState","useEffect","error"],"mappings":";;;;AAiBA,SAASA,EAAOC,GAA8B;AAC5C,SAAOA,EAAK,SAAS;AACvB;AAGA,SAASC,EAAiB;AAAA,EACxB,KAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAI4B;AAC1B,QAAMC,IAAaC,EAAQL,CAAG,GAExBM,IADSC,EAAgBH,GAAY,WAAW,EAClC,MAEdI,IAAqCC;AAAA,IACzC,CAACC,MAAU;AACT,MAAIA,KAASR,KACXA,EAAA;AAAA,IAEJ;AAAA,IACA,CAACA,CAAe;AAAA,EAAA;AAGlB,WAASS,EAAWb,GAAiC;AACnD,QAAI;AACF,aAAID,EAAOC,CAAI,IAERA,EAAc,WAEf,gBAAAc;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMd,EAAK;AAAA,UAEX,UAAWA,EAAc;AAAA,UACzB,UAAWA,EAAc;AAAA,UACzB,UAAUA,EAAK;AAAA,UACf,UAAUA,EAAK;AAAA,QAAA;AAAA,QAJVA,EAAK;AAAA,MAAA,IAUd,gBAAAc;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMd,EAAK;AAAA,UAEX,UAAUA,EAAK;AAAA,UACf,UAAUA,EAAK;AAAA,QAAA;AAAA,QAFVA,EAAK;AAAA,MAAA,IAOZ,gBAAAc;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAMd,EAAK;AAAA,UAEX,UAAUA,EAAK;AAAA,UACf,UAAUA,EAAK;AAAA,UACf,KAAKe,EAASf,CAAI,IAAIG,IAAY;AAAA,UAEjC,UAAAH,EAAK,SAAS,IAAIa,CAAU;AAAA,QAAA;AAAA,QALxBb,EAAK;AAAA,MAAA;AAAA,IASlB,SAASgB,GAAG;AACV,qBAAQ,KAAK,wBAAwBhB,EAAK,MAAMgB,CAAC,GAC1C;AAAA,IACT;AAAA,EACF;AAEA,SACE,gBAAAF,EAAC,SAAA,EAAO,GAAGT,GAAO,SAAS,MAAM,KAAKK,GACnC,UAAAG,EAAWL,EAAK,KAAK,EAAA,CACxB;AAEJ;AAEO,SAASS,EAAa;AAAA,EAC3B,UAAAC;AAAA,EACA,WAAAf;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,QAAM,CAACc,GAAaC,CAAc,IAAIC,EAAwB,IAAI;AAoBlE,SAlBAC,EAAU,MAAM;AAcd,KAbmB,YAAY;AAC7B,UAAI;AACF,YAAI,OAAOJ,KAAa;AACtB,UAAAE,EAAeF,CAAQ;AAAA,aAClB;AACL,gBAAMhB,IAAM,MAAMgB;AAClB,UAAAE,EAAelB,CAAG;AAAA,QACpB;AAAA,MACF,SAASqB,GAAO;AACd,gBAAQ,MAAM,gCAAgCA,CAAK;AAAA,MACrD;AAAA,IACF,GAEA;AAAA,EACF,GAAG,CAACL,CAAQ,CAAC,GAGRC,IAKH,gBAAAL;AAAA,IAACb;AAAA,IAAA;AAAA,MACC,KAAKkB;AAAA,MACL,WAAAhB;AAAA,MACA,iBAAAC;AAAA,MACC,GAAGC;AAAA,IAAA;AAAA,EAAA,IARC;AAWX;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinearAxis.js","sources":["../../../src/components/robots/LinearAxis.tsx"],"sourcesContent":["import type { ThreeElements } from \"@react-three/fiber\"\n\nimport type { Group } from \"three\"\nimport type { ConnectedMotionGroup } from \"../../lib/ConnectedMotionGroup\"\nimport { DHLinearAxis } from \"./DHLinearAxis\"\nimport { defaultGetModel } from \"./robotModelLogic\"\nimport { SupportedLinearAxis } from \"./SupportedLinearAxis\"\n\nexport type LinearAxisProps = {\n connectedMotionGroup: ConnectedMotionGroup\n getModel?: (modelFromController: string) => Promise<string>\n flangeRef?: React.Ref<Group>\n transparentColor?: string\n postModelRender?: () => void\n} & ThreeElements[\"group\"]\n\n/**\n * The LinearAxis component is a wrapper that renders SupportedLinearAxis if a model is available,\n * otherwise falls back to DHLinearAxis for usage with @wandelbots/nova-js ConnectedMotionGroup object.\n *\n * @param {LinearAxisProps} props - The properties for the LinearAxis component.\n * @param {ConnectedMotionGroup} props.connectedMotionGroup - The connected motion group containing motion state and parameters.\n * @param {Function} [props.getModel=defaultGetModel] - Optional function to get the model URL. Defaults to defaultGetModel.\n * @param {Object} props - Additional properties passed to the underlying component.\n *\n * @returns {JSX.Element} The rendered SupportedLinearAxis or DHLinearAxis component.\n */\nexport function LinearAxis({\n connectedMotionGroup,\n getModel = defaultGetModel,\n flangeRef,\n transparentColor,\n postModelRender,\n ...props\n}: LinearAxisProps) {\n if (!connectedMotionGroup.dhParameters) {\n return null\n }\n\n const modelFromController = connectedMotionGroup.modelFromController || \"\"\n const hasModel = modelFromController && getModel(modelFromController)\n\n // Use SupportedLinearAxis if model is available, otherwise fall back to DHLinearAxis\n if (hasModel) {\n return (\n <SupportedLinearAxis\n rapidlyChangingMotionState={\n connectedMotionGroup.rapidlyChangingMotionState\n }\n modelFromController={modelFromController}\n dhParameters={connectedMotionGroup.dhParameters}\n getModel={getModel}\n flangeRef={flangeRef}\n transparentColor={transparentColor}\n postModelRender={postModelRender}\n {...props}\n />\n )\n }\n\n return (\n <DHLinearAxis\n rapidlyChangingMotionState={\n connectedMotionGroup.rapidlyChangingMotionState\n }\n dhParameters={connectedMotionGroup.dhParameters}\n {...props}\n />\n )\n}\n\nexport { defaultGetModel }\n\nexport default LinearAxis\n"],"names":["LinearAxis","connectedMotionGroup","getModel","defaultGetModel","flangeRef","transparentColor","postModelRender","props","modelFromController","jsx","SupportedLinearAxis","DHLinearAxis"],"mappings":";;;;AA2BO,SAASA,EAAW;AAAA,EACzB,sBAAAC;AAAA,EACA,UAAAC,IAAWC;AAAA,EACX,WAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,MAAI,CAACN,EAAqB;AACxB,WAAO;AAGT,QAAMO,IAAsBP,EAAqB,uBAAuB;AAIxE,SAHiBO,KAAuBN,EAASM,CAAmB,IAKhE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACET,EAAqB;AAAA,MAEvB,qBAAAO;AAAA,MACA,cAAcP,EAAqB;AAAA,MACnC,UAAAC;AAAA,MACA,WAAAE;AAAA,MACA,kBAAAC;AAAA,MACA,iBAAAC;AAAA,MACC,GAAGC;AAAA,IAAA;AAAA,EAAA,IAMR,gBAAAE;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,4BACEV,EAAqB;AAAA,MAEvB,cAAcA,EAAqB;AAAA,MAClC,GAAGM;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinearAxisAnimator.d.ts","sourceRoot":"","sources":["../../../src/components/robots/LinearAxisAnimator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,OAAO,CAAA;AAK5C,KAAK,uBAAuB,GAAG;IAC7B,0BAA0B,EAAE,gBAAgB,CAAA;IAC5C,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC1E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,QAAQ,GACT,EAAE,uBAAuB,2CAgGzB"}
|
|
@@ -1,66 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinearAxisAnimator.js","sources":["../../../src/components/robots/LinearAxisAnimator.tsx"],"sourcesContent":["import { useFrame, useThree } from \"@react-three/fiber\"\nimport type { DHParameter, MotionGroupState } from \"@wandelbots/nova-js/v2\"\nimport type React from \"react\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport type { Group, Object3D } from \"three\"\nimport { useAutorun } from \"../utils/hooks\"\nimport { ValueInterpolator } from \"../utils/interpolation\"\nimport { collectJoints } from \"./robotModelLogic\"\n\ntype LinearAxisAnimatorProps = {\n rapidlyChangingMotionState: MotionGroupState\n dhParameters: DHParameter[]\n onTranslationChanged?: (joints: Object3D[], jointValues: number[]) => void\n children: React.ReactNode\n}\n\nexport default function LinearAxisAnimator({\n rapidlyChangingMotionState,\n dhParameters,\n onTranslationChanged,\n children,\n}: LinearAxisAnimatorProps) {\n const jointValues = useRef<number[]>([])\n const jointObjects = useRef<Object3D[]>([])\n const interpolatorRef = useRef<ValueInterpolator | null>(null)\n const { invalidate } = useThree()\n\n // Initialize interpolator\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n const initialJointValues = rapidlyChangingMotionState.joint_position.filter(\n (item) => item !== undefined,\n )\n\n interpolatorRef.current = new ValueInterpolator(initialJointValues, {\n tension: 120, // Controls spring stiffness - higher values create faster, more responsive motion\n friction: 20, // Controls damping - higher values reduce oscillation and create smoother settling\n threshold: 0.001,\n })\n\n return () => {\n interpolatorRef.current?.destroy()\n }\n }, [])\n\n // Animation loop that runs at the display's refresh rate\n useFrame((state, delta) => {\n if (interpolatorRef.current) {\n const isComplete = interpolatorRef.current.update(delta)\n setTranslation()\n\n // Trigger a re-render only if the animation is still running\n if (!isComplete) {\n invalidate()\n }\n }\n })\n\n function setGroupRef(group: Group | null) {\n if (!group) return\n\n jointObjects.current = collectJoints(group)\n\n // Set initial position\n setTranslation()\n invalidate()\n }\n\n function setTranslation() {\n const updatedJointValues = interpolatorRef.current?.getCurrentValues() || []\n\n if (onTranslationChanged) {\n onTranslationChanged(jointObjects.current, updatedJointValues)\n } else {\n // For linear axes, we apply translation instead of rotation\n for (const [index, object] of jointObjects.current.entries()) {\n const dhParam = dhParameters[index]\n const translationSign = dhParam.reverse_rotation_direction ? -1 : 1\n\n // Apply linear translation along Y axis\n // Convert from millimeters to meters\n object.position.y =\n (translationSign * (updatedJointValues[index] || 0)) / 1000\n }\n }\n }\n\n const updateJoints = useCallback(() => {\n const newJointValues = rapidlyChangingMotionState.joint_position.filter(\n (item) => item !== undefined,\n )\n\n requestAnimationFrame(() => {\n jointValues.current = newJointValues\n interpolatorRef.current?.setTarget(newJointValues)\n })\n }, [rapidlyChangingMotionState])\n\n /**\n * Fire an update joints call on every motion state change.\n * requestAnimationFrame used to avoid blocking main thread\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: pre-biome code\n useEffect(() => {\n updateJoints()\n }, [rapidlyChangingMotionState, updateJoints])\n\n /**\n * As some consumer applications (eg. storybook) deliver\n * mobx observable for rapidlyChangingMotionState, we need to\n * register the watcher to get the newest value updates\n */\n useAutorun(() => {\n updateJoints()\n })\n\n return <group ref={setGroupRef}>{children}</group>\n}\n"],"names":["LinearAxisAnimator","rapidlyChangingMotionState","dhParameters","onTranslationChanged","children","jointValues","useRef","jointObjects","interpolatorRef","invalidate","useThree","useEffect","initialJointValues","item","ValueInterpolator","_a","useFrame","state","delta","isComplete","setTranslation","setGroupRef","group","collectJoints","updatedJointValues","index","object","translationSign","updateJoints","useCallback","newJointValues","useAutorun","jsx"],"mappings":";;;;;;AAgBA,SAAwBA,EAAmB;AAAA,EACzC,4BAAAC;AAAA,EACA,cAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,UAAAC;AACF,GAA4B;AAC1B,QAAMC,IAAcC,EAAiB,EAAE,GACjCC,IAAeD,EAAmB,EAAE,GACpCE,IAAkBF,EAAiC,IAAI,GACvD,EAAE,YAAAG,EAAA,IAAeC,EAAA;AAIvB,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAqBX,EAA2B,eAAe;AAAA,MACnE,CAACY,MAASA,MAAS;AAAA,IAAA;AAGrB,WAAAL,EAAgB,UAAU,IAAIM,EAAkBF,GAAoB;AAAA,MAClE,SAAS;AAAA;AAAA,MACT,UAAU;AAAA;AAAA,MACV,WAAW;AAAA,IAAA,CACZ,GAEM,MAAM;;AACX,OAAAG,IAAAP,EAAgB,YAAhB,QAAAO,EAAyB;AAAA,IAC3B;AAAA,EACF,GAAG,CAAA,CAAE,GAGLC,EAAS,CAACC,GAAOC,MAAU;AACzB,QAAIV,EAAgB,SAAS;AAC3B,YAAMW,IAAaX,EAAgB,QAAQ,OAAOU,CAAK;AACvD,MAAAE,EAAA,GAGKD,KACHV,EAAA;AAAA,IAEJ;AAAA,EACF,CAAC;AAED,WAASY,EAAYC,GAAqB;AACxC,IAAKA,MAELf,EAAa,UAAUgB,EAAcD,CAAK,GAG1CF,EAAA,GACAX,EAAA;AAAA,EACF;AAEA,WAASW,IAAiB;;AACxB,UAAMI,MAAqBT,IAAAP,EAAgB,YAAhB,gBAAAO,EAAyB,uBAAsB,CAAA;AAE1E,QAAIZ;AACF,MAAAA,EAAqBI,EAAa,SAASiB,CAAkB;AAAA;AAG7D,iBAAW,CAACC,GAAOC,CAAM,KAAKnB,EAAa,QAAQ,WAAW;AAE5D,cAAMoB,IADUzB,EAAauB,CAAK,EACF,6BAA6B,KAAK;AAIlE,QAAAC,EAAO,SAAS,IACbC,KAAmBH,EAAmBC,CAAK,KAAK,KAAM;AAAA,MAC3D;AAAA,EAEJ;AAEA,QAAMG,IAAeC,EAAY,MAAM;AACrC,UAAMC,IAAiB7B,EAA2B,eAAe;AAAA,MAC/D,CAACY,MAASA,MAAS;AAAA,IAAA;AAGrB,0BAAsB,MAAM;;AAC1B,MAAAR,EAAY,UAAUyB,IACtBf,IAAAP,EAAgB,YAAhB,QAAAO,EAAyB,UAAUe;AAAA,IACrC,CAAC;AAAA,EACH,GAAG,CAAC7B,CAA0B,CAAC;AAO/B,SAAAU,EAAU,MAAM;AACd,IAAAiB,EAAA;AAAA,EACF,GAAG,CAAC3B,GAA4B2B,CAAY,CAAC,GAO7CG,EAAW,MAAM;AACf,IAAAH,EAAA;AAAA,EACF,CAAC,GAEM,gBAAAI,EAAC,SAAA,EAAM,KAAKX,GAAc,UAAAjB,EAAA,CAAS;AAC5C;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MotionGroupVisualizer.d.ts","sourceRoot":"","sources":["../../../src/components/robots/MotionGroupVisualizer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3E,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,GAAG,CAAC,mBAAmB,GAAG,wBAAwB,CAAC,CAAA;AAEpD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAsDnE,CAAA;AAEJ,eAAe,qBAAqB,CAAA"}
|
|
@@ -1,21 +0,0 @@
|
|
|
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
|