@miris-inc/core 0.0.8-a97ec5e → 0.0.8-a997939
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 +107 -13
- package/dist/core.js +411 -91
- package/dist/core.prod.js +1 -1
- package/dist/core.standalone.js +859 -541
- package/dist/core.standalone.prod.js +1 -1
- package/package.json +23 -23
- package/webshark.d.ts +117 -162
- package/dist/AquaApi.js +0 -15
- package/dist/aqua-parser.js +0 -14
package/dist/AquaApi.wasm
CHANGED
|
Binary file
|
package/dist/aqua-parser.wasm
CHANGED
|
Binary file
|
package/dist/core.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
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
|
+
// An embind CompressionType value, compared by identity against MainModule.CompressionType
|
|
13
|
+
readonly compressionType: unknown;
|
|
14
|
+
readonly minValue: { x: number; y: number; z: number; w: number };
|
|
7
15
|
readonly maxValue: { x: number; y: number; z: number };
|
|
8
16
|
}
|
|
9
17
|
|
|
@@ -20,8 +28,16 @@ export declare class AttributeNames {
|
|
|
20
28
|
static readonly SPARK_EXTENDED_SH3_B: string;
|
|
21
29
|
static readonly UNUSED: string;
|
|
22
30
|
static readonly SHARK_ELLIPSOIDS: string;
|
|
31
|
+
static readonly SHARK_ELLIPSOIDS_COMPRESSED: string;
|
|
23
32
|
static readonly SHARK_SPHERICAL_HARMONICS: string;
|
|
33
|
+
static readonly COLOR: string;
|
|
24
34
|
static readonly OCTANT_OFFSETS: string;
|
|
35
|
+
static readonly SURFEL_OCTANT_OFFSETS: string;
|
|
36
|
+
static readonly SURFEL_COUNT: string;
|
|
37
|
+
static readonly REFLECTANCE_DATA_V1: string;
|
|
38
|
+
static readonly GLASS_MESH_GEOMETRY: string;
|
|
39
|
+
static readonly GLASS_MESH_PANELS: string;
|
|
40
|
+
static readonly MOD_DEPTH: string;
|
|
25
41
|
}
|
|
26
42
|
|
|
27
43
|
declare type CachedAttribute = {
|
|
@@ -33,6 +49,8 @@ export declare class Camera {
|
|
|
33
49
|
#private;
|
|
34
50
|
readonly id: number;
|
|
35
51
|
update(): void;
|
|
52
|
+
get viewportHeight(): number;
|
|
53
|
+
set viewportHeight(viewportHeight: number);
|
|
36
54
|
get aspect(): number;
|
|
37
55
|
set aspect(aspect: number);
|
|
38
56
|
get fov(): number;
|
|
@@ -46,7 +64,7 @@ export declare class Camera {
|
|
|
46
64
|
readonly engine: Engine;
|
|
47
65
|
readonly miris: Miris;
|
|
48
66
|
readonly scene: Scene;
|
|
49
|
-
constructor({ aspect, fov, near, far, matrix, scene }: CameraInit);
|
|
67
|
+
constructor({ aspect, fov, near, far, matrix, scene, viewportHeight, }: CameraInit);
|
|
50
68
|
}
|
|
51
69
|
|
|
52
70
|
export declare type CameraInit = {
|
|
@@ -56,6 +74,7 @@ export declare type CameraInit = {
|
|
|
56
74
|
far: number;
|
|
57
75
|
matrix: Matrix4x4Tuple;
|
|
58
76
|
scene: Scene;
|
|
77
|
+
viewportHeight?: number;
|
|
59
78
|
};
|
|
60
79
|
|
|
61
80
|
export declare class Change {
|
|
@@ -107,6 +126,8 @@ declare class Client {
|
|
|
107
126
|
hasFeature(...args: ClientMethodParameters["hasFeature"]): boolean;
|
|
108
127
|
getFeatureVersion(...args: ClientMethodParameters["getFeatureVersion"]): number;
|
|
109
128
|
getFeatureState(...args: ClientMethodParameters["getFeatureState"]): number;
|
|
129
|
+
getAssetFormatVersion(...args: ClientMethodParameters["getAssetFormatVersion"]): number;
|
|
130
|
+
getDrMapLadderRoughnessLevels(...args: ClientMethodParameters["getDrMapLadderRoughnessLevels"]): number[];
|
|
110
131
|
getName(...args: ClientMethodParameters["getName"]): string;
|
|
111
132
|
setVariantSelection(...args: ClientMethodParameters["setVariantSelection"]): AquaStatus;
|
|
112
133
|
takeAttribute(...args: ClientMethodParameters["takeAttribute"]): AquaStatus;
|
|
@@ -114,7 +135,6 @@ declare class Client {
|
|
|
114
135
|
takeRenderRequired(...args: ClientMethodParameters["takeRenderRequired"]): boolean;
|
|
115
136
|
unlockScene(...args: ClientMethodParameters["unlockScene"]): boolean;
|
|
116
137
|
updateSceneExecution(...args: ClientMethodParameters["updateSceneExecution"]): AquaStatus;
|
|
117
|
-
recordFrameTime(...args: ClientMethodParameters["recordFrameTime"]): AquaStatus;
|
|
118
138
|
}
|
|
119
139
|
|
|
120
140
|
declare type ClientInit = {
|
|
@@ -178,6 +198,10 @@ declare class Engine {
|
|
|
178
198
|
get module(): MainModule;
|
|
179
199
|
constructor(moduleOptions?: Record<string, unknown>);
|
|
180
200
|
get AttributeInfo(): new () => AttributeInfo;
|
|
201
|
+
get CompressionType(): {
|
|
202
|
+
SHARK_ELLIPSOID_COMPRESSED: unknown;
|
|
203
|
+
SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE: unknown;
|
|
204
|
+
};
|
|
181
205
|
get Handedness(): {
|
|
182
206
|
Right: number;
|
|
183
207
|
Left: number;
|
|
@@ -224,8 +248,8 @@ declare class Engine {
|
|
|
224
248
|
attributeName: string,
|
|
225
249
|
attributeInfo: AttributeInfo
|
|
226
250
|
]): AquaStatus;
|
|
227
|
-
getDefaultCameraId(...args: [handle: AquaClientHandle]): number;
|
|
228
|
-
getViewingVolumeId(...args: [handle: AquaClientHandle]): number;
|
|
251
|
+
getDefaultCameraId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
|
|
252
|
+
getViewingVolumeId(...args: [handle: AquaClientHandle, streamObjectId: number]): number;
|
|
229
253
|
getLocalBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
|
|
230
254
|
getWorldBoundingBox(...args: [handle: AquaClientHandle, sceneObjectId: number, boxData: number]): AquaStatus;
|
|
231
255
|
getLodIndex(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
|
|
@@ -281,9 +305,11 @@ declare class Engine {
|
|
|
281
305
|
aspectRatio: number,
|
|
282
306
|
verticalFov: number,
|
|
283
307
|
nearPlane: number,
|
|
284
|
-
farPlane: number
|
|
308
|
+
farPlane: number,
|
|
309
|
+
viewportHeightPixels: number
|
|
285
310
|
]): AquaStatus;
|
|
286
311
|
setMaxCacheSize(...args: [maxSizeBytes: number]): void;
|
|
312
|
+
setPreferSharkEncodingProfiles(...args: [preferShark: boolean]): void;
|
|
287
313
|
setSceneObjectTransform(...args: [
|
|
288
314
|
handle: AquaClientHandle,
|
|
289
315
|
sceneObjectId: number,
|
|
@@ -292,6 +318,8 @@ declare class Engine {
|
|
|
292
318
|
hasFeature(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): boolean;
|
|
293
319
|
getFeatureVersion(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
|
|
294
320
|
getFeatureState(...args: [handle: AquaClientHandle, sceneObjectId: number, feature: number]): number;
|
|
321
|
+
getDrMapLadderRoughnessLevels(...args: [handle: AquaClientHandle, sceneObjectId: number]): number[];
|
|
322
|
+
getAssetFormatVersion(...args: [handle: AquaClientHandle, sceneObjectId: number]): number;
|
|
295
323
|
getName(...args: [handle: AquaClientHandle, sceneObjectId: number]): string;
|
|
296
324
|
setVariantSelection(...args: [handle: AquaClientHandle, sceneObjectId: number]): AquaStatus;
|
|
297
325
|
takeAttribute(...args: [
|
|
@@ -304,8 +332,15 @@ declare class Engine {
|
|
|
304
332
|
getActiveClientSideIdsCheckSum(): number;
|
|
305
333
|
unlockScene(...args: [handle: AquaClientHandle]): boolean;
|
|
306
334
|
updateSceneExecution(...args: [handle: AquaClientHandle]): AquaStatus;
|
|
307
|
-
recordFrameTime(...args: [handle: AquaClientHandle, frameTimeMs: number]): AquaStatus;
|
|
308
335
|
takeRenderRequired(...args: [handle: AquaClientHandle]): boolean;
|
|
336
|
+
/**
|
|
337
|
+
* Advances the runtime by one frame and recomputes the streaming budget. Call once per
|
|
338
|
+
* displayed frame per context, before the per-client updateSceneExecution() calls.
|
|
339
|
+
* `previousFrameTimeMs` is how long the previous frame took; pass 0 when there is no plausible
|
|
340
|
+
* measurement (first frame, or a resume from a stall) and the frame advances without recording
|
|
341
|
+
* one.
|
|
342
|
+
*/
|
|
343
|
+
beginFrame(...args: [contextHandle: AquaContextHandle, previousFrameTimeMs: number]): AquaStatus;
|
|
309
344
|
createDeserializeWorker(_url: string, _workerUrl: string, poolSize: number): boolean;
|
|
310
345
|
cancelRequest(requestIdLow: number, requestIdHigh: number): boolean;
|
|
311
346
|
submitToWorker(requestIdLow: number, requestIdHigh: number, descriptorBuffer: ArrayBuffer, contextPtr: number): boolean;
|
|
@@ -351,9 +386,13 @@ export declare class Lod {
|
|
|
351
386
|
set _drawnOctantMask(mask: number);
|
|
352
387
|
get _octantOffsets(): Uint32Array<ArrayBuffer> | null;
|
|
353
388
|
get _hasOctantOffsets(): boolean;
|
|
389
|
+
get _surfelOctantOffsets(): Uint32Array<ArrayBuffer> | null;
|
|
390
|
+
get _surfelCount(): number;
|
|
354
391
|
_readOctantOffsets(engine: Engine): void;
|
|
355
392
|
hasAttribute(attributeName: string): boolean;
|
|
356
393
|
getDataFromAttribute(engine: Engine, attributeName: string, attributeInfo: AttributeInfo): CachedAttribute | null;
|
|
394
|
+
_getRawByteAttribute(engine: Engine, attributeName: string): Uint8Array<ArrayBuffer> | null;
|
|
395
|
+
_getRawByteAttributeWithBounds(engine: Engine, attributeName: string): RawByteAttributeWithBounds | null;
|
|
357
396
|
dispose(): void;
|
|
358
397
|
constructor({ id, modelRoot, lodStore, client }: LodInit);
|
|
359
398
|
}
|
|
@@ -378,6 +417,10 @@ export declare class LodStore {
|
|
|
378
417
|
|
|
379
418
|
declare interface MainModule {
|
|
380
419
|
AttributeInfo: new () => AttributeInfo;
|
|
420
|
+
CompressionType: {
|
|
421
|
+
SHARK_ELLIPSOID_COMPRESSED: unknown;
|
|
422
|
+
SHARK_ELLIPSOID_COMPRESSED_ROOT_RELATIVE: unknown;
|
|
423
|
+
};
|
|
381
424
|
Handedness: { Right: number; Left: number };
|
|
382
425
|
HEAPF32: Float32Array<ArrayBuffer>;
|
|
383
426
|
HEAPU8: Uint8Array<ArrayBuffer>;
|
|
@@ -414,13 +457,17 @@ declare interface MainModule {
|
|
|
414
457
|
HasFeature(handle: number, sceneObjectId: number, feature: number): boolean;
|
|
415
458
|
GetFeatureVersion(handle: number, sceneObjectId: number, feature: number): number;
|
|
416
459
|
GetFeatureState(handle: number, sceneObjectId: number, feature: number): number;
|
|
460
|
+
GetAssetFormatVersion(handle: number, sceneObjectId: number): number;
|
|
461
|
+
GetDrMapLadderRoughnessLevels(handle: number, sceneObjectId: number): number[];
|
|
417
462
|
SetClientSpatialFormat(handle: number, spatialFormat: SpatialFormat): { value: number };
|
|
418
463
|
SetRuntimeSettings(handle: number, settings: RuntimeSettings): { value: number };
|
|
419
464
|
TakeEvictedClientSideAttributeIds(handle: number): EmbindVector<bigint>;
|
|
420
465
|
GetActiveClientSideIdsCheckSum(): number;
|
|
421
466
|
TakeRenderRequired(handle: number): boolean;
|
|
467
|
+
BeginFrame(contextHandle: number, previousFrameTimeMs: number): number;
|
|
422
468
|
modifiedObjectIdsView(sceneChangeIds: SceneChangeIds): Uint32Array;
|
|
423
469
|
setMaxCacheSize(maxSizeBytes: number): void;
|
|
470
|
+
SetPreferSharkEncodingProfiles(prefer: boolean): void;
|
|
424
471
|
}
|
|
425
472
|
|
|
426
473
|
/**
|
|
@@ -452,17 +499,26 @@ export declare class Miris {
|
|
|
452
499
|
protected _xrSession: XRSession | null;
|
|
453
500
|
protected _requestAnimationFrame: RequestAnimationFrameFn | null;
|
|
454
501
|
signalResumeFromIdle(): void;
|
|
502
|
+
get _splatCountBudget(): number;
|
|
455
503
|
/**
|
|
456
504
|
* Why 43? Because the AVP throttles down to 45Hz :(
|
|
457
505
|
*/
|
|
458
506
|
static readonly _XR_TARGET_FRAME_RATE = 43;
|
|
507
|
+
/* Excluded from this release type: _XR_SPLAT_COUNT_BUDGET */
|
|
508
|
+
/* Excluded from this release type: _SHARK_SPLAT_CAPACITY_MOBILE */
|
|
509
|
+
static readonly _SHARK_SPLAT_CAPACITY_DESKTOP = 3000000;
|
|
510
|
+
/* Excluded from this release type: _SHARK_SPLAT_BUDGET_CAP_MOBILE */
|
|
511
|
+
static readonly _SHARK_SPLAT_BUDGET_CAP_DESKTOP = 2500000;
|
|
512
|
+
/* Excluded from this release type: _isMobileDevice */
|
|
513
|
+
/* Excluded from this release type: _sharkSplatCapacity */
|
|
514
|
+
/* Excluded from this release type: _sharkSplatBudgetCap */
|
|
459
515
|
/* Excluded from this release type: _setTargetFrameRate */
|
|
460
516
|
/* Excluded from this release type: _setXRModeActive */
|
|
461
517
|
/* Excluded from this release type: _setSplatCountBudgetOverride */
|
|
462
518
|
/* Excluded from this release type: _update */
|
|
463
519
|
getLocalTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
|
|
464
520
|
getWorldTransform(client: Client, sceneObjectId: number): Float32Array<ArrayBuffer> | undefined;
|
|
465
|
-
|
|
521
|
+
/* Excluded from this release type: _updateForScene */
|
|
466
522
|
applyChanges(_entries: Change[]): void;
|
|
467
523
|
_computeAdditionalRenderNeeded(): boolean;
|
|
468
524
|
onColorSpaceDetected(_isLinear: boolean): void;
|
|
@@ -491,6 +547,28 @@ export declare type ModelRootInit = {
|
|
|
491
547
|
stream: Stream;
|
|
492
548
|
};
|
|
493
549
|
|
|
550
|
+
/**
|
|
551
|
+
* The byte-exact counterpart of getRawUint32Attribute above: same no-padding, no-takeAttribute
|
|
552
|
+
* contract, returning bytes rather than words.
|
|
553
|
+
*
|
|
554
|
+
* Use this rather than that one wherever the stride is not a whole number of words:
|
|
555
|
+
* reflectanceDataV1's 26-byte record is not, and an odd record count would lose that record's
|
|
556
|
+
* last field to dataPtrView's truncation.
|
|
557
|
+
*/
|
|
558
|
+
export declare type RawByteAttributeWithBounds = {
|
|
559
|
+
bytes: Uint8Array<ArrayBuffer>;
|
|
560
|
+
minValue: {
|
|
561
|
+
x: number;
|
|
562
|
+
y: number;
|
|
563
|
+
z: number;
|
|
564
|
+
};
|
|
565
|
+
maxValue: {
|
|
566
|
+
x: number;
|
|
567
|
+
y: number;
|
|
568
|
+
z: number;
|
|
569
|
+
};
|
|
570
|
+
};
|
|
571
|
+
|
|
494
572
|
declare type RequestAnimationFrameFn = ((callback: FrameRequestCallback) => number) | ((callback: XRFrameRequestCallback) => void);
|
|
495
573
|
|
|
496
574
|
declare interface RuntimeSettings extends EmbindObject {
|
|
@@ -499,6 +577,7 @@ declare interface RuntimeSettings extends EmbindObject {
|
|
|
499
577
|
targetFramesPerSecond: number;
|
|
500
578
|
xrModeActive: boolean;
|
|
501
579
|
splatCountBudget: number;
|
|
580
|
+
splatCountBudgetCap: number;
|
|
502
581
|
}
|
|
503
582
|
|
|
504
583
|
export declare class Scene extends EventTarget {
|
|
@@ -510,6 +589,7 @@ export declare class Scene extends EventTarget {
|
|
|
510
589
|
readonly id: number;
|
|
511
590
|
get key(): unknown;
|
|
512
591
|
set key(key: unknown);
|
|
592
|
+
/* Excluded from this release type: _assetFormat */
|
|
513
593
|
get viewerKey(): string | null;
|
|
514
594
|
set viewerKey(viewerKey: string | null);
|
|
515
595
|
get streams(): Set<Stream>;
|
|
@@ -519,21 +599,33 @@ export declare class Scene extends EventTarget {
|
|
|
519
599
|
readonly client: Client;
|
|
520
600
|
readonly handle?: number;
|
|
521
601
|
constructor({ miris, viewerKey }: SceneInit);
|
|
602
|
+
/**
|
|
603
|
+
* Drives a frame and answers whether *this* scene's canvas needs repainting. Call it once per
|
|
604
|
+
* displayed frame from the host's animation loop, and render when it returns true.
|
|
605
|
+
*
|
|
606
|
+
* Every scene on the page calls this from its own loop. The first call in a displayed frame
|
|
607
|
+
* drives one engine tick for all of them; the rest recognise the frame and reuse it.
|
|
608
|
+
*
|
|
609
|
+
* @param ts the host's frame timestamp. Optional - the document timeline supplies one, and it
|
|
610
|
+
* reads the same for every scene in a displayed frame. Pass it when the host runs its own
|
|
611
|
+
* clock, as an immersive XR session does, because XRFrame time is not the document timeline.
|
|
612
|
+
*/
|
|
613
|
+
update(ts?: DOMHighResTimeStamp): boolean;
|
|
522
614
|
dispose(): void;
|
|
523
|
-
/* Excluded from this release type: _getViewingVolumeBounds */
|
|
524
615
|
fetchAssets(tags?: string | Iterable<string>): Promise<{
|
|
525
616
|
name: string;
|
|
526
617
|
thumbnailUrl: string;
|
|
527
618
|
uuid: string;
|
|
528
619
|
tags: string[];
|
|
529
620
|
}[]>;
|
|
530
|
-
getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
|
|
531
621
|
add(stream: Stream): void;
|
|
532
622
|
getStreamForId(streamObjectId: number): Stream | undefined;
|
|
533
623
|
getStreamForDescendentId(descendentObjectId: number): Stream | null;
|
|
534
624
|
getModelRootForDescendentId(descendentObjectId: number): ModelRoot | null;
|
|
625
|
+
_recordAssetFormat(modelRoot: ModelRoot, formatVersion: number): void;
|
|
535
626
|
/* Excluded from this release type: _getFeatureMesh */
|
|
536
627
|
/* Excluded from this release type: _getDrMap */
|
|
628
|
+
/* Excluded from this release type: _onDrMapLadder */
|
|
537
629
|
/* Excluded from this release type: _onFeatureData */
|
|
538
630
|
/* Excluded from this release type: _onSceneLoaded */
|
|
539
631
|
delete(stream: Stream): void;
|
|
@@ -624,6 +716,8 @@ export declare class Stream extends EventTarget {
|
|
|
624
716
|
constructor(options: StreamInit);
|
|
625
717
|
_initStream({ uuid }: StreamInit): void;
|
|
626
718
|
/* Excluded from this release type: _onStreamLoaded */
|
|
719
|
+
getDefaultCameraTransform(): Float32Array<ArrayBuffer> | null | undefined;
|
|
720
|
+
/* Excluded from this release type: _getViewingVolumeObb */
|
|
627
721
|
/* Excluded from this release type: _onRootLoaded */
|
|
628
722
|
add(modelRoot: ModelRoot): void;
|
|
629
723
|
end(): void;
|