@miris-inc/core 0.0.8-d8c8ec8 → 0.0.8-d90cfd4

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <p align="center">
2
2
  <a href="https://miris.com">
3
- <img src="./banner.svg" alt="Miris" width="100%" />
3
+ <img src="https://cdn.jsdelivr.net/npm/@miris-inc/core/banner.svg" alt="Miris" width="100%" />
4
4
  </a>
5
5
  </p>
6
6
 
package/dist/AquaApi.wasm CHANGED
Binary file
Binary file
package/dist/core.d.ts CHANGED
@@ -7,6 +7,28 @@ 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;
@@ -43,7 +65,7 @@ export declare class Change {
43
65
  }
44
66
 
45
67
  export declare type ChangeInit = {
46
- type: "created" | "activated" | "modified" | "deactivated" | "deleted";
68
+ type: "created" | "activated" | "modified" | "deactivated" | "deleted" | "remasked";
47
69
  lod: Lod;
48
70
  };
49
71
 
@@ -60,6 +82,7 @@ declare class Client {
60
82
  getAssetsAsync(...args: ClientMethodParameters["getAssetsAsync"]): AssetInfo[];
61
83
  getAttribute(...args: ClientMethodParameters["getAttribute"]): AquaStatus;
62
84
  getDefaultCameraId(...args: ClientMethodParameters["getDefaultCameraId"]): number;
85
+ getViewingVolumeId(...args: ClientMethodParameters["getViewingVolumeId"]): number;
63
86
  getLocalBoundingBox(...args: ClientMethodParameters["getLocalBoundingBox"]): AquaStatus;
64
87
  getWorldBoundingBox(...args: ClientMethodParameters["getWorldBoundingBox"]): AquaStatus;
65
88
  getLodIndex(...args: ClientMethodParameters["getLodIndex"]): number;
@@ -68,6 +91,7 @@ declare class Client {
68
91
  getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
69
92
  getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
70
93
  getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
94
+ getDrawnOctantMask(...args: ClientMethodParameters["getDrawnOctantMask"]): number;
71
95
  getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
72
96
  getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
73
97
  hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
@@ -90,6 +114,7 @@ declare class Client {
90
114
  takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
91
115
  unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
92
116
  updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
117
+ recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
93
118
  }
94
119
 
95
120
  declare type ClientInit = {
@@ -139,6 +164,8 @@ declare class Engine {
139
164
  };
140
165
  static Feature: {
141
166
  readonly DrMap: 0;
167
+ readonly ReflMesh: 1;
168
+ readonly GlassMesh: 2;
142
169
  };
143
170
  static FeatureState: {
144
171
  readonly NotLoaded: 0;
@@ -186,6 +213,8 @@ declare class Engine {
186
213
  deletedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
187
214
  dataPtrView(...args: [attributeInfo: AttributeInfo]): Uint32Array;
188
215
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
216
+ remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
217
+ getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
189
218
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
190
219
  free(...args: [size: number]): number;
191
220
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -196,6 +225,7 @@ declare class Engine {
196
225
  attributeInfo: AttributeInfo
197
226
  ]): AquaStatus;
198
227
  getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
228
+ getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
199
229
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
200
230
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
201
231
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -244,10 +274,7 @@ declare class Engine {
244
274
  removeStream(...args: [handle: AquaClientHandle, streamObjectId: number]): boolean;
245
275
  setAssetViewerKey(...args: [handle: AquaClientHandle, key: string]): AquaStatus;
246
276
  setClientSpatialFormat(...args: [handle: AquaClientHandle, spatialFormat: SpatialFormat]): AquaStatus;
247
- setRuntimeSettings(...args: [
248
- handle: AquaClientHandle,
249
- settings: RuntimeSettings
250
- ]): AquaStatus;
277
+ setRuntimeSettings(...args: [handle: AquaClientHandle, settings: RuntimeSettings]): AquaStatus;
251
278
  setMainCameraTransform(...args: [handle: AquaClientHandle, cameraTransform: number]): AquaStatus;
252
279
  setMainCameraViewFrustum(...args: [
253
280
  handle: AquaClientHandle,
@@ -265,14 +292,8 @@ declare class Engine {
265
292
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
266
293
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
267
294
  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;
295
+ getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
296
+ setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
276
297
  takeAttribute(...args: [
277
298
  handle: AquaClientHandle,
278
299
  sceneObjectId: number,
@@ -282,10 +303,8 @@ declare class Engine {
282
303
  takeEvictedClientSideAttributeIds(...args: [handle: AquaClientHandle]): EmbindVector<bigint>;
283
304
  getActiveClientSideIdsCheckSum(): number;
284
305
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
285
- updateSceneExecution(...args: [
286
- handle: AquaClientHandle,
287
- firstInSequence: boolean
288
- ]): AquaStatus;
306
+ updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
307
+ recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
289
308
  takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
290
309
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
291
310
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
@@ -304,41 +323,46 @@ export declare class Lod {
304
323
  #private;
305
324
  readonly id: LodInit["id"];
306
325
  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
326
  get key(): unknown;
317
327
  set key(key: unknown);
318
328
  readonly modelRoot: ModelRoot;
319
- set splats(splats: Uint32Array<ArrayBuffer> | null);
320
- get splats(): Uint32Array<ArrayBuffer> | null;
321
329
  set bounds(bounds: Float32Array<ArrayBuffer> | null);
330
+ /**
331
+ * Retrieves the cached world bounds of this object
332
+ *
333
+ * @deprecated Retrieve the local bounds and transform as needed
334
+ */
322
335
  get bounds(): Float32Array<ArrayBuffer> | null;
323
- /* Excluded from this release type: _boundsStreamSpace */
324
- /* Excluded from this release type: _boundsStreamSpace */
336
+ /**
337
+ * Sets the local bounds of this lod
338
+ */
339
+ set localBounds(bounds: Float32Array<ArrayBuffer> | null);
340
+ /**
341
+ * Retrieves the local bounds of this lod
342
+ */
343
+ get localBounds(): Float32Array<ArrayBuffer> | null;
325
344
  set lodIndex(index: number);
326
345
  get lodIndex(): number | null;
327
- set paddingCount(count: number);
328
- get paddingCount(): number;
346
+ set paddingSplatsCount(count: number);
347
+ get paddingSplatsCount(): number;
329
348
  set transform(transform: Float32Array<ArrayBuffer> | null);
330
349
  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;
350
+ get _drawnOctantMask(): number;
351
+ set _drawnOctantMask(mask: number);
352
+ get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
353
+ get _hasOctantOffsets(): boolean;
354
+ _readOctantOffsets(engine: Engine): void;
355
+ hasAttribute(attributeName: string): boolean;
356
+ getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
334
357
  dispose(): void;
335
- constructor({ id, modelRoot, lodStore }: LodInit);
358
+ constructor({ id, modelRoot, lodStore, client }: LodInit);
336
359
  }
337
360
 
338
361
  export declare type LodInit = {
339
362
  id: number;
340
363
  modelRoot: ModelRoot;
341
364
  lodStore: LodStore;
365
+ client: Client;
342
366
  };
343
367
 
344
368
  export declare class LodStore {
@@ -379,7 +403,9 @@ declare interface MainModule {
379
403
  createdObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
380
404
  dataPtrView(attributeInfo: AttributeInfo): Uint32Array;
381
405
  deactivatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
406
+ remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
382
407
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
408
+ GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
383
409
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
384
410
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
385
411
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -407,6 +433,7 @@ declare interface MainModule {
407
433
  */
408
434
  export declare class Miris {
409
435
  #private;
436
+ static tryUseShark: boolean;
410
437
  static _instance: Miris;
411
438
  static instance<T extends typeof Miris>(this: T): Promise<InstanceType<T>>;
412
439
  readonly engine: Engine;
@@ -416,10 +443,22 @@ export declare class Miris {
416
443
  get viewerKey(): string | null | undefined;
417
444
  set viewerKey(viewerKey: string | null | undefined);
418
445
  get scenes(): Set<Scene>;
446
+ get useSphericalHarmonics(): boolean;
447
+ set useSphericalHarmonics(value: boolean);
419
448
  constructor();
420
449
  dispose(): void;
421
450
  updateParentedTransform(_modelTransform: Float32Array<ArrayBuffer>, _parentTransform: Float32Array<ArrayBuffer>): Float32Array<ArrayBuffer> | undefined;
451
+ protected _xrModeActive: boolean;
452
+ protected _xrSession: XRSession | null;
453
+ protected _requestAnimationFrame: RequestAnimationFrameFn | null;
454
+ signalResumeFromIdle(): void;
455
+ /**
456
+ * Why 43? Because the AVP throttles down to 45Hz :(
457
+ */
458
+ static readonly _XR_TARGET_FRAME_RATE = 43;
459
+ /* Excluded from this release type: _setTargetFrameRate */
422
460
  /* Excluded from this release type: _setXRModeActive */
461
+ /* Excluded from this release type: _setSplatCountBudgetOverride */
423
462
  /* Excluded from this release type: _update */
424
463
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
425
464
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
@@ -452,11 +491,14 @@ export declare type ModelRootInit = {
452
491
  stream: Stream;
453
492
  };
454
493
 
494
+ declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
495
+
455
496
  declare interface RuntimeSettings extends EmbindObject {
456
497
  maxBandwidthBitsPerSecond: number;
457
498
  maxConcurrentRequests: number;
458
499
  targetFramesPerSecond: number;
459
500
  xrModeActive: boolean;
501
+ splatCountBudget: number;
460
502
  }
461
503
 
462
504
  export declare class Scene extends EventTarget {
@@ -478,6 +520,7 @@ export declare class Scene extends EventTarget {
478
520
  readonly handle?: number;
479
521
  constructor({ miris, viewerKey }: SceneInit);
480
522
  dispose(): void;
523
+ /* Excluded from this release type: _getViewingVolumeObb */
481
524
  fetchAssets(tags?: string | Iterable<string>): Promise<{
482
525
  name: string;
483
526
  thumbnailUrl: string;
@@ -489,6 +532,7 @@ export declare class Scene extends EventTarget {
489
532
  getStreamForId(streamObjectId: number): Stream | undefined;
490
533
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
491
534
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
535
+ /* Excluded from this release type: _getFeatureMesh */
492
536
  /* Excluded from this release type: _getDrMap */
493
537
  /* Excluded from this release type: _onFeatureData */
494
538
  /* Excluded from this release type: _onSceneLoaded */
@@ -502,6 +546,7 @@ declare interface SceneChangeIds extends EmbindObject {
502
546
  readonly modifiedObjectsCount: number;
503
547
  readonly deactivatedObjectsCount: number;
504
548
  readonly deletedObjectsCount: number;
549
+ readonly remaskedObjectsCount: number;
505
550
  }
506
551
 
507
552
  export declare type SceneInit = {
@@ -513,6 +558,13 @@ declare interface SceneMetadata extends EmbindObject {
513
558
  readonly inputColorSpace: string;
514
559
  }
515
560
 
561
+ declare type SparkAttributeInfo = {
562
+ elementsPerSplat: number;
563
+ discard: boolean;
564
+ };
565
+
566
+ export declare const sparkAttributeList: Record<string, SparkAttributeInfo>;
567
+
516
568
  declare interface SpatialFormat extends EmbindObject {
517
569
  metersPerUnit: number;
518
570
  upAxis: number;
@@ -540,6 +592,8 @@ export declare class Stream extends EventTarget {
540
592
  set key(key: unknown);
541
593
  get matrix(): Matrix4x4Tuple;
542
594
  set matrix(matrix: Matrix4x4Tuple);
595
+ get opacity(): number;
596
+ set opacity(opacity: number);
543
597
  get boundingBox(): {
544
598
  min: {
545
599
  x: number;