@miris-inc/core 0.0.8-dd086db → 0.0.8-dd65fc3

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,16 +1,58 @@
1
+ export declare const AssetFormat: {
2
+ readonly GaussianSplats: 1;
3
+ readonly GES: 2;
4
+ };
5
+
1
6
  declare interface AttributeInfo extends EmbindObject {
2
- readonly dataType: number;
3
- readonly componentCount: number;
4
- readonly dataPtr: number;
5
- readonly dataByteLength: number;
7
+ // Logical elements from the drop metadata: splats for a per-splat attribute, records for a
8
+ // per-surfel one. Not necessarily dataSizeBytes / bytesPerElement.
9
+ readonly elementCount: number;
10
+ readonly dataSizeBytes: number;
6
11
  readonly clientSideId: bigint;
12
+ // An embind CompressionType value, compared by identity against MainModule.CompressionType
13
+ readonly compressionType: unknown;
14
+ readonly minValue: { x: number; y: number; z: number; w: number };
7
15
  readonly maxValue: { x: number; y: number; z: number };
8
16
  }
9
17
 
18
+ export declare class AttributeNames {
19
+ static readonly SPARK_PACKED_SPLAT: string;
20
+ static readonly SPARK_EXTENDED_SPLAT_LOW: string;
21
+ static readonly SPARK_EXTENDED_SPLAT_HIGH: string;
22
+ static readonly SPARK_PACKED_SH1: string;
23
+ static readonly SPARK_PACKED_SH2: string;
24
+ static readonly SPARK_PACKED_SH3: string;
25
+ static readonly SPARK_EXTENDED_SH1: string;
26
+ static readonly SPARK_EXTENDED_SH2: string;
27
+ static readonly SPARK_EXTENDED_SH3_A: string;
28
+ static readonly SPARK_EXTENDED_SH3_B: string;
29
+ static readonly UNUSED: string;
30
+ static readonly SHARK_ELLIPSOIDS: string;
31
+ static readonly SHARK_ELLIPSOIDS_COMPRESSED: string;
32
+ static readonly SHARK_SPHERICAL_HARMONICS: string;
33
+ static readonly COLOR: string;
34
+ static readonly OCTANT_OFFSETS: string;
35
+ static readonly SURFEL_OCTANT_OFFSETS: string;
36
+ static readonly SURFEL_COUNT: string;
37
+ static readonly SURFEL_OWNER_GROUPS: string;
38
+ static readonly OCTANT_CELL: string;
39
+ static readonly REFLECTANCE_DATA_V1: string;
40
+ static readonly GLASS_MESH_GEOMETRY: string;
41
+ static readonly GLASS_MESH_PANELS: string;
42
+ static readonly MOD_DEPTH: string;
43
+ }
44
+
45
+ declare type CachedAttribute = {
46
+ paddedData: Uint32Array<ArrayBuffer>;
47
+ originalSizeInUints: number;
48
+ };
49
+
10
50
  export declare class Camera {
11
51
  #private;
12
52
  readonly id: number;
13
53
  update(): void;
54
+ get viewportHeight(): number;
55
+ set viewportHeight(viewportHeight: number);
14
56
  get aspect(): number;
15
57
  set aspect(aspect: number);
16
58
  get fov(): number;
@@ -24,7 +66,7 @@ export declare class Camera {
24
66
  readonly engine: Engine;
25
67
  readonly miris: Miris;
26
68
  readonly scene: Scene;
27
- constructor({ aspect, fov, near, far, matrix, scene }: CameraInit);
69
+ constructor({ aspect, fov, near, far, matrix, scene, viewportHeight, }: CameraInit);
28
70
  }
29
71
 
30
72
  export declare type CameraInit = {
@@ -34,6 +76,7 @@ export declare type CameraInit = {
34
76
  far: number;
35
77
  matrix: Matrix4x4Tuple;
36
78
  scene: Scene;
79
+ viewportHeight?: number;
37
80
  };
38
81
 
39
82
  export declare class Change {
@@ -43,7 +86,7 @@ export declare class Change {
43
86
  }
44
87
 
45
88
  export declare type ChangeInit = {
46
- type: "created" | "activated" | "modified" | "deactivated" | "deleted";
89
+ type: "created" | "activated" | "modified" | "deactivated" | "deleted" | "remasked";
47
90
  lod: Lod;
48
91
  };
49
92
 
@@ -69,6 +112,7 @@ declare class Client {
69
112
  getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
70
113
  getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
71
114
  getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
115
+ getDrawnOctantMask(...args: ClientMethodParameters["getDrawnOctantMask"]): number;
72
116
  getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
73
117
  getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
74
118
  hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
@@ -84,6 +128,8 @@ declare class Client {
84
128
  hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
85
129
  getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
86
130
  getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
131
+ getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
132
+ getDrMapLadderRoughnessLevels(...args: ClientMethodParameters["getDrMapLadderRoughnessLevels"]): number[];
87
133
  getName(...args: ClientMethodParameters["getName"]): string;
88
134
  setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
89
135
  takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
@@ -91,7 +137,6 @@ declare class Client {
91
137
  takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
92
138
  unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
93
139
  updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
94
- recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
95
140
  }
96
141
 
97
142
  declare type ClientInit = {
@@ -155,6 +200,10 @@ declare class Engine {
155
200
  get module(): MainModule;
156
201
  constructor(moduleOptions?: Record<string, unknown>);
157
202
  get AttributeInfo(): new () => AttributeInfo;
203
+ get CompressionType(): {
204
+ SHARK_ELLIPSOID_COMPRESSED: unknown;
205
+ SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE: unknown;
206
+ };
158
207
  get Handedness(): {
159
208
  Right: number;
160
209
  Left: number;
@@ -190,6 +239,8 @@ declare class Engine {
190
239
  deletedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
191
240
  dataPtrView(...args: [attributeInfo: AttributeInfo]): Uint32Array;
192
241
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
242
+ remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
243
+ getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
193
244
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
194
245
  free(...args: [size: number]): number;
195
246
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -199,8 +250,8 @@ declare class Engine {
199
250
  attributeName: string,
200
251
  attributeInfo: AttributeInfo
201
252
  ]): AquaStatus;
202
- getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
203
- getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
253
+ getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
254
+ getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
204
255
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
205
256
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
206
257
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -256,9 +307,11 @@ declare class Engine {
256
307
  aspectRatio: number,
257
308
  verticalFov: number,
258
309
  nearPlane: number,
259
- farPlane: number
310
+ farPlane: number,
311
+ viewportHeightPixels: number
260
312
  ]): AquaStatus;
261
313
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
314
+ setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
262
315
  setSceneObjectTransform(...args: [
263
316
  handle: AquaClientHandle,
264
317
  sceneObjectId: number,
@@ -267,6 +320,8 @@ declare class Engine {
267
320
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
268
321
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
269
322
  getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
323
+ getDrMapLadderRoughnessLevels(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
324
+ getAssetFormatVersion(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
270
325
  getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
271
326
  setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
272
327
  takeAttribute(...args: [
@@ -279,8 +334,15 @@ declare class Engine {
279
334
  getActiveClientSideIdsCheckSum(): number;
280
335
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
281
336
  updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
282
- recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
283
337
  takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
338
+ /**
339
+ * Advances the runtime by one frame and recomputes the streaming budget. Call once per
340
+ * displayed frame per context, before the per-client updateSceneExecution() calls.
341
+ * `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
342
+ * measurement (first frame, or a resume from a stall) and the frame advances without recording
343
+ * one.
344
+ */
345
+ beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
284
346
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
285
347
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
286
348
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -298,25 +360,9 @@ export declare class Lod {
298
360
  #private;
299
361
  readonly id: LodInit["id"];
300
362
  readonly store: LodStore;
301
- useExtSplats: boolean;
302
- splatsExtendedData: Uint32Array<ArrayBuffer> | null;
303
- sh1Data: Uint32Array<ArrayBuffer> | null;
304
- sh1Max: number;
305
- sh2Data: Uint32Array<ArrayBuffer> | null;
306
- sh2Max: number;
307
- sh3Data: Uint32Array<ArrayBuffer> | null;
308
- sh3Max: number;
309
- sh3ExtendedData: Uint32Array<ArrayBuffer> | null;
310
363
  get key(): unknown;
311
364
  set key(key: unknown);
312
365
  readonly modelRoot: ModelRoot;
313
- set splats(splats: Uint32Array<ArrayBuffer> | null);
314
- get splats(): Uint32Array<ArrayBuffer> | null;
315
- /**
316
- * Sets the cached world bounds of this object
317
- *
318
- * @deprecated set the local bounds and transform as needed
319
- */
320
366
  set bounds(bounds: Float32Array<ArrayBuffer> | null);
321
367
  /**
322
368
  * Retrieves the cached world bounds of this object
@@ -334,21 +380,32 @@ export declare class Lod {
334
380
  get localBounds(): Float32Array<ArrayBuffer> | null;
335
381
  set lodIndex(index: number);
336
382
  get lodIndex(): number | null;
337
- set paddingCount(count: number);
338
- get paddingCount(): number;
383
+ set paddingSplatsCount(count: number);
384
+ get paddingSplatsCount(): number;
339
385
  set transform(transform: Float32Array<ArrayBuffer> | null);
340
386
  get transform(): Float32Array<ArrayBuffer> | null;
341
- setSh1(sh1Data: Uint32Array<ArrayBuffer>, sh1Max: number): void;
342
- setSh2(sh2Data: Uint32Array<ArrayBuffer>, sh2Max: number): void;
343
- setSh3(sh3Data: Uint32Array<ArrayBuffer>, sh3Max: number): void;
387
+ get _drawnOctantMask(): number;
388
+ set _drawnOctantMask(mask: number);
389
+ get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
390
+ get _hasOctantOffsets(): boolean;
391
+ get _surfelOctantOffsets(): Uint32Array<ArrayBuffer> | null;
392
+ get _surfelCount(): number;
393
+ get _surfelOwnerGroups(): Uint32Array<ArrayBuffer> | null;
394
+ get _octantCell(): Uint32Array<ArrayBuffer> | null;
395
+ _readOctantOffsets(engine: Engine): void;
396
+ hasAttribute(attributeName: string): boolean;
397
+ getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
398
+ _getRawByteAttribute(engine: Engine, attributeName: string): Uint8Array<ArrayBuffer> | null;
399
+ _getRawByteAttributeWithBounds(engine: Engine, attributeName: string): RawByteAttributeWithBounds | null;
344
400
  dispose(): void;
345
- constructor({ id, modelRoot, lodStore }: LodInit);
401
+ constructor({ id, modelRoot, lodStore, client }: LodInit);
346
402
  }
347
403
 
348
404
  export declare type LodInit = {
349
405
  id: number;
350
406
  modelRoot: ModelRoot;
351
407
  lodStore: LodStore;
408
+ client: Client;
352
409
  };
353
410
 
354
411
  export declare class LodStore {
@@ -364,6 +421,10 @@ export declare class LodStore {
364
421
 
365
422
  declare interface MainModule {
366
423
  AttributeInfo: new () => AttributeInfo;
424
+ CompressionType: {
425
+ SHARK_ELLIPSOID_COMPRESSED: unknown;
426
+ SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE: unknown;
427
+ };
367
428
  Handedness: { Right: number; Left: number };
368
429
  HEAPF32: Float32Array<ArrayBuffer>;
369
430
  HEAPU8: Uint8Array<ArrayBuffer>;
@@ -389,7 +450,9 @@ declare interface MainModule {
389
450
  createdObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
390
451
  dataPtrView(attributeInfo: AttributeInfo): Uint32Array;
391
452
  deactivatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
453
+ remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
392
454
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
455
+ GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
393
456
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
394
457
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
395
458
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -398,13 +461,17 @@ declare interface MainModule {
398
461
  HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
399
462
  GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
400
463
  GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
464
+ GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
465
+ GetDrMapLadderRoughnessLevels(handle: number, sceneObjectId: number): number[];
401
466
  SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
402
467
  SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
403
468
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
404
469
  GetActiveClientSideIdsCheckSum(): number;
405
470
  TakeRenderRequired(handle: number): boolean;
471
+ BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
406
472
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
407
473
  setMaxCacheSize(maxSizeBytes: number): void;
474
+ SetPreferSharkEncodingProfiles(prefer: boolean): void;
408
475
  }
409
476
 
410
477
  /**
@@ -417,6 +484,7 @@ declare interface MainModule {
417
484
  */
418
485
  export declare class Miris {
419
486
  #private;
487
+ static tryUseShark: boolean;
420
488
  static _instance: Miris;
421
489
  static instance<T extends typeof Miris>(this: T): Promise<InstanceType<T>>;
422
490
  readonly engine: Engine;
@@ -435,17 +503,27 @@ export declare class Miris {
435
503
  protected _xrSession: XRSession | null;
436
504
  protected _requestAnimationFrame: RequestAnimationFrameFn | null;
437
505
  signalResumeFromIdle(): void;
506
+ get _splatCountBudget(): number;
438
507
  /**
439
508
  * Why 43? Because the AVP throttles down to 45Hz :(
440
509
  */
441
510
  static readonly _XR_TARGET_FRAME_RATE = 43;
511
+ /* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
512
+ /* Excluded from this release type: _SHARK_SPLAT_CAPACITY_MOBILE */
513
+ static readonly _SHARK_SPLAT_CAPACITY_DESKTOP = 3000000;
514
+ /* Excluded from this release type: _SHARK_SPLAT_BUDGET_CAP_MOBILE */
515
+ static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2500000;
516
+ /* Excluded from this release type: _isMobileDevice */
517
+ /* Excluded from this release type: _sharkSplatCapacity */
518
+ /* Excluded from this release type: _limitSharkSplatCapacity */
519
+ /* Excluded from this release type: _sharkSplatBudgetCap */
442
520
  /* Excluded from this release type: _setTargetFrameRate */
443
521
  /* Excluded from this release type: _setXRModeActive */
444
522
  /* Excluded from this release type: _setSplatCountBudgetOverride */
445
523
  /* Excluded from this release type: _update */
446
524
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
447
525
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
448
- update(): boolean;
526
+ /* Excluded from this release type: _updateForScene */
449
527
  applyChanges(_entries: Change[]): void;
450
528
  _computeAdditionalRenderNeeded(): boolean;
451
529
  onColorSpaceDetected(_isLinear: boolean): void;
@@ -474,6 +552,28 @@ export declare type ModelRootInit = {
474
552
  stream: Stream;
475
553
  };
476
554
 
555
+ /**
556
+ * The byte-exact counterpart of getRawUint32Attribute above: same no-padding, no-takeAttribute
557
+ * contract, returning bytes rather than words.
558
+ *
559
+ * Use this rather than that one wherever the stride is not a whole number of words:
560
+ * reflectanceDataV1's 26-byte record is not, and an odd record count would lose that record's
561
+ * last field to dataPtrView's truncation.
562
+ */
563
+ export declare type RawByteAttributeWithBounds = {
564
+ bytes: Uint8Array<ArrayBuffer>;
565
+ minValue: {
566
+ x: number;
567
+ y: number;
568
+ z: number;
569
+ };
570
+ maxValue: {
571
+ x: number;
572
+ y: number;
573
+ z: number;
574
+ };
575
+ };
576
+
477
577
  declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
478
578
 
479
579
  declare interface RuntimeSettings extends EmbindObject {
@@ -482,6 +582,7 @@ declare interface RuntimeSettings extends EmbindObject {
482
582
  targetFramesPerSecond: number;
483
583
  xrModeActive: boolean;
484
584
  splatCountBudget: number;
585
+ splatCountBudgetCap: number;
485
586
  }
486
587
 
487
588
  export declare class Scene extends EventTarget {
@@ -493,6 +594,7 @@ export declare class Scene extends EventTarget {
493
594
  readonly id: number;
494
595
  get key(): unknown;
495
596
  set key(key: unknown);
597
+ /* Excluded from this release type: _assetFormat */
496
598
  get viewerKey(): string | null;
497
599
  set viewerKey(viewerKey: string | null);
498
600
  get streams(): Set<Stream>;
@@ -502,21 +604,33 @@ export declare class Scene extends EventTarget {
502
604
  readonly client: Client;
503
605
  readonly handle?: number;
504
606
  constructor({ miris, viewerKey }: SceneInit);
607
+ /**
608
+ * Drives a frame and answers whether *this* scene's canvas needs repainting. Call it once per
609
+ * displayed frame from the host's animation loop, and render when it returns true.
610
+ *
611
+ * Every scene on the page calls this from its own loop. The first call in a displayed frame
612
+ * drives one engine tick for all of them; the rest recognise the frame and reuse it.
613
+ *
614
+ * @param ts the host's frame timestamp. Optional - the document timeline supplies one, and it
615
+ * reads the same for every scene in a displayed frame. Pass it when the host runs its own
616
+ * clock, as an immersive XR session does, because XRFrame time is not the document timeline.
617
+ */
618
+ update(ts?: DOMHighResTimeStamp): boolean;
505
619
  dispose(): void;
506
- /* Excluded from this release type: _getViewingVolumeBounds */
507
620
  fetchAssets(tags?: string | Iterable<string>): Promise<{
508
621
  name: string;
509
622
  thumbnailUrl: string;
510
623
  uuid: string;
511
624
  tags: string[];
512
625
  }[]>;
513
- getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
514
626
  add(stream: Stream): void;
515
627
  getStreamForId(streamObjectId: number): Stream | undefined;
516
628
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
517
629
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
630
+ _recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
518
631
  /* Excluded from this release type: _getFeatureMesh */
519
632
  /* Excluded from this release type: _getDrMap */
633
+ /* Excluded from this release type: _onDrMapLadder */
520
634
  /* Excluded from this release type: _onFeatureData */
521
635
  /* Excluded from this release type: _onSceneLoaded */
522
636
  delete(stream: Stream): void;
@@ -529,6 +643,7 @@ declare interface SceneChangeIds extends EmbindObject {
529
643
  readonly modifiedObjectsCount: number;
530
644
  readonly deactivatedObjectsCount: number;
531
645
  readonly deletedObjectsCount: number;
646
+ readonly remaskedObjectsCount: number;
532
647
  }
533
648
 
534
649
  export declare type SceneInit = {
@@ -540,6 +655,13 @@ declare interface SceneMetadata extends EmbindObject {
540
655
  readonly inputColorSpace: string;
541
656
  }
542
657
 
658
+ declare type SparkAttributeInfo = {
659
+ elementsPerSplat: number;
660
+ discard: boolean;
661
+ };
662
+
663
+ export declare const sparkAttributeList: Record<string, SparkAttributeInfo>;
664
+
543
665
  declare interface SpatialFormat extends EmbindObject {
544
666
  metersPerUnit: number;
545
667
  upAxis: number;
@@ -567,6 +689,8 @@ export declare class Stream extends EventTarget {
567
689
  set key(key: unknown);
568
690
  get matrix(): Matrix4x4Tuple;
569
691
  set matrix(matrix: Matrix4x4Tuple);
692
+ get opacity(): number;
693
+ set opacity(opacity: number);
570
694
  get boundingBox(): {
571
695
  min: {
572
696
  x: number;
@@ -597,6 +721,8 @@ export declare class Stream extends EventTarget {
597
721
  constructor(options: StreamInit);
598
722
  _initStream({ uuid }: StreamInit): void;
599
723
  /* Excluded from this release type: _onStreamLoaded */
724
+ getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
725
+ /* Excluded from this release type: _getViewingVolumeObb */
600
726
  /* Excluded from this release type: _onRootLoaded */
601
727
  add(modelRoot: ModelRoot): void;
602
728
  end(): void;