@miris-inc/core 0.0.8-49a8ed9 → 0.0.8-4db0817

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;
@@ -140,6 +169,8 @@ declare class Engine {
140
169
  };
141
170
  static Feature: {
142
171
  readonly DrMap: 0;
172
+ readonly ReflMesh: 1;
173
+ readonly GlassMesh: 2;
143
174
  };
144
175
  static FeatureState: {
145
176
  readonly NotLoaded: 0;
@@ -187,6 +218,8 @@ declare class Engine {
187
218
  deletedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
188
219
  dataPtrView(...args: [attributeInfo: AttributeInfo]): Uint32Array;
189
220
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
221
+ remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
222
+ getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
190
223
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
191
224
  free(...args: [size: number]): number;
192
225
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -197,6 +230,7 @@ declare class Engine {
197
230
  attributeInfo: AttributeInfo
198
231
  ]): AquaStatus;
199
232
  getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
233
+ getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
200
234
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
201
235
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
202
236
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -245,17 +279,15 @@ declare class Engine {
245
279
  removeStream(...args: [handle: AquaClientHandle, streamObjectId: number]): boolean;
246
280
  setAssetViewerKey(...args: [handle: AquaClientHandle, key: string]): AquaStatus;
247
281
  setClientSpatialFormat(...args: [handle: AquaClientHandle, spatialFormat: SpatialFormat]): AquaStatus;
248
- setRuntimeSettings(...args: [
249
- handle: AquaClientHandle,
250
- settings: RuntimeSettings
251
- ]): AquaStatus;
282
+ setRuntimeSettings(...args: [handle: AquaClientHandle, settings: RuntimeSettings]): AquaStatus;
252
283
  setMainCameraTransform(...args: [handle: AquaClientHandle, cameraTransform: number]): AquaStatus;
253
284
  setMainCameraViewFrustum(...args: [
254
285
  handle: AquaClientHandle,
255
286
  aspectRatio: number,
256
287
  verticalFov: number,
257
288
  nearPlane: number,
258
- farPlane: number
289
+ farPlane: number,
290
+ viewportHeightPixels: number
259
291
  ]): AquaStatus;
260
292
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
261
293
  setSceneObjectTransform(...args: [
@@ -266,14 +298,8 @@ declare class Engine {
266
298
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
267
299
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
268
300
  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;
301
+ getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
302
+ setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
277
303
  takeAttribute(...args: [
278
304
  handle: AquaClientHandle,
279
305
  sceneObjectId: number,
@@ -303,41 +329,46 @@ export declare class Lod {
303
329
  #private;
304
330
  readonly id: LodInit["id"];
305
331
  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
332
  get key(): unknown;
316
333
  set key(key: unknown);
317
334
  readonly modelRoot: ModelRoot;
318
- set splats(splats: Uint32Array<ArrayBuffer> | null);
319
- get splats(): Uint32Array<ArrayBuffer> | null;
320
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
+ */
321
341
  get bounds(): Float32Array<ArrayBuffer> | null;
322
- /* Excluded from this release type: _boundsStreamSpace */
323
- /* 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;
324
350
  set lodIndex(index: number);
325
351
  get lodIndex(): number | null;
326
- set paddingCount(count: number);
327
- get paddingCount(): number;
352
+ set paddingSplatsCount(count: number);
353
+ get paddingSplatsCount(): number;
328
354
  set transform(transform: Float32Array<ArrayBuffer> | null);
329
355
  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;
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;
333
363
  dispose(): void;
334
- constructor({ id, modelRoot, lodStore }: LodInit);
364
+ constructor({ id, modelRoot, lodStore, client }: LodInit);
335
365
  }
336
366
 
337
367
  export declare type LodInit = {
338
368
  id: number;
339
369
  modelRoot: ModelRoot;
340
370
  lodStore: LodStore;
371
+ client: Client;
341
372
  };
342
373
 
343
374
  export declare class LodStore {
@@ -378,7 +409,9 @@ declare interface MainModule {
378
409
  createdObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
379
410
  dataPtrView(attributeInfo: AttributeInfo): Uint32Array;
380
411
  deactivatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
412
+ remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
381
413
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
414
+ GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
382
415
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
383
416
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
384
417
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -406,6 +439,7 @@ declare interface MainModule {
406
439
  */
407
440
  export declare class Miris {
408
441
  #private;
442
+ static tryUseShark: boolean;
409
443
  static _instance: Miris;
410
444
  static instance<T extends typeof Miris>(this: T): Promise<InstanceType<T>>;
411
445
  readonly engine: Engine;
@@ -415,10 +449,23 @@ export declare class Miris {
415
449
  get viewerKey(): string | null | undefined;
416
450
  set viewerKey(viewerKey: string | null | undefined);
417
451
  get scenes(): Set<Scene>;
452
+ get useSphericalHarmonics(): boolean;
453
+ set useSphericalHarmonics(value: boolean);
418
454
  constructor();
419
455
  dispose(): void;
420
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 */
421
467
  /* Excluded from this release type: _setXRModeActive */
468
+ /* Excluded from this release type: _setSplatCountBudgetOverride */
422
469
  /* Excluded from this release type: _update */
423
470
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
424
471
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
@@ -451,11 +498,14 @@ export declare type ModelRootInit = {
451
498
  stream: Stream;
452
499
  };
453
500
 
501
+ declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
502
+
454
503
  declare interface RuntimeSettings extends EmbindObject {
455
504
  maxBandwidthBitsPerSecond: number;
456
505
  maxConcurrentRequests: number;
457
506
  targetFramesPerSecond: number;
458
507
  xrModeActive: boolean;
508
+ splatCountBudget: number;
459
509
  }
460
510
 
461
511
  export declare class Scene extends EventTarget {
@@ -477,6 +527,7 @@ export declare class Scene extends EventTarget {
477
527
  readonly handle?: number;
478
528
  constructor({ miris, viewerKey }: SceneInit);
479
529
  dispose(): void;
530
+ /* Excluded from this release type: _getViewingVolumeObb */
480
531
  fetchAssets(tags?: string | Iterable<string>): Promise<{
481
532
  name: string;
482
533
  thumbnailUrl: string;
@@ -488,6 +539,7 @@ export declare class Scene extends EventTarget {
488
539
  getStreamForId(streamObjectId: number): Stream | undefined;
489
540
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
490
541
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
542
+ /* Excluded from this release type: _getFeatureMesh */
491
543
  /* Excluded from this release type: _getDrMap */
492
544
  /* Excluded from this release type: _onFeatureData */
493
545
  /* Excluded from this release type: _onSceneLoaded */
@@ -501,6 +553,7 @@ declare interface SceneChangeIds extends EmbindObject {
501
553
  readonly modifiedObjectsCount: number;
502
554
  readonly deactivatedObjectsCount: number;
503
555
  readonly deletedObjectsCount: number;
556
+ readonly remaskedObjectsCount: number;
504
557
  }
505
558
 
506
559
  export declare type SceneInit = {
@@ -512,6 +565,13 @@ declare interface SceneMetadata extends EmbindObject {
512
565
  readonly inputColorSpace: string;
513
566
  }
514
567
 
568
+ declare type SparkAttributeInfo = {
569
+ elementsPerSplat: number;
570
+ discard: boolean;
571
+ };
572
+
573
+ export declare const sparkAttributeList: Record<string, SparkAttributeInfo>;
574
+
515
575
  declare interface SpatialFormat extends EmbindObject {
516
576
  metersPerUnit: number;
517
577
  upAxis: number;
@@ -539,6 +599,8 @@ export declare class Stream extends EventTarget {
539
599
  set key(key: unknown);
540
600
  get matrix(): Matrix4x4Tuple;
541
601
  set matrix(matrix: Matrix4x4Tuple);
602
+ get opacity(): number;
603
+ set opacity(opacity: number);
542
604
  get boundingBox(): {
543
605
  min: {
544
606
  x: number;