@wandelbots/wandelbots-js-react-components 2.38.1 → 2.39.0-pr.feature-collision-scene-renderer.382.c9d9121
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/components/3d-viewport/collider/ColliderCollection.d.ts +11 -0
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts +10 -0
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +9 -0
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts.map +1 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +4 -0
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts.map +1 -0
- package/dist/components/RobotCard.d.ts +24 -30
- package/dist/components/RobotCard.d.ts.map +1 -1
- package/dist/index.cjs +44 -44
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3153 -3108
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/3d-viewport/collider/ColliderCollection.tsx +34 -0
- package/src/components/3d-viewport/collider/ColliderElement.tsx +36 -0
- package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +26 -0
- package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +48 -0
- package/src/components/CycleTimer/DefaultVariant.tsx +3 -3
- package/src/components/CycleTimer/useTimerLogic.ts +2 -2
- package/src/components/RobotCard.tsx +49 -126
- package/src/index.ts +2 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ThreeElements } from "@react-three/fiber";
|
|
2
|
+
import type { Collider } from "@wandelbots/nova-api/v1";
|
|
3
|
+
export type MeshChildrenProvider = (key: string, collider: Collider) => React.ReactNode;
|
|
4
|
+
type ColliderCollectionProps = {
|
|
5
|
+
name?: string;
|
|
6
|
+
colliders: Record<string, Collider>;
|
|
7
|
+
meshChildrenProvider: MeshChildrenProvider;
|
|
8
|
+
} & ThreeElements["group"];
|
|
9
|
+
export default function ColliderCollection({ name, colliders, meshChildrenProvider, ...props }: ColliderCollectionProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=ColliderCollection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColliderCollection.d.ts","sourceRoot":"","sources":["../../../../src/components/3d-viewport/collider/ColliderCollection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,MAAM,MAAM,oBAAoB,GAAG,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,KACf,KAAK,CAAC,SAAS,CAAA;AAEpB,KAAK,uBAAuB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,oBAAoB,EAAE,oBAAoB,CAAA;CAC3C,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;AAE1B,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,IAAI,EACJ,SAAS,EACT,oBAAoB,EACpB,GAAG,KAAK,EACT,EAAE,uBAAuB,2CAazB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Collider } from "@wandelbots/nova-api/v1";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
type ColliderElementProps = {
|
|
4
|
+
name?: string;
|
|
5
|
+
collider: Collider;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
};
|
|
8
|
+
export default function ColliderElement({ name, collider, children, }: ColliderElementProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ColliderElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColliderElement.d.ts","sourceRoot":"","sources":["../../../../src/components/3d-viewport/collider/ColliderElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,KAAK,oBAAoB,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,oBAAoB,2CAoBtB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CollisionScene } from "@wandelbots/nova-api/v1";
|
|
2
|
+
import { type MeshChildrenProvider } from "./ColliderCollection";
|
|
3
|
+
type CollisionSceneRendererProps = {
|
|
4
|
+
scene: CollisionScene;
|
|
5
|
+
meshChildrenProvider: MeshChildrenProvider;
|
|
6
|
+
};
|
|
7
|
+
export default function CollisionSceneRenderer({ scene, meshChildrenProvider, }: CollisionSceneRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=CollisionSceneRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollisionSceneRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/3d-viewport/collider/CollisionSceneRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAA2B,EACzB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAE7B,KAAK,2BAA2B,GAAG;IACjC,KAAK,EAAE,cAAc,CAAA;IACrB,oBAAoB,EAAE,oBAAoB,CAAA;CAC3C,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,KAAK,EACL,oBAAoB,GACrB,EAAE,2BAA2B,2CAY7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colliderShapeToBufferGeometry.d.ts","sourceRoot":"","sources":["../../../../src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,GACnB,KAAK,CAAC,cAAc,CAyCtB"}
|
|
@@ -42,34 +42,8 @@ export interface RobotCardProps {
|
|
|
42
42
|
transparentColor?: string;
|
|
43
43
|
getModel?: (modelFromController: string) => string;
|
|
44
44
|
}>;
|
|
45
|
-
/** Custom
|
|
46
|
-
|
|
47
|
-
variant?: "default" | "small";
|
|
48
|
-
compact?: boolean;
|
|
49
|
-
onCycleComplete: (controls: {
|
|
50
|
-
startNewCycle: (maxTimeSeconds?: number, elapsedSeconds?: number) => void;
|
|
51
|
-
pause: () => void;
|
|
52
|
-
resume: () => void;
|
|
53
|
-
isPaused: () => boolean;
|
|
54
|
-
}) => void;
|
|
55
|
-
onCycleEnd?: () => void;
|
|
56
|
-
autoStart?: boolean;
|
|
57
|
-
hasError?: boolean;
|
|
58
|
-
className?: string;
|
|
59
|
-
}>;
|
|
60
|
-
/** Callback to receive cycle timer controls for external timer management */
|
|
61
|
-
onCycleTimerReady?: (controls: {
|
|
62
|
-
startNewCycle: (maxTimeSeconds?: number, elapsedSeconds?: number) => void;
|
|
63
|
-
pause: () => void;
|
|
64
|
-
resume: () => void;
|
|
65
|
-
isPaused: () => boolean;
|
|
66
|
-
}) => void;
|
|
67
|
-
/** Callback fired when a cycle completes (reaches zero) */
|
|
68
|
-
onCycleEnd?: () => void;
|
|
69
|
-
/** Whether the cycle timer should auto-start when a new cycle is set */
|
|
70
|
-
cycleTimerAutoStart?: boolean;
|
|
71
|
-
/** Whether the cycle timer is in an error state (pauses timer and shows error styling) */
|
|
72
|
-
cycleTimerHasError?: boolean;
|
|
45
|
+
/** Custom component to render in the content area (optional) */
|
|
46
|
+
customContentComponent?: React.ComponentType<Record<string, unknown>>;
|
|
73
47
|
/** Additional CSS class name */
|
|
74
48
|
className?: string;
|
|
75
49
|
}
|
|
@@ -91,13 +65,33 @@ export interface RobotCardProps {
|
|
|
91
65
|
* - Robot name displayed in Typography h6 at top-left
|
|
92
66
|
* - Program state indicator below the name
|
|
93
67
|
* - Auto-fitting 3D robot model that scales with container size
|
|
94
|
-
* -
|
|
68
|
+
* - Customizable content area for displaying custom React components
|
|
95
69
|
* - Transparent gray divider line
|
|
96
70
|
* - "Drive to Home" button with press-and-hold functionality
|
|
97
71
|
* - Localization support via react-i18next
|
|
98
72
|
* - Material-UI theming integration
|
|
73
|
+
*
|
|
74
|
+
* Usage with custom content:
|
|
75
|
+
* ```tsx
|
|
76
|
+
* // Example custom timer component
|
|
77
|
+
* const CustomTimer = () => (
|
|
78
|
+
* <Box>
|
|
79
|
+
* <Typography variant="body1" sx={{ color: "text.secondary" }}>
|
|
80
|
+
* Runtime
|
|
81
|
+
* </Typography>
|
|
82
|
+
* <Typography variant="h6">05:23</Typography>
|
|
83
|
+
* </Box>
|
|
84
|
+
* )
|
|
85
|
+
*
|
|
86
|
+
* <RobotCard
|
|
87
|
+
* robotName="UR5e Robot"
|
|
88
|
+
* programState={ProgramState.RUNNING}
|
|
89
|
+
* customContentComponent={CustomTimer}
|
|
90
|
+
* // ... other props
|
|
91
|
+
* />
|
|
92
|
+
* ```
|
|
99
93
|
*/
|
|
100
|
-
export declare const RobotCard: (({ robotName, programState, safetyState, operationMode, driveToHomeEnabled, onDriveToHomePress, onDriveToHomeRelease, connectedMotionGroup, robotComponent: RobotComponent,
|
|
94
|
+
export declare const RobotCard: (({ robotName, programState, safetyState, operationMode, driveToHomeEnabled, onDriveToHomePress, onDriveToHomeRelease, connectedMotionGroup, robotComponent: RobotComponent, customContentComponent: CustomContentComponent, className, }: RobotCardProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
101
95
|
displayName: string;
|
|
102
96
|
};
|
|
103
97
|
//# sourceMappingURL=RobotCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RobotCard.d.ts","sourceRoot":"","sources":["../../src/components/RobotCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,qCAAqC,EACrC,mCAAmC,EACpC,MAAM,wBAAwB,CAAA;AAI/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"RobotCard.d.ts","sourceRoot":"","sources":["../../src/components/RobotCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,qCAAqC,EACrC,mCAAmC,EACpC,MAAM,wBAAwB,CAAA;AAI/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAGlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAIpD,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,mDAAmD;IACnD,WAAW,EAAE,mCAAmC,CAAA;IAChD,qDAAqD;IACrD,aAAa,EAAE,qCAAqC,CAAA;IACpD,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC/D;;;OAGG;IACH,8BAA8B,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,2CAA2C;IAC3C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,qEAAqE;IACrE,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACnC,oBAAoB,EAAE,oBAAoB,CAAA;QAC1C,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAA;KACnD,CAAC,CAAA;IACF,gEAAgE;IAChE,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACrE,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,SAAS,6OAcf,cAAc;;CA+WpB,CAAA"}
|