@miris-inc/core 0.0.8-a35a347 → 0.0.8-a3c4acb

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
@@ -1,9 +1,17 @@
1
+ export declare const AssetFormat: {
2
+ readonly GaussianSplats: 1;
3
+ readonly GES: 2;
4
+ };
5
+
1
6
  declare interface AttributeInfo extends EmbindObject {
2
- readonly dataType: number;
3
- readonly componentCount: number;
4
- readonly dataPtr: number;
5
- readonly dataByteLength: number;
7
+ // Logical elements from the drop metadata: splats for a per-splat attribute, records for a
8
+ // per-surfel one. Not necessarily dataSizeBytes / bytesPerElement.
9
+ readonly elementCount: number;
10
+ readonly dataSizeBytes: number;
6
11
  readonly clientSideId: bigint;
12
+ // An embind CompressionType value, compared by identity against MainModule.CompressionType
13
+ readonly compressionType: unknown;
14
+ readonly minValue: { x: number; y: number; z: number; w: number };
7
15
  readonly maxValue: { x: number; y: number; z: number };
8
16
  }
9
17
 
@@ -24,6 +32,15 @@ export declare class AttributeNames {
24
32
  static readonly SHARK_SPHERICAL_HARMONICS: string;
25
33
  static readonly COLOR: string;
26
34
  static readonly OCTANT_OFFSETS: string;
35
+ static readonly SURFEL_OCTANT_OFFSETS: string;
36
+ static readonly SURFEL_COUNT: string;
37
+ static readonly SURFEL_OWNER_GROUPS: string;
38
+ static readonly OCTANT_CELL: string;
39
+ static readonly REFLECTANCE_DATA_V1: string;
40
+ static readonly REFLECTANCE_DATA_V2: string;
41
+ static readonly GLASS_MESH_GEOMETRY: string;
42
+ static readonly GLASS_MESH_PANELS: string;
43
+ static readonly MOD_DEPTH: string;
27
44
  }
28
45
 
29
46
  declare type CachedAttribute = {
@@ -96,7 +113,9 @@ declare class Client {
96
113
  getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
97
114
  getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
98
115
  getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
116
+ getStreamStatus(...args: ClientMethodParameters["getStreamStatus"]): StreamStatus;
99
117
  getDrawnOctantMask(...args: ClientMethodParameters["getDrawnOctantMask"]): number;
118
+ getOctantLocalBoundingBoxes(...args: ClientMethodParameters["getOctantLocalBoundingBoxes"]): number[];
100
119
  getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
101
120
  getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
102
121
  hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
@@ -112,6 +131,8 @@ declare class Client {
112
131
  hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
113
132
  getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
114
133
  getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
134
+ getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
135
+ getDrMapLadderRoughnessLevels(...args: ClientMethodParameters["getDrMapLadderRoughnessLevels"]): number[];
115
136
  getName(...args: ClientMethodParameters["getName"]): string;
116
137
  setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
117
138
  takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
@@ -177,11 +198,23 @@ declare class Engine {
177
198
  readonly Loaded: 2;
178
199
  readonly Failed: 3;
179
200
  };
201
+ static StreamStatus: {
202
+ readonly Unknown: 0;
203
+ readonly Resolving: 1;
204
+ readonly Loading: 2;
205
+ readonly Ready: 3;
206
+ readonly Failed: 4;
207
+ };
180
208
  readonly ready: Promise<this>;
181
209
  readonly pending: boolean;
182
210
  get module(): MainModule;
183
211
  constructor(moduleOptions?: Record<string, unknown>);
184
212
  get AttributeInfo(): new () => AttributeInfo;
213
+ get CompressionType(): {
214
+ SHARK_ELLIPSOID_COMPRESSED: unknown;
215
+ SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE: unknown;
216
+ SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE_V2: unknown;
217
+ };
185
218
  get Handedness(): {
186
219
  Right: number;
187
220
  Left: number;
@@ -202,6 +235,7 @@ declare class Engine {
202
235
  Y: number;
203
236
  Z: number;
204
237
  };
238
+ get UsePadding(): boolean;
205
239
  activatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
206
240
  addStreamById(...args: [
207
241
  handle: AquaClientHandle,
@@ -219,6 +253,7 @@ declare class Engine {
219
253
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
220
254
  remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
221
255
  getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
256
+ getOctantLocalBoundingBoxes(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
222
257
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
223
258
  free(...args: [size: number]): number;
224
259
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -228,8 +263,8 @@ declare class Engine {
228
263
  attributeName: string,
229
264
  attributeInfo: AttributeInfo
230
265
  ]): AquaStatus;
231
- getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
232
- getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
266
+ getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
267
+ getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
233
268
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
234
269
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
235
270
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -237,6 +272,7 @@ declare class Engine {
237
272
  getSceneChangesCounts(...args: [handle: AquaClientHandle, sceneChangeIds: SceneChangeIds]): void;
238
273
  getSceneMetadata(...args: [handle: AquaClientHandle, metadata: SceneMetadata]): number;
239
274
  getSceneObjectParent(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
275
+ getStreamStatus(...args: [handle: AquaClientHandle, streamObjectId: number]): StreamStatus;
240
276
  getSceneObjectType(...args: [handle: AquaClientHandle, sceneObjectId: number]): SceneObjectType;
241
277
  getLocalTransform(...args: [
242
278
  handle: AquaClientHandle,
@@ -290,6 +326,7 @@ declare class Engine {
290
326
  ]): AquaStatus;
291
327
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
292
328
  setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
329
+ setPadSplatAttributes(usePadding: boolean): void;
293
330
  setSceneObjectTransform(...args: [
294
331
  handle: AquaClientHandle,
295
332
  sceneObjectId: number,
@@ -298,6 +335,8 @@ declare class Engine {
298
335
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
299
336
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
300
337
  getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
338
+ getDrMapLadderRoughnessLevels(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
339
+ getAssetFormatVersion(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
301
340
  getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
302
341
  setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
303
342
  takeAttribute(...args: [
@@ -316,9 +355,16 @@ declare class Engine {
316
355
  * displayed frame per context, before the per-client updateSceneExecution() calls.
317
356
  * `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
318
357
  * measurement (first frame, or a resume from a stall) and the frame advances without recording
319
- * one.
358
+ * `primsResident` is what the renderer held at the end of the previous frame, fading
359
+ * prims included, and `primCapacity` what it can hold; activations that would not fit are
360
+ * deferred, where primCapacity 0 means deferral is disabled.
320
361
  */
321
- beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
362
+ beginFrame(...args: [
363
+ contextHandle: AquaContextHandle,
364
+ previousFrameTimeMs: number,
365
+ primsResident: number,
366
+ primCapacity: number
367
+ ]): AquaStatus;
322
368
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
323
369
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
324
370
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -332,6 +378,12 @@ declare type EngineMethodParameters<E extends Engine = Engine> = {
332
378
  [Key in keyof E]: E[Key] extends (...args: any[]) => any ? Parameters<E[Key]> : never;
333
379
  };
334
380
 
381
+ export declare const HaveData = 2;
382
+
383
+ export declare const HaveMetadata = 1;
384
+
385
+ export declare const HaveNothing = 0;
386
+
335
387
  export declare class Lod {
336
388
  #private;
337
389
  readonly id: LodInit["id"];
@@ -362,11 +414,19 @@ export declare class Lod {
362
414
  get transform(): Float32Array<ArrayBuffer> | null;
363
415
  get _drawnOctantMask(): number;
364
416
  set _drawnOctantMask(mask: number);
417
+ get _octantLocalBounds(): Float32Array<ArrayBuffer> | null;
418
+ set _octantLocalBounds(bounds: Float32Array<ArrayBuffer> | null);
365
419
  get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
366
420
  get _hasOctantOffsets(): boolean;
421
+ get _surfelOctantOffsets(): Uint32Array<ArrayBuffer> | null;
422
+ get _surfelCount(): number;
423
+ get _surfelOwnerGroups(): Uint32Array<ArrayBuffer> | null;
424
+ get _octantCell(): Uint32Array<ArrayBuffer> | null;
367
425
  _readOctantOffsets(engine: Engine): void;
368
426
  hasAttribute(attributeName: string): boolean;
369
427
  getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
428
+ _getRawByteAttribute(engine: Engine, attributeName: string): Uint8Array<ArrayBuffer> | null;
429
+ _getRawByteAttributeWithBounds(engine: Engine, attributeName: string): RawByteAttributeWithBounds | null;
370
430
  dispose(): void;
371
431
  constructor({ id, modelRoot, lodStore, client }: LodInit);
372
432
  }
@@ -391,6 +451,11 @@ export declare class LodStore {
391
451
 
392
452
  declare interface MainModule {
393
453
  AttributeInfo: new () => AttributeInfo;
454
+ CompressionType: {
455
+ SHARK_ELLIPSOID_COMPRESSED: unknown;
456
+ SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE: unknown;
457
+ SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE_V2: unknown;
458
+ };
394
459
  Handedness: { Right: number; Left: number };
395
460
  HEAPF32: Float32Array<ArrayBuffer>;
396
461
  HEAPU8: Uint8Array<ArrayBuffer>;
@@ -419,6 +484,7 @@ declare interface MainModule {
419
484
  remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
420
485
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
421
486
  GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
487
+ GetOctantLocalBoundingBoxes(handle: number, sceneObjectId: number): number[];
422
488
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
423
489
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
424
490
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -427,12 +493,19 @@ declare interface MainModule {
427
493
  HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
428
494
  GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
429
495
  GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
496
+ GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
497
+ GetDrMapLadderRoughnessLevels(handle: number, sceneObjectId: number): number[];
430
498
  SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
431
499
  SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
432
500
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
433
501
  GetActiveClientSideIdsCheckSum(): number;
434
502
  TakeRenderRequired(handle: number): boolean;
435
- BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
503
+ BeginFrame(
504
+ contextHandle: number,
505
+ previousFrameTimeMs: number,
506
+ primsResident: number,
507
+ primCapacity: number,
508
+ ): number;
436
509
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
437
510
  setMaxCacheSize(maxSizeBytes: number): void;
438
511
  SetPreferSharkEncodingProfiles(prefer: boolean): void;
@@ -473,9 +546,21 @@ export declare class Miris {
473
546
  */
474
547
  static readonly _XR_TARGET_FRAME_RATE = 43;
475
548
  /* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
549
+ /* Excluded from this release type: _SHARK_SPLAT_CAPACITY_MOBILE */
550
+ static readonly _SHARK_SPLAT_CAPACITY_DESKTOP: number;
551
+ /* Excluded from this release type: _SHARK_SPLAT_BUDGET_CAP_MOBILE */
552
+ static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2400000;
553
+ /* Excluded from this release type: _isMobileDevice */
554
+ /* Excluded from this release type: _sharkSplatCapacity */
555
+ /* Excluded from this release type: _minimumSplatCount */
556
+ /* Excluded from this release type: _splatCountStorageKey */
557
+ /* Excluded from this release type: _reloadWithLowerSplatCapacity */
558
+ /* Excluded from this release type: _limitSharkSplatCapacity */
559
+ /* Excluded from this release type: _sharkSplatBudgetCap */
476
560
  /* Excluded from this release type: _setTargetFrameRate */
477
561
  /* Excluded from this release type: _setXRModeActive */
478
562
  /* Excluded from this release type: _setSplatCountBudgetOverride */
563
+ /* Excluded from this release type: _reportRendererPrims */
479
564
  /* Excluded from this release type: _update */
480
565
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
481
566
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
@@ -508,6 +593,31 @@ export declare type ModelRootInit = {
508
593
  stream: Stream;
509
594
  };
510
595
 
596
+ /**
597
+ * The byte-exact counterpart of getRawUint32Attribute above: same no-padding, no-takeAttribute
598
+ * contract, returning bytes rather than words.
599
+ *
600
+ * Use this rather than that one wherever the stride is not a whole number of words: the
601
+ * reflectance records' 18- and 26-byte strides are not, and an odd record count would lose that
602
+ * record's last field to dataPtrView's truncation.
603
+ */
604
+ export declare type RawByteAttributeWithBounds = {
605
+ bytes: Uint8Array<ArrayBuffer>;
606
+ minValue: {
607
+ x: number;
608
+ y: number;
609
+ z: number;
610
+ };
611
+ maxValue: {
612
+ x: number;
613
+ y: number;
614
+ z: number;
615
+ };
616
+ };
617
+
618
+ declare type ReadyState_2 = typeof HaveNothing | typeof HaveMetadata | typeof HaveData;
619
+ export { ReadyState_2 as ReadyState }
620
+
511
621
  declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
512
622
 
513
623
  declare interface RuntimeSettings extends EmbindObject {
@@ -516,6 +626,7 @@ declare interface RuntimeSettings extends EmbindObject {
516
626
  targetFramesPerSecond: number;
517
627
  xrModeActive: boolean;
518
628
  splatCountBudget: number;
629
+ splatCountBudgetCap: number;
519
630
  }
520
631
 
521
632
  export declare class Scene extends EventTarget {
@@ -527,6 +638,7 @@ export declare class Scene extends EventTarget {
527
638
  readonly id: number;
528
639
  get key(): unknown;
529
640
  set key(key: unknown);
641
+ /* Excluded from this release type: _assetFormat */
530
642
  get viewerKey(): string | null;
531
643
  set viewerKey(viewerKey: string | null);
532
644
  get streams(): Set<Stream>;
@@ -549,21 +661,22 @@ export declare class Scene extends EventTarget {
549
661
  */
550
662
  update(ts?: DOMHighResTimeStamp): boolean;
551
663
  dispose(): void;
552
- /* Excluded from this release type: _getViewingVolumeObb */
553
664
  fetchAssets(tags?: string | Iterable<string>): Promise<{
554
665
  name: string;
555
666
  thumbnailUrl: string;
556
667
  uuid: string;
557
668
  tags: string[];
558
669
  }[]>;
559
- getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
560
670
  add(stream: Stream): void;
561
671
  getStreamForId(streamObjectId: number): Stream | undefined;
562
672
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
563
673
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
674
+ _recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
564
675
  /* Excluded from this release type: _getFeatureMesh */
565
676
  /* Excluded from this release type: _getDrMap */
677
+ /* Excluded from this release type: _onDrMapLadder */
566
678
  /* Excluded from this release type: _onFeatureData */
679
+ /* Excluded from this release type: _updateStreamStatuses */
567
680
  /* Excluded from this release type: _onSceneLoaded */
568
681
  delete(stream: Stream): void;
569
682
  close(): void;
@@ -653,6 +766,11 @@ export declare class Stream extends EventTarget {
653
766
  constructor(options: StreamInit);
654
767
  _initStream({ uuid }: StreamInit): void;
655
768
  /* Excluded from this release type: _onStreamLoaded */
769
+ getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
770
+ /* Excluded from this release type: _getViewingVolumeObb */
771
+ /** How much of the stream has loaded, as of the last frame. */
772
+ get readyState(): ReadyState_2;
773
+ /* Excluded from this release type: _updateStatus */
656
774
  /* Excluded from this release type: _onRootLoaded */
657
775
  add(modelRoot: ModelRoot): void;
658
776
  end(): void;