@miris-inc/core 0.0.8-40a84bd → 0.0.8-4555963

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,10 +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
+ readonly minValue: { x: number; y: number; z: number };
7
13
  readonly maxValue: { x: number; y: number; z: number };
14
+ readonly elementCount: number;
8
15
  }
9
16
 
10
17
  export declare class AttributeNames {
@@ -20,8 +27,12 @@ export declare class AttributeNames {
20
27
  static readonly SPARK_EXTENDED_SH3_B: string;
21
28
  static readonly UNUSED: string;
22
29
  static readonly SHARK_ELLIPSOIDS: string;
30
+ static readonly SHARK_ELLIPSOIDS_COMPRESSED: string;
23
31
  static readonly SHARK_SPHERICAL_HARMONICS: string;
32
+ static readonly COLOR: string;
24
33
  static readonly OCTANT_OFFSETS: string;
34
+ static readonly REFLECTANCE_DATA_V1: string;
35
+ static readonly MOD_DEPTH: string;
25
36
  }
26
37
 
27
38
  declare type CachedAttribute = {
@@ -110,6 +121,8 @@ declare class Client {
110
121
  hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
111
122
  getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
112
123
  getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
124
+ getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
125
+ getDrMapLadderRoughnessLevels(...args: ClientMethodParameters["getDrMapLadderRoughnessLevels"]): number[];
113
126
  getName(...args: ClientMethodParameters["getName"]): string;
114
127
  setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
115
128
  takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
@@ -117,7 +130,6 @@ declare class Client {
117
130
  takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
118
131
  unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
119
132
  updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
120
- recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
121
133
  }
122
134
 
123
135
  declare type ClientInit = {
@@ -227,8 +239,8 @@ declare class Engine {
227
239
  attributeName: string,
228
240
  attributeInfo: AttributeInfo
229
241
  ]): AquaStatus;
230
- getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
231
- getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
242
+ getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
243
+ getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
232
244
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
233
245
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
234
246
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -288,6 +300,7 @@ declare class Engine {
288
300
  viewportHeightPixels: number
289
301
  ]): AquaStatus;
290
302
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
303
+ setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
291
304
  setSceneObjectTransform(...args: [
292
305
  handle: AquaClientHandle,
293
306
  sceneObjectId: number,
@@ -296,6 +309,8 @@ declare class Engine {
296
309
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
297
310
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
298
311
  getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
312
+ getDrMapLadderRoughnessLevels(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
313
+ getAssetFormatVersion(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
299
314
  getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
300
315
  setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
301
316
  takeAttribute(...args: [
@@ -308,8 +323,15 @@ declare class Engine {
308
323
  getActiveClientSideIdsCheckSum(): number;
309
324
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
310
325
  updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
311
- recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
312
326
  takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
327
+ /**
328
+ * Advances the runtime by one frame and recomputes the streaming budget. Call once per
329
+ * displayed frame per context, before the per-client updateSceneExecution() calls.
330
+ * `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
331
+ * measurement (first frame, or a resume from a stall) and the frame advances without recording
332
+ * one.
333
+ */
334
+ beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
313
335
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
314
336
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
315
337
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -358,6 +380,7 @@ export declare class Lod {
358
380
  _readOctantOffsets(engine: Engine): void;
359
381
  hasAttribute(attributeName: string): boolean;
360
382
  getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
383
+ _getRawByteAttribute(engine: Engine, attributeName: string): Uint8Array<ArrayBuffer> | null;
361
384
  dispose(): void;
362
385
  constructor({ id, modelRoot, lodStore, client }: LodInit);
363
386
  }
@@ -418,13 +441,17 @@ declare interface MainModule {
418
441
  HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
419
442
  GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
420
443
  GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
444
+ GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
445
+ GetDrMapLadderRoughnessLevels(handle: number, sceneObjectId: number): number[];
421
446
  SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
422
447
  SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
423
448
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
424
449
  GetActiveClientSideIdsCheckSum(): number;
425
450
  TakeRenderRequired(handle: number): boolean;
451
+ BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
426
452
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
427
453
  setMaxCacheSize(maxSizeBytes: number): void;
454
+ SetPreferSharkEncodingProfiles(prefer: boolean): void;
428
455
  }
429
456
 
430
457
  /**
@@ -461,13 +488,21 @@ export declare class Miris {
461
488
  * Why 43? Because the AVP throttles down to 45Hz :(
462
489
  */
463
490
  static readonly _XR_TARGET_FRAME_RATE = 43;
491
+ /* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
492
+ /* Excluded from this release type: _SHARK_SPLAT_CAPACITY_MOBILE */
493
+ static readonly _SHARK_SPLAT_CAPACITY_DESKTOP = 3000000;
494
+ /* Excluded from this release type: _SHARK_SPLAT_BUDGET_CAP_MOBILE */
495
+ static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2500000;
496
+ /* Excluded from this release type: _isMobileDevice */
497
+ /* Excluded from this release type: _sharkSplatCapacity */
498
+ /* Excluded from this release type: _sharkSplatBudgetCap */
464
499
  /* Excluded from this release type: _setTargetFrameRate */
465
500
  /* Excluded from this release type: _setXRModeActive */
466
501
  /* Excluded from this release type: _setSplatCountBudgetOverride */
467
502
  /* Excluded from this release type: _update */
468
503
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
469
504
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
470
- update(): boolean;
505
+ /* Excluded from this release type: _updateForScene */
471
506
  applyChanges(_entries: Change[]): void;
472
507
  _computeAdditionalRenderNeeded(): boolean;
473
508
  onColorSpaceDetected(_isLinear: boolean): void;
@@ -504,6 +539,7 @@ declare interface RuntimeSettings extends EmbindObject {
504
539
  targetFramesPerSecond: number;
505
540
  xrModeActive: boolean;
506
541
  splatCountBudget: number;
542
+ splatCountBudgetCap: number;
507
543
  }
508
544
 
509
545
  export declare class Scene extends EventTarget {
@@ -515,6 +551,7 @@ export declare class Scene extends EventTarget {
515
551
  readonly id: number;
516
552
  get key(): unknown;
517
553
  set key(key: unknown);
554
+ /* Excluded from this release type: _assetFormat */
518
555
  get viewerKey(): string | null;
519
556
  set viewerKey(viewerKey: string | null);
520
557
  get streams(): Set<Stream>;
@@ -524,21 +561,33 @@ export declare class Scene extends EventTarget {
524
561
  readonly client: Client;
525
562
  readonly handle?: number;
526
563
  constructor({ miris, viewerKey }: SceneInit);
564
+ /**
565
+ * Drives a frame and answers whether *this* scene's canvas needs repainting. Call it once per
566
+ * displayed frame from the host's animation loop, and render when it returns true.
567
+ *
568
+ * Every scene on the page calls this from its own loop. The first call in a displayed frame
569
+ * drives one engine tick for all of them; the rest recognise the frame and reuse it.
570
+ *
571
+ * @param ts the host's frame timestamp. Optional - the document timeline supplies one, and it
572
+ * reads the same for every scene in a displayed frame. Pass it when the host runs its own
573
+ * clock, as an immersive XR session does, because XRFrame time is not the document timeline.
574
+ */
575
+ update(ts?: DOMHighResTimeStamp): boolean;
527
576
  dispose(): void;
528
- /* Excluded from this release type: _getViewingVolumeObb */
529
577
  fetchAssets(tags?: string | Iterable<string>): Promise<{
530
578
  name: string;
531
579
  thumbnailUrl: string;
532
580
  uuid: string;
533
581
  tags: string[];
534
582
  }[]>;
535
- getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
536
583
  add(stream: Stream): void;
537
584
  getStreamForId(streamObjectId: number): Stream | undefined;
538
585
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
539
586
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
587
+ _recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
540
588
  /* Excluded from this release type: _getFeatureMesh */
541
589
  /* Excluded from this release type: _getDrMap */
590
+ /* Excluded from this release type: _onDrMapLadder */
542
591
  /* Excluded from this release type: _onFeatureData */
543
592
  /* Excluded from this release type: _onSceneLoaded */
544
593
  delete(stream: Stream): void;
@@ -629,6 +678,8 @@ export declare class Stream extends EventTarget {
629
678
  constructor(options: StreamInit);
630
679
  _initStream({ uuid }: StreamInit): void;
631
680
  /* Excluded from this release type: _onStreamLoaded */
681
+ getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
682
+ /* Excluded from this release type: _getViewingVolumeObb */
632
683
  /* Excluded from this release type: _onRootLoaded */
633
684
  add(modelRoot: ModelRoot): void;
634
685
  end(): void;