@myzonerocks/gosslens 0.10.1 → 0.11.1

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/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Gosslens - TypeScript SDK
2
2
 
3
- TypeScript SDK for [Gosslens](../../include/gosslens.h), a camera engine behind
4
- one C ABI, compiled to `wasm32`. It wraps the engine as `GossEngine`,
3
+ TypeScript SDK for [Gosslens](../../include/gosslens.h), a camera and AR engine
4
+ behind one C ABI, compiled to `wasm32`. It wraps the engine as `GossEngine`,
5
5
  `GossSession`, and `Gosslens`, the same names the [Swift](../swift/README.md) and
6
6
  [Kotlin](../kotlin/README.md) SDKs use.
7
7
 
@@ -61,15 +61,17 @@ consumer resolves it.
61
61
  call - most apps want this:
62
62
 
63
63
  ```typescript
64
- import { GossPreviewSession, pickEngineUrl } from "@myzonerocks/gosslens";
64
+ import { GossPreviewSession } from "@myzonerocks/gosslens";
65
65
 
66
- const wasmJsUrl = await pickEngineUrl(webgpuUrl, webgl2Url);
67
- const preview = await GossPreviewSession.create(canvas, wasmJsUrl);
66
+ const preview = await GossPreviewSession.create(canvas, webgl2Url);
68
67
  preview.activateLens(manifestJson);
69
68
  ```
70
69
 
71
- `pickEngineUrl` confirms a real WebGPU adapter before choosing, and falls back to
72
- the WebGL2 URL. `create` takes an optional third `events` argument for the
70
+ Point it at the WebGL2 build. The WebGPU build renders, tracks, and runs
71
+ beauty, but lens activation currently crashes its Asyncify-instrumented
72
+ engine, so hold it back until that is fixed; `pickEngineUrl(webgpuUrl,
73
+ webgl2Url)` remains available and confirms a real WebGPU adapter before
74
+ choosing, falling back to the WebGL2 URL. `create` takes an optional third `events` argument for the
73
75
  capture-loop callbacks. If you drive the loop yourself, the pieces are public too:
74
76
 
75
77
  ```typescript
@@ -148,6 +150,28 @@ to the lens's `event('name')` triggers for the next tick, and
148
150
  `parameterValue(name)` reads a live lens parameter back, including whatever a
149
151
  script node last wrote.
150
152
 
153
+ ### Bring-your-own models
154
+
155
+ A lens's `ml.infer`, `audio.infer`, `temporal.fuse`, `splat.cloud`, and
156
+ `diffusion` nodes run real inference in the page through the engine's
157
+ synchronous web rail. Stage each model file under the name the manifest uses
158
+ before activating, then feed frames with `trackFrame` and read results back:
159
+
160
+ ```typescript
161
+ session.provideLensAsset("net.onnx", modelBytes);
162
+ session.activateLens(manifestJson);
163
+ session.trackFrame(y, yStride, uv, uvStride, width, height);
164
+ session.tickLens(dtUs);
165
+ const tensor = session.mlOutput("nodeId"); // the whole output tensor
166
+ const mask = session.mlMask("nodeId"); // a mask binding, resampled
167
+ ```
168
+
169
+ ONNX models run on this rail; a TFLite file needs the native targets today and
170
+ degrades to an inert node here. `gosslens.capabilities()` reports which rails
171
+ the loaded build compiled real as `GOSS_CAP_*` bits. `submitHands` accepts the
172
+ `GossHandTracker` result directly, so `hands.gesture` and `hands.pinch` lenses
173
+ and `handJoint` work from the page's own tracker.
174
+
151
175
  ## Beauty and makeup
152
176
 
153
177
  The beauty effects are direct session calls, each an amount in 0..1:
@@ -1,4 +1,4 @@
1
- import type { GossSession } from "./index";
1
+ import type { GossSession } from "./index.js";
2
2
  export declare class GossAudioOutput {
3
3
  static readonly sampleRate = 48000;
4
4
  private session;
@@ -1 +1 @@
1
- {"version":3,"file":"audio-output.d.ts","sourceRoot":"","sources":["../../src/audio-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAgD3C,qBAAa,eAAe;IAE1B,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAU;IAEpC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,IAAI,CAAiC;IAE7C,YAAY,OAAO,EAAE,WAAW,EAE/B;IAIK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB3B;IAMD,IAAI,CAAC,MAAM,SAAM,GAAG,IAAI,CAKvB;IAGK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAM1B;CACF"}
1
+ {"version":3,"file":"audio-output.d.ts","sourceRoot":"","sources":["../../src/audio-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgD9C,qBAAa,eAAe;IAE1B,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAU;IAEpC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,IAAI,CAAiC;IAE7C,YAAY,OAAO,EAAE,WAAW,EAE/B;IAIK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB3B;IAMD,IAAI,CAAC,MAAM,SAAM,GAAG,IAAI,CAKvB;IAGK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAM1B;CACF"}
@@ -109,6 +109,23 @@ export interface GossPoseOut {
109
109
  }
110
110
  export declare const GOSS_HAND_LANDMARK_COUNT = 21;
111
111
  export declare const GOSS_HAND_MAX = 2;
112
+ export declare const GOSS_CAP_TRACKING: number;
113
+ export declare const GOSS_CAP_SEGMENTATION: number;
114
+ export declare const GOSS_CAP_ML_INFER: number;
115
+ export declare const GOSS_CAP_DIFFUSION: number;
116
+ export declare const GOSS_CAP_BEAUTY: number;
117
+ export declare const GOSS_CAP_PHYSICS: number;
118
+ export declare const GOSS_CAP_VIDEO_TEXTURES: number;
119
+ export declare const GOSS_CAP_PHOTO_CAPTURE: number;
120
+ export declare const GOSS_CAP_RECORDING: number;
121
+ export declare const GOSS_CAP_FILE_IO: number;
122
+ export interface GossHandInput {
123
+ presence?: number;
124
+ handedness?: number;
125
+ gesture?: number;
126
+ gestureScore?: number;
127
+ landmarks: Float32Array | number[];
128
+ }
112
129
  export interface GossHandOne {
113
130
  presence: number;
114
131
  handedness: number;
@@ -208,6 +225,7 @@ export declare class Gosslens {
208
225
  private readonly version;
209
226
  private constructor();
210
227
  abiVersion(): number;
228
+ capabilities(): number;
211
229
  static load(canvas: HTMLCanvasElement, wasmJsUrl: string | URL): Promise<Gosslens>;
212
230
  yuvToRgb(colorStandard: GossColorStandard, colorRange: GossColorRange): Float32Array;
213
231
  solveTwoBoneIk(root: [number, number, number], upperLen: number, lowerLen: number, target: [number, number, number], pole: [number, number, number]): {
@@ -418,6 +436,10 @@ export declare class GossSession {
418
436
  faceResultAt(index: number): GossFaceOut | null;
419
437
  faceTrackId(index: number): number | null;
420
438
  submitBodies(bodies: GossPoseInput[]): void;
439
+ submitHands(hands: {
440
+ hands: GossHandInput[];
441
+ timestampUs?: bigint;
442
+ } | null): void;
421
443
  submitDepth(depth: Float32Array, width: number, height: number, near: number, far: number): void;
422
444
  submitCameraIntrinsics(fx: number, fy: number, cx: number, cy: number, distortion: Float32Array): void;
423
445
  submitOrientation(gravityX: number, gravityY: number, gravityZ: number, timestampUs?: bigint): void;
@@ -429,6 +451,9 @@ export declare class GossSession {
429
451
  resetCapture(): void;
430
452
  setDubbing(enabled: boolean): void;
431
453
  captionText(nodeId: string): string | null;
454
+ provideLensAsset(name: string, bytes: Uint8Array): void;
455
+ mlOutput(nodeId: string, tensor?: number): Float32Array | null;
456
+ mlMask(nodeId: string): Float32Array | null;
432
457
  captionSegment(index: number): {
433
458
  startUs: bigint;
434
459
  endUs: bigint;
@@ -524,9 +549,9 @@ export declare class GossPreviewSession {
524
549
  readCenterPixel(): Promise<Uint8Array>;
525
550
  readFrameSum(): Promise<number>;
526
551
  }
527
- export { GossWebXRWorldSource } from "./world";
528
- export type { GossXRFrameLike } from "./world";
529
- export { GossAudioOutput } from "./audio-output";
530
- export { GossMicInput } from "./mic-input";
531
- export { GossVideoTexture } from "./video-texture";
552
+ export { GossWebXRWorldSource } from "./world.js";
553
+ export type { GossXRFrameLike } from "./world.js";
554
+ export { GossAudioOutput } from "./audio-output.js";
555
+ export { GossMicInput } from "./mic-input.js";
556
+ export { GossVideoTexture } from "./video-texture.js";
532
557
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,OAAO,IAAI,CAAC;AAEzB,0BAAkB,gBAAgB;IAChC,IAAI,IAAI;IACR,gBAAgB,IAAI;IACpB,eAAe,IAAI;IACnB,gBAAgB,IAAI;IACpB,WAAW,IAAI;CAChB;AAED,0BAAkB,gBAAgB;IAChC,MAAM,IAAI;IACV,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,KAAK,IAAI;CACV;AAID,0BAAkB,WAAW;IAC3B,OAAO,IAAI;IACX,IAAI,IAAI;IACR,OAAO,IAAI;IACX,QAAQ,IAAI;CACb;AAGD,0BAAkB,eAAe;IAC/B,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;CACV;AAED,0BAAkB,iBAAiB;IACjC,KAAK,IAAI;IACT,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED,0BAAkB,cAAc;IAC9B,KAAK,IAAI;IACT,IAAI,IAAI;CACT;AAKD,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;CAChD;AAGD,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAK/C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,aAAa,IAAI,CAAC;AAM/B,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,aAAa,IAAI,CAAC;AAO/B,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,YAAY,CAAC;CACzB;AAGD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAID,oBAAY,cAAc;IACxB,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,IAAI,IAAI;IACR,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,UAAU,IAAI;IACd,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,WAAW,KAAK;IAChB,eAAe,KAAK;IACpB,gBAAgB,KAAK;CACtB;AAID,oBAAY,aAAa;IACvB,IAAI,IAAI;IACR,YAAY,IAAI;IAChB,aAAa,IAAI;IACjB,SAAS,IAAI;IACb,UAAU,IAAI;IACd,SAAS,IAAI;IACb,UAAU,IAAI;IACd,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,SAAS,KAAK;IACd,SAAS,KAAK;IACd,UAAU,KAAK;CAChB;AAID,oBAAY,aAAa;IACvB,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,SAAS,IAAI;IACb,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,IAAI,IAAI;CACT;AAKD,eAAO,MAAM,0BAA0B,YACrC,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,CACA,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACzE;AAKD,UAAU,YAAY;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC5F,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5H,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC;AAiDD,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAS3G;AASD,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAF1B,OAAO,eAGH;IAIJ,UAAU,IAAI,MAAM,CAEnB;IAMD,OAAa,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAMvF;IAMD,QAAQ,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,GAAG,YAAY,CAOnF;IAKD,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAgBrN;IAID,IAAI,MAAM,IAAI,YAAY,CAEzB;CACF;AAGD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAKD,qBAAa,UAAU;IAenB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAfzB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,MAAM,CAAkC;IAKhD,OAAO,CAAC,EAAE,CAAuC;IAIjD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,eAGH;IAEJ,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAevE;IAID,IAAI,MAAM,IAAI,YAAY,CAEzB;IAMK,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B3D;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAK1C;IAID,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAE/C;IAKD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBpC;IAKD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,SAAQ,EAAE,IAAI,SAAI,EAAE,IAAI,SAAI,GAAG,UAAU,CAiB/E;IAKD,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CASnF;IAKD,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAkB9E;IAKD,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,SAAI,EAAE,YAAY,SAAI,GAAG;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAkB5G;IAMD,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAwBhI;IAKD,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAE,UAA8B,GAAG,UAAU,GAAG,IAAI,CAE3H;IAID,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAE,UAA8B,GAAG,UAAU,GAAG,IAAI,CAExH;IAED,OAAO,CAAC,SAAS;IAiCjB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAetJ;IAKD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAY3H;IAGD,oBAAoB,IAAI,IAAI,CAE3B;IAKD,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,UAAU,GAAG,IAAI,CAkB9H;IAMD,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAEhD;YAMa,aAAa;IA0C3B,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAMK,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB/D;IAMK,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,GAAE,eAAuC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAanK;IAMK,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgDjG;IAMK,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAMnE;IAMK,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAMnG;YAMa,cAAc;IAoCtB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAItE;IAMK,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAK/D;IAED,OAAO,IAAI,IAAI,CAMd;CACF;AAMD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAMD,qBAAa,WAAW;IAgCpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAhCzB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAKxB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,kBAAkB,CAAS;IAInC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,mBAAmB,CAAK;IAEhC,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,mBAAmB,CAAS;IAIpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,eAAe,CAAK;IAE5B,OAAO,eAQN;IAKD,OAAO,CAAC,OAAO;IASf,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAezE;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7B;IAED,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAExD;IAYD,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAMvC;IAED,cAAc,IAAI,IAAI,CAErB;IAKD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAc1D;IAID,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU1C;IAMD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAO7D;IAKD,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CASlE;IAKD,gBAAgB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAkBpJ;IAMD,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAW,GAAG,IAAI,CAW3H;IAID,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAOpC;IAMD,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAoB7G;IAID,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAa7C;IAGD,cAAc,IAAI,kBAAkB,CAenC;IAID,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAU/C;IAED,eAAe,IAAI,mBAAmB,CAYrC;IAID,YAAY,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAUnC;IAED,SAAS,IAAI,aAAa,CAYzB;IAID,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO5B;IAKD,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAMzC;IAGD,mBAAmB,IAAI,IAAI,CAE1B;IAED,OAAO,CAAC,QAAQ;IAWhB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG/B;IAED,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG/B;IAGD,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,eAAuC,GAAG,IAAI,CAe/J;IAGD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAEnC;IAID,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEvC;IAED,WAAW,IAAI,IAAI,CAElB;IAID,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,OAAO,SAAI,EAAE,MAAM,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAa,EAAE,UAAU,SAAI,GAAG,IAAI,CAG7H;IAID,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMxG;IAMD,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM/E;IAGD,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGpC;IAGD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAEhG;IAGD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEtE;IAED,aAAa,IAAI,IAAI,CAEpB;IAGD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpF;IAID,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAUrD;IAID,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAOzF;IAKD,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAexE;IAGD,mBAAmB,IAAI,IAAI,CAE1B;IAID,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAEzC;IAGD,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE7E;IAID,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKvF;IAGD,WAAW,IAAI,IAAI,CAElB;IAGD,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAEzC;IAGD,SAAS,IAAI,IAAI,CAEhB;IAED,UAAU,IAAI,IAAI,CAEjB;IAED,UAAU,IAAI,IAAI,CAEjB;IAED,YAAY,IAAI,IAAI,CAEnB;IAGD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE/B;IAID,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMzD;IAKD,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/E;IAED,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEjC;IAED,aAAa,IAAI,IAAI,CAEpB;IAED,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAEtD;IAED,WAAW,IAAI,IAAI,CAElB;IAED,YAAY,IAAI,IAAI,CAEnB;IAED,cAAc,IAAI,IAAI,CAErB;IAED;;iEAE6D;IAC7D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAElE;IAED;;gEAE4D;IAC5D,UAAU,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAQxD;IAED,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1C;IAED,OAAO,IAAI,IAAI,CAEd;IAED,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAEjD;IAED,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEnE;IAMD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzC;IAID,aAAa,IAAI,YAAY,CAgB5B;IAED,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEnC;IAED,cAAc,IAAI,OAAO,CAExB;IAWD,gBAAgB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAoBhG;IAMD,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAuBxC;IAGD,SAAS,IAAI,MAAM,CAIlB;IAID,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAgB9C;IAKD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKxC;IAKD,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAwB1C;IAMD,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAS/F;IAMD,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,GAAG,IAAI,CAQrG;IAMD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,GAAE,MAAW,GAAG,IAAI,CAEtG;IAKD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAgB/C;IAID,iBAAiB,IAAI,UAAU,GAAG,IAAI,CAcrC;IAID,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAKrC;IAKD,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAcjC;IAMD,WAAW,IAAI,eAAe,CAa7B;IAGD,YAAY,IAAI,IAAI,CAEnB;IAKD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEjC;IAKD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBzC;IAKD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAwBtG;IAKD,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI7E;IAKD,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI5E;IAID,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,SAAI,EAAE,UAAU,SAAI,GAAG,IAAI,CAgB3J;IAED,OAAO,CAAC,YAAY;IAqBpB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,SAAI,EAAE,UAAU,SAAI,GAAG,IAAI,CAEnJ;IAID,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,SAAI,EAAE,UAAU,SAAI,GAAG,IAAI,CAExJ;IAID,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,SAAI,EAAE,UAAU,SAAI,GAAG,IAAI,CAE3J;IAID,UAAU,IAAI,WAAW,GAAG,IAAI,CAc/B;IAID,QAAQ,IAAI,YAAY,GAAG,IAAI,CAI9B;IAID,UAAU,IAAI,WAAW,GAAG,IAAI,CAkB/B;IAID,UAAU,IAAI,WAAW,GAAG,IAAI,CAgB/B;IAMD,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,CAajG;IAGD,SAAS,IAAI,MAAM,CAIlB;IAID,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAkB9C;IAID,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAWlE;IAID,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAW/D;IAID,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,SAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAW9E;IAMD,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAK3D;IAGD,mBAAmB,IAAI,IAAI,CAE1B;IAED,OAAO,CAAC,aAAa;IAWrB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;IAGD,mBAAmB,IAAI,IAAI,CAE1B;IAGD,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;IAGD,mBAAmB,IAAI,IAAI,CAE1B;IAGD,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;IAGD,mBAAmB,IAAI,IAAI,CAE1B;IAKD,YAAY,CAAC,YAAY,SAAK,GAAG,IAAI,CAOpC;IAGD,aAAa,IAAI,IAAI,CAEpB;IAKD,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAS7F;IAKD,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAanD;IAKD,oBAAoB,IAAI,MAAM,CAE7B;IAMD,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAazE;IAKD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAUpG;IAKD,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAU1H;IAKK,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5D;IAKK,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7D;IAED,OAAO,CAAC,iBAAiB;IAUzB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAE,eAAuC,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAyBrO;IAKD,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAUhG;IAMD,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,GAAE,cAAc,EAAO,EAAE,OAAO,GAAE,oBAAoB,EAAO,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,CA6CpI;IAED,OAAO,CAAC,kBAAkB;IAW1B,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,WAAiC,GAAG,gBAAgB,CAE7F;IAED,YAAY,IAAI,gBAAgB,CAE/B;IAED,OAAO,IAAI,IAAI,CA2Bd;CACF;AAMD,qBAAa,kBAAkB;IAgB3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW;IAC7B,OAAO,CAAC,MAAM;IAlBhB,QAAQ,CAAC,KAAK,mBAAmC;IACjD,KAAK,EAAE,gBAAgB,CAAU;IAEjC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,UAAU,CAA2B;IAE7C,OAAO,eAON;IAED,OAAa,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAMnI;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,QAAQ;IAKhB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEhC;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7B;IAED,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAEvC;IAED,cAAc,IAAI,IAAI,CAErB;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CAE1D;IAED,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEnC;IAED,cAAc,IAAI,OAAO,CAExB;IAED,gBAAgB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAEhG;IAED,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtD;IAED,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvD;IAMK,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAuB3B;IAED,IAAI,IAAI,IAAI,CAKX;IAED,OAAO,CAAC,IAAI,CAoCV;IAEF,YAAY,IAAI,gBAAgB,CAE/B;IAED,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAE9B;IAED,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CAErC;IAED,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAE9B;CACF;AAED,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -19,6 +19,16 @@ export const GOSS_BODY_MAX = 4;
19
19
  const POSE_RESULT_BYTES = 688;
20
20
  export const GOSS_HAND_LANDMARK_COUNT = 21;
21
21
  export const GOSS_HAND_MAX = 2;
22
+ export const GOSS_CAP_TRACKING = 1 << 0;
23
+ export const GOSS_CAP_SEGMENTATION = 1 << 1;
24
+ export const GOSS_CAP_ML_INFER = 1 << 2;
25
+ export const GOSS_CAP_DIFFUSION = 1 << 3;
26
+ export const GOSS_CAP_BEAUTY = 1 << 4;
27
+ export const GOSS_CAP_PHYSICS = 1 << 5;
28
+ export const GOSS_CAP_VIDEO_TEXTURES = 1 << 6;
29
+ export const GOSS_CAP_PHOTO_CAPTURE = 1 << 7;
30
+ export const GOSS_CAP_RECORDING = 1 << 8;
31
+ export const GOSS_CAP_FILE_IO = 1 << 9;
22
32
  const HAND_RESULT_BYTES = 560;
23
33
  const HAND_ONE_BYTES = 268;
24
34
  /// A named attach point on the tracked face mesh, for faceRegion. The
@@ -146,6 +156,12 @@ export class Gosslens {
146
156
  abiVersion() {
147
157
  return this.version;
148
158
  }
159
+ /// Which capabilities this build compiled real, as GOSS_CAP_* bits. A stub
160
+ /// build shares the full one's filename and abi version, so check the rail
161
+ /// you need here before feeding real bytes to an enable call.
162
+ capabilities() {
163
+ return this.mod.ccall("goss_capabilities", "number", [], []);
164
+ }
149
165
  /// Loads gosslens_web.js and checks its ABI major version. A
150
166
  /// dynamic import, not static: bun's bundler would otherwise inline
151
167
  /// this file, breaking Emscripten's own import.meta.url-relative
@@ -268,8 +284,13 @@ export class GossEngine {
268
284
  // itself, via emscripten_webgl_create_context - passing
269
285
  // webGLContextAttributes here has no effect regardless,
270
286
  // preserveDrawingBuffer stays false. Worked around in capturePixels.
271
- const rendererStatus = await mod.ccall("goss_engine_init_renderer", "number", ["number", "number"], [this.handle, rendererDescPtr], { async: true });
272
- mod.ccall("goss_free", null, ["number", "number"], [rendererDescPtr, 12]);
287
+ let rendererStatus;
288
+ try {
289
+ rendererStatus = await mod.ccall("goss_engine_init_renderer", "number", ["number", "number"], [this.handle, rendererDescPtr], { async: true });
290
+ }
291
+ finally {
292
+ mod.ccall("goss_free", null, ["number", "number"], [rendererDescPtr, 12]);
293
+ }
273
294
  if (rendererStatus !== GOSS_OK)
274
295
  throw new Error(`renderer init failed: ${rendererStatus}`);
275
296
  // Emscripten's C++ side just created this canvas's own rendering
@@ -783,7 +804,9 @@ export class GossSession {
783
804
  if (this.scratchPtr !== 0)
784
805
  this.mod.ccall("goss_free", null, ["number", "number"], [this.scratchPtr, this.scratchCapacity]);
785
806
  this.scratchPtr = this.mod.ccall("goss_alloc", "number", ["number"], [bytes]);
786
- this.scratchCapacity = bytes;
807
+ this.scratchCapacity = this.scratchPtr === 0 ? 0 : bytes;
808
+ if (this.scratchPtr === 0)
809
+ throw new Error("wasm allocation failed");
787
810
  }
788
811
  return this.scratchPtr;
789
812
  }
@@ -931,20 +954,17 @@ export class GossSession {
931
954
  /// muxed recording track, unused by the web preview path.
932
955
  submitAudio(samples, frameCount, sampleRate, channels, timestampUs = 0n) {
933
956
  const bytes = samples.length * 4;
934
- const ptr = this.mod.ccall("goss_alloc", "number", ["number"], [bytes]);
957
+ const ptr = this.scratch(bytes);
935
958
  this.mod.HEAPF32.set(samples, ptr >> 2);
936
959
  this.mod.ccall("goss_session_submit_audio", "number", ["number", "number", "number", "number", "number", "number"], [this.handle, ptr, frameCount, sampleRate, channels, timestampUs]);
937
- this.mod.ccall("goss_free", null, ["number", "number"], [ptr, bytes]);
938
960
  }
939
961
  /// Pulls the next block of mixed lens audio (frames interleaved s16) that
940
962
  /// play_sound triggers produced, for the page to feed into WebAudio.
941
963
  pullAudio(frames) {
942
964
  const byteLen = frames * 2;
943
- const ptr = this.mod.ccall("goss_alloc", "number", ["number"], [byteLen]);
965
+ const ptr = this.scratch(byteLen);
944
966
  this.mod.ccall("goss_session_pull_audio", "number", ["number", "number", "number"], [this.handle, ptr, frames]);
945
- const out = new Int16Array(this.mod.HEAP16.buffer, ptr, frames).slice();
946
- this.mod.ccall("goss_free", null, ["number", "number"], [ptr, byteLen]);
947
- return out;
967
+ return new Int16Array(this.mod.HEAP16.buffer, ptr, frames).slice();
948
968
  }
949
969
  /// Folds the active lens sound into the caller's outgoing call/live track:
950
970
  /// `mic` (interleaved f32 at `sampleRate`/`channels`, or null for silence)
@@ -952,20 +972,16 @@ export class GossSession {
952
972
  /// mixed interleaved s16. Advances the mixer once, replacing `pullAudio`.
953
973
  mixOutputAudio(mic, frameCount, sampleRate, channels) {
954
974
  const outLen = frameCount * channels;
955
- const outBytes = outLen * 2;
956
- const outPtr = this.mod.ccall("goss_alloc", "number", ["number"], [outBytes]);
957
- let micPtr = 0;
975
+ const outBytes = (outLen * 2 + 3) & ~3;
958
976
  const micBytes = mic ? mic.length * 4 : 0;
977
+ const outPtr = this.scratch(outBytes + micBytes);
978
+ let micPtr = 0;
959
979
  if (mic) {
960
- micPtr = this.mod.ccall("goss_alloc", "number", ["number"], [micBytes]);
980
+ micPtr = outPtr + outBytes;
961
981
  this.mod.HEAPF32.set(mic, micPtr >> 2);
962
982
  }
963
983
  this.mod.ccall("goss_session_mix_output_audio", "number", ["number", "number", "number", "number", "number", "number"], [this.handle, micPtr, outPtr, frameCount, sampleRate, channels]);
964
- const out = new Int16Array(this.mod.HEAP16.buffer, outPtr, outLen).slice();
965
- this.mod.ccall("goss_free", null, ["number", "number"], [outPtr, outBytes]);
966
- if (mic)
967
- this.mod.ccall("goss_free", null, ["number", "number"], [micPtr, micBytes]);
968
- return out;
984
+ return new Int16Array(this.mod.HEAP16.buffer, outPtr, outLen).slice();
969
985
  }
970
986
  /// Stores validated camera-hardware intent; the engine normalizes it. Read it
971
987
  /// back with `cameraControls` and apply it via getUserMedia track constraints.
@@ -1114,7 +1130,7 @@ export class GossSession {
1114
1130
  /// Uploads one RGBA/BGRA frame into a named source (pixelFormat 3 BGRA, 4 RGBA).
1115
1131
  submitSourceFrameRgba(name, rgba, width, height, stride, pixelFormat = 4 /* GossPixelFormat.Rgba8 */) {
1116
1132
  const byteLen = stride * height;
1117
- const rgbaPtr = this.mod.ccall("goss_alloc", "number", ["number"], [byteLen]);
1133
+ const rgbaPtr = this.scratch(byteLen);
1118
1134
  this.mod.HEAPU8.set(rgba.subarray(0, byteLen), rgbaPtr);
1119
1135
  this.mod.setValue(this.frameDescPtr, width, "i32");
1120
1136
  this.mod.setValue(this.frameDescPtr + 4, height, "i32");
@@ -1125,7 +1141,6 @@ export class GossSession {
1125
1141
  this.mod.setValue(this.frameDescPtr + 24, 0, "i32");
1126
1142
  this.mod.setValue(this.frameDescPtr + 28, 0, "i32");
1127
1143
  this.withName(name, (ptr, len) => this.mod.ccall("goss_session_submit_source_frame_rgba_copy", "number", ["number", "number", "number", "number", "number", "number"], [this.handle, ptr, len, this.frameDescPtr, rgbaPtr, stride]));
1128
- this.mod.ccall("goss_free", null, ["number", "number"], [rgbaPtr, byteLen]);
1129
1144
  }
1130
1145
  /// Arranges the camera and named sources: 0 custom, 1 side-by-side, 2 top-bottom, 3 pip, 4 grid.
1131
1146
  setLayout(arrangement) {
@@ -1269,7 +1284,7 @@ export class GossSession {
1269
1284
  clearStrokes() {
1270
1285
  this.mod.ccall("goss_session_brush_clear", "number", ["number"], [this.handle]);
1271
1286
  }
1272
- /// The brush preset the next stroke opens with: 0 pen, 1 highlighter, 2 marker, 3 neon.
1287
+ /// The brush preset the next stroke opens with: 0 pen, 1 highlighter, 2 marker, 3 neon, 4 stamp.
1273
1288
  setBrushMode(mode) {
1274
1289
  this.mod.ccall("goss_session_brush_set_mode", "number", ["number", "number"], [this.handle, mode]);
1275
1290
  }
@@ -1384,7 +1399,7 @@ export class GossSession {
1384
1399
  }
1385
1400
  const scaleX = this.frameWidth / sourceWidth;
1386
1401
  const scaleY = this.frameHeight / sourceHeight;
1387
- const pointCount = landmarks.length / 3;
1402
+ const pointCount = Math.min(landmarks.length / 3, GOSS_FACE_LANDMARK_COUNT);
1388
1403
  const base = this.landmarksPtr >> 2;
1389
1404
  for (let at = 0; at < pointCount; at += 1) {
1390
1405
  this.mod.HEAPF32[base + at * 3] = landmarks[at * 3] * scaleX;
@@ -1409,16 +1424,16 @@ export class GossSession {
1409
1424
  const off = i * FACE_RESULT_BYTES;
1410
1425
  const base = ptr + off;
1411
1426
  const f = faces[i];
1412
- const count = f.landmarks.length / 3;
1427
+ const count = Math.min(f.landmarks.length / 3, GOSS_FACE_LANDMARK_COUNT);
1413
1428
  dv.setBigUint64(off, BigInt(f.frameSerial ?? 0), true);
1414
1429
  dv.setBigInt64(off + 8, BigInt(f.timestampUs ?? 0), true);
1415
1430
  dv.setFloat32(off + 16, f.presence ?? 1, true);
1416
1431
  dv.setUint32(off + 20, count, true);
1417
- this.mod.HEAPF32.set(f.landmarks, (base + 24) >> 2);
1432
+ this.mod.HEAPF32.set(f.landmarks.subarray(0, count * 3), (base + 24) >> 2);
1418
1433
  const bsStart = (base + 24 + GOSS_FACE_LANDMARK_COUNT * 3 * 4) >> 2;
1419
1434
  this.mod.HEAPF32.fill(0, bsStart, bsStart + GOSS_FACE_BLENDSHAPE_COUNT);
1420
1435
  if (f.blendshapes)
1421
- this.mod.HEAPF32.set(f.blendshapes, bsStart);
1436
+ this.mod.HEAPF32.set(f.blendshapes.subarray(0, GOSS_FACE_BLENDSHAPE_COUNT), bsStart);
1422
1437
  }
1423
1438
  this.mod.ccall("goss_session_submit_faces", "number", ["number", "number", "number"], [this.handle, ptr, faces.length]);
1424
1439
  }
@@ -1473,21 +1488,49 @@ export class GossSession {
1473
1488
  const off = i * POSE_RESULT_BYTES;
1474
1489
  const base = ptr + off;
1475
1490
  const b = bodies[i];
1476
- const count = b.landmarks.length / 3;
1491
+ const count = Math.min(b.landmarks.length / 3, GOSS_POSE_LANDMARK_COUNT);
1477
1492
  dv.setBigUint64(off, BigInt(b.frameSerial ?? 0), true);
1478
1493
  dv.setBigInt64(off + 8, BigInt(b.timestampUs ?? 0), true);
1479
1494
  dv.setFloat32(off + 16, b.presence ?? 1, true);
1480
1495
  dv.setUint32(off + 20, count, true);
1481
- this.mod.HEAPF32.set(b.landmarks, (base + 24) >> 2);
1496
+ this.mod.HEAPF32.set(b.landmarks.subarray(0, count * 3), (base + 24) >> 2);
1482
1497
  const visStart = (base + 24 + GOSS_POSE_LANDMARK_COUNT * 3 * 4) >> 2;
1483
1498
  this.mod.HEAPF32.fill(0, visStart, visStart + GOSS_POSE_LANDMARK_COUNT * 2);
1484
1499
  if (b.visibilities)
1485
- this.mod.HEAPF32.set(b.visibilities, visStart);
1500
+ this.mod.HEAPF32.set(b.visibilities.subarray(0, GOSS_POSE_LANDMARK_COUNT), visStart);
1486
1501
  if (b.presences)
1487
- this.mod.HEAPF32.set(b.presences, visStart + GOSS_POSE_LANDMARK_COUNT);
1502
+ this.mod.HEAPF32.set(b.presences.subarray(0, GOSS_POSE_LANDMARK_COUNT), visStart + GOSS_POSE_LANDMARK_COUNT);
1488
1503
  }
1489
1504
  this.mod.ccall("goss_session_submit_bodies", "number", ["number", "number", "number"], [this.handle, ptr, bodies.length]);
1490
1505
  }
1506
+ /// Submits the hands tracked this frame from the page's own tracker (the
1507
+ /// GossHandTracker's result plugs in directly), so hands.gesture and
1508
+ /// hands.pinch lenses and handJoint work with no in-engine worker; the
1509
+ /// submitted hands win over the worker while set. Null clears the path.
1510
+ submitHands(hands) {
1511
+ if (hands === null) {
1512
+ this.mod.ccall("goss_session_submit_hands", "number", ["number", "number"], [this.handle, 0]);
1513
+ return;
1514
+ }
1515
+ const ptr = this.scratch(HAND_RESULT_BYTES);
1516
+ this.mod.HEAPU8.fill(0, ptr, ptr + HAND_RESULT_BYTES);
1517
+ const dv = new DataView(this.mod.HEAPU8.buffer, ptr, HAND_RESULT_BYTES);
1518
+ dv.setBigInt64(8, hands.timestampUs ?? 0n, true);
1519
+ const list = hands.hands.slice(0, GOSS_HAND_MAX);
1520
+ dv.setUint32(16, list.length, true);
1521
+ for (let i = 0; i < list.length; i += 1) {
1522
+ const off = 24 + i * HAND_ONE_BYTES;
1523
+ const h = list[i];
1524
+ dv.setFloat32(off, h.presence ?? 1, true);
1525
+ dv.setFloat32(off + 4, h.handedness ?? 0.5, true);
1526
+ dv.setUint32(off + 8, h.gesture ?? 0, true);
1527
+ dv.setFloat32(off + 12, h.gestureScore ?? 0, true);
1528
+ const floats = Math.min(h.landmarks.length, GOSS_HAND_LANDMARK_COUNT * 3);
1529
+ for (let k = 0; k < floats; k += 1)
1530
+ dv.setFloat32(off + 16 + k * 4, h.landmarks[k], true);
1531
+ }
1532
+ this.mod.ccall("goss_session_submit_hands", "number", ["number", "number"], [this.handle, ptr]);
1533
+ }
1491
1534
  /// Submits one frame's depth map from the host AR backend (WebXR depth-
1492
1535
  /// sensing): width by height metres per pixel, row major, with the near and
1493
1536
  /// far metres that bound it. An empty array clears it. Kept for depth
@@ -1639,6 +1682,76 @@ export class GossSession {
1639
1682
  this.mod.ccall("goss_free", null, ["number", "number"], [idPtr, id.length || 1]);
1640
1683
  return result;
1641
1684
  }
1685
+ /// Hands the engine one bundle asset's bytes under its manifest name ahead
1686
+ /// of activateLens, so a lens's models, references, and label files load
1687
+ /// from memory - the door the web's inference nodes activate through. An
1688
+ /// empty array removes a staged name; the engine keeps its own copy.
1689
+ provideLensAsset(name, bytes) {
1690
+ const id = new TextEncoder().encode(name);
1691
+ const idPtr = this.mod.ccall("goss_alloc", "number", ["number"], [id.length || 1]);
1692
+ this.mod.HEAPU8.set(id, idPtr);
1693
+ let bytesPtr = 0;
1694
+ if (bytes.length > 0) {
1695
+ bytesPtr = this.mod.ccall("goss_alloc", "number", ["number"], [bytes.length]);
1696
+ this.mod.HEAPU8.set(bytes, bytesPtr);
1697
+ }
1698
+ const args = ["number", "number", "number", "number", "number"];
1699
+ const status = this.mod.ccall("goss_session_provide_lens_asset", "number", args, [this.handle, idPtr, id.length, bytesPtr, bytes.length]);
1700
+ if (bytesPtr !== 0)
1701
+ this.mod.ccall("goss_free", null, ["number", "number"], [bytesPtr, bytes.length]);
1702
+ this.mod.ccall("goss_free", null, ["number", "number"], [idPtr, id.length || 1]);
1703
+ if (status !== 0)
1704
+ throw new Error(`provideLensAsset failed (${status})`);
1705
+ }
1706
+ /// One ml.infer node's whole published output tensor, by the node's id and
1707
+ /// tensor index, or null before the model's first publish or when the node
1708
+ /// or tensor does not exist. A length probe sizes the read, so detections,
1709
+ /// embeddings, and logits come back at their own length.
1710
+ mlOutput(nodeId, tensor = 0) {
1711
+ const id = new TextEncoder().encode(nodeId);
1712
+ const idPtr = this.mod.ccall("goss_alloc", "number", ["number"], [id.length || 1]);
1713
+ this.mod.HEAPU8.set(id, idPtr);
1714
+ const lenPtr = this.mod.ccall("goss_alloc", "number", ["number"], [4]);
1715
+ const readLen = () => new DataView(this.mod.HEAPU8.buffer, lenPtr, 4).getUint32(0, true);
1716
+ const args = ["number", "number", "number", "number", "number", "number", "number"];
1717
+ this.mod.ccall("goss_session_ml_output", "number", args, [this.handle, idPtr, id.length, tensor, 0, 0, lenPtr]);
1718
+ const needed = readLen();
1719
+ let result = null;
1720
+ if (needed > 0) {
1721
+ const outPtr = this.mod.ccall("goss_alloc", "number", ["number"], [needed * 4]);
1722
+ const status = this.mod.ccall("goss_session_ml_output", "number", args, [this.handle, idPtr, id.length, tensor, outPtr, needed, lenPtr]);
1723
+ if (status === 0)
1724
+ result = this.mod.HEAPF32.slice(outPtr >> 2, (outPtr >> 2) + needed);
1725
+ this.mod.ccall("goss_free", null, ["number", "number"], [outPtr, needed * 4]);
1726
+ }
1727
+ this.mod.ccall("goss_free", null, ["number", "number"], [lenPtr, 4]);
1728
+ this.mod.ccall("goss_free", null, ["number", "number"], [idPtr, id.length || 1]);
1729
+ return result;
1730
+ }
1731
+ /// One ml.infer node's mask-bound output resampled to the fixed
1732
+ /// segmentation plane, or null when the node has no mask binding or the
1733
+ /// model has not published yet.
1734
+ mlMask(nodeId) {
1735
+ const id = new TextEncoder().encode(nodeId);
1736
+ const idPtr = this.mod.ccall("goss_alloc", "number", ["number"], [id.length || 1]);
1737
+ this.mod.HEAPU8.set(id, idPtr);
1738
+ const lenPtr = this.mod.ccall("goss_alloc", "number", ["number"], [4]);
1739
+ const readLen = () => new DataView(this.mod.HEAPU8.buffer, lenPtr, 4).getUint32(0, true);
1740
+ const args = ["number", "number", "number", "number", "number", "number"];
1741
+ this.mod.ccall("goss_session_ml_mask", "number", args, [this.handle, idPtr, id.length, 0, 0, lenPtr]);
1742
+ const needed = readLen();
1743
+ let result = null;
1744
+ if (needed > 0) {
1745
+ const outPtr = this.mod.ccall("goss_alloc", "number", ["number"], [needed * 4]);
1746
+ const status = this.mod.ccall("goss_session_ml_mask", "number", args, [this.handle, idPtr, id.length, outPtr, needed, lenPtr]);
1747
+ if (status === 0)
1748
+ result = this.mod.HEAPF32.slice(outPtr >> 2, (outPtr >> 2) + needed);
1749
+ this.mod.ccall("goss_free", null, ["number", "number"], [outPtr, needed * 4]);
1750
+ }
1751
+ this.mod.ccall("goss_free", null, ["number", "number"], [lenPtr, 4]);
1752
+ this.mod.ccall("goss_free", null, ["number", "number"], [idPtr, id.length || 1]);
1753
+ return result;
1754
+ }
1642
1755
  /// The recent diarized caption segment at index (0 the newest), or null when
1643
1756
  /// the index is past the segments held: the times it spanned, the speaker who
1644
1757
  /// spoke it, and its text, a speaker-tagged transcript for diarized subtitles.
@@ -1687,9 +1800,9 @@ export class GossSession {
1687
1800
  /// Submits one NV12 exposure of an HDR bracket, fed to bracket-source
1688
1801
  /// temporal.fuse nodes. y and uv are the plane bytes as submitFrameCopy takes.
1689
1802
  submitFrameBracket(y, yStride, uv, uvStride, width, height, colorStandard = 1, colorRange = 0) {
1690
- const yPtr = this.mod.ccall("goss_alloc", "number", ["number"], [y.length]);
1803
+ const yPtr = this.scratch(y.length + uv.length);
1691
1804
  this.mod.HEAPU8.set(y, yPtr);
1692
- const uvPtr = this.mod.ccall("goss_alloc", "number", ["number"], [uv.length]);
1805
+ const uvPtr = yPtr + y.length;
1693
1806
  this.mod.HEAPU8.set(uv, uvPtr);
1694
1807
  this.mod.setValue(this.frameDescPtr, width, "i32");
1695
1808
  this.mod.setValue(this.frameDescPtr + 4, height, "i32");
@@ -1700,13 +1813,11 @@ export class GossSession {
1700
1813
  this.mod.setValue(this.frameDescPtr + 24, 0, "i32");
1701
1814
  this.mod.setValue(this.frameDescPtr + 28, 0, "i32");
1702
1815
  this.mod.ccall("goss_session_submit_frame_bracket", "number", ["number", "number", "number", "number", "number", "number"], [this.handle, this.frameDescPtr, yPtr, yStride, uvPtr, uvStride]);
1703
- this.mod.ccall("goss_free", null, ["number", "number"], [yPtr, y.length]);
1704
- this.mod.ccall("goss_free", null, ["number", "number"], [uvPtr, uv.length]);
1705
1816
  }
1706
1817
  submitPlanes(sym, y, yStride, uv, uvStride, width, height, colorStandard, colorRange) {
1707
- const yPtr = this.mod.ccall("goss_alloc", "number", ["number"], [y.length]);
1818
+ const yPtr = this.scratch(y.length + uv.length);
1708
1819
  this.mod.HEAPU8.set(y, yPtr);
1709
- const uvPtr = this.mod.ccall("goss_alloc", "number", ["number"], [uv.length]);
1820
+ const uvPtr = yPtr + y.length;
1710
1821
  this.mod.HEAPU8.set(uv, uvPtr);
1711
1822
  this.mod.setValue(this.frameDescPtr, width, "i32");
1712
1823
  this.mod.setValue(this.frameDescPtr + 4, height, "i32");
@@ -1717,8 +1828,6 @@ export class GossSession {
1717
1828
  this.mod.setValue(this.frameDescPtr + 24, 0, "i32");
1718
1829
  this.mod.setValue(this.frameDescPtr + 28, 0, "i32");
1719
1830
  this.mod.ccall(sym, "number", ["number", "number", "number", "number", "number", "number"], [this.handle, this.frameDescPtr, yPtr, yStride, uvPtr, uvStride]);
1720
- this.mod.ccall("goss_free", null, ["number", "number"], [yPtr, y.length]);
1721
- this.mod.ccall("goss_free", null, ["number", "number"], [uvPtr, uv.length]);
1722
1831
  }
1723
1832
  /// Feeds one NV12 frame to the in-engine trackers only (no render), for a host
1724
1833
  /// that renders elsewhere but wants the engine's face/hand/pose tracking. Web
@@ -2051,7 +2160,9 @@ export class GossSession {
2051
2160
  if (this.framePixelsPtr !== 0)
2052
2161
  this.mod.ccall("goss_free", null, ["number", "number"], [this.framePixelsPtr, this.framePixelsCapacity]);
2053
2162
  this.framePixelsPtr = this.mod.ccall("goss_alloc", "number", ["number"], [byteLength]);
2054
- this.framePixelsCapacity = byteLength;
2163
+ this.framePixelsCapacity = this.framePixelsPtr === 0 ? 0 : byteLength;
2164
+ if (this.framePixelsPtr === 0)
2165
+ throw new Error("wasm allocation failed");
2055
2166
  }
2056
2167
  /// rotationDegrees omitted means the setVideoFlip state decides (a
2057
2168
  /// flipped source is a 180-degree turn); timestampUs omitted means
@@ -2136,7 +2247,9 @@ export class GossSession {
2136
2247
  if (this.worldScratchPtr !== 0)
2137
2248
  this.mod.ccall("goss_free", null, ["number", "number"], [this.worldScratchPtr, this.worldScratchLen]);
2138
2249
  this.worldScratchPtr = this.mod.ccall("goss_alloc", "number", ["number"], [byteLength]);
2139
- this.worldScratchLen = byteLength;
2250
+ this.worldScratchLen = this.worldScratchPtr === 0 ? 0 : byteLength;
2251
+ if (this.worldScratchPtr === 0)
2252
+ throw new Error("wasm allocation failed");
2140
2253
  }
2141
2254
  /// Reports one finished frame: measured whole-pipeline time plus
2142
2255
  /// thermal pressure (nominal by default - no browser API surfaces
@@ -2210,9 +2323,15 @@ export class GossPreviewSession {
2210
2323
  static async create(canvas, wasmJsUrl, events = {}) {
2211
2324
  const gosslens = await Gosslens.load(canvas, wasmJsUrl);
2212
2325
  const engine = GossEngine.create(gosslens);
2213
- await engine.initRenderer(canvas);
2214
- const session = GossSession.create(engine);
2215
- return new GossPreviewSession(gosslens, engine, session, events);
2326
+ try {
2327
+ await engine.initRenderer(canvas);
2328
+ const session = GossSession.create(engine);
2329
+ return new GossPreviewSession(gosslens, engine, session, events);
2330
+ }
2331
+ catch (err) {
2332
+ engine.destroy();
2333
+ throw err;
2334
+ }
2216
2335
  }
2217
2336
  abiVersion() {
2218
2337
  return this.gosslens.abiVersion();
@@ -2321,8 +2440,10 @@ export class GossPreviewSession {
2321
2440
  this.cameraFrames += 1;
2322
2441
  const width = this.video.videoWidth;
2323
2442
  const height = this.video.videoHeight;
2324
- this.scratchCanvas.width = width;
2325
- this.scratchCanvas.height = height;
2443
+ if (this.scratchCanvas.width !== width || this.scratchCanvas.height !== height) {
2444
+ this.scratchCanvas.width = width;
2445
+ this.scratchCanvas.height = height;
2446
+ }
2326
2447
  this.scratchCtx.drawImage(this.video, 0, 0, width, height);
2327
2448
  const pixels = this.scratchCtx.getImageData(0, 0, width, height);
2328
2449
  // Not mirrored here - the demo page's own CSS mirrors the canvas
@@ -2356,8 +2477,8 @@ export class GossPreviewSession {
2356
2477
  return this.engine.readFrameSum(this.session);
2357
2478
  }
2358
2479
  }
2359
- export { GossWebXRWorldSource } from "./world";
2360
- export { GossAudioOutput } from "./audio-output";
2361
- export { GossMicInput } from "./mic-input";
2362
- export { GossVideoTexture } from "./video-texture";
2480
+ export { GossWebXRWorldSource } from "./world.js";
2481
+ export { GossAudioOutput } from "./audio-output.js";
2482
+ export { GossMicInput } from "./mic-input.js";
2483
+ export { GossVideoTexture } from "./video-texture.js";
2363
2484
  //# sourceMappingURL=index.js.map