@miris-inc/core 0.0.8-4db0817 → 0.0.8-4ed3888

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
 
@@ -24,6 +30,10 @@ export declare class AttributeNames {
24
30
  static readonly SHARK_SPHERICAL_HARMONICS: string;
25
31
  static readonly COLOR: string;
26
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;
27
37
  }
28
38
 
29
39
  declare type CachedAttribute = {
@@ -112,6 +122,8 @@ declare class Client {
112
122
  hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
113
123
  getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
114
124
  getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
125
+ getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
126
+ getDrMapLadderRoughnessLevels(...args: ClientMethodParameters["getDrMapLadderRoughnessLevels"]): number[];
115
127
  getName(...args: ClientMethodParameters["getName"]): string;
116
128
  setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
117
129
  takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
@@ -119,7 +131,6 @@ declare class Client {
119
131
  takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
120
132
  unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
121
133
  updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
122
- recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
123
134
  }
124
135
 
125
136
  declare type ClientInit = {
@@ -229,8 +240,8 @@ declare class Engine {
229
240
  attributeName: string,
230
241
  attributeInfo: AttributeInfo
231
242
  ]): AquaStatus;
232
- getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
233
- getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
243
+ getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
244
+ getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
234
245
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
235
246
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
236
247
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -290,6 +301,7 @@ declare class Engine {
290
301
  viewportHeightPixels: number
291
302
  ]): AquaStatus;
292
303
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
304
+ setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
293
305
  setSceneObjectTransform(...args: [
294
306
  handle: AquaClientHandle,
295
307
  sceneObjectId: number,
@@ -298,6 +310,8 @@ declare class Engine {
298
310
  hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
299
311
  getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
300
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;
301
315
  getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
302
316
  setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
303
317
  takeAttribute(...args: [
@@ -310,8 +324,15 @@ declare class Engine {
310
324
  getActiveClientSideIdsCheckSum(): number;
311
325
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
312
326
  updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
313
- recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
314
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;
315
336
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
316
337
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
317
338
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -357,9 +378,12 @@ export declare class Lod {
357
378
  set _drawnOctantMask(mask: number);
358
379
  get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
359
380
  get _hasOctantOffsets(): boolean;
381
+ get _surfelOctantOffsets(): Uint32Array<ArrayBuffer> | null;
382
+ get _surfelCount(): number;
360
383
  _readOctantOffsets(engine: Engine): void;
361
384
  hasAttribute(attributeName: string): boolean;
362
385
  getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
386
+ _getRawByteAttribute(engine: Engine, attributeName: string): Uint8Array<ArrayBuffer> | null;
363
387
  dispose(): void;
364
388
  constructor({ id, modelRoot, lodStore, client }: LodInit);
365
389
  }
@@ -420,13 +444,17 @@ declare interface MainModule {
420
444
  HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
421
445
  GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
422
446
  GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
447
+ GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
448
+ GetDrMapLadderRoughnessLevels(handle: number, sceneObjectId: number): number[];
423
449
  SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
424
450
  SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
425
451
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
426
452
  GetActiveClientSideIdsCheckSum(): number;
427
453
  TakeRenderRequired(handle: number): boolean;
454
+ BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
428
455
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
429
456
  setMaxCacheSize(maxSizeBytes: number): void;
457
+ SetPreferSharkEncodingProfiles(prefer: boolean): void;
430
458
  }
431
459
 
432
460
  /**
@@ -463,13 +491,21 @@ export declare class Miris {
463
491
  * Why 43? Because the AVP throttles down to 45Hz :(
464
492
  */
465
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 */
466
502
  /* Excluded from this release type: _setTargetFrameRate */
467
503
  /* Excluded from this release type: _setXRModeActive */
468
504
  /* Excluded from this release type: _setSplatCountBudgetOverride */
469
505
  /* Excluded from this release type: _update */
470
506
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
471
507
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
472
- update(): boolean;
508
+ /* Excluded from this release type: _updateForScene */
473
509
  applyChanges(_entries: Change[]): void;
474
510
  _computeAdditionalRenderNeeded(): boolean;
475
511
  onColorSpaceDetected(_isLinear: boolean): void;
@@ -506,6 +542,7 @@ declare interface RuntimeSettings extends EmbindObject {
506
542
  targetFramesPerSecond: number;
507
543
  xrModeActive: boolean;
508
544
  splatCountBudget: number;
545
+ splatCountBudgetCap: number;
509
546
  }
510
547
 
511
548
  export declare class Scene extends EventTarget {
@@ -517,6 +554,7 @@ export declare class Scene extends EventTarget {
517
554
  readonly id: number;
518
555
  get key(): unknown;
519
556
  set key(key: unknown);
557
+ /* Excluded from this release type: _assetFormat */
520
558
  get viewerKey(): string | null;
521
559
  set viewerKey(viewerKey: string | null);
522
560
  get streams(): Set<Stream>;
@@ -526,21 +564,33 @@ export declare class Scene extends EventTarget {
526
564
  readonly client: Client;
527
565
  readonly handle?: number;
528
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;
529
579
  dispose(): void;
530
- /* Excluded from this release type: _getViewingVolumeObb */
531
580
  fetchAssets(tags?: string | Iterable<string>): Promise<{
532
581
  name: string;
533
582
  thumbnailUrl: string;
534
583
  uuid: string;
535
584
  tags: string[];
536
585
  }[]>;
537
- getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
538
586
  add(stream: Stream): void;
539
587
  getStreamForId(streamObjectId: number): Stream | undefined;
540
588
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
541
589
  getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
590
+ _recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
542
591
  /* Excluded from this release type: _getFeatureMesh */
543
592
  /* Excluded from this release type: _getDrMap */
593
+ /* Excluded from this release type: _onDrMapLadder */
544
594
  /* Excluded from this release type: _onFeatureData */
545
595
  /* Excluded from this release type: _onSceneLoaded */
546
596
  delete(stream: Stream): void;
@@ -631,6 +681,8 @@ export declare class Stream extends EventTarget {
631
681
  constructor(options: StreamInit);
632
682
  _initStream({ uuid }: StreamInit): void;
633
683
  /* Excluded from this release type: _onStreamLoaded */
684
+ getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
685
+ /* Excluded from this release type: _getViewingVolumeObb */
634
686
  /* Excluded from this release type: _onRootLoaded */
635
687
  add(modelRoot: ModelRoot): void;
636
688
  end(): void;