@miris-inc/core 0.0.8-4db0817 → 0.0.8-507c924

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
@@ -119,7 +119,6 @@ declare class Client {
119
119
  takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
120
120
  unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
121
121
  updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
122
- recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
123
122
  }
124
123
 
125
124
  declare type ClientInit = {
@@ -290,6 +289,7 @@ declare class Engine {
290
289
  viewportHeightPixels: number
291
290
  ]): AquaStatus;
292
291
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
292
+ setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
293
293
  setSceneObjectTransform(...args: [
294
294
  handle: AquaClientHandle,
295
295
  sceneObjectId: number,
@@ -310,8 +310,15 @@ declare class Engine {
310
310
  getActiveClientSideIdsCheckSum(): number;
311
311
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
312
312
  updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
313
- recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
314
313
  takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
314
+ /**
315
+ * Advances the runtime by one frame and recomputes the streaming budget. Call once per
316
+ * displayed frame per context, before the per-client updateSceneExecution() calls.
317
+ * `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
318
+ * measurement (first frame, or a resume from a stall) and the frame advances without recording
319
+ * one.
320
+ */
321
+ beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
315
322
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
316
323
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
317
324
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -425,8 +432,10 @@ declare interface MainModule {
425
432
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
426
433
  GetActiveClientSideIdsCheckSum(): number;
427
434
  TakeRenderRequired(handle: number): boolean;
435
+ BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
428
436
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
429
437
  setMaxCacheSize(maxSizeBytes: number): void;
438
+ SetPreferSharkEncodingProfiles(prefer: boolean): void;
430
439
  }
431
440
 
432
441
  /**
@@ -463,13 +472,14 @@ export declare class Miris {
463
472
  * Why 43? Because the AVP throttles down to 45Hz :(
464
473
  */
465
474
  static readonly _XR_TARGET_FRAME_RATE = 43;
475
+ /* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
466
476
  /* Excluded from this release type: _setTargetFrameRate */
467
477
  /* Excluded from this release type: _setXRModeActive */
468
478
  /* Excluded from this release type: _setSplatCountBudgetOverride */
469
479
  /* Excluded from this release type: _update */
470
480
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
471
481
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
472
- update(): boolean;
482
+ /* Excluded from this release type: _updateForScene */
473
483
  applyChanges(_entries: Change[]): void;
474
484
  _computeAdditionalRenderNeeded(): boolean;
475
485
  onColorSpaceDetected(_isLinear: boolean): void;
@@ -526,6 +536,18 @@ export declare class Scene extends EventTarget {
526
536
  readonly client: Client;
527
537
  readonly handle?: number;
528
538
  constructor({ miris, viewerKey }: SceneInit);
539
+ /**
540
+ * Drives a frame and answers whether *this* scene's canvas needs repainting. Call it once per
541
+ * displayed frame from the host's animation loop, and render when it returns true.
542
+ *
543
+ * Every scene on the page calls this from its own loop. The first call in a displayed frame
544
+ * drives one engine tick for all of them; the rest recognise the frame and reuse it.
545
+ *
546
+ * @param ts the host's frame timestamp. Optional - the document timeline supplies one, and it
547
+ * reads the same for every scene in a displayed frame. Pass it when the host runs its own
548
+ * clock, as an immersive XR session does, because XRFrame time is not the document timeline.
549
+ */
550
+ update(ts?: DOMHighResTimeStamp): boolean;
529
551
  dispose(): void;
530
552
  /* Excluded from this release type: _getViewingVolumeObb */
531
553
  fetchAssets(tags?: string | Iterable<string>): Promise<{