@miris-inc/core 0.0.8-959f88f → 0.0.8-9b03e86

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,56 @@
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 REFLECTANCE_DATA_V1: string;
38
+ static readonly GLASS_MESH_GEOMETRY: string;
39
+ static readonly GLASS_MESH_PANELS: string;
40
+ static readonly MOD_DEPTH: string;
41
+ }
42
+
43
+ declare type CachedAttribute = {
44
+ paddedData: Uint32Array<ArrayBuffer>;
45
+ originalSizeInUints: number;
46
+ };
47
+
10
48
  export declare class Camera {
11
49
  #private;
12
50
  readonly id: number;
13
51
  update(): void;
52
+ get viewportHeight(): number;
53
+ set viewportHeight(viewportHeight: number);
14
54
  get aspect(): number;
15
55
  set aspect(aspect: number);
16
56
  get fov(): number;
@@ -24,7 +64,7 @@ export declare class Camera {
24
64
  readonly engine: Engine;
25
65
  readonly miris: Miris;
26
66
  readonly scene: Scene;
27
- constructor({ aspect, fov, near, far, matrix, scene }: CameraInit);
67
+ constructor({ aspect, fov, near, far, matrix, scene, viewportHeight, }: CameraInit);
28
68
  }
29
69
 
30
70
  export declare type CameraInit = {
@@ -34,6 +74,7 @@ export declare type CameraInit = {
34
74
  far: number;
35
75
  matrix: Matrix4x4Tuple;
36
76
  scene: Scene;
77
+ viewportHeight?: number;
37
78
  };
38
79
 
39
80
  export declare class Change {
@@ -43,7 +84,7 @@ export declare class Change {
43
84
  }
44
85
 
45
86
  export declare type ChangeInit = {
46
- type: "created" | "activated" | "modified" | "deactivated" | "deleted";
87
+ type: "created" | "activated" | "modified" | "deactivated" | "deleted" | "remasked";
47
88
  lod: Lod;
48
89
  };
49
90
 
@@ -60,6 +101,7 @@ declare class Client {
60
101
  getAssetsAsync(...args: ClientMethodParameters["getAssetsAsync"]): AssetInfo[];
61
102
  getAttribute(...args: ClientMethodParameters["getAttribute"]): AquaStatus;
62
103
  getDefaultCameraId(...args: ClientMethodParameters["getDefaultCameraId"]): number;
104
+ getViewingVolumeId(...args: ClientMethodParameters["getViewingVolumeId"]): number;
63
105
  getLocalBoundingBox(...args: ClientMethodParameters["getLocalBoundingBox"]): AquaStatus;
64
106
  getWorldBoundingBox(...args: ClientMethodParameters["getWorldBoundingBox"]): AquaStatus;
65
107
  getLodIndex(...args: ClientMethodParameters["getLodIndex"]): number;
@@ -68,6 +110,7 @@ declare class Client {
68
110
  getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
69
111
  getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
70
112
  getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
113
+ getDrawnOctantMask(...args: ClientMethodParameters["getDrawnOctantMask"]): number;
71
114
  getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
72
115
  getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
73
116
  hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
@@ -83,6 +126,8 @@ declare class Client {
83
126
  hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
84
127
  getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
85
128
  getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
129
+ getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
130
+ getDrMapLadderRoughnessLevels(...args: ClientMethodParameters["getDrMapLadderRoughnessLevels"]): number[];
86
131
  getName(...args: ClientMethodParameters["getName"]): string;
87
132
  setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
88
133
  takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
@@ -90,7 +135,6 @@ declare class Client {
90
135
  takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
91
136
  unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
92
137
  updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
93
- recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
94
138
  }
95
139
 
96
140
  declare type ClientInit = {
@@ -140,6 +184,8 @@ declare class Engine {
140
184
  };
141
185
  static Feature: {
142
186
  readonly DrMap: 0;
187
+ readonly ReflMesh: 1;
188
+ readonly GlassMesh: 2;
143
189
  };
144
190
  static FeatureState: {
145
191
  readonly NotLoaded: 0;
@@ -152,6 +198,10 @@ declare class Engine {
152
198
  get module(): MainModule;
153
199
  constructor(moduleOptions?: Record<string, unknown>);
154
200
  get AttributeInfo(): new () => AttributeInfo;
201
+ get CompressionType(): {
202
+ SHARK_ELLIPSOID_COMPRESSED: unknown;
203
+ SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE: unknown;
204
+ };
155
205
  get Handedness(): {
156
206
  Right: number;
157
207
  Left: number;
@@ -187,6 +237,8 @@ declare class Engine {
187
237
  deletedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
188
238
  dataPtrView(...args: [attributeInfo: AttributeInfo]): Uint32Array;
189
239
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
240
+ remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
241
+ getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
190
242
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
191
243
  free(...args: [size: number]): number;
192
244
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -196,7 +248,8 @@ declare class Engine {
196
248
  attributeName: string,
197
249
  attributeInfo: AttributeInfo
198
250
  ]): AquaStatus;
199
- getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
251
+ getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
252
+ getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
200
253
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
201
254
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
202
255
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -245,19 +298,18 @@ declare class Engine {
245
298
  removeStream(...args: [handle: AquaClientHandle, streamObjectId: number]): boolean;
246
299
  setAssetViewerKey(...args: [handle: AquaClientHandle, key: string]): AquaStatus;
247
300
  setClientSpatialFormat(...args: [handle: AquaClientHandle, spatialFormat: SpatialFormat]): AquaStatus;
248
- setRuntimeSettings(...args: [
249
- handle: AquaClientHandle,
250
- settings: RuntimeSettings
251
- ]): AquaStatus;
301
+ setRuntimeSettings(...args: [handle: AquaClientHandle, settings: RuntimeSettings]): AquaStatus;
252
302
  setMainCameraTransform(...args: [handle: AquaClientHandle, cameraTransform: number]): AquaStatus;
253
303
  setMainCameraViewFrustum(...args: [
254
304
  handle: AquaClientHandle,
255
305
  aspectRatio: number,
256
306
  verticalFov: number,
257
307
  nearPlane: number,
258
- farPlane: number
308
+ farPlane: number,
309
+ viewportHeightPixels: number
259
310
  ]): AquaStatus;
260
311
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
312
+ setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
261
313
  setSceneObjectTransform(...args: [
262
314
  handle: AquaClientHandle,
263
315
  sceneObjectId: number,
@@ -266,14 +318,10 @@ declare class Engine {
266
318
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
267
319
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
268
320
  getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
269
- getName(...args: [
270
- handle: AquaClientHandle,
271
- sceneObjectId: number
272
- ]): string;
273
- setVariantSelection(...args: [
274
- handle: AquaClientHandle,
275
- sceneObjectId: number
276
- ]): AquaStatus;
321
+ getDrMapLadderRoughnessLevels(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
322
+ getAssetFormatVersion(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
323
+ getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
324
+ setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
277
325
  takeAttribute(...args: [
278
326
  handle: AquaClientHandle,
279
327
  sceneObjectId: number,
@@ -284,8 +332,15 @@ declare class Engine {
284
332
  getActiveClientSideIdsCheckSum(): number;
285
333
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
286
334
  updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
287
- recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
288
335
  takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
336
+ /**
337
+ * Advances the runtime by one frame and recomputes the streaming budget. Call once per
338
+ * displayed frame per context, before the per-client updateSceneExecution() calls.
339
+ * `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
340
+ * measurement (first frame, or a resume from a stall) and the frame advances without recording
341
+ * one.
342
+ */
343
+ beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
289
344
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
290
345
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
291
346
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -303,41 +358,50 @@ export declare class Lod {
303
358
  #private;
304
359
  readonly id: LodInit["id"];
305
360
  readonly store: LodStore;
306
- useExtSplats: boolean;
307
- splatsExtendedData: Uint32Array<ArrayBuffer> | null;
308
- sh1Data: Uint32Array<ArrayBuffer> | null;
309
- sh1Max: number;
310
- sh2Data: Uint32Array<ArrayBuffer> | null;
311
- sh2Max: number;
312
- sh3Data: Uint32Array<ArrayBuffer> | null;
313
- sh3Max: number;
314
- sh3ExtendedData: Uint32Array<ArrayBuffer> | null;
315
361
  get key(): unknown;
316
362
  set key(key: unknown);
317
363
  readonly modelRoot: ModelRoot;
318
- set splats(splats: Uint32Array<ArrayBuffer> | null);
319
- get splats(): Uint32Array<ArrayBuffer> | null;
320
364
  set bounds(bounds: Float32Array<ArrayBuffer> | null);
365
+ /**
366
+ * Retrieves the cached world bounds of this object
367
+ *
368
+ * @deprecated Retrieve the local bounds and transform as needed
369
+ */
321
370
  get bounds(): Float32Array<ArrayBuffer> | null;
322
- /* Excluded from this release type: _boundsStreamSpace */
323
- /* Excluded from this release type: _boundsStreamSpace */
371
+ /**
372
+ * Sets the local bounds of this lod
373
+ */
374
+ set localBounds(bounds: Float32Array<ArrayBuffer> | null);
375
+ /**
376
+ * Retrieves the local bounds of this lod
377
+ */
378
+ get localBounds(): Float32Array<ArrayBuffer> | null;
324
379
  set lodIndex(index: number);
325
380
  get lodIndex(): number | null;
326
- set paddingCount(count: number);
327
- get paddingCount(): number;
381
+ set paddingSplatsCount(count: number);
382
+ get paddingSplatsCount(): number;
328
383
  set transform(transform: Float32Array<ArrayBuffer> | null);
329
384
  get transform(): Float32Array<ArrayBuffer> | null;
330
- setSh1(sh1Data: Uint32Array<ArrayBuffer>, sh1Max: number): void;
331
- setSh2(sh2Data: Uint32Array<ArrayBuffer>, sh2Max: number): void;
332
- setSh3(sh3Data: Uint32Array<ArrayBuffer>, sh3Max: number): void;
385
+ get _drawnOctantMask(): number;
386
+ set _drawnOctantMask(mask: number);
387
+ get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
388
+ get _hasOctantOffsets(): boolean;
389
+ get _surfelOctantOffsets(): Uint32Array<ArrayBuffer> | null;
390
+ get _surfelCount(): number;
391
+ _readOctantOffsets(engine: Engine): void;
392
+ hasAttribute(attributeName: string): boolean;
393
+ getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
394
+ _getRawByteAttribute(engine: Engine, attributeName: string): Uint8Array<ArrayBuffer> | null;
395
+ _getRawByteAttributeWithBounds(engine: Engine, attributeName: string): RawByteAttributeWithBounds | null;
333
396
  dispose(): void;
334
- constructor({ id, modelRoot, lodStore }: LodInit);
397
+ constructor({ id, modelRoot, lodStore, client }: LodInit);
335
398
  }
336
399
 
337
400
  export declare type LodInit = {
338
401
  id: number;
339
402
  modelRoot: ModelRoot;
340
403
  lodStore: LodStore;
404
+ client: Client;
341
405
  };
342
406
 
343
407
  export declare class LodStore {
@@ -353,6 +417,10 @@ export declare class LodStore {
353
417
 
354
418
  declare interface MainModule {
355
419
  AttributeInfo: new () => AttributeInfo;
420
+ CompressionType: {
421
+ SHARK_ELLIPSOID_COMPRESSED: unknown;
422
+ SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE: unknown;
423
+ };
356
424
  Handedness: { Right: number; Left: number };
357
425
  HEAPF32: Float32Array<ArrayBuffer>;
358
426
  HEAPU8: Uint8Array<ArrayBuffer>;
@@ -378,7 +446,9 @@ declare interface MainModule {
378
446
  createdObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
379
447
  dataPtrView(attributeInfo: AttributeInfo): Uint32Array;
380
448
  deactivatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
449
+ remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
381
450
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
451
+ GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
382
452
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
383
453
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
384
454
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -387,13 +457,17 @@ declare interface MainModule {
387
457
  HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
388
458
  GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
389
459
  GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
460
+ GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
461
+ GetDrMapLadderRoughnessLevels(handle: number, sceneObjectId: number): number[];
390
462
  SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
391
463
  SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
392
464
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
393
465
  GetActiveClientSideIdsCheckSum(): number;
394
466
  TakeRenderRequired(handle: number): boolean;
467
+ BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
395
468
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
396
469
  setMaxCacheSize(maxSizeBytes: number): void;
470
+ SetPreferSharkEncodingProfiles(prefer: boolean): void;
397
471
  }
398
472
 
399
473
  /**
@@ -406,6 +480,7 @@ declare interface MainModule {
406
480
  */
407
481
  export declare class Miris {
408
482
  #private;
483
+ static tryUseShark: boolean;
409
484
  static _instance: Miris;
410
485
  static instance<T extends typeof Miris>(this: T): Promise<InstanceType<T>>;
411
486
  readonly engine: Engine;
@@ -415,14 +490,35 @@ export declare class Miris {
415
490
  get viewerKey(): string | null | undefined;
416
491
  set viewerKey(viewerKey: string | null | undefined);
417
492
  get scenes(): Set<Scene>;
493
+ get useSphericalHarmonics(): boolean;
494
+ set useSphericalHarmonics(value: boolean);
418
495
  constructor();
419
496
  dispose(): void;
420
497
  updateParentedTransform(_modelTransform: Float32Array<ArrayBuffer>, _parentTransform: Float32Array<ArrayBuffer>): Float32Array<ArrayBuffer> | undefined;
498
+ protected _xrModeActive: boolean;
499
+ protected _xrSession: XRSession | null;
500
+ protected _requestAnimationFrame: RequestAnimationFrameFn | null;
501
+ signalResumeFromIdle(): void;
502
+ get _splatCountBudget(): number;
503
+ /**
504
+ * Why 43? Because the AVP throttles down to 45Hz :(
505
+ */
506
+ static readonly _XR_TARGET_FRAME_RATE = 43;
507
+ /* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
508
+ /* Excluded from this release type: _SHARK_SPLAT_CAPACITY_MOBILE */
509
+ static readonly _SHARK_SPLAT_CAPACITY_DESKTOP = 3000000;
510
+ /* Excluded from this release type: _SHARK_SPLAT_BUDGET_CAP_MOBILE */
511
+ static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2500000;
512
+ /* Excluded from this release type: _isMobileDevice */
513
+ /* Excluded from this release type: _sharkSplatCapacity */
514
+ /* Excluded from this release type: _sharkSplatBudgetCap */
515
+ /* Excluded from this release type: _setTargetFrameRate */
421
516
  /* Excluded from this release type: _setXRModeActive */
517
+ /* Excluded from this release type: _setSplatCountBudgetOverride */
422
518
  /* Excluded from this release type: _update */
423
519
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
424
520
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
425
- update(): boolean;
521
+ /* Excluded from this release type: _updateForScene */
426
522
  applyChanges(_entries: Change[]): void;
427
523
  _computeAdditionalRenderNeeded(): boolean;
428
524
  onColorSpaceDetected(_isLinear: boolean): void;
@@ -451,11 +547,37 @@ export declare type ModelRootInit = {
451
547
  stream: Stream;
452
548
  };
453
549
 
550
+ /**
551
+ * The byte-exact counterpart of getRawUint32Attribute above: same no-padding, no-takeAttribute
552
+ * contract, returning bytes rather than words.
553
+ *
554
+ * Use this rather than that one wherever the stride is not a whole number of words:
555
+ * reflectanceDataV1's 26-byte record is not, and an odd record count would lose that record's
556
+ * last field to dataPtrView's truncation.
557
+ */
558
+ export declare type RawByteAttributeWithBounds = {
559
+ bytes: Uint8Array<ArrayBuffer>;
560
+ minValue: {
561
+ x: number;
562
+ y: number;
563
+ z: number;
564
+ };
565
+ maxValue: {
566
+ x: number;
567
+ y: number;
568
+ z: number;
569
+ };
570
+ };
571
+
572
+ declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
573
+
454
574
  declare interface RuntimeSettings extends EmbindObject {
455
575
  maxBandwidthBitsPerSecond: number;
456
576
  maxConcurrentRequests: number;
457
577
  targetFramesPerSecond: number;
458
578
  xrModeActive: boolean;
579
+ splatCountBudget: number;
580
+ splatCountBudgetCap: number;
459
581
  }
460
582
 
461
583
  export declare class Scene extends EventTarget {
@@ -467,6 +589,7 @@ export declare class Scene extends EventTarget {
467
589
  readonly id: number;
468
590
  get key(): unknown;
469
591
  set key(key: unknown);
592
+ /* Excluded from this release type: _assetFormat */
470
593
  get viewerKey(): string | null;
471
594
  set viewerKey(viewerKey: string | null);
472
595
  get streams(): Set<Stream>;
@@ -476,6 +599,18 @@ export declare class Scene extends EventTarget {
476
599
  readonly client: Client;
477
600
  readonly handle?: number;
478
601
  constructor({ miris, viewerKey }: SceneInit);
602
+ /**
603
+ * Drives a frame and answers whether *this* scene's canvas needs repainting. Call it once per
604
+ * displayed frame from the host's animation loop, and render when it returns true.
605
+ *
606
+ * Every scene on the page calls this from its own loop. The first call in a displayed frame
607
+ * drives one engine tick for all of them; the rest recognise the frame and reuse it.
608
+ *
609
+ * @param ts the host's frame timestamp. Optional - the document timeline supplies one, and it
610
+ * reads the same for every scene in a displayed frame. Pass it when the host runs its own
611
+ * clock, as an immersive XR session does, because XRFrame time is not the document timeline.
612
+ */
613
+ update(ts?: DOMHighResTimeStamp): boolean;
479
614
  dispose(): void;
480
615
  fetchAssets(tags?: string | Iterable<string>): Promise<{
481
616
  name: string;
@@ -483,12 +618,14 @@ export declare class Scene extends EventTarget {
483
618
  uuid: string;
484
619
  tags: string[];
485
620
  }[]>;
486
- getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
487
621
  add(stream: Stream): void;
488
622
  getStreamForId(streamObjectId: number): Stream | undefined;
489
623
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
490
624
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
625
+ _recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
626
+ /* Excluded from this release type: _getFeatureMesh */
491
627
  /* Excluded from this release type: _getDrMap */
628
+ /* Excluded from this release type: _onDrMapLadder */
492
629
  /* Excluded from this release type: _onFeatureData */
493
630
  /* Excluded from this release type: _onSceneLoaded */
494
631
  delete(stream: Stream): void;
@@ -501,6 +638,7 @@ declare interface SceneChangeIds extends EmbindObject {
501
638
  readonly modifiedObjectsCount: number;
502
639
  readonly deactivatedObjectsCount: number;
503
640
  readonly deletedObjectsCount: number;
641
+ readonly remaskedObjectsCount: number;
504
642
  }
505
643
 
506
644
  export declare type SceneInit = {
@@ -512,6 +650,13 @@ declare interface SceneMetadata extends EmbindObject {
512
650
  readonly inputColorSpace: string;
513
651
  }
514
652
 
653
+ declare type SparkAttributeInfo = {
654
+ elementsPerSplat: number;
655
+ discard: boolean;
656
+ };
657
+
658
+ export declare const sparkAttributeList: Record<string, SparkAttributeInfo>;
659
+
515
660
  declare interface SpatialFormat extends EmbindObject {
516
661
  metersPerUnit: number;
517
662
  upAxis: number;
@@ -539,6 +684,8 @@ export declare class Stream extends EventTarget {
539
684
  set key(key: unknown);
540
685
  get matrix(): Matrix4x4Tuple;
541
686
  set matrix(matrix: Matrix4x4Tuple);
687
+ get opacity(): number;
688
+ set opacity(opacity: number);
542
689
  get boundingBox(): {
543
690
  min: {
544
691
  x: number;
@@ -569,6 +716,8 @@ export declare class Stream extends EventTarget {
569
716
  constructor(options: StreamInit);
570
717
  _initStream({ uuid }: StreamInit): void;
571
718
  /* Excluded from this release type: _onStreamLoaded */
719
+ getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
720
+ /* Excluded from this release type: _getViewingVolumeObb */
572
721
  /* Excluded from this release type: _onRootLoaded */
573
722
  add(modelRoot: ModelRoot): void;
574
723
  end(): void;