@miris-inc/core 0.0.8-e6a94a6 → 0.0.8-e755f30
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 +0 -0
- package/dist/aqua-parser.wasm +0 -0
- package/dist/core.d.ts +97 -13
- package/dist/core.js +391 -75
- package/dist/core.prod.js +1 -1
- package/dist/core.standalone.js +849 -533
- package/dist/core.standalone.prod.js +1 -1
- package/package.json +8 -1
- package/webshark.d.ts +290 -0
package/dist/AquaApi.wasm
CHANGED
|
Binary file
|
package/dist/aqua-parser.wasm
CHANGED
|
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
|
-
|
|
3
|
-
|
|
4
|
-
readonly
|
|
5
|
-
readonly
|
|
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,16 @@ 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 GLASS_MESH_GEOMETRY: string;
|
|
37
|
+
static readonly GLASS_MESH_PANELS: string;
|
|
38
|
+
static readonly MOD_DEPTH: string;
|
|
25
39
|
}
|
|
26
40
|
|
|
27
41
|
declare type CachedAttribute = {
|
|
@@ -33,6 +47,8 @@ export declare class Camera {
|
|
|
33
47
|
#private;
|
|
34
48
|
readonly id: number;
|
|
35
49
|
update(): void;
|
|
50
|
+
get viewportHeight(): number;
|
|
51
|
+
set viewportHeight(viewportHeight: number);
|
|
36
52
|
get aspect(): number;
|
|
37
53
|
set aspect(aspect: number);
|
|
38
54
|
get fov(): number;
|
|
@@ -46,7 +62,7 @@ export declare class Camera {
|
|
|
46
62
|
readonly engine: Engine;
|
|
47
63
|
readonly miris: Miris;
|
|
48
64
|
readonly scene: Scene;
|
|
49
|
-
constructor({ aspect, fov, near, far, matrix, scene }: CameraInit);
|
|
65
|
+
constructor({ aspect, fov, near, far, matrix, scene, viewportHeight, }: CameraInit);
|
|
50
66
|
}
|
|
51
67
|
|
|
52
68
|
export declare type CameraInit = {
|
|
@@ -56,6 +72,7 @@ export declare type CameraInit = {
|
|
|
56
72
|
far: number;
|
|
57
73
|
matrix: Matrix4x4Tuple;
|
|
58
74
|
scene: Scene;
|
|
75
|
+
viewportHeight?: number;
|
|
59
76
|
};
|
|
60
77
|
|
|
61
78
|
export declare class Change {
|
|
@@ -107,6 +124,8 @@ declare class Client {
|
|
|
107
124
|
hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
|
|
108
125
|
getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
|
|
109
126
|
getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
|
|
127
|
+
getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
|
|
128
|
+
getDrMapLadderRoughnessLevels(...args: ClientMethodParameters["getDrMapLadderRoughnessLevels"]): number[];
|
|
110
129
|
getName(...args: ClientMethodParameters["getName"]): string;
|
|
111
130
|
setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
|
|
112
131
|
takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
|
|
@@ -114,7 +133,6 @@ declare class Client {
|
|
|
114
133
|
takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
|
|
115
134
|
unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
|
|
116
135
|
updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
|
|
117
|
-
recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
|
|
118
136
|
}
|
|
119
137
|
|
|
120
138
|
declare type ClientInit = {
|
|
@@ -224,8 +242,8 @@ declare class Engine {
|
|
|
224
242
|
attributeName: string,
|
|
225
243
|
attributeInfo: AttributeInfo
|
|
226
244
|
]): AquaStatus;
|
|
227
|
-
getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
|
|
228
|
-
getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
|
|
245
|
+
getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
|
|
246
|
+
getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
|
|
229
247
|
getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
|
|
230
248
|
getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
|
|
231
249
|
getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
|
|
@@ -281,9 +299,11 @@ declare class Engine {
|
|
|
281
299
|
aspectRatio: number,
|
|
282
300
|
verticalFov: number,
|
|
283
301
|
nearPlane: number,
|
|
284
|
-
farPlane: number
|
|
302
|
+
farPlane: number,
|
|
303
|
+
viewportHeightPixels: number
|
|
285
304
|
]): AquaStatus;
|
|
286
305
|
setMaxCacheSize(...args: [maxSizeBytes: number]): void;
|
|
306
|
+
setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
|
|
287
307
|
setSceneObjectTransform(...args: [
|
|
288
308
|
handle: AquaClientHandle,
|
|
289
309
|
sceneObjectId: number,
|
|
@@ -292,6 +312,8 @@ declare class Engine {
|
|
|
292
312
|
hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
|
|
293
313
|
getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
|
|
294
314
|
getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
|
|
315
|
+
getDrMapLadderRoughnessLevels(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
|
|
316
|
+
getAssetFormatVersion(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
|
|
295
317
|
getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
|
|
296
318
|
setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
|
|
297
319
|
takeAttribute(...args: [
|
|
@@ -304,8 +326,15 @@ declare class Engine {
|
|
|
304
326
|
getActiveClientSideIdsCheckSum(): number;
|
|
305
327
|
unlockScene(...args: [handle: AquaClientHandle]): boolean;
|
|
306
328
|
updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
|
|
307
|
-
recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
|
|
308
329
|
takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
|
|
330
|
+
/**
|
|
331
|
+
* Advances the runtime by one frame and recomputes the streaming budget. Call once per
|
|
332
|
+
* displayed frame per context, before the per-client updateSceneExecution() calls.
|
|
333
|
+
* `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
|
|
334
|
+
* measurement (first frame, or a resume from a stall) and the frame advances without recording
|
|
335
|
+
* one.
|
|
336
|
+
*/
|
|
337
|
+
beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
|
|
309
338
|
createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
|
|
310
339
|
cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
|
|
311
340
|
submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
|
|
@@ -351,9 +380,13 @@ export declare class Lod {
|
|
|
351
380
|
set _drawnOctantMask(mask: number);
|
|
352
381
|
get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
|
|
353
382
|
get _hasOctantOffsets(): boolean;
|
|
383
|
+
get _surfelOctantOffsets(): Uint32Array<ArrayBuffer> | null;
|
|
384
|
+
get _surfelCount(): number;
|
|
354
385
|
_readOctantOffsets(engine: Engine): void;
|
|
355
386
|
hasAttribute(attributeName: string): boolean;
|
|
356
387
|
getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
|
|
388
|
+
_getRawByteAttribute(engine: Engine, attributeName: string): Uint8Array<ArrayBuffer> | null;
|
|
389
|
+
_getRawByteAttributeWithBounds(engine: Engine, attributeName: string): RawByteAttributeWithBounds | null;
|
|
357
390
|
dispose(): void;
|
|
358
391
|
constructor({ id, modelRoot, lodStore, client }: LodInit);
|
|
359
392
|
}
|
|
@@ -414,13 +447,17 @@ declare interface MainModule {
|
|
|
414
447
|
HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
|
|
415
448
|
GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
|
|
416
449
|
GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
|
|
450
|
+
GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
|
|
451
|
+
GetDrMapLadderRoughnessLevels(handle: number, sceneObjectId: number): number[];
|
|
417
452
|
SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
|
|
418
453
|
SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
|
|
419
454
|
TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
|
|
420
455
|
GetActiveClientSideIdsCheckSum(): number;
|
|
421
456
|
TakeRenderRequired(handle: number): boolean;
|
|
457
|
+
BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
|
|
422
458
|
modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
|
|
423
459
|
setMaxCacheSize(maxSizeBytes: number): void;
|
|
460
|
+
SetPreferSharkEncodingProfiles(prefer: boolean): void;
|
|
424
461
|
}
|
|
425
462
|
|
|
426
463
|
/**
|
|
@@ -452,17 +489,26 @@ export declare class Miris {
|
|
|
452
489
|
protected _xrSession: XRSession | null;
|
|
453
490
|
protected _requestAnimationFrame: RequestAnimationFrameFn | null;
|
|
454
491
|
signalResumeFromIdle(): void;
|
|
492
|
+
get _splatCountBudget(): number;
|
|
455
493
|
/**
|
|
456
494
|
* Why 43? Because the AVP throttles down to 45Hz :(
|
|
457
495
|
*/
|
|
458
496
|
static readonly _XR_TARGET_FRAME_RATE = 43;
|
|
497
|
+
/* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
|
|
498
|
+
/* Excluded from this release type: _SHARK_SPLAT_CAPACITY_MOBILE */
|
|
499
|
+
static readonly _SHARK_SPLAT_CAPACITY_DESKTOP = 3000000;
|
|
500
|
+
/* Excluded from this release type: _SHARK_SPLAT_BUDGET_CAP_MOBILE */
|
|
501
|
+
static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2500000;
|
|
502
|
+
/* Excluded from this release type: _isMobileDevice */
|
|
503
|
+
/* Excluded from this release type: _sharkSplatCapacity */
|
|
504
|
+
/* Excluded from this release type: _sharkSplatBudgetCap */
|
|
459
505
|
/* Excluded from this release type: _setTargetFrameRate */
|
|
460
506
|
/* Excluded from this release type: _setXRModeActive */
|
|
461
507
|
/* Excluded from this release type: _setSplatCountBudgetOverride */
|
|
462
508
|
/* Excluded from this release type: _update */
|
|
463
509
|
getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
|
|
464
510
|
getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
|
|
465
|
-
|
|
511
|
+
/* Excluded from this release type: _updateForScene */
|
|
466
512
|
applyChanges(_entries: Change[]): void;
|
|
467
513
|
_computeAdditionalRenderNeeded(): boolean;
|
|
468
514
|
onColorSpaceDetected(_isLinear: boolean): void;
|
|
@@ -491,6 +537,28 @@ export declare type ModelRootInit = {
|
|
|
491
537
|
stream: Stream;
|
|
492
538
|
};
|
|
493
539
|
|
|
540
|
+
/**
|
|
541
|
+
* The byte-exact counterpart of getRawUint32Attribute above: same no-padding, no-takeAttribute
|
|
542
|
+
* contract, returning bytes rather than words.
|
|
543
|
+
*
|
|
544
|
+
* Use this rather than that one wherever the stride is not a whole number of words:
|
|
545
|
+
* reflectanceDataV1's 26-byte record is not, and an odd record count would lose that record's
|
|
546
|
+
* last field to dataPtrView's truncation.
|
|
547
|
+
*/
|
|
548
|
+
export declare type RawByteAttributeWithBounds = {
|
|
549
|
+
bytes: Uint8Array<ArrayBuffer>;
|
|
550
|
+
minValue: {
|
|
551
|
+
x: number;
|
|
552
|
+
y: number;
|
|
553
|
+
z: number;
|
|
554
|
+
};
|
|
555
|
+
maxValue: {
|
|
556
|
+
x: number;
|
|
557
|
+
y: number;
|
|
558
|
+
z: number;
|
|
559
|
+
};
|
|
560
|
+
};
|
|
561
|
+
|
|
494
562
|
declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
|
|
495
563
|
|
|
496
564
|
declare interface RuntimeSettings extends EmbindObject {
|
|
@@ -499,6 +567,7 @@ declare interface RuntimeSettings extends EmbindObject {
|
|
|
499
567
|
targetFramesPerSecond: number;
|
|
500
568
|
xrModeActive: boolean;
|
|
501
569
|
splatCountBudget: number;
|
|
570
|
+
splatCountBudgetCap: number;
|
|
502
571
|
}
|
|
503
572
|
|
|
504
573
|
export declare class Scene extends EventTarget {
|
|
@@ -510,6 +579,7 @@ export declare class Scene extends EventTarget {
|
|
|
510
579
|
readonly id: number;
|
|
511
580
|
get key(): unknown;
|
|
512
581
|
set key(key: unknown);
|
|
582
|
+
/* Excluded from this release type: _assetFormat */
|
|
513
583
|
get viewerKey(): string | null;
|
|
514
584
|
set viewerKey(viewerKey: string | null);
|
|
515
585
|
get streams(): Set<Stream>;
|
|
@@ -519,21 +589,33 @@ export declare class Scene extends EventTarget {
|
|
|
519
589
|
readonly client: Client;
|
|
520
590
|
readonly handle?: number;
|
|
521
591
|
constructor({ miris, viewerKey }: SceneInit);
|
|
592
|
+
/**
|
|
593
|
+
* Drives a frame and answers whether *this* scene's canvas needs repainting. Call it once per
|
|
594
|
+
* displayed frame from the host's animation loop, and render when it returns true.
|
|
595
|
+
*
|
|
596
|
+
* Every scene on the page calls this from its own loop. The first call in a displayed frame
|
|
597
|
+
* drives one engine tick for all of them; the rest recognise the frame and reuse it.
|
|
598
|
+
*
|
|
599
|
+
* @param ts the host's frame timestamp. Optional - the document timeline supplies one, and it
|
|
600
|
+
* reads the same for every scene in a displayed frame. Pass it when the host runs its own
|
|
601
|
+
* clock, as an immersive XR session does, because XRFrame time is not the document timeline.
|
|
602
|
+
*/
|
|
603
|
+
update(ts?: DOMHighResTimeStamp): boolean;
|
|
522
604
|
dispose(): void;
|
|
523
|
-
/* Excluded from this release type: _getViewingVolumeObb */
|
|
524
605
|
fetchAssets(tags?: string | Iterable<string>): Promise<{
|
|
525
606
|
name: string;
|
|
526
607
|
thumbnailUrl: string;
|
|
527
608
|
uuid: string;
|
|
528
609
|
tags: string[];
|
|
529
610
|
}[]>;
|
|
530
|
-
getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
|
|
531
611
|
add(stream: Stream): void;
|
|
532
612
|
getStreamForId(streamObjectId: number): Stream | undefined;
|
|
533
613
|
getStreamForDescendentId(descendentObjectId: number): Stream | null;
|
|
534
614
|
getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
|
|
615
|
+
_recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
|
|
535
616
|
/* Excluded from this release type: _getFeatureMesh */
|
|
536
617
|
/* Excluded from this release type: _getDrMap */
|
|
618
|
+
/* Excluded from this release type: _onDrMapLadder */
|
|
537
619
|
/* Excluded from this release type: _onFeatureData */
|
|
538
620
|
/* Excluded from this release type: _onSceneLoaded */
|
|
539
621
|
delete(stream: Stream): void;
|
|
@@ -624,6 +706,8 @@ export declare class Stream extends EventTarget {
|
|
|
624
706
|
constructor(options: StreamInit);
|
|
625
707
|
_initStream({ uuid }: StreamInit): void;
|
|
626
708
|
/* Excluded from this release type: _onStreamLoaded */
|
|
709
|
+
getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
|
|
710
|
+
/* Excluded from this release type: _getViewingVolumeObb */
|
|
627
711
|
/* Excluded from this release type: _onRootLoaded */
|
|
628
712
|
add(modelRoot: ModelRoot): void;
|
|
629
713
|
end(): void;
|