@miris-inc/core 0.0.8-5ccc417 → 0.0.8-5fc4d15

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