@liveroom-tech/react-immersive 4.2.9 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -24
- package/dist/chunk-7X37KAPE.mjs +1 -0
- package/dist/chunk-GYB4BOVW.mjs +26 -0
- package/dist/{chunk-WVKZCAVE.mjs → chunk-K7DMBJBJ.mjs} +1 -1
- package/dist/hosted.css +1 -0
- package/dist/hosted.d.mts +97 -0
- package/dist/hosted.d.ts +97 -0
- package/dist/hosted.js +3689 -0
- package/dist/hosted.mjs +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.mts +13 -412
- package/dist/index.d.ts +13 -412
- package/dist/index.js +8 -8
- package/dist/index.mjs +1 -26
- package/dist/{utils-BkdZxLFF.d.mts → objectBinding-CBRYMYk6.d.mts} +48 -62
- package/dist/{utils-BkdZxLFF.d.ts → objectBinding-CBRYMYk6.d.ts} +48 -62
- package/dist/publicProps-BST1E8an.d.mts +349 -0
- package/dist/publicProps-Bv3_PCP0.d.ts +349 -0
- package/dist/utils.d.mts +18 -1
- package/dist/utils.d.ts +18 -1
- package/dist/utils.mjs +1 -1
- package/package.json +6 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,418 +1,19 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { Object3D
|
|
5
|
-
import { XRStore } from '@react-three/xr';
|
|
6
|
-
import { x as SceneConfig, f as ObjectBinding, V as ViewerCameraState, e as ObjectActionEvent, u as SceneAnnotationMarker, o as ObjectBindingTarget, m as ObjectBindingPatch, B as BindingEdit, j as ObjectBindingMaterial, q as ObjectBindingTextureSlot, p as ObjectBindingTextureChannel, r as ObjectBindingTransform, z as SceneConfigPatch, E as SceneLight, F as SceneLightAttachment, g as ObjectBindingAction } from './utils-BkdZxLFF.js';
|
|
7
|
-
export { A as AnimationAction, a as AnimationActionEffect, b as AnimationLoopMode, C as CameraAction, c as CameraActionEffect, D as DEFAULT_SCENE_CONFIG, M as MATERIAL_BLENDING_MODES, d as MATERIAL_SIDES, O as ObjectActionEffect, h as ObjectBindingActionId, i as ObjectBindingKey, k as ObjectBindingMaterialBlendingMode, l as ObjectBindingMaterialSide, n as ObjectBindingSelector, s as ObjectBindingsActionEffect, S as SceneAnimationClipConfig, t as SceneAnimationConfig, v as SceneCinematicConfig, w as SceneCinematicWaypoint, y as SceneConfigActionEffect, G as SceneLightType, H as SceneModelRenderer, I as VisibilityActionEffect, J as defineObjectBindings, K as material, L as patchBindings, N as patchSceneConfig, P as selectBindingKeys, Q as selectBindings } from './utils-BkdZxLFF.js';
|
|
8
|
-
import { Canvas } from '@react-three/fiber';
|
|
2
|
+
import { g as ModelViewerProps, B as BindingBuilderProps, M as ModelFormat, V as ViewerAnimationsProps, i as ViewerCameraProps, j as ViewerReadyState, C as CaptureImageOptions } from './publicProps-Bv3_PCP0.js';
|
|
3
|
+
export { A as AnimationClipInfo, a as AnimationControls, b as AnimationPlaybackState, c as CinematicConfig, d as CinematicWaypoint, e as CustomObjectBindingDataPanelProps, f as CustomSceneObjectsPanelProps, H as HomeCameraState, O as ObjectTransformSpace, S as StreamingTilesModelProps, T as TileObjectCatalogEntry, U as UseViewerCameraOptions, h as ViewerCameraPreset, X as XRScaleMode, u as useViewerAnimations, k as useViewerCamera } from './publicProps-Bv3_PCP0.js';
|
|
4
|
+
import { Object3D } from 'three';
|
|
9
5
|
import { PresetsType } from '@react-three/drei/helpers/environment-assets';
|
|
6
|
+
import { f as ObjectBinding, m as ObjectBindingTarget, k as ObjectBindingPatch, B as BindingEdit, h as ObjectBindingMaterial, o as ObjectBindingTextureSlot, n as ObjectBindingTextureChannel, p as ObjectBindingTransform, v as SceneConfig, x as SceneConfigPatch, y as SceneLight, z as SceneLightAttachment, e as ObjectActionEvent, g as ObjectBindingAction, V as ViewerCameraState } from './objectBinding-CBRYMYk6.js';
|
|
7
|
+
export { A as AnimationAction, a as AnimationActionEffect, b as AnimationLoopMode, C as CameraAction, c as CameraActionEffect, D as DEFAULT_SCENE_CONFIG, M as MATERIAL_BLENDING_MODES, d as MATERIAL_SIDES, O as ObjectActionEffect, i as ObjectBindingMaterialBlendingMode, j as ObjectBindingMaterialSide, l as ObjectBindingSelector, q as ObjectBindingsActionEffect, S as SceneAnimationClipConfig, r as SceneAnimationConfig, t as SceneCinematicConfig, u as SceneCinematicWaypoint, w as SceneConfigActionEffect, E as SceneLightType, F as SceneModelRenderer, G as VisibilityActionEffect, H as material, I as patchBindings, J as patchSceneConfig, K as selectBindingKeys, L as selectBindings } from './objectBinding-CBRYMYk6.js';
|
|
8
|
+
export { ObjectBindingActionId, ObjectBindingKey, defineObjectBindings } from './utils.js';
|
|
9
|
+
import 'react';
|
|
10
|
+
import '@react-three/drei';
|
|
11
|
+
import '@react-three/xr';
|
|
12
|
+
import '@react-three/fiber';
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
declare function ModelViewer(props: ModelViewerProps): react_jsx_runtime.JSX.Element;
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
gl: WebGLRenderer;
|
|
15
|
-
scene: Scene;
|
|
16
|
-
camera: Camera;
|
|
17
|
-
invalidate: () => void;
|
|
18
|
-
};
|
|
19
|
-
type Props = {
|
|
20
|
-
children: ReactNode;
|
|
21
|
-
camera?: CanvasCamera;
|
|
22
|
-
backgroundColor?: string;
|
|
23
|
-
shadows?: boolean;
|
|
24
|
-
sceneConfig?: SceneConfig;
|
|
25
|
-
selectedObjectRef?: Object3D | null;
|
|
26
|
-
hoveredObjectRef?: Object3D | null;
|
|
27
|
-
highlightOnHover?: boolean;
|
|
28
|
-
renderMode?: "always" | "demand";
|
|
29
|
-
maxDpr?: number;
|
|
30
|
-
xrStore?: XRStore | null;
|
|
31
|
-
rendererCaptureRef?: MutableRefObject<RendererCapture | null>;
|
|
32
|
-
preserveDrawingBuffer?: boolean;
|
|
33
|
-
reduceGpuLoad?: boolean;
|
|
34
|
-
};
|
|
35
|
-
declare function Viewer({ children, camera, backgroundColor, shadows, sceneConfig, selectedObjectRef, hoveredObjectRef, highlightOnHover, renderMode, maxDpr, xrStore, rendererCaptureRef, preserveDrawingBuffer, reduceGpuLoad, }: Props): react_jsx_runtime.JSX.Element;
|
|
36
|
-
|
|
37
|
-
type PerformanceProfile = "auto" | "high" | "low";
|
|
38
|
-
|
|
39
|
-
type CameraLimits = {
|
|
40
|
-
minDistance?: number;
|
|
41
|
-
maxDistance?: number;
|
|
42
|
-
minPolarAngle?: number;
|
|
43
|
-
maxPolarAngle?: number;
|
|
44
|
-
minAzimuthAngle?: number;
|
|
45
|
-
maxAzimuthAngle?: number;
|
|
46
|
-
panBoundary?: [min: [number, number, number], max: [number, number, number]];
|
|
47
|
-
boundaryEnclosesCamera?: boolean;
|
|
48
|
-
boundaryFriction?: number;
|
|
49
|
-
};
|
|
50
|
-
type CameraControllerType = "orbit" | "pointerLock";
|
|
51
|
-
|
|
52
|
-
type GltfDecoderConfig = {
|
|
53
|
-
dracoDecoderPath?: string | false;
|
|
54
|
-
ktx2TranscoderPath?: string | false;
|
|
55
|
-
meshopt?: boolean;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/** One entry of the object catalog the processor writes beside `tileset.json`. */
|
|
59
|
-
type TileObjectCatalogEntry = {
|
|
60
|
-
name: string;
|
|
61
|
-
triangles: number;
|
|
62
|
-
minimum: [number, number, number];
|
|
63
|
-
maximum: [number, number, number];
|
|
64
|
-
};
|
|
65
|
-
type StreamingTilesModelProps = {
|
|
66
|
-
url: string;
|
|
67
|
-
rotation?: [number, number, number];
|
|
68
|
-
errorTarget?: number;
|
|
69
|
-
cacheSize?: number;
|
|
70
|
-
/**
|
|
71
|
-
* Ceiling on the geometry and texture the renderer keeps resident, in MB.
|
|
72
|
-
* Reaching it does not degrade quality — it stops content being requested
|
|
73
|
-
* entirely — so it is a limit to stay under, not one to aim at.
|
|
74
|
-
*/
|
|
75
|
-
memoryBudgetMB?: number;
|
|
76
|
-
/** Same decoder configuration the monolithic loader uses. */
|
|
77
|
-
decoderConfig?: GltfDecoderConfig;
|
|
78
|
-
/** Bindings keyed the same way as the monolithic viewer's. */
|
|
79
|
-
objectBindings?: Record<string, ObjectBinding>;
|
|
80
|
-
/** Live colour overrides from the editor's picker. */
|
|
81
|
-
itemMaterials?: Record<string, {
|
|
82
|
-
hex?: string;
|
|
83
|
-
}>;
|
|
84
|
-
/** Supplies the shading and renderer modes, as it does for the model path. */
|
|
85
|
-
sceneConfig?: SceneConfig;
|
|
86
|
-
selectedItem?: string | null;
|
|
87
|
-
/** Matches the monolithic viewer: a binding, not a node name. */
|
|
88
|
-
panelHoveredItem?: ObjectBinding | null;
|
|
89
|
-
highlightOnHover?: boolean;
|
|
90
|
-
onItemClick?: (binding: ObjectBinding) => void;
|
|
91
|
-
onItemHover?: (binding: ObjectBinding | null) => void;
|
|
92
|
-
/** Every bindable object in the model, available before any tile loads. */
|
|
93
|
-
onObjectCatalog?: (objects: TileObjectCatalogEntry[]) => void;
|
|
94
|
-
/**
|
|
95
|
-
* The whole model's world-space extent, reported as soon as tileset.json is
|
|
96
|
-
* parsed and long before any content is fetched. The viewer needs it to frame
|
|
97
|
-
* the camera; see the reporting effect below for why waiting is not an option.
|
|
98
|
-
*/
|
|
99
|
-
onTilesetBounds?: (box: Box3) => void;
|
|
100
|
-
onModelLoaded?: (scene: Object3D) => void;
|
|
101
|
-
onLoadError?: (error: unknown) => void;
|
|
102
|
-
/**
|
|
103
|
-
* One representative resident mesh per binding, for the transform gizmo and
|
|
104
|
-
* for framing the camera. A streamed object has no single node — it exists
|
|
105
|
-
* once per resolved level of detail, and those come and go — so this is
|
|
106
|
-
* rebuilt as tiles arrive and are evicted rather than being written once.
|
|
107
|
-
*/
|
|
108
|
-
nodeRefsOut?: React.MutableRefObject<Record<string, Object3D>>;
|
|
109
|
-
onNodeRefsChange?: () => void;
|
|
110
|
-
materialRefsOut?: React.MutableRefObject<Record<string, Material | Material[]>>;
|
|
111
|
-
/** 0-1. Eased here, so the value can be driven straight from a slider. */
|
|
112
|
-
explodeFactor?: number;
|
|
113
|
-
suspendBindingTransforms?: boolean;
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
type ModelFormat = "glb" | "gltf" | "obj" | "fbx" | "usdz";
|
|
117
|
-
|
|
118
|
-
type XRScaleMode = "normalized" | "real-world";
|
|
119
|
-
|
|
120
|
-
type CinematicWaypoint = {
|
|
121
|
-
position: [number, number, number];
|
|
122
|
-
target: [number, number, number];
|
|
123
|
-
azimuthAngle?: number;
|
|
124
|
-
polarAngle?: number;
|
|
125
|
-
segmentDuration?: number;
|
|
126
|
-
};
|
|
127
|
-
type CinematicConfig = {
|
|
128
|
-
waypoints?: CinematicWaypoint[];
|
|
129
|
-
duration?: number;
|
|
130
|
-
loop?: boolean;
|
|
131
|
-
autoPlay?: boolean;
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
type MouseControllerPosition = 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | 'center' | 'center-bottom' | 'center-top';
|
|
135
|
-
|
|
136
|
-
type CaptureImageOptions = {
|
|
137
|
-
width?: number;
|
|
138
|
-
height?: number;
|
|
139
|
-
transparent?: boolean;
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
type ViewerCameraPreset = {
|
|
143
|
-
position: [number, number, number];
|
|
144
|
-
target: [number, number, number];
|
|
145
|
-
fov?: number | null;
|
|
146
|
-
zoom?: number;
|
|
147
|
-
azimuthAngle?: number;
|
|
148
|
-
polarAngle?: number;
|
|
149
|
-
};
|
|
150
|
-
type UseViewerCameraOptions = {
|
|
151
|
-
/** Camera position applied once when each model becomes ready. */
|
|
152
|
-
initialPosition?: [number, number, number];
|
|
153
|
-
/** Orbit target applied once when each model becomes ready. */
|
|
154
|
-
initialTarget?: [number, number, number];
|
|
155
|
-
/** Whether the initial position/target should animate. Defaults to false. */
|
|
156
|
-
initialTransition?: boolean;
|
|
157
|
-
/** Named views that can be opened with goToPreset. */
|
|
158
|
-
presets?: Record<string, ViewerCameraPreset>;
|
|
159
|
-
};
|
|
160
|
-
type HomeCameraState = {
|
|
161
|
-
position: [number, number, number];
|
|
162
|
-
target: [number, number, number];
|
|
163
|
-
};
|
|
164
|
-
type ViewerReadyState = {
|
|
165
|
-
controls: CameraControls;
|
|
166
|
-
scene: Object3D | null;
|
|
167
|
-
objectBindings: Record<string, ObjectBinding>;
|
|
168
|
-
nodeRefs: Record<string, Object3D>;
|
|
169
|
-
homeCameraState: HomeCameraState | null;
|
|
170
|
-
captureImage: (options?: CaptureImageOptions) => Promise<string>;
|
|
171
|
-
invalidate: () => void;
|
|
172
|
-
};
|
|
173
|
-
type ViewerCameraProps = {
|
|
174
|
-
cameraState: ViewerCameraState | null;
|
|
175
|
-
cameraPresets: Record<string, ViewerCameraPreset>;
|
|
176
|
-
resetView: () => Promise<boolean>;
|
|
177
|
-
focusObject: (objectId: string) => Promise<boolean>;
|
|
178
|
-
fitScene: () => Promise<boolean>;
|
|
179
|
-
setCameraTarget: (target: [number, number, number], enableTransition?: boolean) => Promise<boolean>;
|
|
180
|
-
setCameraState: (state: ViewerCameraState, enableTransition?: boolean) => Promise<boolean>;
|
|
181
|
-
lookAt: (position: [number, number, number], target: [number, number, number], enableTransition?: boolean) => Promise<boolean>;
|
|
182
|
-
orbitTo: (azimuthAngle: number, polarAngle: number, enableTransition?: boolean) => Promise<boolean>;
|
|
183
|
-
dollyTo: (distance: number, enableTransition?: boolean) => Promise<boolean>;
|
|
184
|
-
savePreset: (name: string) => ViewerCameraState | null;
|
|
185
|
-
goToPreset: (name: string, enableTransition?: boolean) => Promise<boolean>;
|
|
186
|
-
handleCameraChange: (camera: Camera, controls: CameraControls) => void;
|
|
187
|
-
handleViewerReady: (viewer: ViewerReadyState) => void;
|
|
188
|
-
};
|
|
189
|
-
declare function useViewerCamera(options?: UseViewerCameraOptions): ViewerCameraProps;
|
|
190
|
-
|
|
191
|
-
type AnimationClipInfo = {
|
|
192
|
-
sourceName: string;
|
|
193
|
-
duration: number;
|
|
194
|
-
};
|
|
195
|
-
type AnimationPlaybackState = {
|
|
196
|
-
currentClip: string | null;
|
|
197
|
-
isPlaying: boolean;
|
|
198
|
-
speed: number;
|
|
199
|
-
time: number;
|
|
200
|
-
duration: number;
|
|
201
|
-
};
|
|
202
|
-
type AnimationControls = {
|
|
203
|
-
clips: string[];
|
|
204
|
-
clipDetails?: AnimationClipInfo[];
|
|
205
|
-
play: (clipName: string) => void;
|
|
206
|
-
pause: () => void;
|
|
207
|
-
stop: () => void;
|
|
208
|
-
setSpeed: (speed: number) => void;
|
|
209
|
-
seek?: (time: number) => void;
|
|
210
|
-
getState?: () => AnimationPlaybackState;
|
|
211
|
-
subscribe?: (listener: (state: AnimationPlaybackState) => void) => () => void;
|
|
212
|
-
};
|
|
213
|
-
type ViewerAnimationsProps = {
|
|
214
|
-
clips: string[];
|
|
215
|
-
clipDetails: AnimationClipInfo[];
|
|
216
|
-
currentClip: string | null;
|
|
217
|
-
isPlaying: boolean;
|
|
218
|
-
speed: number;
|
|
219
|
-
time: number;
|
|
220
|
-
duration: number;
|
|
221
|
-
play: (clipName: string) => void;
|
|
222
|
-
pause: () => void;
|
|
223
|
-
stop: () => void;
|
|
224
|
-
setSpeed: (speed: number) => void;
|
|
225
|
-
seek: (time: number) => void;
|
|
226
|
-
handleAnimationsReady: (controls: AnimationControls) => void;
|
|
227
|
-
};
|
|
228
|
-
declare function useViewerAnimations(): ViewerAnimationsProps;
|
|
229
|
-
|
|
230
|
-
type ObjectTransformSpace = "local" | "world";
|
|
231
|
-
|
|
232
|
-
type ViewerCamera = React.ComponentProps<typeof Viewer>["camera"];
|
|
233
|
-
type AnnotationMarker = SceneAnnotationMarker & {
|
|
234
|
-
markerId?: string;
|
|
235
|
-
};
|
|
236
|
-
type CustomObjectBindingDataPanelProps = {
|
|
237
|
-
isOpen: boolean;
|
|
238
|
-
selectedObject: ObjectBinding | null;
|
|
239
|
-
currentAction: ObjectActionEvent | null;
|
|
240
|
-
onClose: () => void;
|
|
241
|
-
onAction: (event: ObjectActionEvent) => void;
|
|
242
|
-
};
|
|
243
|
-
type CustomSceneObjectsPanelProps = {
|
|
244
|
-
objectBindings: Record<string, ObjectBinding>;
|
|
245
|
-
onAction?: (event: ObjectActionEvent) => void;
|
|
246
|
-
onFocus?: (binding: ObjectBinding) => void;
|
|
247
|
-
onHover?: (binding: ObjectBinding | null) => void;
|
|
248
|
-
};
|
|
249
|
-
type ModelViewerProps = {
|
|
250
|
-
modelUrl: string;
|
|
251
|
-
/** Optional 3D Tiles manifest used instead of loading `modelUrl` monolithically. */
|
|
252
|
-
tilesetUrl?: string | null;
|
|
253
|
-
/** Screen-space error target for streamed 3D Tiles. Lower is sharper. */
|
|
254
|
-
tilesErrorTarget?: number;
|
|
255
|
-
/** Maximum number of parsed tiles retained by the client cache. */
|
|
256
|
-
tilesCacheSize?: number;
|
|
257
|
-
/**
|
|
258
|
-
* Every bindable object in a streamed model, read from the catalog the
|
|
259
|
-
* processor writes beside `tileset.json`. Reported once, before the tiles
|
|
260
|
-
* that contain those objects have necessarily loaded.
|
|
261
|
-
*/
|
|
262
|
-
onObjectCatalog?: (objects: TileObjectCatalogEntry[]) => void;
|
|
263
|
-
/** Explicit format for extensionless or signed model URLs. */
|
|
264
|
-
modelFormat?: ModelFormat;
|
|
265
|
-
licenseKey: string;
|
|
266
|
-
/**
|
|
267
|
-
* Alternate licence validation endpoint, for first-party/self-hosted consoles
|
|
268
|
-
* that proxy validation through their own origin. The response must carry a
|
|
269
|
-
* signed grant issued by the React Immersive licence service; the entitlement
|
|
270
|
-
* is read from that grant, so this cannot be pointed at an arbitrary server
|
|
271
|
-
* to approve a licence.
|
|
272
|
-
*/
|
|
273
|
-
licenseValidationUrl?: string;
|
|
274
|
-
objectBindings: Record<string, ObjectBinding>;
|
|
275
|
-
selectedObject?: ObjectBinding | null;
|
|
276
|
-
panelHoveredObject?: ObjectBinding | null;
|
|
277
|
-
onObjectBindingsChange?: (next: Record<string, ObjectBinding>) => void;
|
|
278
|
-
onObjectSelect?: (binding: ObjectBinding | null) => void;
|
|
279
|
-
onObjectHover?: (binding: ObjectBinding | null) => void;
|
|
280
|
-
/** Reports transform-gizmo edit leases for collaborative hosts. */
|
|
281
|
-
onObjectEditLeaseChange?: (binding: ObjectBinding, editing: boolean) => void;
|
|
282
|
-
onModelLoaded?: (scene: Object3D) => void;
|
|
283
|
-
onLoadError?: (error: unknown) => void;
|
|
284
|
-
onProgress?: (event: ProgressEvent) => void;
|
|
285
|
-
onCameraControllerChange?: (controller: CameraControllerType) => void;
|
|
286
|
-
cameraControllerType?: CameraControllerType;
|
|
287
|
-
onAction?: (event: ObjectActionEvent) => void;
|
|
288
|
-
onHiddenObjectsChange?: (next: Record<string, boolean>) => void;
|
|
289
|
-
onCameraChange?: (camera: Camera, controls: CameraControls) => void;
|
|
290
|
-
onViewerReady?: (viewer: ViewerReadyState) => void;
|
|
291
|
-
onTextureUpload?: (file: File, objectId: string) => Promise<string>;
|
|
292
|
-
onAnimationsReady?: (controls: AnimationControls) => void;
|
|
293
|
-
onAnnotationsChange?: (annotations: AnnotationMarker[]) => void;
|
|
294
|
-
activeAnnotation?: AnnotationMarker | null;
|
|
295
|
-
onActiveAnnotationChange?: (annotation: AnnotationMarker | null) => void;
|
|
296
|
-
lights?: ReactNode;
|
|
297
|
-
camera?: ViewerCamera;
|
|
298
|
-
cameraLimits?: CameraLimits;
|
|
299
|
-
backgroundColor?: string;
|
|
300
|
-
shadows?: boolean;
|
|
301
|
-
showObjectBindingDataPanel?: boolean;
|
|
302
|
-
customObjectBindingDataPanel?: (props: CustomObjectBindingDataPanelProps) => ReactNode;
|
|
303
|
-
customSceneObjectsPanel?: (props: CustomSceneObjectsPanelProps) => ReactNode;
|
|
304
|
-
showSceneObjectsPanel?: boolean;
|
|
305
|
-
showDownloadButton?: boolean;
|
|
306
|
-
downloadFilename?: string;
|
|
307
|
-
showResetButton?: boolean;
|
|
308
|
-
showLoadingOverlay?: boolean;
|
|
309
|
-
showMouseController?: boolean;
|
|
310
|
-
mouseControllerPosition?: MouseControllerPosition;
|
|
311
|
-
mouseControllerOpacity?: number;
|
|
312
|
-
moveSensitivity?: number;
|
|
313
|
-
zoomSensitivity?: number;
|
|
314
|
-
sceneConfig?: SceneConfig;
|
|
315
|
-
disableZoom?: boolean;
|
|
316
|
-
zoomOnSelected?: boolean;
|
|
317
|
-
highlightOnHover?: boolean;
|
|
318
|
-
onAutoFit?: () => Promise<boolean>;
|
|
319
|
-
enableCameraControls?: boolean;
|
|
320
|
-
moveModeEnabled?: boolean;
|
|
321
|
-
/** Aligns PivotControls to the scene or to the selected object. */
|
|
322
|
-
objectTransformSpace?: ObjectTransformSpace;
|
|
323
|
-
/** Enables canvas-focused camera shortcuts. Disabled by default. */
|
|
324
|
-
enableKeyboardNavigation?: boolean;
|
|
325
|
-
refitOnResize?: boolean;
|
|
326
|
-
renderMode?: "always" | "demand";
|
|
327
|
-
maxDpr?: number;
|
|
328
|
-
preserveDrawingBuffer?: boolean;
|
|
329
|
-
performanceProfile?: PerformanceProfile;
|
|
330
|
-
dracoDecoderPath?: string | false;
|
|
331
|
-
ktx2TranscoderPath?: string | false;
|
|
332
|
-
meshopt?: boolean;
|
|
333
|
-
showMeasureTools?: boolean;
|
|
334
|
-
showUvCheckerButton?: boolean;
|
|
335
|
-
showExplodeControls?: boolean;
|
|
336
|
-
cinematic?: boolean | CinematicConfig;
|
|
337
|
-
measurementUnit?: string;
|
|
338
|
-
enableXR?: boolean;
|
|
339
|
-
usdzUrl?: string;
|
|
340
|
-
arScaleMode?: XRScaleMode;
|
|
341
|
-
mobileHandoffUrl?: string;
|
|
342
|
-
showAnnotationNavigation?: boolean;
|
|
343
|
-
showAnnotationOnHover?: boolean;
|
|
344
|
-
onSceneConfigChange?: (config: SceneConfig) => void;
|
|
345
|
-
showViewGizmo?: boolean;
|
|
346
|
-
autoRotate?: boolean;
|
|
347
|
-
autoRotateSpeed?: number;
|
|
348
|
-
};
|
|
349
|
-
declare function ModelViewer({ modelUrl, tilesetUrl, tilesErrorTarget, tilesCacheSize, onObjectCatalog, modelFormat, licenseKey, licenseValidationUrl, objectBindings, selectedObject, panelHoveredObject, onObjectBindingsChange, onObjectSelect, onObjectHover, onObjectEditLeaseChange, onModelLoaded, onLoadError, onProgress, onCameraControllerChange, cameraControllerType, onAction, onHiddenObjectsChange, onCameraChange, onViewerReady, onTextureUpload, onAnimationsReady, onAnnotationsChange, activeAnnotation: controlledActiveAnnotation, onActiveAnnotationChange, lights, camera, cameraLimits, backgroundColor, shadows, showObjectBindingDataPanel, customObjectBindingDataPanel, customSceneObjectsPanel, showSceneObjectsPanel, showDownloadButton, downloadFilename, showResetButton, showLoadingOverlay, showMouseController, mouseControllerPosition, mouseControllerOpacity, moveSensitivity, zoomSensitivity, sceneConfig, onSceneConfigChange, disableZoom, zoomOnSelected, highlightOnHover, enableCameraControls, onAutoFit, refitOnResize, renderMode, maxDpr, preserveDrawingBuffer, performanceProfile, dracoDecoderPath, ktx2TranscoderPath, meshopt, showMeasureTools, showUvCheckerButton, showExplodeControls, cinematic, measurementUnit, enableXR, usdzUrl, arScaleMode, mobileHandoffUrl, showAnnotationNavigation, showAnnotationOnHover, moveModeEnabled, objectTransformSpace, enableKeyboardNavigation, showViewGizmo, autoRotate, autoRotateSpeed, }: ModelViewerProps): react_jsx_runtime.JSX.Element;
|
|
350
|
-
|
|
351
|
-
type BindingBuilderProjectModel = {
|
|
352
|
-
url: string;
|
|
353
|
-
name?: string;
|
|
354
|
-
assetId?: string | null;
|
|
355
|
-
/**
|
|
356
|
-
* Optional streamable model manifest. The current viewer uses `url`; large
|
|
357
|
-
* model renderers can use this value without changing the saved project
|
|
358
|
-
* shape.
|
|
359
|
-
*/
|
|
360
|
-
tilesetUrl?: string | null;
|
|
361
|
-
assetVersion?: string | null;
|
|
362
|
-
};
|
|
363
|
-
type BindingBuilderProject = {
|
|
364
|
-
id: string;
|
|
365
|
-
revision: number;
|
|
366
|
-
model: BindingBuilderProjectModel;
|
|
367
|
-
objectBindings: Record<string, ObjectBinding>;
|
|
368
|
-
sceneConfig: SceneConfig;
|
|
369
|
-
};
|
|
370
|
-
type BindingBuilderProjectSnapshot = {
|
|
371
|
-
projectId: string;
|
|
372
|
-
baseRevision: number;
|
|
373
|
-
model: BindingBuilderProjectModel;
|
|
374
|
-
objectBindings: Record<string, ObjectBinding>;
|
|
375
|
-
sceneConfig: SceneConfig;
|
|
376
|
-
};
|
|
377
|
-
type BindingBuilderProjectChangeOrigin = "local" | "remote";
|
|
378
|
-
|
|
379
|
-
type BindingBuilderProps = {
|
|
380
|
-
licenseKey: string;
|
|
381
|
-
/**
|
|
382
|
-
* Alternate licence validation endpoint, for first-party/self-hosted consoles
|
|
383
|
-
* that proxy validation through their own origin. The response must carry a
|
|
384
|
-
* signed grant issued by the React Immersive licence service; the entitlement
|
|
385
|
-
* is read from that grant, so this cannot be pointed at an arbitrary server
|
|
386
|
-
* to approve a licence.
|
|
387
|
-
*/
|
|
388
|
-
licenseValidationUrl?: string;
|
|
389
|
-
/** Directory containing the DRACO decoder files, or false. */
|
|
390
|
-
dracoDecoderPath?: string | false;
|
|
391
|
-
/** Directory containing the Basis/KTX2 transcoder files, or false. */
|
|
392
|
-
ktx2TranscoderPath?: string | false;
|
|
393
|
-
/** Enable the bundled Meshopt decoder. Defaults to true. */
|
|
394
|
-
meshopt?: boolean;
|
|
395
|
-
/**
|
|
396
|
-
* Optional server-backed project. When supplied, the editor hydrates from
|
|
397
|
-
* this snapshot and applies newer revisions without remounting.
|
|
398
|
-
*/
|
|
399
|
-
project?: BindingBuilderProject | null;
|
|
400
|
-
/**
|
|
401
|
-
* Reports debounced, serializable editor snapshots. Persistence and
|
|
402
|
-
* collaboration transports remain owned by the host application.
|
|
403
|
-
*/
|
|
404
|
-
onProjectChange?: (snapshot: BindingBuilderProjectSnapshot, origin: BindingBuilderProjectChangeOrigin) => void;
|
|
405
|
-
/** Delay before reporting local project changes. Defaults to 350ms. */
|
|
406
|
-
projectChangeDebounceMs?: number;
|
|
407
|
-
/**
|
|
408
|
-
* Lets a hosted editor upload a selected model before it is loaded. Return
|
|
409
|
-
* the durable model URL/version that should be saved with the project.
|
|
410
|
-
*/
|
|
411
|
-
onModelUpload?: (file: File) => Promise<BindingBuilderProject["model"]>;
|
|
412
|
-
/** Requests/releases a short collaborative lease around gizmo edits. */
|
|
413
|
-
onEditLeaseChange?: (featureId: string, editing: boolean) => void;
|
|
414
|
-
};
|
|
415
|
-
declare function BindingBuilder({ licenseKey, licenseValidationUrl, dracoDecoderPath, ktx2TranscoderPath, meshopt, project, onProjectChange, projectChangeDebounceMs, onModelUpload, onEditLeaseChange, }: BindingBuilderProps): react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare function BindingBuilder(props: BindingBuilderProps): react_jsx_runtime.JSX.Element;
|
|
416
17
|
|
|
417
18
|
type SimpleModelViewerProps = {
|
|
418
19
|
modelUrl: string;
|
|
@@ -731,4 +332,4 @@ type ShareableViewerStateProps = {
|
|
|
731
332
|
};
|
|
732
333
|
declare function useShareableViewerState({ cameraState, setCameraState, objectBindings, onObjectBindingsChange, selectedObjectBinding, setSelectedObjectBinding, paramKey, debounceMs, autoSync, }: UseShareableViewerStateOptions): ShareableViewerStateProps;
|
|
733
334
|
|
|
734
|
-
export {
|
|
335
|
+
export { BindingBuilder, BindingBuilderProps, BindingEdit, CaptureImageOptions, type HiddenObjectsState, ModelFormat, ModelViewer, ModelViewerProps, ObjectActionEvent, ObjectBinding, ObjectBindingAction, ObjectBindingMaterial, ObjectBindingPatch, ObjectBindingTarget, ObjectBindingTextureChannel, ObjectBindingTextureSlot, ObjectBindingTransform, type ObjectBindingsController, type RuntimeMaterialPatch, type RuntimeMaterialRanges, type RuntimePointLightOptions, type RuntimePointLightPatch, type RuntimeTransformPatch, type RuntimeTransformRanges, SceneConfig, type SceneConfigController, SceneConfigPatch, type SceneConfigUpdate, SceneLight, SceneLightAttachment, type SceneLightInput, type SceneLightPatch, type SceneLightsController, SimpleModelViewer, type SimpleModelViewerProps, type UseViewerEffectsOptions, type ViewerActionAnimationController, type ViewerActionBindingsController, type ViewerActionCameraController, type ViewerActionSceneController, type ViewerActionsOptions, type ViewerActionsProps, ViewerAnimationsProps, ViewerCameraProps, ViewerCameraState, type ViewerConnectionController, type ViewerEffectChannels, type ViewerEffectEasing, type ViewerEffectRange, type ViewerEffectTarget, type ViewerEffectsController, type ViewerFlickerOptions, type ViewerLightEffectChannel, type ViewerMaterialEffectChannel, type ViewerModelBounds, type ViewerModelProps, type ViewerPulseOptions, type ViewerReadyConsumer, type ViewerReadyHandler, ViewerReadyState, type ViewerSelectionProps, type ViewerTimelineOptions, type ViewerTimelineStep, type ViewerTransformEffectChannel, type ViewerTransitionOptions, type ViewerVector3, useObjectBinding, useObjectBindingIds, useObjectBindings, useSceneConfig, useShareableViewerState, useViewerActions, useViewerConnection, useViewerEffects, useViewerHover, useViewerModel, useViewerSelection };
|