@miris-inc/core 0.0.8-bed26f0 → 0.0.8-ccd19da

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.d.ts ADDED
@@ -0,0 +1,597 @@
1
+ declare interface AttributeInfo extends EmbindObject {
2
+ readonly dataType: number;
3
+ readonly componentCount: number;
4
+ readonly dataPtr: number;
5
+ readonly dataByteLength: number;
6
+ readonly clientSideId: bigint;
7
+ readonly maxValue: { x: number; y: number; z: number };
8
+ }
9
+
10
+ export declare class Camera {
11
+ #private;
12
+ readonly id: number;
13
+ update(): void;
14
+ get aspect(): number;
15
+ set aspect(aspect: number);
16
+ get fov(): number;
17
+ set fov(fov: number);
18
+ get near(): number;
19
+ set near(near: number);
20
+ get far(): number;
21
+ set far(far: number);
22
+ get matrix(): Matrix4x4Tuple;
23
+ set matrix(matrix: Matrix4x4Tuple);
24
+ readonly engine: Engine;
25
+ readonly miris: Miris;
26
+ readonly scene: Scene;
27
+ constructor({ aspect, fov, near, far, matrix, scene }: CameraInit);
28
+ }
29
+
30
+ export declare type CameraInit = {
31
+ aspect: number;
32
+ fov: number;
33
+ near: number;
34
+ far: number;
35
+ matrix: Matrix4x4Tuple;
36
+ scene: Scene;
37
+ };
38
+
39
+ export declare class Change {
40
+ readonly type: ChangeInit["type"];
41
+ readonly lod: ChangeInit["lod"];
42
+ constructor({ type, lod }: ChangeInit);
43
+ }
44
+
45
+ export declare type ChangeInit = {
46
+ type: "created" | "activated" | "modified" | "deactivated" | "deleted";
47
+ lod: Lod;
48
+ };
49
+
50
+ declare class Client {
51
+ #private;
52
+ readonly engine: Engine;
53
+ readonly handle: AquaClientHandle;
54
+ get viewerKey(): string | null;
55
+ set viewerKey(key: string | null);
56
+ constructor({ engine, context }: ClientInit);
57
+ dispose(): void;
58
+ addStreamById(...args: ClientMethodParameters["addStreamById"]): number;
59
+ destroyClient(...args: ClientMethodParameters["destroyClient"]): AquaStatus;
60
+ getAssetsAsync(...args: ClientMethodParameters["getAssetsAsync"]): AssetInfo[];
61
+ getAttribute(...args: ClientMethodParameters["getAttribute"]): AquaStatus;
62
+ getDefaultCameraId(...args: ClientMethodParameters["getDefaultCameraId"]): number;
63
+ getLocalBoundingBox(...args: ClientMethodParameters["getLocalBoundingBox"]): AquaStatus;
64
+ getWorldBoundingBox(...args: ClientMethodParameters["getWorldBoundingBox"]): AquaStatus;
65
+ getLodIndex(...args: ClientMethodParameters["getLodIndex"]): number;
66
+ getSceneChanges(...args: ClientMethodParameters["getSceneChanges"]): void;
67
+ getSceneChangesCounts(...args: ClientMethodParameters["getSceneChangesCounts"]): void;
68
+ getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
69
+ getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
70
+ getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
71
+ getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
72
+ getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
73
+ hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
74
+ isSceneObjectAncestorOf(...args: ClientMethodParameters["isSceneObjectAncestorOf"]): boolean;
75
+ lockScene(...args: ClientMethodParameters["lockScene"]): boolean;
76
+ removeStream(...args: ClientMethodParameters["removeStream"]): boolean;
77
+ setAssetViewerKey(...args: ClientMethodParameters["setAssetViewerKey"]): AquaStatus;
78
+ setClientSpatialFormat(...args: ClientMethodParameters["setClientSpatialFormat"]): AquaStatus;
79
+ setRuntimeSettings(...args: ClientMethodParameters["setRuntimeSettings"]): AquaStatus;
80
+ setMainCameraTransform(...args: ClientMethodParameters["setMainCameraTransform"]): AquaStatus;
81
+ setMainCameraViewFrustum(...args: ClientMethodParameters["setMainCameraViewFrustum"]): AquaStatus;
82
+ setSceneObjectTransform(...args: ClientMethodParameters["setSceneObjectTransform"]): AquaStatus;
83
+ hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
84
+ getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
85
+ getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
86
+ getName(...args: ClientMethodParameters["getName"]): string;
87
+ setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
88
+ takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
89
+ takeEvictedClientSideAttributeIds(...args: ClientMethodParameters["takeEvictedClientSideAttributeIds"]): EmbindVector<bigint>;
90
+ takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
91
+ unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
92
+ updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
93
+ }
94
+
95
+ declare type ClientInit = {
96
+ engine: Engine;
97
+ context?: AquaContextHandle;
98
+ };
99
+
100
+ declare type ClientMethodParameters<Parameters extends EngineMethodParameters = EngineMethodParameters> = {
101
+ [Key in keyof Parameters]: Parameters[Key] extends [any, ...infer Rest] ? Rest : [];
102
+ };
103
+
104
+ declare interface EmbindObject {
105
+ delete(): void;
106
+ }
107
+
108
+ declare interface EmbindVector<T> extends EmbindObject {
109
+ size(): number;
110
+ get(index: number): T;
111
+ push_back(value: T): void;
112
+ }
113
+
114
+ /**
115
+ * The main Aqua wrapper.
116
+ *
117
+ * @remarks
118
+ * The engine is asynchronously initialized, meaning synchronous operations may
119
+ * fail if is not ready. To ensure the engine is ready, await `engine.ready`
120
+ * or check `engine.pending`.
121
+ */
122
+ declare class Engine {
123
+ #private;
124
+ static AquaStatus: {
125
+ readonly Success: 0;
126
+ readonly Failure: 1;
127
+ };
128
+ static SceneObjectType: {
129
+ readonly ModelRoot: 0;
130
+ readonly SceneObject: 1;
131
+ readonly StreamObject: 2;
132
+ readonly GaussianSplats: 3;
133
+ readonly PointsObject: 4;
134
+ readonly Camera: 5;
135
+ readonly LodOctree: 6;
136
+ readonly VariantSetCollection: 7;
137
+ readonly VariantSet: 8;
138
+ readonly VariantSetOption: 9;
139
+ };
140
+ static Feature: {
141
+ readonly DrMap: 0;
142
+ };
143
+ static FeatureState: {
144
+ readonly NotLoaded: 0;
145
+ readonly Pending: 1;
146
+ readonly Loaded: 2;
147
+ readonly Failed: 3;
148
+ };
149
+ readonly ready: Promise<this>;
150
+ readonly pending: boolean;
151
+ get module(): MainModule;
152
+ constructor(moduleOptions?: Record<string, unknown>);
153
+ get AttributeInfo(): new () => AttributeInfo;
154
+ get Handedness(): {
155
+ Right: number;
156
+ Left: number;
157
+ };
158
+ get heapF32(): Float32Array<ArrayBuffer>;
159
+ get heapU8(): Uint8Array<ArrayBuffer>;
160
+ get MatrixOrder(): {
161
+ ColumnMajor: number;
162
+ RowMajor: number;
163
+ };
164
+ get SceneChangeIds(): new () => SceneChangeIds;
165
+ get SceneMetadata(): new () => SceneMetadata;
166
+ get RuntimeSettings(): new () => RuntimeSettings;
167
+ get SpatialFormat(): new () => SpatialFormat;
168
+ get StringVector(): new () => StringVector;
169
+ get UpAxis(): {
170
+ X: number;
171
+ Y: number;
172
+ Z: number;
173
+ };
174
+ activatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
175
+ addStreamById(...args: [
176
+ handle: AquaClientHandle,
177
+ streamName: string,
178
+ assetId: string,
179
+ doNotRefine: boolean
180
+ ]): number;
181
+ allocateSceneChangesArrays(...args: [sceneChangeIds: SceneChangeIds]): void;
182
+ createContext(...args: []): AquaContextHandle;
183
+ destroyContext(...args: [handle: AquaContextHandle]): AquaStatus;
184
+ createClient(context?: AquaContextHandle, ...args: []): AquaClientHandle;
185
+ createdObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
186
+ deletedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
187
+ dataPtrView(...args: [attributeInfo: AttributeInfo]): Uint32Array;
188
+ deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
189
+ destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
190
+ free(...args: [size: number]): number;
191
+ getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
192
+ getAttribute(...args: [
193
+ handle: AquaClientHandle,
194
+ sceneObjectId: number,
195
+ attributeName: string,
196
+ attributeInfo: AttributeInfo
197
+ ]): AquaStatus;
198
+ getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
199
+ getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
200
+ getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
201
+ getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
202
+ getSceneChanges(...args: [handle: AquaClientHandle, sceneChangeIds: SceneChangeIds]): void;
203
+ getSceneChangesCounts(...args: [handle: AquaClientHandle, sceneChangeIds: SceneChangeIds]): void;
204
+ getSceneMetadata(...args: [handle: AquaClientHandle, metadata: SceneMetadata]): number;
205
+ getSceneObjectParent(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
206
+ getSceneObjectType(...args: [handle: AquaClientHandle, sceneObjectId: number]): SceneObjectType;
207
+ getLocalTransform(...args: [
208
+ handle: AquaClientHandle,
209
+ sceneObjectId: number,
210
+ transform: number
211
+ ]): AquaStatus;
212
+ getWorldTransform(...args: [
213
+ handle: AquaClientHandle,
214
+ sceneObjectId: number,
215
+ transform: number
216
+ ]): AquaStatus;
217
+ hasAttribute(...args: [
218
+ handle: AquaClientHandle,
219
+ sceneObjectId: number,
220
+ attributeName: string
221
+ ]): boolean;
222
+ isSceneObjectAncestorOf(...args: [
223
+ handle: AquaClientHandle,
224
+ sceneObjectId: number,
225
+ descendantObjectId: number
226
+ ]): boolean;
227
+ lockScene(...args: [handle: AquaClientHandle]): boolean;
228
+ malloc(...args: [size: number]): number;
229
+ modifiedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
230
+ onWorkerResult(...args: [
231
+ requestIdLow: number,
232
+ requestIdHigh: number,
233
+ bufferPtr: number,
234
+ bufferSize: number,
235
+ httpStatus: number,
236
+ duration: number,
237
+ ttfb: number,
238
+ success: boolean,
239
+ dataType: number,
240
+ errorPtr: string,
241
+ responseHeadersJson: string,
242
+ contextPtr: number
243
+ ]): void;
244
+ removeStream(...args: [handle: AquaClientHandle, streamObjectId: number]): boolean;
245
+ setAssetViewerKey(...args: [handle: AquaClientHandle, key: string]): AquaStatus;
246
+ setClientSpatialFormat(...args: [handle: AquaClientHandle, spatialFormat: SpatialFormat]): AquaStatus;
247
+ setRuntimeSettings(...args: [
248
+ handle: AquaClientHandle,
249
+ settings: RuntimeSettings
250
+ ]): AquaStatus;
251
+ setMainCameraTransform(...args: [handle: AquaClientHandle, cameraTransform: number]): AquaStatus;
252
+ setMainCameraViewFrustum(...args: [
253
+ handle: AquaClientHandle,
254
+ aspectRatio: number,
255
+ verticalFov: number,
256
+ nearPlane: number,
257
+ farPlane: number
258
+ ]): AquaStatus;
259
+ setMaxCacheSize(...args: [maxSizeBytes: number]): void;
260
+ setSceneObjectTransform(...args: [
261
+ handle: AquaClientHandle,
262
+ sceneObjectId: number,
263
+ transform: number
264
+ ]): AquaStatus;
265
+ hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
266
+ getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
267
+ getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
268
+ getName(...args: [
269
+ handle: AquaClientHandle,
270
+ sceneObjectId: number
271
+ ]): string;
272
+ setVariantSelection(...args: [
273
+ handle: AquaClientHandle,
274
+ sceneObjectId: number
275
+ ]): AquaStatus;
276
+ takeAttribute(...args: [
277
+ handle: AquaClientHandle,
278
+ sceneObjectId: number,
279
+ attributeName: string,
280
+ clientSideId: bigint
281
+ ]): AquaStatus;
282
+ takeEvictedClientSideAttributeIds(...args: [handle: AquaClientHandle]): EmbindVector<bigint>;
283
+ getActiveClientSideIdsCheckSum(): number;
284
+ unlockScene(...args: [handle: AquaClientHandle]): boolean;
285
+ updateSceneExecution(...args: [
286
+ handle: AquaClientHandle,
287
+ firstInSequence: boolean
288
+ ]): AquaStatus;
289
+ takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
290
+ createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
291
+ cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
292
+ submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
293
+ terminateWorker(): void;
294
+ requestWorkerHeapSnapshots(topN: number): Promise<(string | null)[]>;
295
+ setWorkerHeapTrackingEnabled(enabled: boolean): Promise<void>;
296
+ resetWorkerHeapTracking(): Promise<void>;
297
+ }
298
+
299
+ declare type EngineMethodParameters<E extends Engine = Engine> = {
300
+ [Key in keyof E]: E[Key] extends (...args: any[]) => any ? Parameters<E[Key]> : never;
301
+ };
302
+
303
+ export declare class Lod {
304
+ #private;
305
+ readonly id: LodInit["id"];
306
+ readonly store: LodStore;
307
+ useExtSplats: boolean;
308
+ splatsExtendedData: Uint32Array<ArrayBuffer> | null;
309
+ sh1Data: Uint32Array<ArrayBuffer> | null;
310
+ sh1Max: number;
311
+ sh2Data: Uint32Array<ArrayBuffer> | null;
312
+ sh2Max: number;
313
+ sh3Data: Uint32Array<ArrayBuffer> | null;
314
+ sh3Max: number;
315
+ sh3ExtendedData: Uint32Array<ArrayBuffer> | null;
316
+ get key(): unknown;
317
+ set key(key: unknown);
318
+ readonly modelRoot: ModelRoot;
319
+ set splats(splats: Uint32Array<ArrayBuffer> | null);
320
+ get splats(): Uint32Array<ArrayBuffer> | null;
321
+ set bounds(bounds: Float32Array<ArrayBuffer> | null);
322
+ get bounds(): Float32Array<ArrayBuffer> | null;
323
+ /* Excluded from this release type: _boundsStreamSpace */
324
+ /* Excluded from this release type: _boundsStreamSpace */
325
+ set lodIndex(index: number);
326
+ get lodIndex(): number | null;
327
+ set paddingCount(count: number);
328
+ get paddingCount(): number;
329
+ set transform(transform: Float32Array<ArrayBuffer> | null);
330
+ get transform(): Float32Array<ArrayBuffer> | null;
331
+ setSh1(sh1Data: Uint32Array<ArrayBuffer>, sh1Max: number): void;
332
+ setSh2(sh2Data: Uint32Array<ArrayBuffer>, sh2Max: number): void;
333
+ setSh3(sh3Data: Uint32Array<ArrayBuffer>, sh3Max: number): void;
334
+ dispose(): void;
335
+ constructor({ id, modelRoot, lodStore }: LodInit);
336
+ }
337
+
338
+ export declare type LodInit = {
339
+ id: number;
340
+ modelRoot: ModelRoot;
341
+ lodStore: LodStore;
342
+ };
343
+
344
+ export declare class LodStore {
345
+ #private;
346
+ forKey(key: unknown): Lod | undefined;
347
+ forId(id: number): Lod | undefined;
348
+ setKey(key: unknown, lod: Lod): void;
349
+ setId(id: number, lod: Lod): Map<number, Lod>;
350
+ delete(lod: Lod): void;
351
+ deleteKey(key: unknown): void;
352
+ deleteId(id: number): void;
353
+ }
354
+
355
+ declare interface MainModule {
356
+ AttributeInfo: new () => AttributeInfo;
357
+ Handedness: { Right: number; Left: number };
358
+ HEAPF32: Float32Array<ArrayBuffer>;
359
+ HEAPU8: Uint8Array<ArrayBuffer>;
360
+ HEAPU32: Uint32Array<ArrayBuffer>;
361
+ MatrixOrder: { ColumnMajor: number; RowMajor: number };
362
+ SceneChangeIds: new () => SceneChangeIds;
363
+ SceneMetadata: new () => SceneMetadata;
364
+ RuntimeSettings: new () => RuntimeSettings;
365
+ SpatialFormat: new () => SpatialFormat;
366
+ StringVector: new () => StringVector;
367
+ UpAxis: { X: number; Y: number; Z: number };
368
+ ENV: Record<string, string>;
369
+
370
+ ccall(
371
+ ident: string,
372
+ returnType: string | null,
373
+ argTypes: string[],
374
+ args: unknown[],
375
+ ): number;
376
+
377
+ activatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
378
+ AllocateSceneChangesArrays(sceneChangeIds: SceneChangeIds): void;
379
+ createdObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
380
+ dataPtrView(attributeInfo: AttributeInfo): Uint32Array;
381
+ deactivatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
382
+ deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
383
+ GetAssetsAsync(handle: number, tags: StringVector): unknown[];
384
+ GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
385
+ GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
386
+ GetSceneMetadata(handle: number, metadata: SceneMetadata): { value: number };
387
+ GetName(handle: number, sceneObjectId: number): string;
388
+ HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
389
+ GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
390
+ GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
391
+ SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
392
+ SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
393
+ TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
394
+ GetActiveClientSideIdsCheckSum(): number;
395
+ TakeRenderRequired(handle: number): boolean;
396
+ modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
397
+ setMaxCacheSize(maxSizeBytes: number): void;
398
+ }
399
+
400
+ /**
401
+ * The main Miris application.
402
+ *
403
+ * @remarks
404
+ * This class is initialized asynchronously, so synchronous operations may
405
+ * fail if Miris is not ready. To ensure Miris is ready, await `miris.ready`
406
+ * or get `miris.pending`.
407
+ */
408
+ export declare class Miris {
409
+ #private;
410
+ static _instance: Miris;
411
+ static instance<T extends typeof Miris>(this: T): Promise<InstanceType<T>>;
412
+ readonly engine: Engine;
413
+ readonly ready: Promise<this>;
414
+ readonly pending: boolean;
415
+ get sharedContext(): number | undefined;
416
+ get viewerKey(): string | null | undefined;
417
+ set viewerKey(viewerKey: string | null | undefined);
418
+ get scenes(): Set<Scene>;
419
+ constructor();
420
+ dispose(): void;
421
+ updateParentedTransform(_modelTransform: Float32Array<ArrayBuffer>, _parentTransform: Float32Array<ArrayBuffer>): Float32Array<ArrayBuffer> | undefined;
422
+ /* Excluded from this release type: _setXRModeActive */
423
+ /* Excluded from this release type: _update */
424
+ getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
425
+ getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
426
+ update(): boolean;
427
+ applyChanges(_entries: Change[]): void;
428
+ _computeAdditionalRenderNeeded(): boolean;
429
+ onColorSpaceDetected(_isLinear: boolean): void;
430
+ add(scene: Scene): void;
431
+ delete(scene: Scene): void;
432
+ }
433
+
434
+ export declare class ModelRoot {
435
+ #private;
436
+ static forKey(key: unknown): ModelRoot | undefined;
437
+ static forId(id: number): ModelRoot | undefined;
438
+ readonly id: ModelRootInit["id"];
439
+ get key(): unknown;
440
+ set key(key: unknown);
441
+ get lods(): Set<Lod>;
442
+ set transform(transform: Float32Array<ArrayBuffer>);
443
+ get transform(): Float32Array<ArrayBuffer>;
444
+ readonly stream: Stream;
445
+ constructor({ id, stream }: ModelRootInit);
446
+ add(lod: Lod): void;
447
+ dispose(): void;
448
+ }
449
+
450
+ export declare type ModelRootInit = {
451
+ id: number;
452
+ stream: Stream;
453
+ };
454
+
455
+ declare interface RuntimeSettings extends EmbindObject {
456
+ maxBandwidthBitsPerSecond: number;
457
+ maxConcurrentRequests: number;
458
+ targetFramesPerSecond: number;
459
+ xrModeActive: boolean;
460
+ }
461
+
462
+ export declare class Scene extends EventTarget {
463
+ #private;
464
+ get camera(): Camera | null;
465
+ set camera(camera: Camera | null);
466
+ static forId(id: number): Scene | undefined;
467
+ static forKey(key: unknown): Scene | undefined;
468
+ readonly id: number;
469
+ get key(): unknown;
470
+ set key(key: unknown);
471
+ get viewerKey(): string | null;
472
+ set viewerKey(viewerKey: string | null);
473
+ get streams(): Set<Stream>;
474
+ get lods(): LodStore;
475
+ readonly miris: Miris;
476
+ readonly engine: Engine;
477
+ readonly client: Client;
478
+ readonly handle?: number;
479
+ constructor({ miris, viewerKey }: SceneInit);
480
+ dispose(): void;
481
+ fetchAssets(tags?: string | Iterable<string>): Promise<{
482
+ name: string;
483
+ thumbnailUrl: string;
484
+ uuid: string;
485
+ tags: string[];
486
+ }[]>;
487
+ getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
488
+ add(stream: Stream): void;
489
+ getStreamForId(streamObjectId: number): Stream | undefined;
490
+ getStreamForDescendentId(descendentObjectId: number): Stream | null;
491
+ getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
492
+ /* Excluded from this release type: _getDrMap */
493
+ /* Excluded from this release type: _onFeatureData */
494
+ /* Excluded from this release type: _onSceneLoaded */
495
+ delete(stream: Stream): void;
496
+ close(): void;
497
+ }
498
+
499
+ declare interface SceneChangeIds extends EmbindObject {
500
+ readonly createdObjectsCount: number;
501
+ readonly activatedObjectsCount: number;
502
+ readonly modifiedObjectsCount: number;
503
+ readonly deactivatedObjectsCount: number;
504
+ readonly deletedObjectsCount: number;
505
+ }
506
+
507
+ export declare type SceneInit = {
508
+ miris: Miris;
509
+ viewerKey?: string | null;
510
+ };
511
+
512
+ declare interface SceneMetadata extends EmbindObject {
513
+ readonly inputColorSpace: string;
514
+ }
515
+
516
+ declare interface SpatialFormat extends EmbindObject {
517
+ metersPerUnit: number;
518
+ upAxis: number;
519
+ matrixOrder: number;
520
+ handedness: number;
521
+ }
522
+
523
+ export declare class Stream extends EventTarget {
524
+ #private;
525
+ static readonly _idMap: Map<number, Stream>;
526
+ static readonly _keyMap: Map<unknown, Stream>;
527
+ static forId(id?: number): Stream | undefined;
528
+ static forKey(key: unknown): Stream | undefined;
529
+ readonly id: number;
530
+ readonly scene: Scene;
531
+ readonly miris: Miris;
532
+ readonly client: Client;
533
+ readonly engine: Engine;
534
+ /* Excluded from this release type: _addVariantCollection */
535
+ /* Excluded from this release type: _findAndAddToVariantSet */
536
+ /* Excluded from this release type: _addVariant */
537
+ /* Excluded from this release type: _exportVariantHierarchies */
538
+ /* Excluded from this release type: _setVariantSelection */
539
+ get key(): unknown;
540
+ set key(key: unknown);
541
+ get matrix(): Matrix4x4Tuple;
542
+ set matrix(matrix: Matrix4x4Tuple);
543
+ get boundingBox(): {
544
+ min: {
545
+ x: number;
546
+ y: number;
547
+ z: number;
548
+ };
549
+ max: {
550
+ x: number;
551
+ y: number;
552
+ z: number;
553
+ };
554
+ size: {
555
+ x: number;
556
+ y: number;
557
+ z: number;
558
+ };
559
+ center: {
560
+ x: number;
561
+ y: number;
562
+ z: number;
563
+ };
564
+ } | undefined;
565
+ get modelRoots(): Set<ModelRoot>;
566
+ /**
567
+ * @deprecated Use `modelRoots` instead.
568
+ */
569
+ get chunks(): Set<ModelRoot>;
570
+ constructor(options: StreamInit);
571
+ _initStream({ uuid }: StreamInit): void;
572
+ /* Excluded from this release type: _onStreamLoaded */
573
+ /* Excluded from this release type: _onRootLoaded */
574
+ add(modelRoot: ModelRoot): void;
575
+ end(): void;
576
+ }
577
+
578
+ export declare type StreamInit = {
579
+ uuid: string;
580
+ scene: Scene;
581
+ authToken?: string;
582
+ drmKey?: string;
583
+ };
584
+
585
+ declare type StringVector = EmbindVector<string>;
586
+
587
+ /** Recursive variant tree node from WASM. */
588
+ export declare type VariantNode = {
589
+ id: number;
590
+ name?: string;
591
+ type?: string;
592
+ children?: VariantNode[];
593
+ options?: VariantNode[];
594
+ nestedSets?: VariantNode[];
595
+ };
596
+
597
+ export { }