@miris-inc/core 0.0.8-b7d9f7a → 0.0.8-b846457

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
@@ -4,11 +4,14 @@ export declare const AssetFormat: {
4
4
  };
5
5
 
6
6
  declare interface AttributeInfo extends EmbindObject {
7
- readonly dataType: number;
8
- readonly componentCount: number;
9
- readonly dataPtr: number;
10
- 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;
11
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 };
12
15
  readonly maxValue: { x: number; y: number; z: number };
13
16
  }
14
17
 
@@ -29,6 +32,15 @@ export declare class AttributeNames {
29
32
  static readonly SHARK_SPHERICAL_HARMONICS: string;
30
33
  static readonly COLOR: string;
31
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;
32
44
  }
33
45
 
34
46
  declare type CachedAttribute = {
@@ -101,7 +113,9 @@ declare class Client {
101
113
  getSceneMetadata(...args: ClientMethodParameters["getSceneMetadata"]): number;
102
114
  getSceneObjectParent(...args: ClientMethodParameters["getSceneObjectParent"]): number;
103
115
  getSceneObjectType(...args: ClientMethodParameters["getSceneObjectType"]): SceneObjectType;
116
+ getStreamStatus(...args: ClientMethodParameters["getStreamStatus"]): StreamStatus;
104
117
  getDrawnOctantMask(...args: ClientMethodParameters["getDrawnOctantMask"]): number;
118
+ getOctantLocalBoundingBoxes(...args: ClientMethodParameters["getOctantLocalBoundingBoxes"]): number[];
105
119
  getLocalTransform(...args: ClientMethodParameters["getLocalTransform"]): AquaStatus;
106
120
  getWorldTransform(...args: ClientMethodParameters["getWorldTransform"]): AquaStatus;
107
121
  hasAttribute(...args: ClientMethodParameters["hasAttribute"]): boolean;
@@ -118,6 +132,7 @@ declare class Client {
118
132
  getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
119
133
  getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
120
134
  getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
135
+ getDrMapLadderRoughnessLevels(...args: ClientMethodParameters["getDrMapLadderRoughnessLevels"]): number[];
121
136
  getName(...args: ClientMethodParameters["getName"]): string;
122
137
  setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
123
138
  takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
@@ -183,11 +198,23 @@ declare class Engine {
183
198
  readonly Loaded: 2;
184
199
  readonly Failed: 3;
185
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
+ };
186
208
  readonly ready: Promise<this>;
187
209
  readonly pending: boolean;
188
210
  get module(): MainModule;
189
211
  constructor(moduleOptions?: Record<string, unknown>);
190
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
+ };
191
218
  get Handedness(): {
192
219
  Right: number;
193
220
  Left: number;
@@ -208,6 +235,7 @@ declare class Engine {
208
235
  Y: number;
209
236
  Z: number;
210
237
  };
238
+ get UsePadding(): boolean;
211
239
  activatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
212
240
  addStreamById(...args: [
213
241
  handle: AquaClientHandle,
@@ -225,6 +253,7 @@ declare class Engine {
225
253
  deactivatedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
226
254
  remaskedObjectIdsView(...args: [sceneChangeIds: SceneChangeIds]): Uint32Array;
227
255
  getDrawnOctantMask(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
256
+ getOctantLocalBoundingBoxes(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
228
257
  destroyClient(...args: [handle: AquaClientHandle]): AquaStatus;
229
258
  free(...args: [size: number]): number;
230
259
  getAssetsAsync(...args: [handle: AquaClientHandle, tags: StringVector]): AssetInfo[];
@@ -243,6 +272,7 @@ declare class Engine {
243
272
  getSceneChangesCounts(...args: [handle: AquaClientHandle, sceneChangeIds: SceneChangeIds]): void;
244
273
  getSceneMetadata(...args: [handle: AquaClientHandle, metadata: SceneMetadata]): number;
245
274
  getSceneObjectParent(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
275
+ getStreamStatus(...args: [handle: AquaClientHandle, streamObjectId: number]): StreamStatus;
246
276
  getSceneObjectType(...args: [handle: AquaClientHandle, sceneObjectId: number]): SceneObjectType;
247
277
  getLocalTransform(...args: [
248
278
  handle: AquaClientHandle,
@@ -296,6 +326,7 @@ declare class Engine {
296
326
  ]): AquaStatus;
297
327
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
298
328
  setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
329
+ setPadSplatAttributes(usePadding: boolean): void;
299
330
  setSceneObjectTransform(...args: [
300
331
  handle: AquaClientHandle,
301
332
  sceneObjectId: number,
@@ -304,6 +335,7 @@ declare class Engine {
304
335
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
305
336
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
306
337
  getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
338
+ getDrMapLadderRoughnessLevels(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
307
339
  getAssetFormatVersion(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
308
340
  getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
309
341
  setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
@@ -323,9 +355,16 @@ declare class Engine {
323
355
  * displayed frame per context, before the per-client updateSceneExecution() calls.
324
356
  * `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
325
357
  * measurement (first frame, or a resume from a stall) and the frame advances without recording
326
- * 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.
327
361
  */
328
- beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
362
+ beginFrame(...args: [
363
+ contextHandle: AquaContextHandle,
364
+ previousFrameTimeMs: number,
365
+ primsResident: number,
366
+ primCapacity: number
367
+ ]): AquaStatus;
329
368
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
330
369
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
331
370
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -339,6 +378,12 @@ declare type EngineMethodParameters<E extends Engine = Engine> = {
339
378
  [Key in keyof E]: E[Key] extends (...args: any[]) => any ? Parameters<E[Key]> : never;
340
379
  };
341
380
 
381
+ export declare const HaveData = 2;
382
+
383
+ export declare const HaveMetadata = 1;
384
+
385
+ export declare const HaveNothing = 0;
386
+
342
387
  export declare class Lod {
343
388
  #private;
344
389
  readonly id: LodInit["id"];
@@ -369,11 +414,19 @@ export declare class Lod {
369
414
  get transform(): Float32Array<ArrayBuffer> | null;
370
415
  get _drawnOctantMask(): number;
371
416
  set _drawnOctantMask(mask: number);
417
+ get _octantLocalBounds(): Float32Array<ArrayBuffer> | null;
418
+ set _octantLocalBounds(bounds: Float32Array<ArrayBuffer> | null);
372
419
  get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
373
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;
374
425
  _readOctantOffsets(engine: Engine): void;
375
426
  hasAttribute(attributeName: string): boolean;
376
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;
377
430
  dispose(): void;
378
431
  constructor({ id, modelRoot, lodStore, client }: LodInit);
379
432
  }
@@ -398,6 +451,11 @@ export declare class LodStore {
398
451
 
399
452
  declare interface MainModule {
400
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
+ };
401
459
  Handedness: { Right: number; Left: number };
402
460
  HEAPF32: Float32Array<ArrayBuffer>;
403
461
  HEAPU8: Uint8Array<ArrayBuffer>;
@@ -426,6 +484,7 @@ declare interface MainModule {
426
484
  remaskedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
427
485
  deletedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
428
486
  GetDrawnOctantMask(handle: number, sceneObjectId: number): number;
487
+ GetOctantLocalBoundingBoxes(handle: number, sceneObjectId: number): number[];
429
488
  GetAssetsAsync(handle: number, tags: StringVector): unknown[];
430
489
  GetSceneChanges(handle: number, sceneChangeIds: SceneChangeIds): void;
431
490
  GetSceneChangesCounts(handle: number, sceneChangeIds: SceneChangeIds): void;
@@ -435,12 +494,18 @@ declare interface MainModule {
435
494
  GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
436
495
  GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
437
496
  GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
497
+ GetDrMapLadderRoughnessLevels(handle: number, sceneObjectId: number): number[];
438
498
  SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
439
499
  SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
440
500
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
441
501
  GetActiveClientSideIdsCheckSum(): number;
442
502
  TakeRenderRequired(handle: number): boolean;
443
- BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
503
+ BeginFrame(
504
+ contextHandle: number,
505
+ previousFrameTimeMs: number,
506
+ primsResident: number,
507
+ primCapacity: number,
508
+ ): number;
444
509
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
445
510
  setMaxCacheSize(maxSizeBytes: number): void;
446
511
  SetPreferSharkEncodingProfiles(prefer: boolean): void;
@@ -482,15 +547,20 @@ export declare class Miris {
482
547
  static readonly _XR_TARGET_FRAME_RATE = 43;
483
548
  /* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
484
549
  /* Excluded from this release type: _SHARK_SPLAT_CAPACITY_MOBILE */
485
- static readonly _SHARK_SPLAT_CAPACITY_DESKTOP = 3000000;
550
+ static readonly _SHARK_SPLAT_CAPACITY_DESKTOP: number;
486
551
  /* Excluded from this release type: _SHARK_SPLAT_BUDGET_CAP_MOBILE */
487
- static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2500000;
552
+ static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2400000;
488
553
  /* Excluded from this release type: _isMobileDevice */
489
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 */
490
559
  /* Excluded from this release type: _sharkSplatBudgetCap */
491
560
  /* Excluded from this release type: _setTargetFrameRate */
492
561
  /* Excluded from this release type: _setXRModeActive */
493
562
  /* Excluded from this release type: _setSplatCountBudgetOverride */
563
+ /* Excluded from this release type: _reportRendererPrims */
494
564
  /* Excluded from this release type: _update */
495
565
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
496
566
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
@@ -523,6 +593,31 @@ export declare type ModelRootInit = {
523
593
  stream: Stream;
524
594
  };
525
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
+
526
621
  declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
527
622
 
528
623
  declare interface RuntimeSettings extends EmbindObject {
@@ -579,7 +674,9 @@ export declare class Scene extends EventTarget {
579
674
  _recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
580
675
  /* Excluded from this release type: _getFeatureMesh */
581
676
  /* Excluded from this release type: _getDrMap */
677
+ /* Excluded from this release type: _onDrMapLadder */
582
678
  /* Excluded from this release type: _onFeatureData */
679
+ /* Excluded from this release type: _updateStreamStatuses */
583
680
  /* Excluded from this release type: _onSceneLoaded */
584
681
  delete(stream: Stream): void;
585
682
  close(): void;
@@ -671,6 +768,9 @@ export declare class Stream extends EventTarget {
671
768
  /* Excluded from this release type: _onStreamLoaded */
672
769
  getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
673
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 */
674
774
  /* Excluded from this release type: _onRootLoaded */
675
775
  add(modelRoot: ModelRoot): void;
676
776
  end(): void;