@splnlss/3d-story-viewer 0.8.0 → 0.8.2
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/computeElevation.cjs +1 -1
- package/build/computeElevation.js +2 -2
- package/build/{index-Hz3jbrou.js → index-BgprA821.js} +166 -77
- package/build/index-XZNzHig1.cjs +1 -0
- package/build/{main-Bdopx4KL.js → main-BUCkukV4.js} +7919 -7105
- package/build/main-yri0wVzb.cjs +1 -0
- package/build/{spark.module-BUdzSHba.cjs → spark.module-CKmN4uMZ.cjs} +1 -1
- package/build/{spark.module-B1FWS-vq.js → spark.module-T7c-X7OV.js} +2 -2
- package/build/types/src/viewer/ContentLayer/TilesLayer.d.ts +4 -4
- package/build/types/src/viewer/GlobeManager.d.ts +3 -2
- package/build/types/src/viewer/TileDecoders.d.ts +11 -0
- package/build/types/src/viewer/WebXRSession.d.ts +75 -0
- package/build/types/src/viewer/XRAttributionPanel.d.ts +23 -0
- package/build/types/src/viewer/XRComfortOverlay.d.ts +15 -0
- package/build/types/src/viewer/XRFrameInput.d.ts +30 -0
- package/build/types/src/viewer/XRNavigationCue.d.ts +10 -0
- package/build/types/src/viewer/XRPlayerRig.d.ts +48 -0
- package/build/types/src/viewer/XRRenderBridge.d.ts +25 -0
- package/build/types/src/viewer/index.d.ts +84 -0
- package/build/types/src/viewer/updateTilesCamera.d.ts +2 -0
- package/build/viewer.cjs +1 -1
- package/build/viewer.js +3 -3
- package/package.json +1 -1
- package/build/index-D87IZDc6.cjs +0 -1
- package/build/main-CaYKxosA.cjs +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { V as Vector3, a as Vector2, ak as Euler, M as Matrix4, Q as Quaternion, k as Color,
|
|
2
|
-
import { F as FullScreenQuad } from "./main-
|
|
1
|
+
import { V as Vector3, a as Vector2, ak as Euler, M as Matrix4, Q as Quaternion, k as Color, bb as Vector4, bz as DataArrayTexture, bA as RGIntegerFormat, bB as UnsignedIntType, bC as RGBAIntegerFormat, bD as WebGLArrayRenderTarget, y as NearestFilter, aX as DataTexture, e as Raycaster, aQ as RGBAFormat, aR as UnsignedByteType, O as Object3D, b as Mesh, c as ShaderMaterial, W as DoubleSide, bE as GLSL3, bF as Timer, b5 as WebGLRenderTarget, m as SRGBColorSpace, ap as Matrix3, af as ColorManagement, a3 as PerspectiveCamera, a4 as OrthographicCamera, bG as WebGLCubeRenderTarget, l as LinearSRGBColorSpace, x as LinearFilter, b1 as LinearMipMapLinearFilter, bH as CubeCamera, bI as Camera, bJ as PMREMGenerator, U as MeshStandardMaterial, L as Loader, F as FileLoader, ai as Box3, aV as UnsignedShortType, aW as FloatType, S as ShaderChunk, bK as InstancedBufferGeometry, s as BufferAttribute, ba as Matrix2, be as REVISION, bL as RawShaderMaterial } from "./index-BgprA821.js";
|
|
2
|
+
import { F as FullScreenQuad } from "./main-BUCkukV4.js";
|
|
3
3
|
const LN_SCALE_MIN = -12;
|
|
4
4
|
const LN_SCALE_MAX = 9;
|
|
5
5
|
const SCALE_MIN = Math.exp(LN_SCALE_MIN);
|
|
@@ -4,11 +4,11 @@ export class TilesLayer extends ContentLayer {
|
|
|
4
4
|
firstSet: any;
|
|
5
5
|
camera: any;
|
|
6
6
|
renderer: any;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
ownsDecoders: boolean;
|
|
8
|
+
decoders: any;
|
|
9
|
+
dracoLoader: any;
|
|
10
|
+
ktx2loader: any;
|
|
9
11
|
tiles: TilesRenderer<import("3d-tiles-renderer").TilesRendererEventMap>;
|
|
10
12
|
}
|
|
11
13
|
import { ContentLayer } from '.';
|
|
12
|
-
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
|
|
13
|
-
import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
|
|
14
14
|
import { TilesRenderer } from '3d-tiles-renderer';
|
|
@@ -4,7 +4,9 @@ export class GlobeManager extends EventDispatcher {
|
|
|
4
4
|
camera: any;
|
|
5
5
|
renderer: any;
|
|
6
6
|
tiles: TilesRenderer<import("3d-tiles-renderer").TilesRendererEventMap>;
|
|
7
|
-
dracoLoader:
|
|
7
|
+
dracoLoader: any;
|
|
8
|
+
ownsDecoders: boolean;
|
|
9
|
+
decoders: any;
|
|
8
10
|
apiToken: any;
|
|
9
11
|
googleMapsToken: any;
|
|
10
12
|
initTiles(): void;
|
|
@@ -13,4 +15,3 @@ export class GlobeManager extends EventDispatcher {
|
|
|
13
15
|
}
|
|
14
16
|
import { EventDispatcher } from '../modules/EventDispatcher';
|
|
15
17
|
import { TilesRenderer } from '3d-tiles-renderer';
|
|
16
|
-
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** One lazy decoder owner per Viewer/WebGLRenderer. No tile queue or cache ownership. */
|
|
2
|
+
export class TileDecoders {
|
|
3
|
+
constructor(renderer: any);
|
|
4
|
+
renderer: any;
|
|
5
|
+
draco: any;
|
|
6
|
+
ktx2: any;
|
|
7
|
+
disposed: boolean;
|
|
8
|
+
getDraco(): any;
|
|
9
|
+
getKTX2(): any;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/** @typedef {{ lodSplatCount?: number, lodRenderScale?: number }} SparkProfile */
|
|
2
|
+
/** Owns one immersive session for a Viewer, including every desktop restoration path. */
|
|
3
|
+
export class WebXRSession {
|
|
4
|
+
/** @param {import('./index.js').default} viewer @param {{ onFrame?: (input: { time: number, frame: XRFrame, pose: XRViewerPose }) => void, onStateChange?: (active: boolean) => void, showAttribution?: boolean }} [options] */
|
|
5
|
+
constructor(viewer: import("./index.js").default, options?: {
|
|
6
|
+
onFrame?: (input: {
|
|
7
|
+
time: number;
|
|
8
|
+
frame: XRFrame;
|
|
9
|
+
pose: XRViewerPose;
|
|
10
|
+
}) => void;
|
|
11
|
+
onStateChange?: (active: boolean) => void;
|
|
12
|
+
showAttribution?: boolean;
|
|
13
|
+
});
|
|
14
|
+
viewer: import("./index.js").default;
|
|
15
|
+
onFrame: (input: {
|
|
16
|
+
time: number;
|
|
17
|
+
frame: XRFrame;
|
|
18
|
+
pose: XRViewerPose;
|
|
19
|
+
}) => void;
|
|
20
|
+
onStateChange: (active: boolean) => void;
|
|
21
|
+
showAttribution: boolean;
|
|
22
|
+
session: any;
|
|
23
|
+
starting: any;
|
|
24
|
+
bridge: {
|
|
25
|
+
getHeadPose: () => import("./XRPlayerRig.js").XRHeadPose;
|
|
26
|
+
getControllerWorldRay: (controller: any) => {
|
|
27
|
+
origin: import("three").Vector3Tuple;
|
|
28
|
+
direction: import("three").Vector3Tuple;
|
|
29
|
+
};
|
|
30
|
+
setNavigationCue: (cue: any) => void;
|
|
31
|
+
setTerrainCredits: (credits: any) => void;
|
|
32
|
+
setPlayerPose(pose: any): void;
|
|
33
|
+
hasUi(): boolean;
|
|
34
|
+
setNavigationLimit(reason: any): void;
|
|
35
|
+
setComfortMoving(moving: any): void;
|
|
36
|
+
setFade(opacity: any): void;
|
|
37
|
+
updateHeadPose(pose: any): void;
|
|
38
|
+
dispose(): void;
|
|
39
|
+
};
|
|
40
|
+
desktop: {
|
|
41
|
+
cameraWorld: import("three").Matrix4;
|
|
42
|
+
near: number;
|
|
43
|
+
far: number;
|
|
44
|
+
globeEnabled: boolean;
|
|
45
|
+
keysEnabled: boolean;
|
|
46
|
+
xrEnabled: boolean;
|
|
47
|
+
foveation: number;
|
|
48
|
+
referenceSpaceType: any;
|
|
49
|
+
framebufferScaleFactor: any;
|
|
50
|
+
labelRender: (scene: import("three").Scene, camera: import("three").Camera) => void;
|
|
51
|
+
ensureSparkRenderer: () => Promise<any>;
|
|
52
|
+
transitionAnimateTo: (position: any, quaternion: any, duration?: number) => Promise<any>;
|
|
53
|
+
tilesSchedulerSession: any;
|
|
54
|
+
};
|
|
55
|
+
/** @type {Map<object, SparkProfile>} */
|
|
56
|
+
sparkProfiles: Map<object, SparkProfile>;
|
|
57
|
+
disposed: boolean;
|
|
58
|
+
stopping: boolean;
|
|
59
|
+
endRequested: boolean;
|
|
60
|
+
active: boolean;
|
|
61
|
+
handleSessionEnd: () => void;
|
|
62
|
+
handleFrame: (time: any, frame: any) => void;
|
|
63
|
+
start(): any;
|
|
64
|
+
activate(requested: any): Promise<void>;
|
|
65
|
+
frame(time: any, frame: any): void;
|
|
66
|
+
applySparkProfile(spark: any): void;
|
|
67
|
+
cleanup(): void;
|
|
68
|
+
endSessionOnce(session: any): Promise<void>;
|
|
69
|
+
stop(): Promise<void>;
|
|
70
|
+
dispose(): Promise<void>;
|
|
71
|
+
}
|
|
72
|
+
export type SparkProfile = {
|
|
73
|
+
lodSplatCount?: number;
|
|
74
|
+
lodRenderScale?: number;
|
|
75
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** The renderer's current tile copyrights and the app's terrain credits. */
|
|
2
|
+
export function attributionText(tileAttributions?: any[], terrainCredits?: any[]): any[];
|
|
3
|
+
export function layoutAttributionLines(ctx: any, values: any): any;
|
|
4
|
+
/** One lightweight head-local texture is composited into both XR eye views. */
|
|
5
|
+
export class XRAttributionPanel {
|
|
6
|
+
canvas: HTMLCanvasElement;
|
|
7
|
+
context: CanvasRenderingContext2D;
|
|
8
|
+
texture: CanvasTexture<HTMLCanvasElement>;
|
|
9
|
+
mesh: Mesh<PlaneGeometry, MeshBasicMaterial, import("three").Object3DEventMap>;
|
|
10
|
+
terrainCredits: any[];
|
|
11
|
+
lastText: string;
|
|
12
|
+
lastTileCheckMs: number;
|
|
13
|
+
tileCredits: any[];
|
|
14
|
+
logos: HTMLImageElement[];
|
|
15
|
+
setTerrainCredits(credits: any): void;
|
|
16
|
+
update(headMatrix: any, tiles: any, timeMs: any): void;
|
|
17
|
+
draw(): void;
|
|
18
|
+
dispose(): void;
|
|
19
|
+
}
|
|
20
|
+
import { CanvasTexture } from 'three';
|
|
21
|
+
import { PlaneGeometry } from 'three';
|
|
22
|
+
import { MeshBasicMaterial } from 'three';
|
|
23
|
+
import { Mesh } from 'three';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Head-local peripheral motion vignette, drawn after the scene in both eyes. */
|
|
2
|
+
export class XRComfortOverlay {
|
|
3
|
+
material: ShaderMaterial;
|
|
4
|
+
mesh: Mesh<PlaneGeometry, ShaderMaterial, import("three").Object3DEventMap>;
|
|
5
|
+
moving: boolean;
|
|
6
|
+
navigationLimit: any;
|
|
7
|
+
fade: number;
|
|
8
|
+
setNavigationLimit(reason: any): boolean;
|
|
9
|
+
setFade(opacity: any): void;
|
|
10
|
+
update(headMatrix: any): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
}
|
|
13
|
+
import { ShaderMaterial } from 'three';
|
|
14
|
+
import { PlaneGeometry } from 'three';
|
|
15
|
+
import { Mesh } from 'three';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copy the current WebXR input sample before the browser reuses its frame objects.
|
|
3
|
+
* Positions are local-reference-space metres; orientation is an XR quaternion.
|
|
4
|
+
* @param {XRFrame} frame
|
|
5
|
+
* @param {XRReferenceSpace | null} referenceSpace
|
|
6
|
+
*/
|
|
7
|
+
export function readXRFrameInput(frame: XRFrame, referenceSpace: XRReferenceSpace | null): {
|
|
8
|
+
head: {
|
|
9
|
+
position: number[];
|
|
10
|
+
orientation: number[];
|
|
11
|
+
};
|
|
12
|
+
controllers: {
|
|
13
|
+
handedness: XRHandedness;
|
|
14
|
+
mapping: GamepadMappingType;
|
|
15
|
+
axes: number[];
|
|
16
|
+
buttons: {
|
|
17
|
+
pressed: boolean;
|
|
18
|
+
touched: boolean;
|
|
19
|
+
value: number;
|
|
20
|
+
}[];
|
|
21
|
+
ray: {
|
|
22
|
+
position: number[];
|
|
23
|
+
orientation: number[];
|
|
24
|
+
};
|
|
25
|
+
grip: {
|
|
26
|
+
position: number[];
|
|
27
|
+
orientation: number[];
|
|
28
|
+
};
|
|
29
|
+
}[];
|
|
30
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Small, ordinary depth-tested scene geometry; never samples streamed visual layers. */
|
|
2
|
+
export class XRNavigationCue {
|
|
3
|
+
constructor(scene: any);
|
|
4
|
+
scene: any;
|
|
5
|
+
group: Group<import("three").Object3DEventMap>;
|
|
6
|
+
set(cue: any): void;
|
|
7
|
+
clearChildren(): void;
|
|
8
|
+
dispose(): void;
|
|
9
|
+
}
|
|
10
|
+
import { Group } from 'three';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/** @typedef {{worldEcef: [number, number, number], geodetic: {longitude: number, latitude: number, altitude: number}, headingDegrees: number, localHeadOffset: [number, number, number]}} XRHeadPose */
|
|
2
|
+
/** Keeps metre-scale tracked poses separate from double-precision WGS84 ECEF positions. */
|
|
3
|
+
export class XRPlayerRig {
|
|
4
|
+
/** @param {Matrix4} initialCameraWorld @param {XRRigidTransform} initialHeadPose */
|
|
5
|
+
constructor(initialCameraWorld: Matrix4, initialHeadPose: XRRigidTransform);
|
|
6
|
+
headLocal: Matrix4;
|
|
7
|
+
worldFromLocal: Matrix4;
|
|
8
|
+
anchor: {
|
|
9
|
+
longitude: number;
|
|
10
|
+
latitude: number;
|
|
11
|
+
altitude: number;
|
|
12
|
+
};
|
|
13
|
+
/** @param {XRRigidTransform} pose */
|
|
14
|
+
updateHeadPose(pose: XRRigidTransform): void;
|
|
15
|
+
getWorldFromLocalMatrix(): Matrix4;
|
|
16
|
+
getWorldHeadMatrix(): Matrix4;
|
|
17
|
+
/** @returns {XRHeadPose} WGS84 degrees, ellipsoidal altitude metres, ECEF metres, local-floor metres. */
|
|
18
|
+
getHeadPose(): XRHeadPose;
|
|
19
|
+
getNavigationFrame(): Matrix4;
|
|
20
|
+
/** Convert the copied WebXR target-ray transform to ECEF metres. */
|
|
21
|
+
getControllerWorldRay(controller: any): {
|
|
22
|
+
origin: import("three").Vector3Tuple;
|
|
23
|
+
direction: import("three").Vector3Tuple;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Places the tracked head at a WGS84 ellipsoidal position plus ENU metres.
|
|
27
|
+
* Heading is clockwise degrees from true north. Physical room-scale motion remains tracked.
|
|
28
|
+
*/
|
|
29
|
+
setPose({ anchor, east, north, up, headingDegrees }: {
|
|
30
|
+
anchor: any;
|
|
31
|
+
east?: number;
|
|
32
|
+
north?: number;
|
|
33
|
+
up?: number;
|
|
34
|
+
headingDegrees: any;
|
|
35
|
+
}): void;
|
|
36
|
+
reanchor(headingDegrees: any): void;
|
|
37
|
+
}
|
|
38
|
+
export type XRHeadPose = {
|
|
39
|
+
worldEcef: [number, number, number];
|
|
40
|
+
geodetic: {
|
|
41
|
+
longitude: number;
|
|
42
|
+
latitude: number;
|
|
43
|
+
altitude: number;
|
|
44
|
+
};
|
|
45
|
+
headingDegrees: number;
|
|
46
|
+
localHeadOffset: [number, number, number];
|
|
47
|
+
};
|
|
48
|
+
import { Matrix4 } from 'three';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Places a metre-scale WebXR head under a double-precision ECEF anchor only
|
|
3
|
+
* while Three renders. The viewer's ordinary ECEF camera stays the scene camera.
|
|
4
|
+
* @param {import('./index.js').default} viewer
|
|
5
|
+
* @param {XRRigidTransform} initialHeadPose
|
|
6
|
+
* @param {{ showAttribution?: boolean }} [options]
|
|
7
|
+
*/
|
|
8
|
+
export function createXRRenderBridge(viewer: import("./index.js").default, initialHeadPose: XRRigidTransform, { showAttribution }?: {
|
|
9
|
+
showAttribution?: boolean;
|
|
10
|
+
}): {
|
|
11
|
+
getHeadPose: () => import("./XRPlayerRig.js").XRHeadPose;
|
|
12
|
+
getControllerWorldRay: (controller: any) => {
|
|
13
|
+
origin: import("three").Vector3Tuple;
|
|
14
|
+
direction: import("three").Vector3Tuple;
|
|
15
|
+
};
|
|
16
|
+
setNavigationCue: (cue: any) => void;
|
|
17
|
+
setTerrainCredits: (credits: any) => void;
|
|
18
|
+
setPlayerPose(pose: any): void;
|
|
19
|
+
hasUi(): boolean;
|
|
20
|
+
setNavigationLimit(reason: any): void;
|
|
21
|
+
setComfortMoving(moving: any): void;
|
|
22
|
+
setFade(opacity: any): void;
|
|
23
|
+
updateHeadPose(pose: any): void;
|
|
24
|
+
dispose(): void;
|
|
25
|
+
};
|
|
@@ -24,6 +24,7 @@ declare class Viewer extends EventDispatcher {
|
|
|
24
24
|
isViewer: boolean;
|
|
25
25
|
type: string;
|
|
26
26
|
disposed: boolean;
|
|
27
|
+
xrSession: WebXRSession;
|
|
27
28
|
sparkRenderer: any;
|
|
28
29
|
transparentBackground: boolean;
|
|
29
30
|
state: StateDispatcher;
|
|
@@ -43,6 +44,7 @@ declare class Viewer extends EventDispatcher {
|
|
|
43
44
|
globeControls: GlobeControls;
|
|
44
45
|
_onGlobeControlsStart: () => void;
|
|
45
46
|
transitionControls: TransitionControls;
|
|
47
|
+
tileDecoders: TileDecoders;
|
|
46
48
|
globeManager: GlobeManager;
|
|
47
49
|
/** @type {ViewerCoords} */
|
|
48
50
|
cameraCoords: ViewerCoords;
|
|
@@ -79,6 +81,86 @@ declare class Viewer extends EventDispatcher {
|
|
|
79
81
|
sky: Sky;
|
|
80
82
|
pointerRaycaster: Raycaster;
|
|
81
83
|
_onPointerMove: (event: any) => void;
|
|
84
|
+
get xrActive(): boolean;
|
|
85
|
+
/** @param {{ onFrame?: (input: { time: number, frame: XRFrame, pose: XRViewerPose }) => void, onStateChange?: (active: boolean) => void, showAttribution?: boolean }} [options] */
|
|
86
|
+
startXRSession(options?: {
|
|
87
|
+
onFrame?: (input: {
|
|
88
|
+
time: number;
|
|
89
|
+
frame: XRFrame;
|
|
90
|
+
pose: XRViewerPose;
|
|
91
|
+
}) => void;
|
|
92
|
+
onStateChange?: (active: boolean) => void;
|
|
93
|
+
showAttribution?: boolean;
|
|
94
|
+
}): any;
|
|
95
|
+
endXRSession(): Promise<void>;
|
|
96
|
+
/** @param {XRFrame} frame */
|
|
97
|
+
getXRFrameInput(frame: XRFrame): {
|
|
98
|
+
head: {
|
|
99
|
+
position: number[];
|
|
100
|
+
orientation: number[];
|
|
101
|
+
};
|
|
102
|
+
controllers: {
|
|
103
|
+
handedness: XRHandedness;
|
|
104
|
+
mapping: GamepadMappingType;
|
|
105
|
+
axes: number[];
|
|
106
|
+
buttons: {
|
|
107
|
+
pressed: boolean;
|
|
108
|
+
touched: boolean;
|
|
109
|
+
value: number;
|
|
110
|
+
}[];
|
|
111
|
+
ray: {
|
|
112
|
+
position: number[];
|
|
113
|
+
orientation: number[];
|
|
114
|
+
};
|
|
115
|
+
grip: {
|
|
116
|
+
position: number[];
|
|
117
|
+
orientation: number[];
|
|
118
|
+
};
|
|
119
|
+
}[];
|
|
120
|
+
};
|
|
121
|
+
/** @param {{ anchor: { longitude: number, latitude: number, altitude: number }, east?: number, north?: number, up?: number, headingDegrees: number }} pose */
|
|
122
|
+
setXRPlayerPose(pose: {
|
|
123
|
+
anchor: {
|
|
124
|
+
longitude: number;
|
|
125
|
+
latitude: number;
|
|
126
|
+
altitude: number;
|
|
127
|
+
};
|
|
128
|
+
east?: number;
|
|
129
|
+
north?: number;
|
|
130
|
+
up?: number;
|
|
131
|
+
headingDegrees: number;
|
|
132
|
+
}): void;
|
|
133
|
+
/** @returns {import('./XRPlayerRig.js').XRHeadPose | null} */
|
|
134
|
+
getXRHeadPose(): import("./XRPlayerRig.js").XRHeadPose | null;
|
|
135
|
+
/** @param {{ray: {position: number[], orientation: number[]} | null}} controller @returns {{origin: number[], direction: number[]} | null} */
|
|
136
|
+
getXRControllerWorldRay(controller: {
|
|
137
|
+
ray: {
|
|
138
|
+
position: number[];
|
|
139
|
+
orientation: number[];
|
|
140
|
+
} | null;
|
|
141
|
+
}): {
|
|
142
|
+
origin: number[];
|
|
143
|
+
direction: number[];
|
|
144
|
+
} | null;
|
|
145
|
+
/** @param {boolean} moving */
|
|
146
|
+
setXRComfortMoving(moving: boolean): void;
|
|
147
|
+
/** @param {'floor' | 'unknown' | 'loading' | null} reason */
|
|
148
|
+
setXRNavigationLimit(reason: "floor" | "unknown" | "loading" | null): void;
|
|
149
|
+
/** @param {{anchor: {longitude: number, latitude: number, altitude: number}, arc: readonly (readonly [number, number, number])[], marker: readonly [number, number, number] | null, state: 'valid' | 'blocked' | 'unknown'} | null} cue */
|
|
150
|
+
setXRNavigationCue(cue: {
|
|
151
|
+
anchor: {
|
|
152
|
+
longitude: number;
|
|
153
|
+
latitude: number;
|
|
154
|
+
altitude: number;
|
|
155
|
+
};
|
|
156
|
+
arc: readonly (readonly [number, number, number])[];
|
|
157
|
+
marker: readonly [number, number, number] | null;
|
|
158
|
+
state: "valid" | "blocked" | "unknown";
|
|
159
|
+
} | null): void;
|
|
160
|
+
/** @param {readonly string[]} credits Current Cesium World Terrain asset credits. */
|
|
161
|
+
setXRAttribution(credits: readonly string[]): void;
|
|
162
|
+
/** @param {number} opacity Black headset fade, 0 to 1. */
|
|
163
|
+
setXRNavigationFade(opacity: number): void;
|
|
82
164
|
set keysEnabled(enabled: boolean);
|
|
83
165
|
get keysEnabled(): boolean;
|
|
84
166
|
updateMovementState(): void;
|
|
@@ -196,6 +278,7 @@ export namespace ViewerEvents {
|
|
|
196
278
|
let CONTENT_LAYER_ERROR: "content-layer-error";
|
|
197
279
|
}
|
|
198
280
|
import { EventDispatcher } from '../modules/EventDispatcher';
|
|
281
|
+
import { WebXRSession } from './WebXRSession.js';
|
|
199
282
|
import { StateDispatcher } from '../modules/StateDispatcher';
|
|
200
283
|
import { WebGLRenderer } from 'three';
|
|
201
284
|
import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
|
|
@@ -206,6 +289,7 @@ import { Scene } from 'three';
|
|
|
206
289
|
import { Group } from 'three';
|
|
207
290
|
import { GlobeControls } from './GlobeControls';
|
|
208
291
|
import { TransitionControls } from './TransitionControls';
|
|
292
|
+
import { TileDecoders } from './TileDecoders.js';
|
|
209
293
|
import { GlobeManager } from './GlobeManager';
|
|
210
294
|
import { Sky } from './Sky';
|
|
211
295
|
import { Raycaster } from 'three';
|
package/build/viewer.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./main-yri0wVzb.cjs"),t=require("./index-XZNzHig1.cjs");exports.Viewer=e.Viewer,exports.ViewerEvents=e.ViewerEvents,exports.computeElevation=t.computeElevation;
|
package/build/viewer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { V, a } from "./main-
|
|
2
|
-
import {
|
|
1
|
+
import { V, a } from "./main-BUCkukV4.js";
|
|
2
|
+
import { by } from "./index-BgprA821.js";
|
|
3
3
|
export {
|
|
4
4
|
V as Viewer,
|
|
5
5
|
a as ViewerEvents,
|
|
6
|
-
|
|
6
|
+
by as computeElevation
|
|
7
7
|
};
|