@miris-inc/core 0.0.8-5407a5a → 0.0.8-57677c8

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
@@ -7,10 +7,34 @@ declare interface AttributeInfo extends EmbindObject {
7
7
  readonly maxValue: { x: number; y: number; z: number };
8
8
  }
9
9
 
10
+ export declare class AttributeNames {
11
+ static readonly SPARK_PACKED_SPLAT: string;
12
+ static readonly SPARK_EXTENDED_SPLAT_LOW: string;
13
+ static readonly SPARK_EXTENDED_SPLAT_HIGH: string;
14
+ static readonly SPARK_PACKED_SH1: string;
15
+ static readonly SPARK_PACKED_SH2: string;
16
+ static readonly SPARK_PACKED_SH3: string;
17
+ static readonly SPARK_EXTENDED_SH1: string;
18
+ static readonly SPARK_EXTENDED_SH2: string;
19
+ static readonly SPARK_EXTENDED_SH3_A: string;
20
+ static readonly SPARK_EXTENDED_SH3_B: string;
21
+ static readonly UNUSED: string;
22
+ static readonly SHARK_ELLIPSOIDS: string;
23
+ static readonly SHARK_SPHERICAL_HARMONICS: string;
24
+ static readonly OCTANT_OFFSETS: string;
25
+ }
26
+
27
+ declare type CachedAttribute = {
28
+ paddedData: Uint32Array<ArrayBuffer>;
29
+ originalSizeInUints: number;
30
+ };
31
+
10
32
  export declare class Camera {
11
33
  #private;
12
34
  readonly id: number;
13
35
  update(): void;
36
+ get viewportHeight(): number;
37
+ set viewportHeight(viewportHeight: number);
14
38
  get aspect(): number;
15
39
  set aspect(aspect: number);
16
40
  get fov(): number;
@@ -24,7 +48,7 @@ export declare class Camera {
24
48
  readonly engine: Engine;
25
49
  readonly miris: Miris;
26
50
  readonly scene: Scene;
27
- constructor({ aspect, fov, near, far, matrix, scene }: CameraInit);
51
+ constructor({ aspect, fov, near, far, matrix, scene, viewportHeight, }: CameraInit);
28
52
  }
29
53
 
30
54
  export declare type CameraInit = {
@@ -34,6 +58,7 @@ export declare type CameraInit = {
34
58
  far: number;
35
59
  matrix: Matrix4x4Tuple;
36
60
  scene: Scene;
61
+ viewportHeight?: number;
37
62
  };
38
63
 
39
64
  export declare class Change {
@@ -43,7 +68,7 @@ export declare class Change {
43
68
  }
44
69
 
45
70
  export declare type ChangeInit = {
46
- type: "created" | "activated" | "modified" | "deactivated" | "deleted";
71
+ type: "created" | "activated" | "modified" | "deactivated" | "deleted" | "remasked";
47
72
  lod: Lod;
48
73
  };
49
74
 
@@ -60,6 +85,7 @@ declare class Client {
60
85
  getAssetsAsync(...args: ClientMethodParameters["getAssetsAsync"]): AssetInfo[];
61
86
  getAttribute(...args: ClientMethodParameters["getAttribute"]): AquaStatus;
62
87
  getDefaultCameraId(...args: ClientMethodParameters["getDefaultCameraId"]): number;
88
+ getViewingVolumeId(...args: ClientMethodParameters["getViewingVolumeId"]): number;
63
89
  getLocalBoundingBox(...args: ClientMethodParameters["getLocalBoundingBox"]): AquaStatus;
64
90
  getWorldBoundingBox(...args: ClientMethodParameters["getWorldBoundingBox"]): AquaStatus;
65
91
  getLodIndex(...args: ClientMethodParameters["getLodIndex"]): number;
@@ -68,6 +94,7 @@ declare class Client {
68
94
  getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
69
95
  getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
70
96
  getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
97
+ getDrawnOctantMask(...args: ClientMethodParameters["getDrawnOctantMask"]): number;
71
98
  getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
72
99
  getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
73
100
  hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
@@ -90,6 +117,7 @@ declare class Client {
90
117
  takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
91
118
  unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
92
119
  updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
120
+ recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
93
121
  }
94
122
 
95
123
  declare type ClientInit = {
@@ -139,6 +167,8 @@ declare class Engine {
139
167
  };
140
168
  static Feature: {
141
169
  readonly DrMap: 0;
170
+ readonly ReflMesh: 1;
171
+ readonly GlassMesh: 2;
142
172
  };
143
173
  static FeatureState: {
144
174
  readonly NotLoaded: 0;
@@ -186,6 +216,8 @@ declare class Engine {
186
216
  deletedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
187
217
  dataPtrView(...args: [attributeInfo: AttributeInfo]): Uint32Array;
188
218
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
219
+ remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
220
+ getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
189
221
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
190
222
  free(...args: [size: number]): number;
191
223
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -196,6 +228,7 @@ declare class Engine {
196
228
  attributeInfo: AttributeInfo
197
229
  ]): AquaStatus;
198
230
  getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
231
+ getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
199
232
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
200
233
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
201
234
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -244,17 +277,15 @@ declare class Engine {
244
277
  removeStream(...args: [handle: AquaClientHandle, streamObjectId: number]): boolean;
245
278
  setAssetViewerKey(...args: [handle: AquaClientHandle, key: string]): AquaStatus;
246
279
  setClientSpatialFormat(...args: [handle: AquaClientHandle, spatialFormat: SpatialFormat]): AquaStatus;
247
- setRuntimeSettings(...args: [
248
- handle: AquaClientHandle,
249
- settings: RuntimeSettings
250
- ]): AquaStatus;
280
+ setRuntimeSettings(...args: [handle: AquaClientHandle, settings: RuntimeSettings]): AquaStatus;
251
281
  setMainCameraTransform(...args: [handle: AquaClientHandle, cameraTransform: number]): AquaStatus;
252
282
  setMainCameraViewFrustum(...args: [
253
283
  handle: AquaClientHandle,
254
284
  aspectRatio: number,
255
285
  verticalFov: number,
256
286
  nearPlane: number,
257
- farPlane: number
287
+ farPlane: number,
288
+ viewportHeightPixels: number
258
289
  ]): AquaStatus;
259
290
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
260
291
  setSceneObjectTransform(...args: [
@@ -265,14 +296,8 @@ declare class Engine {
265
296
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
266
297
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
267
298
  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;
299
+ getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
300
+ setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
276
301
  takeAttribute(...args: [
277
302
  handle: AquaClientHandle,
278
303
  sceneObjectId: number,
@@ -282,10 +307,8 @@ declare class Engine {
282
307
  takeEvictedClientSideAttributeIds(...args: [handle: AquaClientHandle]): EmbindVector<bigint>;
283
308
  getActiveClientSideIdsCheckSum(): number;
284
309
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
285
- updateSceneExecution(...args: [
286
- handle: AquaClientHandle,
287
- firstInSequence: boolean
288
- ]): AquaStatus;
310
+ updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
311
+ recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
289
312
  takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
290
313
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
291
314
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
@@ -304,41 +327,46 @@ export declare class Lod {
304
327
  #private;
305
328
  readonly id: LodInit["id"];
306
329
  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
330
  get key(): unknown;
317
331
  set key(key: unknown);
318
332
  readonly modelRoot: ModelRoot;
319
- set splats(splats: Uint32Array<ArrayBuffer> | null);
320
- get splats(): Uint32Array<ArrayBuffer> | null;
321
333
  set bounds(bounds: Float32Array<ArrayBuffer> | null);
334
+ /**
335
+ * Retrieves the cached world bounds of this object
336
+ *
337
+ * @deprecated Retrieve the local bounds and transform as needed
338
+ */
322
339
  get bounds(): Float32Array<ArrayBuffer> | null;
323
- /* Excluded from this release type: _boundsStreamSpace */
324
- /* Excluded from this release type: _boundsStreamSpace */
340
+ /**
341
+ * Sets the local bounds of this lod
342
+ */
343
+ set localBounds(bounds: Float32Array<ArrayBuffer> | null);
344
+ /**
345
+ * Retrieves the local bounds of this lod
346
+ */
347
+ get localBounds(): Float32Array<ArrayBuffer> | null;
325
348
  set lodIndex(index: number);
326
349
  get lodIndex(): number | null;
327
- set paddingCount(count: number);
328
- get paddingCount(): number;
350
+ set paddingSplatsCount(count: number);
351
+ get paddingSplatsCount(): number;
329
352
  set transform(transform: Float32Array<ArrayBuffer> | null);
330
353
  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;
354
+ get _drawnOctantMask(): number;
355
+ set _drawnOctantMask(mask: number);
356
+ get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
357
+ get _hasOctantOffsets(): boolean;
358
+ _readOctantOffsets(engine: Engine): void;
359
+ hasAttribute(attributeName: string): boolean;
360
+ getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
334
361
  dispose(): void;
335
- constructor({ id, modelRoot, lodStore }: LodInit);
362
+ constructor({ id, modelRoot, lodStore, client }: LodInit);
336
363
  }
337
364
 
338
365
  export declare type LodInit = {
339
366
  id: number;
340
367
  modelRoot: ModelRoot;
341
368
  lodStore: LodStore;
369
+ client: Client;
342
370
  };
343
371
 
344
372
  export declare class LodStore {
@@ -379,7 +407,9 @@ declare interface MainModule {
379
407
  createdObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
380
408
  dataPtrView(attributeInfo: AttributeInfo): Uint32Array;
381
409
  deactivatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
410
+ remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
382
411
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
412
+ GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
383
413
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
384
414
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
385
415
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -407,6 +437,7 @@ declare interface MainModule {
407
437
  */
408
438
  export declare class Miris {
409
439
  #private;
440
+ static tryUseShark: boolean;
410
441
  static _instance: Miris;
411
442
  static instance<T extends typeof Miris>(this: T): Promise<InstanceType<T>>;
412
443
  readonly engine: Engine;
@@ -416,10 +447,23 @@ export declare class Miris {
416
447
  get viewerKey(): string | null | undefined;
417
448
  set viewerKey(viewerKey: string | null | undefined);
418
449
  get scenes(): Set<Scene>;
450
+ get useSphericalHarmonics(): boolean;
451
+ set useSphericalHarmonics(value: boolean);
419
452
  constructor();
420
453
  dispose(): void;
421
454
  updateParentedTransform(_modelTransform: Float32Array<ArrayBuffer>, _parentTransform: Float32Array<ArrayBuffer>): Float32Array<ArrayBuffer> | undefined;
455
+ protected _xrModeActive: boolean;
456
+ protected _xrSession: XRSession | null;
457
+ protected _requestAnimationFrame: RequestAnimationFrameFn | null;
458
+ signalResumeFromIdle(): void;
459
+ get _splatCountBudget(): number;
460
+ /**
461
+ * Why 43? Because the AVP throttles down to 45Hz :(
462
+ */
463
+ static readonly _XR_TARGET_FRAME_RATE = 43;
464
+ /* Excluded from this release type: _setTargetFrameRate */
422
465
  /* Excluded from this release type: _setXRModeActive */
466
+ /* Excluded from this release type: _setSplatCountBudgetOverride */
423
467
  /* Excluded from this release type: _update */
424
468
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
425
469
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
@@ -452,11 +496,14 @@ export declare type ModelRootInit = {
452
496
  stream: Stream;
453
497
  };
454
498
 
499
+ declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
500
+
455
501
  declare interface RuntimeSettings extends EmbindObject {
456
502
  maxBandwidthBitsPerSecond: number;
457
503
  maxConcurrentRequests: number;
458
504
  targetFramesPerSecond: number;
459
505
  xrModeActive: boolean;
506
+ splatCountBudget: number;
460
507
  }
461
508
 
462
509
  export declare class Scene extends EventTarget {
@@ -478,6 +525,7 @@ export declare class Scene extends EventTarget {
478
525
  readonly handle?: number;
479
526
  constructor({ miris, viewerKey }: SceneInit);
480
527
  dispose(): void;
528
+ /* Excluded from this release type: _getViewingVolumeObb */
481
529
  fetchAssets(tags?: string | Iterable<string>): Promise<{
482
530
  name: string;
483
531
  thumbnailUrl: string;
@@ -489,6 +537,7 @@ export declare class Scene extends EventTarget {
489
537
  getStreamForId(streamObjectId: number): Stream | undefined;
490
538
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
491
539
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
540
+ /* Excluded from this release type: _getFeatureMesh */
492
541
  /* Excluded from this release type: _getDrMap */
493
542
  /* Excluded from this release type: _onFeatureData */
494
543
  /* Excluded from this release type: _onSceneLoaded */
@@ -502,6 +551,7 @@ declare interface SceneChangeIds extends EmbindObject {
502
551
  readonly modifiedObjectsCount: number;
503
552
  readonly deactivatedObjectsCount: number;
504
553
  readonly deletedObjectsCount: number;
554
+ readonly remaskedObjectsCount: number;
505
555
  }
506
556
 
507
557
  export declare type SceneInit = {
@@ -513,6 +563,13 @@ declare interface SceneMetadata extends EmbindObject {
513
563
  readonly inputColorSpace: string;
514
564
  }
515
565
 
566
+ declare type SparkAttributeInfo = {
567
+ elementsPerSplat: number;
568
+ discard: boolean;
569
+ };
570
+
571
+ export declare const sparkAttributeList: Record<string, SparkAttributeInfo>;
572
+
516
573
  declare interface SpatialFormat extends EmbindObject {
517
574
  metersPerUnit: number;
518
575
  upAxis: number;
@@ -540,6 +597,8 @@ export declare class Stream extends EventTarget {
540
597
  set key(key: unknown);
541
598
  get matrix(): Matrix4x4Tuple;
542
599
  set matrix(matrix: Matrix4x4Tuple);
600
+ get opacity(): number;
601
+ set opacity(opacity: number);
543
602
  get boundingBox(): {
544
603
  min: {
545
604
  x: number;