@miris-inc/core 0.0.8-7e4686e → 0.0.8-80eca3b

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
@@ -20,7 +20,9 @@ export declare class AttributeNames {
20
20
  static readonly SPARK_EXTENDED_SH3_B: string;
21
21
  static readonly UNUSED: string;
22
22
  static readonly SHARK_ELLIPSOIDS: string;
23
+ static readonly SHARK_ELLIPSOIDS_COMPRESSED: string;
23
24
  static readonly SHARK_SPHERICAL_HARMONICS: string;
25
+ static readonly COLOR: string;
24
26
  static readonly OCTANT_OFFSETS: string;
25
27
  }
26
28
 
@@ -33,6 +35,8 @@ export declare class Camera {
33
35
  #private;
34
36
  readonly id: number;
35
37
  update(): void;
38
+ get viewportHeight(): number;
39
+ set viewportHeight(viewportHeight: number);
36
40
  get aspect(): number;
37
41
  set aspect(aspect: number);
38
42
  get fov(): number;
@@ -46,7 +50,7 @@ export declare class Camera {
46
50
  readonly engine: Engine;
47
51
  readonly miris: Miris;
48
52
  readonly scene: Scene;
49
- constructor({ aspect, fov, near, far, matrix, scene }: CameraInit);
53
+ constructor({ aspect, fov, near, far, matrix, scene, viewportHeight, }: CameraInit);
50
54
  }
51
55
 
52
56
  export declare type CameraInit = {
@@ -56,6 +60,7 @@ export declare type CameraInit = {
56
60
  far: number;
57
61
  matrix: Matrix4x4Tuple;
58
62
  scene: Scene;
63
+ viewportHeight?: number;
59
64
  };
60
65
 
61
66
  export declare class Change {
@@ -114,7 +119,6 @@ declare class Client {
114
119
  takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
115
120
  unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
116
121
  updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
117
- recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
118
122
  }
119
123
 
120
124
  declare type ClientInit = {
@@ -224,8 +228,8 @@ declare class Engine {
224
228
  attributeName: string,
225
229
  attributeInfo: AttributeInfo
226
230
  ]): AquaStatus;
227
- getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
228
- getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
231
+ getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
232
+ getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
229
233
  getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
230
234
  getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
231
235
  getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
@@ -281,9 +285,11 @@ declare class Engine {
281
285
  aspectRatio: number,
282
286
  verticalFov: number,
283
287
  nearPlane: number,
284
- farPlane: number
288
+ farPlane: number,
289
+ viewportHeightPixels: number
285
290
  ]): AquaStatus;
286
291
  setMaxCacheSize(...args: [maxSizeBytes: number]): void;
292
+ setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
287
293
  setSceneObjectTransform(...args: [
288
294
  handle: AquaClientHandle,
289
295
  sceneObjectId: number,
@@ -304,8 +310,15 @@ declare class Engine {
304
310
  getActiveClientSideIdsCheckSum(): number;
305
311
  unlockScene(...args: [handle: AquaClientHandle]): boolean;
306
312
  updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
307
- recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
308
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;
309
322
  createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
310
323
  cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
311
324
  submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
@@ -419,8 +432,10 @@ declare interface MainModule {
419
432
  TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
420
433
  GetActiveClientSideIdsCheckSum(): number;
421
434
  TakeRenderRequired(handle: number): boolean;
435
+ BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
422
436
  modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
423
437
  setMaxCacheSize(maxSizeBytes: number): void;
438
+ SetPreferSharkEncodingProfiles(prefer: boolean): void;
424
439
  }
425
440
 
426
441
  /**
@@ -452,17 +467,19 @@ export declare class Miris {
452
467
  protected _xrSession: XRSession | null;
453
468
  protected _requestAnimationFrame: RequestAnimationFrameFn | null;
454
469
  signalResumeFromIdle(): void;
470
+ get _splatCountBudget(): number;
455
471
  /**
456
472
  * Why 43? Because the AVP throttles down to 45Hz :(
457
473
  */
458
474
  static readonly _XR_TARGET_FRAME_RATE = 43;
475
+ /* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
459
476
  /* Excluded from this release type: _setTargetFrameRate */
460
477
  /* Excluded from this release type: _setXRModeActive */
461
478
  /* Excluded from this release type: _setSplatCountBudgetOverride */
462
479
  /* Excluded from this release type: _update */
463
480
  getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
464
481
  getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
465
- update(): boolean;
482
+ /* Excluded from this release type: _updateForScene */
466
483
  applyChanges(_entries: Change[]): void;
467
484
  _computeAdditionalRenderNeeded(): boolean;
468
485
  onColorSpaceDetected(_isLinear: boolean): void;
@@ -519,15 +536,25 @@ export declare class Scene extends EventTarget {
519
536
  readonly client: Client;
520
537
  readonly handle?: number;
521
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;
522
551
  dispose(): void;
523
- /* Excluded from this release type: _getViewingVolumeObb */
524
552
  fetchAssets(tags?: string | Iterable<string>): Promise<{
525
553
  name: string;
526
554
  thumbnailUrl: string;
527
555
  uuid: string;
528
556
  tags: string[];
529
557
  }[]>;
530
- getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
531
558
  add(stream: Stream): void;
532
559
  getStreamForId(streamObjectId: number): Stream | undefined;
533
560
  getStreamForDescendentId(descendentObjectId: number): Stream | null;
@@ -624,6 +651,8 @@ export declare class Stream extends EventTarget {
624
651
  constructor(options: StreamInit);
625
652
  _initStream({ uuid }: StreamInit): void;
626
653
  /* Excluded from this release type: _onStreamLoaded */
654
+ getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
655
+ /* Excluded from this release type: _getViewingVolumeObb */
627
656
  /* Excluded from this release type: _onRootLoaded */
628
657
  add(modelRoot: ModelRoot): void;
629
658
  end(): void;