@shopware-ag/dive 2.3.8 → 3.0.0-beta.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/build/chunks/Animator-DHnpWRt_.mjs +16 -0
- package/build/chunks/Animator-YDE8aFEd.cjs +1 -0
- package/build/chunks/AssetCache-Bk3ov4KH.cjs +1 -0
- package/build/chunks/{AssetCache-CJPVU7kz.mjs → AssetCache-DNcSNSJk.mjs} +6 -5
- package/build/chunks/AssetExporter-Cdxb04b3.cjs +1 -0
- package/build/chunks/AssetExporter-DLL_vJae.mjs +67 -0
- package/build/chunks/AssetLoader-D6ScugS-.cjs +3 -0
- package/build/chunks/AssetLoader-Dvq0Wk28.mjs +499 -0
- package/build/chunks/{ClipAnimator-keFLDMNZ.mjs → ClipAnimator-D8Gho4Ec.mjs} +2 -2
- package/build/chunks/ClipAnimator-SdDq2wk1.cjs +1 -0
- package/build/chunks/FileTypes-CGEeONh9.cjs +29 -0
- package/build/chunks/FileTypes-DU8bBa_V.mjs +1976 -0
- package/build/chunks/GridNode-0R5ZnzR6.mjs +30 -0
- package/build/chunks/GridNode-iqnu86_v.cjs +1 -0
- package/build/chunks/{PerspectiveCamera-BFzE2TQU.mjs → PerspectiveCamera-B5TvUzTa.mjs} +1 -1
- package/build/chunks/PerspectiveCamera-DwQUmkDv.cjs +1 -0
- package/build/chunks/{TargetAnimator-DuqPk2eq.cjs → TargetAnimator-D37bWNKD.cjs} +1 -1
- package/build/chunks/{TargetAnimator-DUqkkdVb.mjs → TargetAnimator-DL_9b921.mjs} +1 -1
- package/build/chunks/{isFileTypeSupported-CqzOKCiV.mjs → isFileTypeSupported-DY4QOFj7.mjs} +1 -1
- package/build/chunks/{isFileTypeSupported-D97zmt1P.cjs → isFileTypeSupported-DrMUwnQx.cjs} +1 -1
- package/build/components/boundingbox/BoundingBox.d.ts +1 -1
- package/build/components/floor/Floor.d.ts +1 -1
- package/build/components/gizmo/Gizmo.d.ts +1 -1
- package/build/components/gizmo/handles/AxisHandle.d.ts +1 -1
- package/build/components/gizmo/handles/RadialHandle.d.ts +1 -1
- package/build/components/gizmo/handles/ScaleHandle.d.ts +1 -1
- package/build/components/gizmo/plane/GizmoPlane.d.ts +1 -1
- package/build/components/gizmo/rotate/RotateGizmo.d.ts +1 -1
- package/build/components/gizmo/scale/ScaleGizmo.d.ts +1 -1
- package/build/components/gizmo/translate/TranslateGizmo.d.ts +1 -1
- package/build/components/grid/Grid.d.ts +2 -1
- package/build/components/group/Group.d.ts +1 -1
- package/build/components/light/AmbientLight.d.ts +1 -1
- package/build/components/light/PointLight.d.ts +1 -1
- package/build/components/light/SceneLight.d.ts +1 -1
- package/build/components/model/Model.d.ts +1 -1
- package/build/components/node/Node.d.ts +1 -1
- package/build/components/primitive/Primitive.d.ts +1 -1
- package/build/components/root/Root.d.ts +1 -1
- package/build/dive.cjs +1 -1
- package/build/dive.mjs +58 -60
- package/build/engine/Dive.d.ts +4 -31
- package/build/engine/camera/PerspectiveCamera.d.ts +1 -1
- package/build/engine/environment/Environment.d.ts +12 -27
- package/build/engine/renderer/Renderer.d.ts +7 -8
- package/build/engine/scene/Scene.d.ts +1 -1
- package/build/engine/scene/xrroot/XRRoot.d.ts +2 -3
- package/build/engine/scene/xrroot/xrlightroot/XRLightRoot.d.ts +3 -3
- package/build/helpers/findInterface/findInterface.d.ts +1 -1
- package/build/helpers/findSceneRecursive/findSceneRecursive.d.ts +1 -1
- package/build/helpers/implementsInterface/implementsInterface.d.ts +1 -1
- package/build/helpers/math/signedAngleTo/signedAngleTo.d.ts +1 -1
- package/build/interfaces/Hoverable.d.ts +1 -1
- package/build/plugins/animation/index.cjs +1 -1
- package/build/plugins/animation/index.mjs +12 -20
- package/build/plugins/animation/src/animator/Animator.d.ts +1 -1
- package/build/plugins/animation/src/animator/ClipAnimator.d.ts +1 -1
- package/build/plugins/animation/src/system/AnimationSystem.d.ts +1 -6
- package/build/plugins/animation/src/types/AnimatorTypes.d.ts +1 -1
- package/build/plugins/ar/index.cjs +1 -1
- package/build/plugins/ar/index.mjs +5 -4
- package/build/plugins/ar/src/webxr/controller/WebXRController.d.ts +1 -1
- package/build/plugins/ar/src/webxr/crosshair/WebXRCrosshair.d.ts +1 -1
- package/build/plugins/ar/src/webxr/origin/WebXROrigin.d.ts +1 -1
- package/build/plugins/ar/src/webxr/raycaster/WebXRRaycaster.d.ts +1 -1
- package/build/plugins/ar/src/webxr/touchscreencontrols/WebXRTouchscreenControls.d.ts +1 -1
- package/build/plugins/assetcache/index.cjs +1 -1
- package/build/plugins/assetcache/index.mjs +1 -1
- package/build/plugins/assetexporter/index.cjs +1 -1
- package/build/plugins/assetexporter/index.mjs +1 -1
- package/build/plugins/assetexporter/src/AssetExporter.d.ts +1 -1
- package/build/plugins/assetloader/index.cjs +1 -1
- package/build/plugins/assetloader/index.mjs +2 -2
- package/build/plugins/assetloader/src/loader/AssetLoader.d.ts +2 -2
- package/build/plugins/assetloader/src/step/STEPLoader.d.ts +1 -1
- package/build/plugins/mediacreator/index.cjs +1 -1
- package/build/plugins/mediacreator/index.mjs +52 -24
- package/build/plugins/mediacreator/src/MediaCreator.d.ts +4 -3
- package/build/plugins/mediacreator/types/MediaGenerationByPosition.d.ts +1 -1
- package/build/plugins/orbitcontroller/index.cjs +1 -1
- package/build/plugins/orbitcontroller/index.mjs +1 -1
- package/build/plugins/orbitcontroller/src/OrbitController.d.ts +1 -1
- package/build/plugins/orbitcontroller/types/OrbitControllerState.types.d.ts +1 -1
- package/build/plugins/orientationdisplay/index.cjs +1 -1
- package/build/plugins/orientationdisplay/index.mjs +17 -16
- package/build/plugins/orientationdisplay/src/axes/Axes.d.ts +1 -1
- package/build/plugins/quickview/index.cjs +1 -1
- package/build/plugins/quickview/index.mjs +9 -8
- package/build/plugins/shader/index.cjs +1 -1
- package/build/plugins/shader/index.mjs +2 -3
- package/build/plugins/shader/src/index.d.ts +1 -3
- package/build/plugins/shader/src/shaders/GridNode.d.ts +16 -0
- package/build/plugins/state/index.cjs +9 -9
- package/build/plugins/state/index.mjs +939 -936
- package/build/plugins/state/src/actions/camera/computeencompassingview.d.ts +1 -1
- package/build/plugins/state/src/actions/camera/getcameratransform.d.ts +1 -1
- package/build/plugins/state/src/actions/camera/movecamera.d.ts +1 -1
- package/build/plugins/state/src/actions/camera/setcameratransform.d.ts +1 -1
- package/build/plugins/state/types/StateSceneData.d.ts +1 -1
- package/build/plugins/toolbox/index.cjs +1 -1
- package/build/plugins/toolbox/index.d.ts +0 -1
- package/build/plugins/toolbox/index.mjs +224 -853
- package/build/plugins/toolbox/src/PointerContext.d.ts +1 -1
- package/build/plugins/toolbox/src/SelectionState.d.ts +1 -1
- package/build/plugins/toolbox/src/Toolbox.d.ts +0 -10
- package/build/plugins/toolbox/src/drag/DragTool.d.ts +1 -1
- package/build/plugins/toolbox/src/drag/DraggableEvent.d.ts +1 -1
- package/build/plugins/toolbox/src/hover/HoverTool.d.ts +1 -1
- package/build/plugins/toolbox/src/select/SelectTool.d.ts +1 -1
- package/build/plugins/toolbox/src/transform/TransformTool.d.ts +2 -1
- package/build/types/schema/GroupSchema.d.ts +1 -1
- package/build/types/schema/LightSchema.d.ts +1 -1
- package/build/types/schema/MaterialSchema.d.ts +1 -1
- package/build/types/schema/ModelSchema.d.ts +1 -1
- package/build/types/schema/PovSchema.d.ts +1 -1
- package/build/types/schema/PrimitiveSchema.d.ts +1 -1
- package/package.json +5 -4
- package/build/chunks/Animator-BGFdF70Z.mjs +0 -47
- package/build/chunks/Animator-Cu7NIkVg.cjs +0 -1
- package/build/chunks/AssetCache-B74AQgyY.cjs +0 -1
- package/build/chunks/AssetExporter-PFiNYi50.mjs +0 -1628
- package/build/chunks/AssetExporter-yVhYmVXW.cjs +0 -164
- package/build/chunks/AssetLoader-BCI944C9.mjs +0 -2590
- package/build/chunks/AssetLoader-BIU78Bv9.cjs +0 -5
- package/build/chunks/ClipAnimator-tjhLo851.cjs +0 -1
- package/build/chunks/DIVEShaderMaterial-Bt0d8oJB.mjs +0 -3468
- package/build/chunks/DIVEShaderMaterial-DE8YRWj9.cjs +0 -1554
- package/build/chunks/FileTypes-B0qjl7u2.cjs +0 -33
- package/build/chunks/FileTypes-DJxyD4wK.mjs +0 -2155
- package/build/chunks/PerspectiveCamera-iAsZqrnY.cjs +0 -1
- package/build/chunks/draco_decoder-Bh9flJPu.cjs +0 -1
- package/build/chunks/draco_decoder-CEzwqP9o.mjs +0 -38
- package/build/chunks/draco_decoder-DtHHc5d0.mjs +0 -4
- package/build/chunks/draco_decoder-DvYjcLz_.cjs +0 -35
- package/build/chunks/draco_wasm_wrapper-FoEVV9af.cjs +0 -118
- package/build/chunks/draco_wasm_wrapper-yQy2VLhb.mjs +0 -121
- package/build/chunks/fflate.module-DHdJvhNh.cjs +0 -6
- package/build/chunks/fflate.module-xyO_T3Zm.mjs +0 -602
- package/build/plugins/shader/src/material/DIVEShaderMaterial.d.ts +0 -5
- package/build/plugins/shader/src/shaders/DIVEShaderLib.d.ts +0 -2
- package/build/plugins/shader/src/shaders/grid/index.d.ts +0 -40
- package/build/plugins/toolbox/src/BaseTool.d.ts +0 -59
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { Scene,
|
|
1
|
+
import { Scene, WebGPURenderer } from 'three/webgpu';
|
|
2
2
|
export type DIVEEnvironmentSettings = {
|
|
3
3
|
/**
|
|
4
4
|
* Whether to enable the image-based lighting.
|
|
5
5
|
*
|
|
6
6
|
* @default true
|
|
7
|
-
*
|
|
8
|
-
* @deprecated enabled defaults to true.
|
|
9
7
|
*/
|
|
10
8
|
enabled: boolean;
|
|
11
9
|
/**
|
|
@@ -24,8 +22,6 @@ export type DIVEEnvironmentSettings = {
|
|
|
24
22
|
* The intensity of the environment lighting.
|
|
25
23
|
*
|
|
26
24
|
* @default 1
|
|
27
|
-
*
|
|
28
|
-
* @deprecated envIntensity defaults to 1.0.
|
|
29
25
|
*/
|
|
30
26
|
globalEnvIntensity: number;
|
|
31
27
|
/**
|
|
@@ -44,8 +40,6 @@ export type DIVEEnvironmentSettings = {
|
|
|
44
40
|
* Whether to replace the existing lights (can be restored via `restoreLights`).
|
|
45
41
|
*
|
|
46
42
|
* @default false
|
|
47
|
-
*
|
|
48
|
-
* @deprecated replaceLights defaults to false. Remove lights manually instead.
|
|
49
43
|
*/
|
|
50
44
|
replaceLights?: boolean;
|
|
51
45
|
};
|
|
@@ -66,7 +60,13 @@ export declare class DIVEEnvironment {
|
|
|
66
60
|
private currentBackgroundCube;
|
|
67
61
|
private sourceImage;
|
|
68
62
|
private options;
|
|
69
|
-
|
|
63
|
+
private _loadPromise;
|
|
64
|
+
private _initPromise;
|
|
65
|
+
private _sourceImageLoadId;
|
|
66
|
+
private _initRequested;
|
|
67
|
+
private _disposed;
|
|
68
|
+
constructor(renderer: WebGPURenderer, scene: Scene, options?: Partial<DIVEEnvironmentSettings>);
|
|
69
|
+
init(): Promise<void>;
|
|
70
70
|
/**
|
|
71
71
|
* Disposes the environment.
|
|
72
72
|
*/
|
|
@@ -84,11 +84,11 @@ export declare class DIVEEnvironment {
|
|
|
84
84
|
*/
|
|
85
85
|
update(): void;
|
|
86
86
|
/**
|
|
87
|
-
* Sets the renderer and
|
|
87
|
+
* Sets the renderer and rebinds the PMREM generator. Use this only when rebuilding the renderer.
|
|
88
88
|
*
|
|
89
|
-
* @param renderer - The
|
|
89
|
+
* @param renderer - The renderer.
|
|
90
90
|
*/
|
|
91
|
-
setRenderer(renderer:
|
|
91
|
+
setRenderer(renderer: WebGPURenderer): void;
|
|
92
92
|
/**
|
|
93
93
|
* Sets the URL of the HDR image.
|
|
94
94
|
*
|
|
@@ -114,20 +114,5 @@ export declare class DIVEEnvironment {
|
|
|
114
114
|
* @returns The loaded equirectangular HDR texture.
|
|
115
115
|
*/
|
|
116
116
|
private loadHDRImage;
|
|
117
|
-
|
|
118
|
-
* @deprecated setGlobalEnvIntensity does nothing.
|
|
119
|
-
*/
|
|
120
|
-
setGlobalEnvIntensity(intensity: number): void;
|
|
121
|
-
/**
|
|
122
|
-
* @deprecated setExposure does nothing.
|
|
123
|
-
*/
|
|
124
|
-
setExposure(exposure: number): void;
|
|
125
|
-
/**
|
|
126
|
-
* @deprecated disable does nothing. Environment is enabled by default.
|
|
127
|
-
*/
|
|
128
|
-
disable(): void;
|
|
129
|
-
/**
|
|
130
|
-
* @deprecated Use update() instead.
|
|
131
|
-
*/
|
|
132
|
-
enable(): Promise<void>;
|
|
117
|
+
private _loadSourceImage;
|
|
133
118
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WebGPURenderer } from 'three/webgpu';
|
|
2
2
|
import { DIVEScene } from '../scene/Scene.ts';
|
|
3
3
|
import { DIVEPerspectiveCamera } from '../camera/PerspectiveCamera.ts';
|
|
4
4
|
import { DIVEEnvironment } from '../environment/Environment.ts';
|
|
@@ -72,20 +72,19 @@ export declare class DIVERenderer {
|
|
|
72
72
|
private _scene;
|
|
73
73
|
private _camera;
|
|
74
74
|
readonly isDIVERenderer: true;
|
|
75
|
-
private
|
|
75
|
+
private _webgpurenderer;
|
|
76
76
|
private _environment;
|
|
77
|
+
private _initPromise;
|
|
77
78
|
private _settings;
|
|
78
79
|
constructor(_scene: DIVEScene, _camera: DIVEPerspectiveCamera, settings?: Partial<DIVERendererSettings>);
|
|
79
|
-
get
|
|
80
|
+
get webgpurenderer(): WebGPURenderer;
|
|
80
81
|
get environment(): DIVEEnvironment;
|
|
81
82
|
get canvas(): HTMLCanvasElement;
|
|
83
|
+
get initialized(): boolean;
|
|
84
|
+
init(): Promise<void>;
|
|
82
85
|
render(): void;
|
|
83
86
|
onResize(width: number, height: number): void;
|
|
84
87
|
dispose(): void;
|
|
85
88
|
setCanvas(canvas: HTMLCanvasElement): void;
|
|
86
|
-
private
|
|
89
|
+
private _createWebGPURenderer;
|
|
87
90
|
}
|
|
88
|
-
/**
|
|
89
|
-
* @deprecated Use `import { DIVERenderer } from '@shopware-ag/dive'` instead.
|
|
90
|
-
*/
|
|
91
|
-
export declare const DIVERenderPipeline: typeof DIVERenderer;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Scene, Box3, ColorRepresentation } from 'three';
|
|
1
|
+
import { Scene, Box3, ColorRepresentation } from 'three/webgpu';
|
|
2
2
|
import { DIVERoot } from '../../components/root/Root.ts';
|
|
3
3
|
import { DIVEGrid } from '../../components/grid/Grid.ts';
|
|
4
4
|
export type DIVESceneSettings = {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Object3D } from 'three/webgpu';
|
|
2
2
|
import { DIVERoot } from '../../../components/root/Root.ts';
|
|
3
|
-
import { DIVERenderer } from '../../renderer/Renderer.ts';
|
|
4
3
|
import { DIVEXRLightRoot } from './xrlightroot/XRLightRoot.ts';
|
|
5
4
|
import { DIVEScene } from '../Scene.ts';
|
|
6
5
|
export declare class DIVEXRRoot extends Object3D {
|
|
@@ -12,6 +11,6 @@ export declare class DIVEXRRoot extends Object3D {
|
|
|
12
11
|
get XRHandNode(): Object3D;
|
|
13
12
|
private _xrShadowPlane;
|
|
14
13
|
constructor(scene: DIVEScene);
|
|
15
|
-
initLightEstimation(
|
|
14
|
+
initLightEstimation(): void;
|
|
16
15
|
disposeLightEstimation(): void;
|
|
17
16
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Object3D } from 'three/webgpu';
|
|
3
2
|
import { DIVEScene } from '../../Scene.ts';
|
|
4
3
|
export declare class DIVEXRLightRoot extends Object3D {
|
|
5
4
|
private _scene;
|
|
6
5
|
private _xrLight;
|
|
7
6
|
private _lightRoot;
|
|
7
|
+
private _warnedUnsupported;
|
|
8
8
|
constructor(scene: DIVEScene);
|
|
9
|
-
initLightEstimation(
|
|
9
|
+
initLightEstimation(): void;
|
|
10
10
|
disposeLightEstimation(): void;
|
|
11
11
|
private onEstimationStart;
|
|
12
12
|
private onEstimationEnd;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Object3D } from 'three/webgpu';
|
|
2
2
|
export declare function findInterface<T>(object: Object3D | null | undefined, discriminator: string): (Object3D & T) | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Object3D } from 'three/webgpu';
|
|
2
2
|
export declare function implementsInterface<T>(object: Object3D | null | undefined, discriminator: string): object is Object3D & T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var m=Object.defineProperty;var u=(
|
|
1
|
+
"use strict";var m=Object.defineProperty;var u=(a,t,e)=>t in a?m(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var i=(a,t,e)=>u(a,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@tweenjs/tween.js"),c=require("three/webgpu");class l{constructor(){i(this,"uuid",c.MathUtils.generateUUID());i(this,"Easing",o.Easing);i(this,"_animators",new Map)}dispose(){for(const t of this._animators.values())t.dispose();this._animators.clear()}tick(t){for(const e of this._animators.values())e.update(t)}async fromTargets(t,e,n){const{TargetAnimator:s}=await Promise.resolve().then(()=>require("../../chunks/TargetAnimator-D37bWNKD.cjs")),r=new s(t,e,n);return this._animators.set(r.uuid,r),r}async fromClips(t,e){const{ClipAnimator:n}=await Promise.resolve().then(()=>require("../../chunks/ClipAnimator-SdDq2wk1.cjs")),s=new n(t,e);return this._animators.set(s.uuid,s),s}remove(t){const e=this._animators.get(t);if(!e){console.warn(`Animator with uuid ${t} not found`);return}e.dispose(),this._animators.delete(t)}}Object.defineProperty(exports,"Easing",{enumerable:!0,get:()=>o.Easing});exports.AnimationSystem=l;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
var e = Object.defineProperty;
|
|
2
|
-
var m = (
|
|
3
|
-
var
|
|
2
|
+
var m = (o, t, a) => t in o ? e(o, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : o[t] = a;
|
|
3
|
+
var s = (o, t, a) => m(o, typeof t != "symbol" ? t + "" : t, a);
|
|
4
4
|
import { Easing as c } from "@tweenjs/tween.js";
|
|
5
|
-
import { Easing as
|
|
6
|
-
import { MathUtils as p } from "three";
|
|
5
|
+
import { Easing as g } from "@tweenjs/tween.js";
|
|
6
|
+
import { MathUtils as p } from "three/webgpu";
|
|
7
7
|
class l {
|
|
8
8
|
constructor() {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
s(this, "uuid", p.generateUUID());
|
|
10
|
+
s(this, "Easing", c);
|
|
11
|
+
s(this, "_animators", /* @__PURE__ */ new Map());
|
|
12
12
|
}
|
|
13
13
|
dispose() {
|
|
14
14
|
for (const t of this._animators.values())
|
|
@@ -19,14 +19,6 @@ class l {
|
|
|
19
19
|
for (const a of this._animators.values())
|
|
20
20
|
a.update(t);
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
23
|
-
* @deprecated Use `fromTargets()` instead.
|
|
24
|
-
* @note This method also calls .play() on the animator automatically. This has been removed in fromTargets(). You have to call .play() independently after creating the animator.
|
|
25
|
-
*/
|
|
26
|
-
async animate(t, a, s) {
|
|
27
|
-
const o = await this.fromTargets(t, a, s);
|
|
28
|
-
return o.play(), o;
|
|
29
|
-
}
|
|
30
22
|
/**
|
|
31
23
|
* Creates a TargetAnimator and returns it asynchronously.
|
|
32
24
|
*
|
|
@@ -55,8 +47,8 @@ class l {
|
|
|
55
47
|
* @param options - The options for the animation.
|
|
56
48
|
* @returns Promise<TargetAnimator>.
|
|
57
49
|
*/
|
|
58
|
-
async fromTargets(t, a,
|
|
59
|
-
const { TargetAnimator:
|
|
50
|
+
async fromTargets(t, a, n) {
|
|
51
|
+
const { TargetAnimator: i } = await import("../../chunks/TargetAnimator-DL_9b921.mjs"), r = new i(t, a, n);
|
|
60
52
|
return this._animators.set(r.uuid, r), r;
|
|
61
53
|
}
|
|
62
54
|
/**
|
|
@@ -78,8 +70,8 @@ class l {
|
|
|
78
70
|
* @returns Promise<ClipAnimator>.
|
|
79
71
|
*/
|
|
80
72
|
async fromClips(t, a) {
|
|
81
|
-
const { ClipAnimator:
|
|
82
|
-
return this._animators.set(
|
|
73
|
+
const { ClipAnimator: n } = await import("../../chunks/ClipAnimator-D8Gho4Ec.mjs"), i = new n(t, a);
|
|
74
|
+
return this._animators.set(i.uuid, i), i;
|
|
83
75
|
}
|
|
84
76
|
/**
|
|
85
77
|
* Removes an animator from the system.
|
|
@@ -97,5 +89,5 @@ class l {
|
|
|
97
89
|
}
|
|
98
90
|
export {
|
|
99
91
|
l as AnimationSystem,
|
|
100
|
-
|
|
92
|
+
g as Easing
|
|
101
93
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventDispatcher } from 'three/
|
|
1
|
+
import { EventDispatcher } from 'three/webgpu';
|
|
2
2
|
import { TAnimatorEventMap, TAnimatorLoopMode, TAnimatorState } from '../types/AnimatorTypes.ts';
|
|
3
3
|
/**
|
|
4
4
|
* Abstract base class for all animation types.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnimationClip, Object3D } from 'three';
|
|
1
|
+
import { AnimationClip, Object3D } from 'three/webgpu';
|
|
2
2
|
import { DIVETicker } from '../../../../index.ts';
|
|
3
3
|
type ClipAnimator = import('../animator/ClipAnimator.ts').ClipAnimator;
|
|
4
4
|
type TargetAnimator = import('../animator/TargetAnimator.ts').TargetAnimator;
|
|
@@ -82,11 +82,6 @@ export declare class AnimationSystem implements DIVETicker {
|
|
|
82
82
|
private _animators;
|
|
83
83
|
dispose(): void;
|
|
84
84
|
tick(deltaTime: number): void;
|
|
85
|
-
/**
|
|
86
|
-
* @deprecated Use `fromTargets()` instead.
|
|
87
|
-
* @note This method also calls .play() on the animator automatically. This has been removed in fromTargets(). You have to call .play() independently after creating the animator.
|
|
88
|
-
*/
|
|
89
|
-
animate(targets: AnimationTarget | AnimationTarget[], duration: number, options?: TargetAnimatorOptions): Promise<TargetAnimator>;
|
|
90
85
|
/**
|
|
91
86
|
* Creates a TargetAnimator and returns it asynchronously.
|
|
92
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var f=Object.defineProperty;var h=(o,e,r)=>e in o?f(o,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[e]=r;var l=(o,e,r)=>h(o,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../systeminfo/index.cjs"),A=require("../assetconverter/index.cjs"),O=require("../../chunks/AssetLoader-
|
|
1
|
+
"use strict";var f=Object.defineProperty;var h=(o,e,r)=>e in o?f(o,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[e]=r;var l=(o,e,r)=>h(o,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../systeminfo/index.cjs"),A=require("../assetconverter/index.cjs"),O=require("../../chunks/AssetLoader-D6ScugS-.cjs");require("three/examples/jsm/loaders/DRACOLoader.js");const w=require("../../chunks/AssetExporter-Cdxb04b3.cjs");var m=(o=>(o.AR_DESKTOP_PLATFORM_ERROR="ar-desktop-platform-error",o.AR_QUICK_LOOK_NOT_SAFARI_ERROR="ar-quicklook-not-safari-error",o.AR_QUICK_LOOK_VERSION_MISMATCH_ERROR="ar-quicklook-version-mismatch-error",o.AR_QUICK_LOOK_UNKNOWN_ERROR="ar-quicklook-unknown-error",o))(m||{});class a extends Error{constructor(r,t){super(r);l(this,"type");this.name=this.constructor.name,this.type=t,Object.setPrototypeOf(this,new.target.prototype)}}class R extends a{constructor(){super("AR features are not supported on desktop platforms.","ar-desktop-platform-error")}}class p extends a{constructor(){super("ARQuickLook on iOS is only available in Safari.","ar-quicklook-not-safari-error")}}class d extends a{constructor(e,r){super(`ARQuickLook requires iOS version ${r} or later. Current version: ${e}.`,"ar-quicklook-version-mismatch-error"),this.currentVersion=e,this.requiredVersion=r}}class u extends a{constructor(){super("An unknown ARQuickLook compatibility error occurred.","ar-quicklook-unknown-error")}}const k=12;class S{constructor(){l(this,"converter",new A.AssetConverter(new O.AssetLoader,new w.AssetExporter))}async launch(e,r){if(c.SystemInfo.getBrowser()!==c.EBrowser.SAFARI)return Promise.reject(new p);const t=c.SystemInfo.getIOSVersion();if(t&&t.major<k)return Promise.reject(new d(t.full,k));if(!t)return Promise.reject(new u);if(!c.SystemInfo.getSupportsARQuickLook())return Promise.reject(new u);const n=await this.convertToUSDZ(e,r);return this.launchARQuickLook(n,r)}async convertToUSDZ(e,r){const t=await this.converter.convert(e).to("usdz",{quickLookCompatible:!0,ar:{anchoring:{type:"plane"},planeAnchoring:{alignment:"horizontal"}}}),n=new Blob([t],{type:"model/vnd.usdz+zip"});return URL.createObjectURL(n)}launchARQuickLook(e,r){return new Promise(t=>{(r==null?void 0:r.arScale)==="fixed"&&(e=e.concat("#allowsContentScaling=0"));const n=document.createElement("a");n.innerHTML="<picture></picture>",n.rel="ar",n.href=e,n.download="scene.usdz",t(),n.click()})}}class _{launch(e,r){const t=self.location.toString(),n=document.createElement("a"),s=this._createParams(t,e,r),i=this._createIntent(t,e,s);n.setAttribute("href",i),n.click()}_createParams(e,r,t){const n=new URL(r,e),s=new URLSearchParams(n.search);return s.set("mode","ar_preferred"),this._applyScaleOption(s,t),this._applyPlacementOption(s,t),this._applySoundOption(s,e),this._applyLinkOption(s,e),s}_applyScaleOption(e,r){(r==null?void 0:r.arScale)==="fixed"&&e.set("resizable","false")}_applyPlacementOption(e,r){(r==null?void 0:r.arPlacement)==="vertical"&&e.set("enable_vertical_placement","true")}_applySoundOption(e,r){if(e.has("sound")){const t=new URL(e.get("sound"),r);e.set("sound",t.toString())}}_applyLinkOption(e,r){if(e.has("link")){const t=new URL(e.get("link"),r);e.set("link",t.toString())}}_createIntent(e,r,t){const n=new URL(e),s=new URL(r,e),i="#model-viewer-no-ar-fallback";return n.hash=i,`intent://arvr.google.com/scene-viewer/1.2?${t.toString()+"&file="+s.toString()}#Intent;scheme=https;package=com.google.android.googlequicksearchbox;action=android.intent.action.VIEW;S.browser_fallback_url=${encodeURIComponent(n.toString())};end;`}}class L{async launch(e,r){const t=c.SystemInfo.getSystem();return t===c.ESystem.IOS?new S().launch(e,r):t===c.ESystem.ANDROID?new _().launch(e,r):Promise.reject(new R)}}exports.ARDesktopPlatformError=R;exports.ARError=a;exports.ARQuickLook=S;exports.ARQuickLookNotSafariError=p;exports.ARQuickLookUnknownError=u;exports.ARQuickLookVersionMismatchError=d;exports.ARSystem=L;exports.EARErrorType=m;exports.SceneViewer=_;
|
|
@@ -3,8 +3,9 @@ var R = (o, e, r) => e in o ? p(o, e, { enumerable: !0, configurable: !0, writab
|
|
|
3
3
|
var l = (o, e, r) => R(o, typeof e != "symbol" ? e + "" : e, r);
|
|
4
4
|
import { SystemInfo as c, EBrowser as d, ESystem as u } from "../systeminfo/index.mjs";
|
|
5
5
|
import { AssetConverter as h } from "../assetconverter/index.mjs";
|
|
6
|
-
import { A as _ } from "../../chunks/AssetLoader-
|
|
7
|
-
import
|
|
6
|
+
import { A as _ } from "../../chunks/AssetLoader-Dvq0Wk28.mjs";
|
|
7
|
+
import "three/examples/jsm/loaders/DRACOLoader.js";
|
|
8
|
+
import { A as f } from "../../chunks/AssetExporter-DLL_vJae.mjs";
|
|
8
9
|
var S = /* @__PURE__ */ ((o) => (o.AR_DESKTOP_PLATFORM_ERROR = "ar-desktop-platform-error", o.AR_QUICK_LOOK_NOT_SAFARI_ERROR = "ar-quicklook-not-safari-error", o.AR_QUICK_LOOK_VERSION_MISMATCH_ERROR = "ar-quicklook-version-mismatch-error", o.AR_QUICK_LOOK_UNKNOWN_ERROR = "ar-quicklook-unknown-error", o))(S || {});
|
|
9
10
|
class a extends Error {
|
|
10
11
|
constructor(r, t) {
|
|
@@ -180,7 +181,7 @@ class g {
|
|
|
180
181
|
)};end;`;
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
|
-
class
|
|
184
|
+
class Q {
|
|
184
185
|
/**
|
|
185
186
|
* Launches an AR experience using the appropriate platform-specific implementation
|
|
186
187
|
*
|
|
@@ -201,7 +202,7 @@ export {
|
|
|
201
202
|
w as ARQuickLookNotSafariError,
|
|
202
203
|
k as ARQuickLookUnknownError,
|
|
203
204
|
A as ARQuickLookVersionMismatchError,
|
|
204
|
-
|
|
205
|
+
Q as ARSystem,
|
|
205
206
|
S as EARErrorType,
|
|
206
207
|
g as SceneViewer
|
|
207
208
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Object3D } from 'three/webgpu';
|
|
2
2
|
import { DIVERenderer } from '../../../../../engine/renderer/Renderer.ts';
|
|
3
3
|
import { DIVEScene } from '../../../../../engine/scene/Scene.ts';
|
|
4
4
|
export declare class DIVEWebXRController extends Object3D {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Matrix4, Mesh, Vector3 } from 'three';
|
|
1
|
+
import { Matrix4, Mesh, Vector3 } from 'three/webgpu';
|
|
2
2
|
import { DIVERenderer } from '../../../../../engine/renderer/Renderer.ts';
|
|
3
3
|
import { DIVEScene } from '../../../../../engine/scene/Scene.ts';
|
|
4
4
|
import { EventDispatcher } from '../../../../../events/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/AssetCache-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/AssetCache-Bk3ov4KH.cjs");exports.AssetCache=e.AssetCache;exports.Chunk=e.Chunk;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/AssetExporter-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/AssetExporter-Cdxb04b3.cjs");exports.AssetExporter=e.AssetExporter;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Object3D } from 'three/webgpu';
|
|
2
2
|
import { GLTFExporterOptions as THREEGLTFExporterOptions } from 'three/examples/jsm/exporters/GLTFExporter.js';
|
|
3
3
|
import { USDZExporterOptions as THREEUSDZExporterOptions } from 'three/examples/jsm/exporters/USDZExporter.js';
|
|
4
4
|
import { FileType } from '../../../types/file/FileTypes.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/AssetLoader-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/AssetLoader-D6ScugS-.cjs");exports.AssetLoader=e.AssetLoader;exports.DRACOWorker=e.DRACOWorker;exports.DracoLoader=e.DracoLoader;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as o } from "../../chunks/AssetLoader-
|
|
2
|
-
import { D as s, a as t } from "../../chunks/AssetLoader-
|
|
1
|
+
import { A as o } from "../../chunks/AssetLoader-Dvq0Wk28.mjs";
|
|
2
|
+
import { D as s, a as t } from "../../chunks/AssetLoader-Dvq0Wk28.mjs";
|
|
3
3
|
export {
|
|
4
4
|
o as AssetLoader,
|
|
5
5
|
s as DRACOWorker,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Object3D } from 'three';
|
|
1
|
+
import { Object3D } from 'three/webgpu';
|
|
2
2
|
import { FileType } from '../../../../index.ts';
|
|
3
3
|
export declare class AssetLoader {
|
|
4
4
|
private _gltfLoader;
|
|
5
|
-
private
|
|
5
|
+
private _usdLoader;
|
|
6
6
|
private _stepLoader;
|
|
7
7
|
constructor();
|
|
8
8
|
load(uri: string, fileType?: FileType): Promise<Object3D>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var p=Object.defineProperty;var y=(c,t,e)=>t in c?p(c,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):c[t]=e;var a=(c,t,e)=>y(c,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("three/webgpu"),w=require("../../chunks/PerspectiveCamera-DwQUmkDv.cjs");class b{constructor(t,e,r){a(this,"_renderer");a(this,"_scene");a(this,"_controller");this._renderer=t,this._scene=e,this._controller=r}async generateMedia(t){const{position:e,target:r,resolution:i}=t,{width:o,height:s}=i,h=this._controller.object.position.clone(),d=this._controller.object.quaternion.clone(),l=this._controller.target.clone(),n=this._renderer.canvas.clientWidth||o,g=this._renderer.canvas.clientHeight||s;try{return"onResize"in this._controller.object&&this._controller.object.onResize(o,s),this._controller.object.position.copy(e),this._controller.target.copy(r),this._controller.update(),(await this.drawCanvas(void 0,i)).toDataURL()}finally{this._controller.object.position.copy(h),this._controller.object.quaternion.copy(d),this._controller.target.copy(l),this._controller.update(),"onResize"in this._controller.object&&this._controller.object.onResize(n,g)}}async drawCanvas(t,e){await this._renderer.init();const r=this._renderer.webgpurenderer,i=Math.max(1,(e==null?void 0:e.width)??(t==null?void 0:t.width)??(t==null?void 0:t.clientWidth)??this._renderer.canvas.clientWidth),o=Math.max(1,(e==null?void 0:e.height)??(t==null?void 0:t.height)??(t==null?void 0:t.clientHeight)??this._renderer.canvas.clientHeight),s=new _.RenderTarget(i,o,{colorSpace:_.SRGBColorSpace}),h=r.getRenderTarget(),d=this._controller.object.layers.mask;try{r.setRenderTarget(s),this._controller.object.layers.mask=w.DIVEPerspectiveCamera.LIVE_VIEW_LAYER_MASK,r.render(this._scene,this._controller.object);const l=await r.readRenderTargetPixelsAsync(s,0,0,i,o),n=t??document.createElement("canvas");return n.width=i,n.height=o,this._writePixelsToCanvas(n,l,i,o),n}finally{this._controller.object.layers.mask=d,r.setRenderTarget(h),s.dispose()}}_writePixelsToCanvas(t,e,r,i){const o=t.getContext("2d");if(!o)throw new Error("MediaCreator.drawCanvas: 2D canvas context is not available.");const s=o.createImageData(r,i);s.data.set(new Uint8ClampedArray(Array.from(e))),o.putImageData(s,0,0)}}exports.MediaCreator=b;
|
|
@@ -1,30 +1,58 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this
|
|
1
|
+
var g = Object.defineProperty;
|
|
2
|
+
var p = (c, t, e) => t in c ? g(c, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[t] = e;
|
|
3
|
+
var a = (c, t, e) => p(c, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
+
import { RenderTarget as w, SRGBColorSpace as y } from "three/webgpu";
|
|
5
|
+
import { D as b } from "../../chunks/PerspectiveCamera-B5TvUzTa.mjs";
|
|
6
|
+
class T {
|
|
7
|
+
constructor(t, e, r) {
|
|
8
|
+
a(this, "_renderer");
|
|
9
|
+
a(this, "_scene");
|
|
10
|
+
a(this, "_controller");
|
|
11
|
+
this._renderer = t, this._scene = e, this._controller = r;
|
|
11
12
|
}
|
|
12
|
-
generateMedia(
|
|
13
|
-
const { position:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
async generateMedia(t) {
|
|
14
|
+
const { position: e, target: r, resolution: i } = t, { width: o, height: s } = i, h = this._controller.object.position.clone(), d = this._controller.object.quaternion.clone(), l = this._controller.target.clone(), n = this._renderer.canvas.clientWidth || o, _ = this._renderer.canvas.clientHeight || s;
|
|
15
|
+
try {
|
|
16
|
+
return "onResize" in this._controller.object && this._controller.object.onResize(o, s), this._controller.object.position.copy(e), this._controller.target.copy(r), this._controller.update(), (await this.drawCanvas(void 0, i)).toDataURL();
|
|
17
|
+
} finally {
|
|
18
|
+
this._controller.object.position.copy(h), this._controller.object.quaternion.copy(d), this._controller.target.copy(l), this._controller.update(), "onResize" in this._controller.object && this._controller.object.onResize(n, _);
|
|
19
|
+
}
|
|
17
20
|
}
|
|
18
|
-
drawCanvas(e) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
this.
|
|
23
|
-
),
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
async drawCanvas(t, e) {
|
|
22
|
+
await this._renderer.init();
|
|
23
|
+
const r = this._renderer.webgpurenderer, i = Math.max(
|
|
24
|
+
1,
|
|
25
|
+
(e == null ? void 0 : e.width) ?? (t == null ? void 0 : t.width) ?? (t == null ? void 0 : t.clientWidth) ?? this._renderer.canvas.clientWidth
|
|
26
|
+
), o = Math.max(
|
|
27
|
+
1,
|
|
28
|
+
(e == null ? void 0 : e.height) ?? (t == null ? void 0 : t.height) ?? (t == null ? void 0 : t.clientHeight) ?? this._renderer.canvas.clientHeight
|
|
29
|
+
), s = new w(i, o, {
|
|
30
|
+
colorSpace: y
|
|
31
|
+
}), h = r.getRenderTarget(), d = this._controller.object.layers.mask;
|
|
32
|
+
try {
|
|
33
|
+
r.setRenderTarget(s), this._controller.object.layers.mask = b.LIVE_VIEW_LAYER_MASK, r.render(this._scene, this._controller.object);
|
|
34
|
+
const l = await r.readRenderTargetPixelsAsync(
|
|
35
|
+
s,
|
|
36
|
+
0,
|
|
37
|
+
0,
|
|
38
|
+
i,
|
|
39
|
+
o
|
|
40
|
+
), n = t ?? document.createElement("canvas");
|
|
41
|
+
return n.width = i, n.height = o, this._writePixelsToCanvas(n, l, i, o), n;
|
|
42
|
+
} finally {
|
|
43
|
+
this._controller.object.layers.mask = d, r.setRenderTarget(h), s.dispose();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
_writePixelsToCanvas(t, e, r, i) {
|
|
47
|
+
const o = t.getContext("2d");
|
|
48
|
+
if (!o)
|
|
49
|
+
throw new Error(
|
|
50
|
+
"MediaCreator.drawCanvas: 2D canvas context is not available."
|
|
51
|
+
);
|
|
52
|
+
const s = o.createImageData(r, i);
|
|
53
|
+
s.data.set(new Uint8ClampedArray(Array.from(e))), o.putImageData(s, 0, 0);
|
|
26
54
|
}
|
|
27
55
|
}
|
|
28
56
|
export {
|
|
29
|
-
|
|
57
|
+
T as MediaCreator
|
|
30
58
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DIVEScene } from '../../../engine/scene/Scene.ts';
|
|
2
2
|
import { DIVERenderer } from '../../../engine/renderer/Renderer.ts';
|
|
3
3
|
import { OrbitController } from '../../orbitcontroller/index.ts';
|
|
4
|
-
import { MediaGenerationByPosition } from '../types/index.ts';
|
|
4
|
+
import { MediaGenerationByPosition, MediaGenerationResolution } from '../types/index.ts';
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
@@ -10,6 +10,7 @@ export declare class MediaCreator {
|
|
|
10
10
|
private _scene;
|
|
11
11
|
private _controller;
|
|
12
12
|
constructor(renderer: DIVERenderer, scene: DIVEScene, controller: OrbitController);
|
|
13
|
-
generateMedia(options: MediaGenerationByPosition): string
|
|
14
|
-
drawCanvas(canvasElement?: HTMLCanvasElement): HTMLCanvasElement
|
|
13
|
+
generateMedia(options: MediaGenerationByPosition): Promise<string>;
|
|
14
|
+
drawCanvas(canvasElement?: HTMLCanvasElement, resolution?: MediaGenerationResolution): Promise<HTMLCanvasElement>;
|
|
15
|
+
private _writePixelsToCanvas;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../chunks/FileTypes-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../chunks/FileTypes-CGEeONh9.cjs");exports.OrbitController=t.OrbitController;exports.OrbitControllerDefaultSettings=t.OrbitControllerDefaultSettings;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventDispatcher, MOUSE, Object3D, OrthographicCamera, TOUCH, Vector3, Vector3Like } from 'three';
|
|
1
|
+
import { EventDispatcher, MOUSE, Object3D, OrthographicCamera, TOUCH, Vector3, Vector3Like } from 'three/webgpu';
|
|
2
2
|
import { DIVEPerspectiveCamera, DIVETicker, BoundingBox } from '../../../index.ts';
|
|
3
3
|
import { OrbitControllerState } from '../types/index.ts';
|
|
4
4
|
export type OrbitControllerSettings = {
|