@liveroom-tech/react-immersive 1.0.3 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -9
- package/dist/index.d.mts +26 -2
- package/dist/index.d.ts +26 -2
- package/dist/index.js +1483 -1000
- package/dist/index.mjs +1256 -765
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from "@liveroom-tech/react-immersive";
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
It also exports types for `ObjectBinding`, `ObjectBindingMaterial`, `ObjectActionEvent`, `SceneConfig`, `AnimationControls`, and related shapes used throughout this document.
|
|
28
|
+
It also exports types for `ObjectBinding`, `ObjectBindingMaterial`, `ObjectActionEvent`, `SceneConfig`, `AnimationControls`, `CinematicConfig` / `CinematicWaypoint`, and related shapes used throughout this document.
|
|
29
29
|
|
|
30
30
|
`ModelViewer` provides:
|
|
31
31
|
|
|
@@ -42,6 +42,8 @@ It also exports types for `ObjectBinding`, `ObjectBindingMaterial`, `ObjectActio
|
|
|
42
42
|
- optional hiding of either built-in panel through `showObjectBindingDataPanel` and `showSceneObjectsPanel`
|
|
43
43
|
- optional model export button through `showDownloadButton` and `downloadFilename`, plus independent `showResetButton` / `showDownloadButtons` toggles for the rest of that action bar
|
|
44
44
|
- click-to-measure distance tool and a bounding-box dimensions overlay through `showMeasureTools` and `measurementUnit`
|
|
45
|
+
- an exploded-view slider that slides each bound part outward from the model center to reveal interior/assembly structure through `showExplodeControls`
|
|
46
|
+
- a cinematic auto-camera that glides the camera along authored waypoints (or a zero-config showcase orbit), like a film, through `cinematic` — with a play/pause control that yields the moment you touch the camera
|
|
45
47
|
- a guided-tour control cluster (Previous/Stop/Next) for stepping through annotations, toggleable via `showAnnotationNavigation`
|
|
46
48
|
- a `sceneConfig` prop accepting the same scene-wide config (lighting, environment, background, post-processing, animations, annotations) authored by `BindingBuilder`'s Scene tab
|
|
47
49
|
- render-loop and perf tuning through `renderMode`, `maxDpr`, `performanceProfile`, and compressed-asset decoder options (`dracoDecoderPath`, `ktx2TranscoderPath`, `meshopt`)
|
|
@@ -71,7 +73,8 @@ It also exports types for `ObjectBinding`, `ObjectBindingMaterial`, `ObjectActio
|
|
|
71
73
|
- editable binding fields for identity, basics, style, actions, metrics, metadata, and saved camera state
|
|
72
74
|
- a one-click material preset gallery (wood, metal, chrome, glass, plastic, fabric, ceramic, concrete, etc.)
|
|
73
75
|
- undo/redo for both the Object tab's bindings and the Scene tab's config, independently, with `Cmd/Ctrl+Z` / `Cmd/Ctrl+Shift+Z` shortcuts
|
|
74
|
-
- a Scene tab for the same `sceneConfig` shape `ModelViewer` accepts (lighting, environment, background, post-processing, animations, annotations)
|
|
76
|
+
- a Scene tab for the same `sceneConfig` shape `ModelViewer` accepts (lighting, environment, background, post-processing, animations, annotations, and cinematic camera paths)
|
|
77
|
+
- a Cinematic sub-tab for authoring a camera path visually — frame the model, capture the current view as a waypoint, reorder/preview/delete waypoints, and toggle loop/auto-play; stored on `sceneConfig.cinematic` and replayed by `ModelViewer`'s `cinematic` prop
|
|
75
78
|
- import a previously exported `objectBindings.json` or `sceneConfig.json` and merge it back onto the current model/config
|
|
76
79
|
- live preview using `ModelViewer`
|
|
77
80
|
- export as JSON or TypeScript — bundled into a `.zip` with a `materials/` folder automatically when any texture field was filled by file upload, otherwise a plain file
|
|
@@ -428,7 +431,7 @@ runAction("car-body", "toggle-visibility");
|
|
|
428
431
|
Current note:
|
|
429
432
|
|
|
430
433
|
- visibility-style actions (`toggle-visibility`) update binding data through `onObjectBindingsChange`
|
|
431
|
-
- color/material actions still rely on `ModelViewer`'s built-in UI
|
|
434
|
+
- color/material actions still rely on `ModelViewer`'s built-in UI, so `runAction` dispatches those events but does not open the built-in color picker or texture upload panel by itself
|
|
432
435
|
|
|
433
436
|
## `BindingBuilder`
|
|
434
437
|
|
|
@@ -694,6 +697,8 @@ type Props = {
|
|
|
694
697
|
ktx2TranscoderPath?: string | false;
|
|
695
698
|
meshopt?: boolean;
|
|
696
699
|
showMeasureTools?: boolean;
|
|
700
|
+
showExplodeControls?: boolean;
|
|
701
|
+
cinematic?: boolean | CinematicConfig;
|
|
697
702
|
measurementUnit?: string;
|
|
698
703
|
enableXR?: boolean;
|
|
699
704
|
usdzUrl?: string;
|
|
@@ -1390,6 +1395,66 @@ Default:
|
|
|
1390
1395
|
"m";
|
|
1391
1396
|
```
|
|
1392
1397
|
|
|
1398
|
+
### `showExplodeControls`
|
|
1399
|
+
|
|
1400
|
+
Optional boolean that shows an exploded-view slider over the canvas. It slides each bound part outward from the model center to reveal interior/assembly structure, then back to reassemble. Best suited to static product/CAD models — the offset writes node positions each frame, so it conflicts with a playing skeletal animation.
|
|
1401
|
+
|
|
1402
|
+
Default:
|
|
1403
|
+
|
|
1404
|
+
```ts
|
|
1405
|
+
false;
|
|
1406
|
+
```
|
|
1407
|
+
|
|
1408
|
+
### `cinematic`
|
|
1409
|
+
|
|
1410
|
+
Optional cinematic auto-camera. The camera glides along a path on its own, like a film — ideal for showing off a gallery, apartment, or product with no user interaction. Renders a play/pause button over the canvas; grabbing the camera (or selecting a part) pauses it.
|
|
1411
|
+
|
|
1412
|
+
```ts
|
|
1413
|
+
cinematic?: boolean | CinematicConfig;
|
|
1414
|
+
|
|
1415
|
+
type CinematicConfig = {
|
|
1416
|
+
waypoints?: CinematicWaypoint[]; // camera keyframes to glide through
|
|
1417
|
+
duration?: number; // seconds for one full pass (auto-scales when omitted)
|
|
1418
|
+
loop?: boolean; // default true
|
|
1419
|
+
autoPlay?: boolean; // start once the model has loaded and framed (default false)
|
|
1420
|
+
};
|
|
1421
|
+
|
|
1422
|
+
type CinematicWaypoint = {
|
|
1423
|
+
position: [number, number, number];
|
|
1424
|
+
target: [number, number, number]; // world-space look-at point
|
|
1425
|
+
};
|
|
1426
|
+
```
|
|
1427
|
+
|
|
1428
|
+
- Boolean `true` (or an object with fewer than two waypoints) gives a zero-config **showcase orbit** around the model's bounding sphere.
|
|
1429
|
+
- Two or more `waypoints` author a **walkthrough**: the camera follows a smooth Catmull-Rom spline through them at a constant on-screen speed, looping seamlessly.
|
|
1430
|
+
- Waypoints are easiest to capture visually in `BindingBuilder`'s **Cinematic** tab, which stores them on `sceneConfig.cinematic`.
|
|
1431
|
+
|
|
1432
|
+
A path can also come from `sceneConfig.cinematic`. The `cinematic` prop overrides it: a boolean toggles the feature (`true` keeps any authored waypoints, `false` forces it off), and an object overrides field-by-field — so you can keep the authored waypoints while overriding, say, `autoPlay` or `loop`.
|
|
1433
|
+
|
|
1434
|
+
```tsx
|
|
1435
|
+
// Zero-config showcase orbit
|
|
1436
|
+
<ModelViewer cinematic ... />
|
|
1437
|
+
|
|
1438
|
+
// Authored walkthrough
|
|
1439
|
+
<ModelViewer
|
|
1440
|
+
cinematic={{
|
|
1441
|
+
waypoints: [
|
|
1442
|
+
{ position: [4, 2, 6], target: [0, 1, 0] },
|
|
1443
|
+
{ position: [-3, 2, 4], target: [0, 1, 0] },
|
|
1444
|
+
{ position: [-5, 2, -2], target: [0, 1, 0] },
|
|
1445
|
+
],
|
|
1446
|
+
loop: true,
|
|
1447
|
+
autoPlay: true,
|
|
1448
|
+
}}
|
|
1449
|
+
...
|
|
1450
|
+
/>
|
|
1451
|
+
|
|
1452
|
+
// Keep the BindingBuilder-authored path, just autoplay it
|
|
1453
|
+
<ModelViewer sceneConfig={sceneConfig} cinematic={{ autoPlay: true }} ... />
|
|
1454
|
+
```
|
|
1455
|
+
|
|
1456
|
+
Default: disabled.
|
|
1457
|
+
|
|
1393
1458
|
### `enableXR`
|
|
1394
1459
|
|
|
1395
1460
|
Optional boolean that enables XR entry points. On WebXR-capable browsers, the viewer shows a **"View in your space"** (AR) and/or **"Enter VR"** button once `navigator.xr.isSessionSupported(...)` resolves `true` for that mode. On iPhone/iPad, WebXR AR is not available, but if you also pass [`usdzUrl`](#usdzUrl), the viewer shows a **"View in AR"** button that launches Apple Quick Look instead.
|
|
@@ -1662,7 +1727,7 @@ Notes:
|
|
|
1662
1727
|
- each `style.material` group also accepts a texture-map slot (`metalnessMap`, `roughnessMap`, `normalMap`, `aoMap`, `clearcoatMap`, etc.); color maps are decoded as sRGB and data maps as linear automatically
|
|
1663
1728
|
- `BindingBuilder` intentionally omits exact Sketchfab glossiness, cavity, and subsurface-scattering workflows; those require preprocessing or a different material pipeline
|
|
1664
1729
|
- `cameraState` stores a saved camera view for the object; when both `position` and `target` are set, the viewer uses that view when the object is focused or selected instead of falling back to `fitToBox`
|
|
1665
|
-
- `metrics` and `metadata` are displayed in the side panel
|
|
1730
|
+
- `metrics` and `metadata` are displayed in the side panel as nested key/value fields (objects expand into indented child labels)
|
|
1666
1731
|
- `ObjectBindingType` is a large union covering vehicles, rooms, furniture, characters, weapons, environment, and more
|
|
1667
1732
|
|
|
1668
1733
|
## Supported Built-In Actions
|
|
@@ -1674,9 +1739,9 @@ Action handling is currently hardcoded in `ModelViewer`.
|
|
|
1674
1739
|
- `toggle-visibility`
|
|
1675
1740
|
Hides or shows the selected mesh by setting `binding.visible` and calling `onObjectBindingsChange`
|
|
1676
1741
|
- `change-color`
|
|
1677
|
-
Opens the color picker; the chosen hex is applied as a live preview while dragging and committed into `binding.style.material.baseColor` via `onObjectBindingsChange` when the picker closes
|
|
1742
|
+
Opens the color picker inline beneath the action; the chosen hex is applied as a live preview while dragging and committed into `binding.style.material.baseColor` via `onObjectBindingsChange` when the picker closes
|
|
1678
1743
|
- `change-material`
|
|
1679
|
-
Opens the texture upload
|
|
1744
|
+
Opens the texture upload panel inline beneath the action for JPG, PNG, and WebP files; if `onTextureUpload` is provided, the file is passed to it and the returned URL is stored in `binding.style.material.texture.path`; otherwise a session-scoped blob URL is used as the fallback
|
|
1680
1745
|
|
|
1681
1746
|
## How Rendering Works
|
|
1682
1747
|
|
|
@@ -1709,10 +1774,10 @@ Pass `shadows={false}` to disable shadow rendering entirely, or pass a custom `l
|
|
|
1709
1774
|
The current component includes its own UI shell:
|
|
1710
1775
|
|
|
1711
1776
|
- a viewer layout that fills its parent container
|
|
1712
|
-
- a sliding left side panel about `280px` wide
|
|
1777
|
+
- a sliding left side panel about `280px` wide (collapses to half-width on narrow screens so the canvas keeps its other half)
|
|
1713
1778
|
- a canvas area that fills the remaining width
|
|
1714
|
-
- a
|
|
1715
|
-
- a
|
|
1779
|
+
- a color picker that expands inline beneath the **Change Color** action
|
|
1780
|
+
- a texture upload panel that expands inline beneath the **Change Material** action
|
|
1716
1781
|
- a right scene objects panel with search and per-object visibility toggles
|
|
1717
1782
|
|
|
1718
1783
|
Because of that, it works best when mounted in a container with an explicit height.
|
package/dist/index.d.mts
CHANGED
|
@@ -291,6 +291,17 @@ type SceneAnnotationMarker = {
|
|
|
291
291
|
title: string;
|
|
292
292
|
description: string;
|
|
293
293
|
};
|
|
294
|
+
type SceneCinematicWaypoint = {
|
|
295
|
+
position: [number, number, number];
|
|
296
|
+
target: [number, number, number];
|
|
297
|
+
};
|
|
298
|
+
type SceneCinematicConfig = {
|
|
299
|
+
enabled: boolean;
|
|
300
|
+
waypoints: SceneCinematicWaypoint[];
|
|
301
|
+
duration?: number;
|
|
302
|
+
loop: boolean;
|
|
303
|
+
autoPlay: boolean;
|
|
304
|
+
};
|
|
294
305
|
type SceneConfig = {
|
|
295
306
|
model: SceneModelConfig;
|
|
296
307
|
camera: SceneCameraConfig;
|
|
@@ -303,6 +314,7 @@ type SceneConfig = {
|
|
|
303
314
|
postProcessing: ScenePostProcessingConfig;
|
|
304
315
|
animations: SceneAnimationConfig;
|
|
305
316
|
annotations: SceneAnnotationMarker[];
|
|
317
|
+
cinematic?: SceneCinematicConfig;
|
|
306
318
|
};
|
|
307
319
|
|
|
308
320
|
type CanvasCamera = ComponentProps<typeof Canvas>["camera"];
|
|
@@ -332,6 +344,17 @@ declare function Viewer({ children, camera, backgroundColor, shadows, sceneConfi
|
|
|
332
344
|
|
|
333
345
|
type PerformanceProfile = "auto" | "high" | "low";
|
|
334
346
|
|
|
347
|
+
type CinematicWaypoint = {
|
|
348
|
+
position: [number, number, number];
|
|
349
|
+
target: [number, number, number];
|
|
350
|
+
};
|
|
351
|
+
type CinematicConfig = {
|
|
352
|
+
waypoints?: CinematicWaypoint[];
|
|
353
|
+
duration?: number;
|
|
354
|
+
loop?: boolean;
|
|
355
|
+
autoPlay?: boolean;
|
|
356
|
+
};
|
|
357
|
+
|
|
335
358
|
type MouseControllerPosition = 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | 'center' | 'center-bottom' | 'center-top';
|
|
336
359
|
|
|
337
360
|
type ObjectBindingAction = {
|
|
@@ -578,12 +601,13 @@ type ModelViewerProps = {
|
|
|
578
601
|
meshopt?: boolean;
|
|
579
602
|
showMeasureTools?: boolean;
|
|
580
603
|
showExplodeControls?: boolean;
|
|
604
|
+
cinematic?: boolean | CinematicConfig;
|
|
581
605
|
measurementUnit?: string;
|
|
582
606
|
enableXR?: boolean;
|
|
583
607
|
usdzUrl?: string;
|
|
584
608
|
showAnnotationNavigation?: boolean;
|
|
585
609
|
};
|
|
586
|
-
declare function ModelViewer({ modelUrl, licenseKey, objectBindings, selectedObject, panelHoveredObject, onObjectBindingsChange, onObjectSelect, onObjectHover, onModelLoaded, onLoadError, onAction, onHiddenObjectsChange, onCameraChange, onViewerReady, onTextureUpload, onAnimationsReady, onAnnotationsChange, activeAnnotation: controlledActiveAnnotation, onActiveAnnotationChange, lights, camera, backgroundColor, shadows, showObjectBindingDataPanel, customObjectBindingDataPanel, customSceneObjectsPanel, showSceneObjectsPanel, showDownloadButton, downloadFilename, showResetButton, showDownloadButtons, showLoadingOverlay, showMouseController, mouseControllerPosition, mouseControllerOpacity, moveSensitivity, zoomSensitivity, sceneConfig, disableZoom, zoomOnSelected, highlightOnHover, onAutoFit, refitOnResize, renderMode, maxDpr, performanceProfile, dracoDecoderPath, ktx2TranscoderPath, meshopt, showMeasureTools, showExplodeControls, measurementUnit, enableXR, usdzUrl, showAnnotationNavigation, }: ModelViewerProps): react_jsx_runtime.JSX.Element;
|
|
610
|
+
declare function ModelViewer({ modelUrl, licenseKey, objectBindings, selectedObject, panelHoveredObject, onObjectBindingsChange, onObjectSelect, onObjectHover, onModelLoaded, onLoadError, onAction, onHiddenObjectsChange, onCameraChange, onViewerReady, onTextureUpload, onAnimationsReady, onAnnotationsChange, activeAnnotation: controlledActiveAnnotation, onActiveAnnotationChange, lights, camera, backgroundColor, shadows, showObjectBindingDataPanel, customObjectBindingDataPanel, customSceneObjectsPanel, showSceneObjectsPanel, showDownloadButton, downloadFilename, showResetButton, showDownloadButtons, showLoadingOverlay, showMouseController, mouseControllerPosition, mouseControllerOpacity, moveSensitivity, zoomSensitivity, sceneConfig, disableZoom, zoomOnSelected, highlightOnHover, onAutoFit, refitOnResize, renderMode, maxDpr, performanceProfile, dracoDecoderPath, ktx2TranscoderPath, meshopt, showMeasureTools, showExplodeControls, cinematic, measurementUnit, enableXR, usdzUrl, showAnnotationNavigation, }: ModelViewerProps): react_jsx_runtime.JSX.Element;
|
|
587
611
|
|
|
588
612
|
declare function BindingBuilder({ licenseKey }: {
|
|
589
613
|
licenseKey: string;
|
|
@@ -688,4 +712,4 @@ type ShareableViewerStateProps = {
|
|
|
688
712
|
};
|
|
689
713
|
declare function useShareableViewerState({ cameraState, setCameraState, objectBindings, onObjectBindingsChange, selectedObjectBinding, setSelectedObjectBinding, paramKey, debounceMs, autoSync, }: UseShareableViewerStateOptions): ShareableViewerStateProps;
|
|
690
714
|
|
|
691
|
-
export { type AnimationClipInfo, type AnimationControls, type AnimationLoopMode, type AnimationPlaybackState, BindingBuilder, type CaptureImageOptions, type CustomObjectBindingDataPanelProps, type CustomSceneObjectsPanelProps, type HiddenObjectsState, type HomeCameraState, MATERIAL_BLENDING_MODES, MATERIAL_SIDES, ModelViewer, type ModelViewerProps, type ObjectActionEvent, type ObjectBinding, type ObjectBindingAction, type ObjectBindingMaterial, type ObjectBindingMaterialBlendingMode, type ObjectBindingMaterialSide, type ObjectBindingTextureSlot, type ObjectVisibilityProps, type SceneAnimationClipConfig, type SceneAnimationConfig, type SceneConfig, SimpleModelViewer, type SimpleModelViewerProps, type ViewerActionsOptions, type ViewerActionsProps, type ViewerAnimationsProps, type ViewerCameraProps, type ViewerCameraState, type ViewerModelBounds, type ViewerModelProps, type ViewerReadyState, type ViewerSelectionProps, useObjectBinding, useObjectBindingIds, useObjectVisibility, useShareableViewerState, useViewerActions, useViewerAnimations, useViewerCamera, useViewerHover, useViewerModel, useViewerSelection };
|
|
715
|
+
export { type AnimationClipInfo, type AnimationControls, type AnimationLoopMode, type AnimationPlaybackState, BindingBuilder, type CaptureImageOptions, type CinematicConfig, type CinematicWaypoint, type CustomObjectBindingDataPanelProps, type CustomSceneObjectsPanelProps, type HiddenObjectsState, type HomeCameraState, MATERIAL_BLENDING_MODES, MATERIAL_SIDES, ModelViewer, type ModelViewerProps, type ObjectActionEvent, type ObjectBinding, type ObjectBindingAction, type ObjectBindingMaterial, type ObjectBindingMaterialBlendingMode, type ObjectBindingMaterialSide, type ObjectBindingTextureSlot, type ObjectVisibilityProps, type SceneAnimationClipConfig, type SceneAnimationConfig, type SceneCinematicConfig, type SceneCinematicWaypoint, type SceneConfig, SimpleModelViewer, type SimpleModelViewerProps, type ViewerActionsOptions, type ViewerActionsProps, type ViewerAnimationsProps, type ViewerCameraProps, type ViewerCameraState, type ViewerModelBounds, type ViewerModelProps, type ViewerReadyState, type ViewerSelectionProps, useObjectBinding, useObjectBindingIds, useObjectVisibility, useShareableViewerState, useViewerActions, useViewerAnimations, useViewerCamera, useViewerHover, useViewerModel, useViewerSelection };
|
package/dist/index.d.ts
CHANGED
|
@@ -291,6 +291,17 @@ type SceneAnnotationMarker = {
|
|
|
291
291
|
title: string;
|
|
292
292
|
description: string;
|
|
293
293
|
};
|
|
294
|
+
type SceneCinematicWaypoint = {
|
|
295
|
+
position: [number, number, number];
|
|
296
|
+
target: [number, number, number];
|
|
297
|
+
};
|
|
298
|
+
type SceneCinematicConfig = {
|
|
299
|
+
enabled: boolean;
|
|
300
|
+
waypoints: SceneCinematicWaypoint[];
|
|
301
|
+
duration?: number;
|
|
302
|
+
loop: boolean;
|
|
303
|
+
autoPlay: boolean;
|
|
304
|
+
};
|
|
294
305
|
type SceneConfig = {
|
|
295
306
|
model: SceneModelConfig;
|
|
296
307
|
camera: SceneCameraConfig;
|
|
@@ -303,6 +314,7 @@ type SceneConfig = {
|
|
|
303
314
|
postProcessing: ScenePostProcessingConfig;
|
|
304
315
|
animations: SceneAnimationConfig;
|
|
305
316
|
annotations: SceneAnnotationMarker[];
|
|
317
|
+
cinematic?: SceneCinematicConfig;
|
|
306
318
|
};
|
|
307
319
|
|
|
308
320
|
type CanvasCamera = ComponentProps<typeof Canvas>["camera"];
|
|
@@ -332,6 +344,17 @@ declare function Viewer({ children, camera, backgroundColor, shadows, sceneConfi
|
|
|
332
344
|
|
|
333
345
|
type PerformanceProfile = "auto" | "high" | "low";
|
|
334
346
|
|
|
347
|
+
type CinematicWaypoint = {
|
|
348
|
+
position: [number, number, number];
|
|
349
|
+
target: [number, number, number];
|
|
350
|
+
};
|
|
351
|
+
type CinematicConfig = {
|
|
352
|
+
waypoints?: CinematicWaypoint[];
|
|
353
|
+
duration?: number;
|
|
354
|
+
loop?: boolean;
|
|
355
|
+
autoPlay?: boolean;
|
|
356
|
+
};
|
|
357
|
+
|
|
335
358
|
type MouseControllerPosition = 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | 'center' | 'center-bottom' | 'center-top';
|
|
336
359
|
|
|
337
360
|
type ObjectBindingAction = {
|
|
@@ -578,12 +601,13 @@ type ModelViewerProps = {
|
|
|
578
601
|
meshopt?: boolean;
|
|
579
602
|
showMeasureTools?: boolean;
|
|
580
603
|
showExplodeControls?: boolean;
|
|
604
|
+
cinematic?: boolean | CinematicConfig;
|
|
581
605
|
measurementUnit?: string;
|
|
582
606
|
enableXR?: boolean;
|
|
583
607
|
usdzUrl?: string;
|
|
584
608
|
showAnnotationNavigation?: boolean;
|
|
585
609
|
};
|
|
586
|
-
declare function ModelViewer({ modelUrl, licenseKey, objectBindings, selectedObject, panelHoveredObject, onObjectBindingsChange, onObjectSelect, onObjectHover, onModelLoaded, onLoadError, onAction, onHiddenObjectsChange, onCameraChange, onViewerReady, onTextureUpload, onAnimationsReady, onAnnotationsChange, activeAnnotation: controlledActiveAnnotation, onActiveAnnotationChange, lights, camera, backgroundColor, shadows, showObjectBindingDataPanel, customObjectBindingDataPanel, customSceneObjectsPanel, showSceneObjectsPanel, showDownloadButton, downloadFilename, showResetButton, showDownloadButtons, showLoadingOverlay, showMouseController, mouseControllerPosition, mouseControllerOpacity, moveSensitivity, zoomSensitivity, sceneConfig, disableZoom, zoomOnSelected, highlightOnHover, onAutoFit, refitOnResize, renderMode, maxDpr, performanceProfile, dracoDecoderPath, ktx2TranscoderPath, meshopt, showMeasureTools, showExplodeControls, measurementUnit, enableXR, usdzUrl, showAnnotationNavigation, }: ModelViewerProps): react_jsx_runtime.JSX.Element;
|
|
610
|
+
declare function ModelViewer({ modelUrl, licenseKey, objectBindings, selectedObject, panelHoveredObject, onObjectBindingsChange, onObjectSelect, onObjectHover, onModelLoaded, onLoadError, onAction, onHiddenObjectsChange, onCameraChange, onViewerReady, onTextureUpload, onAnimationsReady, onAnnotationsChange, activeAnnotation: controlledActiveAnnotation, onActiveAnnotationChange, lights, camera, backgroundColor, shadows, showObjectBindingDataPanel, customObjectBindingDataPanel, customSceneObjectsPanel, showSceneObjectsPanel, showDownloadButton, downloadFilename, showResetButton, showDownloadButtons, showLoadingOverlay, showMouseController, mouseControllerPosition, mouseControllerOpacity, moveSensitivity, zoomSensitivity, sceneConfig, disableZoom, zoomOnSelected, highlightOnHover, onAutoFit, refitOnResize, renderMode, maxDpr, performanceProfile, dracoDecoderPath, ktx2TranscoderPath, meshopt, showMeasureTools, showExplodeControls, cinematic, measurementUnit, enableXR, usdzUrl, showAnnotationNavigation, }: ModelViewerProps): react_jsx_runtime.JSX.Element;
|
|
587
611
|
|
|
588
612
|
declare function BindingBuilder({ licenseKey }: {
|
|
589
613
|
licenseKey: string;
|
|
@@ -688,4 +712,4 @@ type ShareableViewerStateProps = {
|
|
|
688
712
|
};
|
|
689
713
|
declare function useShareableViewerState({ cameraState, setCameraState, objectBindings, onObjectBindingsChange, selectedObjectBinding, setSelectedObjectBinding, paramKey, debounceMs, autoSync, }: UseShareableViewerStateOptions): ShareableViewerStateProps;
|
|
690
714
|
|
|
691
|
-
export { type AnimationClipInfo, type AnimationControls, type AnimationLoopMode, type AnimationPlaybackState, BindingBuilder, type CaptureImageOptions, type CustomObjectBindingDataPanelProps, type CustomSceneObjectsPanelProps, type HiddenObjectsState, type HomeCameraState, MATERIAL_BLENDING_MODES, MATERIAL_SIDES, ModelViewer, type ModelViewerProps, type ObjectActionEvent, type ObjectBinding, type ObjectBindingAction, type ObjectBindingMaterial, type ObjectBindingMaterialBlendingMode, type ObjectBindingMaterialSide, type ObjectBindingTextureSlot, type ObjectVisibilityProps, type SceneAnimationClipConfig, type SceneAnimationConfig, type SceneConfig, SimpleModelViewer, type SimpleModelViewerProps, type ViewerActionsOptions, type ViewerActionsProps, type ViewerAnimationsProps, type ViewerCameraProps, type ViewerCameraState, type ViewerModelBounds, type ViewerModelProps, type ViewerReadyState, type ViewerSelectionProps, useObjectBinding, useObjectBindingIds, useObjectVisibility, useShareableViewerState, useViewerActions, useViewerAnimations, useViewerCamera, useViewerHover, useViewerModel, useViewerSelection };
|
|
715
|
+
export { type AnimationClipInfo, type AnimationControls, type AnimationLoopMode, type AnimationPlaybackState, BindingBuilder, type CaptureImageOptions, type CinematicConfig, type CinematicWaypoint, type CustomObjectBindingDataPanelProps, type CustomSceneObjectsPanelProps, type HiddenObjectsState, type HomeCameraState, MATERIAL_BLENDING_MODES, MATERIAL_SIDES, ModelViewer, type ModelViewerProps, type ObjectActionEvent, type ObjectBinding, type ObjectBindingAction, type ObjectBindingMaterial, type ObjectBindingMaterialBlendingMode, type ObjectBindingMaterialSide, type ObjectBindingTextureSlot, type ObjectVisibilityProps, type SceneAnimationClipConfig, type SceneAnimationConfig, type SceneCinematicConfig, type SceneCinematicWaypoint, type SceneConfig, SimpleModelViewer, type SimpleModelViewerProps, type ViewerActionsOptions, type ViewerActionsProps, type ViewerAnimationsProps, type ViewerCameraProps, type ViewerCameraState, type ViewerModelBounds, type ViewerModelProps, type ViewerReadyState, type ViewerSelectionProps, useObjectBinding, useObjectBindingIds, useObjectVisibility, useShareableViewerState, useViewerActions, useViewerAnimations, useViewerCamera, useViewerHover, useViewerModel, useViewerSelection };
|