@miris-inc/core 0.0.8-d8433b8 → 0.0.8-d843bc8

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