@miris-inc/core 0.0.8-3c2ba15 → 0.0.8-40a84bd

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
 
@@ -56,11 +81,11 @@ declare class Client {
56
81
  constructor({ engine, context }: ClientInit);
57
82
  dispose(): void;
58
83
  addStreamById(...args: ClientMethodParameters["addStreamById"]): number;
59
- addPrefetchStreamById(...args: ClientMethodParameters["addPrefetchStreamById"]): number;
60
84
  destroyClient(...args: ClientMethodParameters["destroyClient"]): AquaStatus;
61
85
  getAssetsAsync(...args: ClientMethodParameters["getAssetsAsync"]): AssetInfo[];
62
86
  getAttribute(...args: ClientMethodParameters["getAttribute"]): AquaStatus;
63
87
  getDefaultCameraId(...args: ClientMethodParameters["getDefaultCameraId"]): number;
88
+ getViewingVolumeId(...args: ClientMethodParameters["getViewingVolumeId"]): number;
64
89
  getLocalBoundingBox(...args: ClientMethodParameters["getLocalBoundingBox"]): AquaStatus;
65
90
  getWorldBoundingBox(...args: ClientMethodParameters["getWorldBoundingBox"]): AquaStatus;
66
91
  getLodIndex(...args: ClientMethodParameters["getLodIndex"]): number;
@@ -69,6 +94,7 @@ declare class Client {
69
94
  getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
70
95
  getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
71
96
  getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
97
+ getDrawnOctantMask(...args: ClientMethodParameters["getDrawnOctantMask"]): number;
72
98
  getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
73
99
  getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
74
100
  hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
@@ -182,13 +208,6 @@ declare class Engine {
182
208
  assetId: string,
183
209
  doNotRefine: boolean
184
210
  ]): number;
185
- addPrefetchStreamById(...args: [
186
- handle: AquaClientHandle,
187
- streamName: string,
188
- assetId: string,
189
- maxPrefetchDepth: number,
190
- keepPrefetch: boolean
191
- ]): number;
192
211
  allocateSceneChangesArrays(...args: [sceneChangeIds: SceneChangeIds]): void;
193
212
  createContext(...args: []): AquaContextHandle;
194
213
  destroyContext(...args: [handle: AquaContextHandle]): AquaStatus;
@@ -197,6 +216,8 @@ declare class Engine {
197
216
  deletedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
198
217
  dataPtrView(...args: [attributeInfo: AttributeInfo]): Uint32Array;
199
218
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
219
+ remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
220
+ getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
200
221
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
201
222
  free(...args: [size: number]): number;
202
223
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -207,6 +228,7 @@ declare class Engine {
207
228
  attributeInfo: AttributeInfo
208
229
  ]): AquaStatus;
209
230
  getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
231
+ getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
210
232
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
211
233
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
212
234
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -255,17 +277,15 @@ declare class Engine {
255
277
  removeStream(...args: [handle: AquaClientHandle, streamObjectId: number]): boolean;
256
278
  setAssetViewerKey(...args: [handle: AquaClientHandle, key: string]): AquaStatus;
257
279
  setClientSpatialFormat(...args: [handle: AquaClientHandle, spatialFormat: SpatialFormat]): AquaStatus;
258
- setRuntimeSettings(...args: [
259
- handle: AquaClientHandle,
260
- settings: RuntimeSettings
261
- ]): AquaStatus;
280
+ setRuntimeSettings(...args: [handle: AquaClientHandle, settings: RuntimeSettings]): AquaStatus;
262
281
  setMainCameraTransform(...args: [handle: AquaClientHandle, cameraTransform: number]): AquaStatus;
263
282
  setMainCameraViewFrustum(...args: [
264
283
  handle: AquaClientHandle,
265
284
  aspectRatio: number,
266
285
  verticalFov: number,
267
286
  nearPlane: number,
268
- farPlane: number
287
+ farPlane: number,
288
+ viewportHeightPixels: number
269
289
  ]): AquaStatus;
270
290
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
271
291
  setSceneObjectTransform(...args: [
@@ -276,14 +296,8 @@ declare class Engine {
276
296
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
277
297
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
278
298
  getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
279
- getName(...args: [
280
- handle: AquaClientHandle,
281
- sceneObjectId: number
282
- ]): string;
283
- setVariantSelection(...args: [
284
- handle: AquaClientHandle,
285
- sceneObjectId: number
286
- ]): AquaStatus;
299
+ getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
300
+ setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
287
301
  takeAttribute(...args: [
288
302
  handle: AquaClientHandle,
289
303
  sceneObjectId: number,
@@ -313,25 +327,9 @@ export declare class Lod {
313
327
  #private;
314
328
  readonly id: LodInit["id"];
315
329
  readonly store: LodStore;
316
- useExtSplats: boolean;
317
- splatsExtendedData: Uint32Array<ArrayBuffer> | null;
318
- sh1Data: Uint32Array<ArrayBuffer> | null;
319
- sh1Max: number;
320
- sh2Data: Uint32Array<ArrayBuffer> | null;
321
- sh2Max: number;
322
- sh3Data: Uint32Array<ArrayBuffer> | null;
323
- sh3Max: number;
324
- sh3ExtendedData: Uint32Array<ArrayBuffer> | null;
325
330
  get key(): unknown;
326
331
  set key(key: unknown);
327
332
  readonly modelRoot: ModelRoot;
328
- set splats(splats: Uint32Array<ArrayBuffer> | null);
329
- get splats(): Uint32Array<ArrayBuffer> | null;
330
- /**
331
- * Sets the cached world bounds of this object
332
- *
333
- * @deprecated set the local bounds and transform as needed
334
- */
335
333
  set bounds(bounds: Float32Array<ArrayBuffer> | null);
336
334
  /**
337
335
  * Retrieves the cached world bounds of this object
@@ -349,21 +347,26 @@ export declare class Lod {
349
347
  get localBounds(): Float32Array<ArrayBuffer> | null;
350
348
  set lodIndex(index: number);
351
349
  get lodIndex(): number | null;
352
- set paddingCount(count: number);
353
- get paddingCount(): number;
350
+ set paddingSplatsCount(count: number);
351
+ get paddingSplatsCount(): number;
354
352
  set transform(transform: Float32Array<ArrayBuffer> | null);
355
353
  get transform(): Float32Array<ArrayBuffer> | null;
356
- setSh1(sh1Data: Uint32Array<ArrayBuffer>, sh1Max: number): void;
357
- setSh2(sh2Data: Uint32Array<ArrayBuffer>, sh2Max: number): void;
358
- 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;
359
361
  dispose(): void;
360
- constructor({ id, modelRoot, lodStore }: LodInit);
362
+ constructor({ id, modelRoot, lodStore, client }: LodInit);
361
363
  }
362
364
 
363
365
  export declare type LodInit = {
364
366
  id: number;
365
367
  modelRoot: ModelRoot;
366
368
  lodStore: LodStore;
369
+ client: Client;
367
370
  };
368
371
 
369
372
  export declare class LodStore {
@@ -404,7 +407,9 @@ declare interface MainModule {
404
407
  createdObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
405
408
  dataPtrView(attributeInfo: AttributeInfo): Uint32Array;
406
409
  deactivatedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
410
+ remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
407
411
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
412
+ GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
408
413
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
409
414
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
410
415
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -432,6 +437,7 @@ declare interface MainModule {
432
437
  */
433
438
  export declare class Miris {
434
439
  #private;
440
+ static tryUseShark: boolean;
435
441
  static _instance: Miris;
436
442
  static instance<T extends typeof Miris>(this: T): Promise<InstanceType<T>>;
437
443
  readonly engine: Engine;
@@ -450,6 +456,7 @@ export declare class Miris {
450
456
  protected _xrSession: XRSession | null;
451
457
  protected _requestAnimationFrame: RequestAnimationFrameFn | null;
452
458
  signalResumeFromIdle(): void;
459
+ get _splatCountBudget(): number;
453
460
  /**
454
461
  * Why 43? Because the AVP throttles down to 45Hz :(
455
462
  */
@@ -518,6 +525,7 @@ export declare class Scene extends EventTarget {
518
525
  readonly handle?: number;
519
526
  constructor({ miris, viewerKey }: SceneInit);
520
527
  dispose(): void;
528
+ /* Excluded from this release type: _getViewingVolumeObb */
521
529
  fetchAssets(tags?: string | Iterable<string>): Promise<{
522
530
  name: string;
523
531
  thumbnailUrl: string;
@@ -543,6 +551,7 @@ declare interface SceneChangeIds extends EmbindObject {
543
551
  readonly modifiedObjectsCount: number;
544
552
  readonly deactivatedObjectsCount: number;
545
553
  readonly deletedObjectsCount: number;
554
+ readonly remaskedObjectsCount: number;
546
555
  }
547
556
 
548
557
  export declare type SceneInit = {
@@ -554,6 +563,13 @@ declare interface SceneMetadata extends EmbindObject {
554
563
  readonly inputColorSpace: string;
555
564
  }
556
565
 
566
+ declare type SparkAttributeInfo = {
567
+ elementsPerSplat: number;
568
+ discard: boolean;
569
+ };
570
+
571
+ export declare const sparkAttributeList: Record<string, SparkAttributeInfo>;
572
+
557
573
  declare interface SpatialFormat extends EmbindObject {
558
574
  metersPerUnit: number;
559
575
  upAxis: number;
@@ -581,6 +597,8 @@ export declare class Stream extends EventTarget {
581
597
  set key(key: unknown);
582
598
  get matrix(): Matrix4x4Tuple;
583
599
  set matrix(matrix: Matrix4x4Tuple);
600
+ get opacity(): number;
601
+ set opacity(opacity: number);
584
602
  get boundingBox(): {
585
603
  min: {
586
604
  x: number;
@@ -609,7 +627,7 @@ export declare class Stream extends EventTarget {
609
627
  */
610
628
  get chunks(): Set<ModelRoot>;
611
629
  constructor(options: StreamInit);
612
- _initStream({ uuid, prefetch, prefetchMaxDepth, keepPrefetch }: StreamInit): void;
630
+ _initStream({ uuid }: StreamInit): void;
613
631
  /* Excluded from this release type: _onStreamLoaded */
614
632
  /* Excluded from this release type: _onRootLoaded */
615
633
  add(modelRoot: ModelRoot): void;
@@ -621,13 +639,6 @@ export declare type StreamInit = {
621
639
  scene: Scene;
622
640
  authToken?: string;
623
641
  drmKey?: string;
624
- /** When true the stream runs in prefetch-only mode: it downloads and caches
625
- * octree node data up to `prefetchMaxDepth` without rendering anything. */
626
- prefetch?: boolean;
627
- /** Maximum octree depth to prefetch. Set to -1 to disable prefetching. If omitted, defaults to 3 */
628
- prefetchMaxDepth?: number;
629
- /** Retain all prefetched data by the stream (make it non evictable) */
630
- keepPrefetch?: boolean;
631
642
  };
632
643
 
633
644
  declare type StringVector = EmbindVector<string>;