@miris-inc/core 0.0.8-c1ee724 → 0.0.8-c223241

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/AquaApi.wasm CHANGED
Binary file
Binary file
package/dist/core.d.ts CHANGED
@@ -1,3 +1,8 @@
1
+ export declare const AssetFormat: {
2
+ readonly GaussianSplats: 1;
3
+ readonly GES: 2;
4
+ };
5
+
1
6
  declare interface AttributeInfo extends EmbindObject {
2
7
  readonly dataType: number;
3
8
  readonly componentCount: number;
@@ -7,10 +12,36 @@ declare interface AttributeInfo extends EmbindObject {
7
12
  readonly maxValue: { x: number; y: number; z: number };
8
13
  }
9
14
 
15
+ export declare class AttributeNames {
16
+ static readonly SPARK_PACKED_SPLAT: string;
17
+ static readonly SPARK_EXTENDED_SPLAT_LOW: string;
18
+ static readonly SPARK_EXTENDED_SPLAT_HIGH: string;
19
+ static readonly SPARK_PACKED_SH1: string;
20
+ static readonly SPARK_PACKED_SH2: string;
21
+ static readonly SPARK_PACKED_SH3: string;
22
+ static readonly SPARK_EXTENDED_SH1: string;
23
+ static readonly SPARK_EXTENDED_SH2: string;
24
+ static readonly SPARK_EXTENDED_SH3_A: string;
25
+ static readonly SPARK_EXTENDED_SH3_B: string;
26
+ static readonly UNUSED: string;
27
+ static readonly SHARK_ELLIPSOIDS: string;
28
+ static readonly SHARK_ELLIPSOIDS_COMPRESSED: string;
29
+ static readonly SHARK_SPHERICAL_HARMONICS: string;
30
+ static readonly COLOR: string;
31
+ static readonly OCTANT_OFFSETS: string;
32
+ }
33
+
34
+ declare type CachedAttribute = {
35
+ paddedData: Uint32Array<ArrayBuffer>;
36
+ originalSizeInUints: number;
37
+ };
38
+
10
39
  export declare class Camera {
11
40
  #private;
12
41
  readonly id: number;
13
42
  update(): void;
43
+ get viewportHeight(): number;
44
+ set viewportHeight(viewportHeight: number);
14
45
  get aspect(): number;
15
46
  set aspect(aspect: number);
16
47
  get fov(): number;
@@ -24,7 +55,7 @@ export declare class Camera {
24
55
  readonly engine: Engine;
25
56
  readonly miris: Miris;
26
57
  readonly scene: Scene;
27
- constructor({ aspect, fov, near, far, matrix, scene }: CameraInit);
58
+ constructor({ aspect, fov, near, far, matrix, scene, viewportHeight, }: CameraInit);
28
59
  }
29
60
 
30
61
  export declare type CameraInit = {
@@ -34,6 +65,7 @@ export declare type CameraInit = {
34
65
  far: number;
35
66
  matrix: Matrix4x4Tuple;
36
67
  scene: Scene;
68
+ viewportHeight?: number;
37
69
  };
38
70
 
39
71
  export declare class Change {
@@ -43,7 +75,7 @@ export declare class Change {
43
75
  }
44
76
 
45
77
  export declare type ChangeInit = {
46
- type: "created" | "activated" | "modified" | "deactivated" | "deleted";
78
+ type: "created" | "activated" | "modified" | "deactivated" | "deleted" | "remasked";
47
79
  lod: Lod;
48
80
  };
49
81
 
@@ -60,6 +92,7 @@ declare class Client {
60
92
  getAssetsAsync(...args: ClientMethodParameters["getAssetsAsync"]): AssetInfo[];
61
93
  getAttribute(...args: ClientMethodParameters["getAttribute"]): AquaStatus;
62
94
  getDefaultCameraId(...args: ClientMethodParameters["getDefaultCameraId"]): number;
95
+ getViewingVolumeId(...args: ClientMethodParameters["getViewingVolumeId"]): number;
63
96
  getLocalBoundingBox(...args: ClientMethodParameters["getLocalBoundingBox"]): AquaStatus;
64
97
  getWorldBoundingBox(...args: ClientMethodParameters["getWorldBoundingBox"]): AquaStatus;
65
98
  getLodIndex(...args: ClientMethodParameters["getLodIndex"]): number;
@@ -68,6 +101,7 @@ declare class Client {
68
101
  getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
69
102
  getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
70
103
  getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
104
+ getDrawnOctantMask(...args: ClientMethodParameters["getDrawnOctantMask"]): number;
71
105
  getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
72
106
  getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
73
107
  hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
@@ -83,6 +117,7 @@ declare class Client {
83
117
  hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
84
118
  getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
85
119
  getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
120
+ getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
86
121
  getName(...args: ClientMethodParameters["getName"]): string;
87
122
  setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
88
123
  takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
@@ -139,6 +174,8 @@ declare class Engine {
139
174
  };
140
175
  static Feature: {
141
176
  readonly DrMap: 0;
177
+ readonly ReflMesh: 1;
178
+ readonly GlassMesh: 2;
142
179
  };
143
180
  static FeatureState: {
144
181
  readonly NotLoaded: 0;
@@ -186,6 +223,8 @@ declare class Engine {
186
223
  deletedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
187
224
  dataPtrView(...args: [attributeInfo: AttributeInfo]): Uint32Array;
188
225
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
226
+ remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
227
+ getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
189
228
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
190
229
  free(...args: [size: number]): number;
191
230
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -195,7 +234,8 @@ declare class Engine {
195
234
  attributeName: string,
196
235
  attributeInfo: AttributeInfo
197
236
  ]): AquaStatus;
198
- getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
237
+ getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
238
+ getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
199
239
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
200
240
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
201
241
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -244,19 +284,18 @@ declare class Engine {
244
284
  removeStream(...args: [handle: AquaClientHandle, streamObjectId: number]): boolean;
245
285
  setAssetViewerKey(...args: [handle: AquaClientHandle, key: string]): AquaStatus;
246
286
  setClientSpatialFormat(...args: [handle: AquaClientHandle, spatialFormat: SpatialFormat]): AquaStatus;
247
- setRuntimeSettings(...args: [
248
- handle: AquaClientHandle,
249
- settings: RuntimeSettings
250
- ]): AquaStatus;
287
+ setRuntimeSettings(...args: [handle: AquaClientHandle, settings: RuntimeSettings]): AquaStatus;
251
288
  setMainCameraTransform(...args: [handle: AquaClientHandle, cameraTransform: number]): AquaStatus;
252
289
  setMainCameraViewFrustum(...args: [
253
290
  handle: AquaClientHandle,
254
291
  aspectRatio: number,
255
292
  verticalFov: number,
256
293
  nearPlane: number,
257
- farPlane: number
294
+ farPlane: number,
295
+ viewportHeightPixels: number
258
296
  ]): AquaStatus;
259
297
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
298
+ setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
260
299
  setSceneObjectTransform(...args: [
261
300
  handle: AquaClientHandle,
262
301
  sceneObjectId: number,
@@ -265,14 +304,9 @@ declare class Engine {
265
304
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
266
305
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
267
306
  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;
307
+ getAssetFormatVersion(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
308
+ getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
309
+ setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
276
310
  takeAttribute(...args: [
277
311
  handle: AquaClientHandle,
278
312
  sceneObjectId: number,
@@ -282,11 +316,16 @@ declare class Engine {
282
316
  takeEvictedClientSideAttributeIds(...args: [handle: AquaClientHandle]): EmbindVector<bigint>;
283
317
  getActiveClientSideIdsCheckSum(): number;
284
318
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
285
- updateSceneExecution(...args: [
286
- handle: AquaClientHandle,
287
- firstInSequence: boolean
288
- ]): AquaStatus;
319
+ updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
289
320
  takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
321
+ /**
322
+ * Advances the runtime by one frame and recomputes the streaming budget. Call once per
323
+ * displayed frame per context, before the per-client updateSceneExecution() calls.
324
+ * `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
325
+ * measurement (first frame, or a resume from a stall) and the frame advances without recording
326
+ * one.
327
+ */
328
+ beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
290
329
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
291
330
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
292
331
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -304,41 +343,46 @@ export declare class Lod {
304
343
  #private;
305
344
  readonly id: LodInit["id"];
306
345
  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
346
  get key(): unknown;
317
347
  set key(key: unknown);
318
348
  readonly modelRoot: ModelRoot;
319
- set splats(splats: Uint32Array<ArrayBuffer> | null);
320
- get splats(): Uint32Array<ArrayBuffer> | null;
321
349
  set bounds(bounds: Float32Array<ArrayBuffer> | null);
350
+ /**
351
+ * Retrieves the cached world bounds of this object
352
+ *
353
+ * @deprecated Retrieve the local bounds and transform as needed
354
+ */
322
355
  get bounds(): Float32Array<ArrayBuffer> | null;
323
- /* Excluded from this release type: _boundsStreamSpace */
324
- /* Excluded from this release type: _boundsStreamSpace */
356
+ /**
357
+ * Sets the local bounds of this lod
358
+ */
359
+ set localBounds(bounds: Float32Array<ArrayBuffer> | null);
360
+ /**
361
+ * Retrieves the local bounds of this lod
362
+ */
363
+ get localBounds(): Float32Array<ArrayBuffer> | null;
325
364
  set lodIndex(index: number);
326
365
  get lodIndex(): number | null;
327
- set paddingCount(count: number);
328
- get paddingCount(): number;
366
+ set paddingSplatsCount(count: number);
367
+ get paddingSplatsCount(): number;
329
368
  set transform(transform: Float32Array<ArrayBuffer> | null);
330
369
  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;
370
+ get _drawnOctantMask(): number;
371
+ set _drawnOctantMask(mask: number);
372
+ get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
373
+ get _hasOctantOffsets(): boolean;
374
+ _readOctantOffsets(engine: Engine): void;
375
+ hasAttribute(attributeName: string): boolean;
376
+ getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
334
377
  dispose(): void;
335
- constructor({ id, modelRoot, lodStore }: LodInit);
378
+ constructor({ id, modelRoot, lodStore, client }: LodInit);
336
379
  }
337
380
 
338
381
  export declare type LodInit = {
339
382
  id: number;
340
383
  modelRoot: ModelRoot;
341
384
  lodStore: LodStore;
385
+ client: Client;
342
386
  };
343
387
 
344
388
  export declare class LodStore {
@@ -379,7 +423,9 @@ declare interface MainModule {
379
423
  createdObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
380
424
  dataPtrView(attributeInfo: AttributeInfo): Uint32Array;
381
425
  deactivatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
426
+ remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
382
427
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
428
+ GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
383
429
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
384
430
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
385
431
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -388,13 +434,16 @@ declare interface MainModule {
388
434
  HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
389
435
  GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
390
436
  GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
437
+ GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
391
438
  SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
392
439
  SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
393
440
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
394
441
  GetActiveClientSideIdsCheckSum(): number;
395
442
  TakeRenderRequired(handle: number): boolean;
443
+ BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
396
444
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
397
445
  setMaxCacheSize(maxSizeBytes: number): void;
446
+ SetPreferSharkEncodingProfiles(prefer: boolean): void;
398
447
  }
399
448
 
400
449
  /**
@@ -407,6 +456,7 @@ declare interface MainModule {
407
456
  */
408
457
  export declare class Miris {
409
458
  #private;
459
+ static tryUseShark: boolean;
410
460
  static _instance: Miris;
411
461
  static instance<T extends typeof Miris>(this: T): Promise<InstanceType<T>>;
412
462
  readonly engine: Engine;
@@ -416,14 +466,35 @@ export declare class Miris {
416
466
  get viewerKey(): string | null | undefined;
417
467
  set viewerKey(viewerKey: string | null | undefined);
418
468
  get scenes(): Set<Scene>;
469
+ get useSphericalHarmonics(): boolean;
470
+ set useSphericalHarmonics(value: boolean);
419
471
  constructor();
420
472
  dispose(): void;
421
473
  updateParentedTransform(_modelTransform: Float32Array<ArrayBuffer>, _parentTransform: Float32Array<ArrayBuffer>): Float32Array<ArrayBuffer> | undefined;
474
+ protected _xrModeActive: boolean;
475
+ protected _xrSession: XRSession | null;
476
+ protected _requestAnimationFrame: RequestAnimationFrameFn | null;
477
+ signalResumeFromIdle(): void;
478
+ get _splatCountBudget(): number;
479
+ /**
480
+ * Why 43? Because the AVP throttles down to 45Hz :(
481
+ */
482
+ static readonly _XR_TARGET_FRAME_RATE = 43;
483
+ /* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
484
+ /* Excluded from this release type: _SHARK_SPLAT_CAPACITY_MOBILE */
485
+ static readonly _SHARK_SPLAT_CAPACITY_DESKTOP = 3000000;
486
+ /* Excluded from this release type: _SHARK_SPLAT_BUDGET_CAP_MOBILE */
487
+ static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2500000;
488
+ /* Excluded from this release type: _isMobileDevice */
489
+ /* Excluded from this release type: _sharkSplatCapacity */
490
+ /* Excluded from this release type: _sharkSplatBudgetCap */
491
+ /* Excluded from this release type: _setTargetFrameRate */
422
492
  /* Excluded from this release type: _setXRModeActive */
493
+ /* Excluded from this release type: _setSplatCountBudgetOverride */
423
494
  /* Excluded from this release type: _update */
424
495
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
425
496
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
426
- update(): boolean;
497
+ /* Excluded from this release type: _updateForScene */
427
498
  applyChanges(_entries: Change[]): void;
428
499
  _computeAdditionalRenderNeeded(): boolean;
429
500
  onColorSpaceDetected(_isLinear: boolean): void;
@@ -452,11 +523,15 @@ export declare type ModelRootInit = {
452
523
  stream: Stream;
453
524
  };
454
525
 
526
+ declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
527
+
455
528
  declare interface RuntimeSettings extends EmbindObject {
456
529
  maxBandwidthBitsPerSecond: number;
457
530
  maxConcurrentRequests: number;
458
531
  targetFramesPerSecond: number;
459
532
  xrModeActive: boolean;
533
+ splatCountBudget: number;
534
+ splatCountBudgetCap: number;
460
535
  }
461
536
 
462
537
  export declare class Scene extends EventTarget {
@@ -468,6 +543,7 @@ export declare class Scene extends EventTarget {
468
543
  readonly id: number;
469
544
  get key(): unknown;
470
545
  set key(key: unknown);
546
+ /* Excluded from this release type: _assetFormat */
471
547
  get viewerKey(): string | null;
472
548
  set viewerKey(viewerKey: string | null);
473
549
  get streams(): Set<Stream>;
@@ -477,6 +553,18 @@ export declare class Scene extends EventTarget {
477
553
  readonly client: Client;
478
554
  readonly handle?: number;
479
555
  constructor({ miris, viewerKey }: SceneInit);
556
+ /**
557
+ * Drives a frame and answers whether *this* scene's canvas needs repainting. Call it once per
558
+ * displayed frame from the host's animation loop, and render when it returns true.
559
+ *
560
+ * Every scene on the page calls this from its own loop. The first call in a displayed frame
561
+ * drives one engine tick for all of them; the rest recognise the frame and reuse it.
562
+ *
563
+ * @param ts the host's frame timestamp. Optional - the document timeline supplies one, and it
564
+ * reads the same for every scene in a displayed frame. Pass it when the host runs its own
565
+ * clock, as an immersive XR session does, because XRFrame time is not the document timeline.
566
+ */
567
+ update(ts?: DOMHighResTimeStamp): boolean;
480
568
  dispose(): void;
481
569
  fetchAssets(tags?: string | Iterable<string>): Promise<{
482
570
  name: string;
@@ -484,11 +572,12 @@ export declare class Scene extends EventTarget {
484
572
  uuid: string;
485
573
  tags: string[];
486
574
  }[]>;
487
- getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
488
575
  add(stream: Stream): void;
489
576
  getStreamForId(streamObjectId: number): Stream | undefined;
490
577
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
491
578
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
579
+ _recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
580
+ /* Excluded from this release type: _getFeatureMesh */
492
581
  /* Excluded from this release type: _getDrMap */
493
582
  /* Excluded from this release type: _onFeatureData */
494
583
  /* Excluded from this release type: _onSceneLoaded */
@@ -502,6 +591,7 @@ declare interface SceneChangeIds extends EmbindObject {
502
591
  readonly modifiedObjectsCount: number;
503
592
  readonly deactivatedObjectsCount: number;
504
593
  readonly deletedObjectsCount: number;
594
+ readonly remaskedObjectsCount: number;
505
595
  }
506
596
 
507
597
  export declare type SceneInit = {
@@ -513,6 +603,13 @@ declare interface SceneMetadata extends EmbindObject {
513
603
  readonly inputColorSpace: string;
514
604
  }
515
605
 
606
+ declare type SparkAttributeInfo = {
607
+ elementsPerSplat: number;
608
+ discard: boolean;
609
+ };
610
+
611
+ export declare const sparkAttributeList: Record<string, SparkAttributeInfo>;
612
+
516
613
  declare interface SpatialFormat extends EmbindObject {
517
614
  metersPerUnit: number;
518
615
  upAxis: number;
@@ -540,6 +637,8 @@ export declare class Stream extends EventTarget {
540
637
  set key(key: unknown);
541
638
  get matrix(): Matrix4x4Tuple;
542
639
  set matrix(matrix: Matrix4x4Tuple);
640
+ get opacity(): number;
641
+ set opacity(opacity: number);
543
642
  get boundingBox(): {
544
643
  min: {
545
644
  x: number;
@@ -570,6 +669,8 @@ export declare class Stream extends EventTarget {
570
669
  constructor(options: StreamInit);
571
670
  _initStream({ uuid }: StreamInit): void;
572
671
  /* Excluded from this release type: _onStreamLoaded */
672
+ getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
673
+ /* Excluded from this release type: _getViewingVolumeObb */
573
674
  /* Excluded from this release type: _onRootLoaded */
574
675
  add(modelRoot: ModelRoot): void;
575
676
  end(): void;