@myzonerocks/gosslens 0.9.0
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 +96 -0
- package/dist/src/index.d.ts +529 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +2360 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/tracking.d.ts +109 -0
- package/dist/src/tracking.d.ts.map +1 -0
- package/dist/src/tracking.js +426 -0
- package/dist/src/tracking.js.map +1 -0
- package/dist/src/world.d.ts +38 -0
- package/dist/src/world.d.ts.map +1 -0
- package/dist/src/world.js +67 -0
- package/dist/src/world.js.map +1 -0
- package/dist/test/index.test.d.ts +2 -0
- package/dist/test/index.test.d.ts.map +1 -0
- package/dist/test/index.test.js +42 -0
- package/dist/test/index.test.js.map +1 -0
- package/dist/test/tracking.test.d.ts +2 -0
- package/dist/test/tracking.test.d.ts.map +1 -0
- package/dist/test/tracking.test.js +85 -0
- package/dist/test/tracking.test.js.map +1 -0
- package/package.json +49 -0
- package/src/index.ts +2856 -0
- package/src/tracking.ts +493 -0
- package/src/world.ts +108 -0
package/README.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Gosslens - TypeScript SDK
|
|
2
|
+
|
|
3
|
+
TypeScript SDK for [Gosslens](../../include/gosslens.h), a camera engine
|
|
4
|
+
with a Zig core behind one C ABI, compiled to `wasm32`. Wraps it as
|
|
5
|
+
`GossEngine`, `GossSession`, and `Gosslens`, the same names the
|
|
6
|
+
[Swift](../swift/README.md) and [Kotlin](../kotlin/README.md) SDKs use.
|
|
7
|
+
|
|
8
|
+
This SDK owns camera capture through `getUserMedia`, the render loop,
|
|
9
|
+
and decoding the PNGs the core has no decoder for. The frame graph, lens
|
|
10
|
+
runtime, and effect pipeline live in the core.
|
|
11
|
+
|
|
12
|
+
[docs/INTEGRATION-WEB.md](../../docs/INTEGRATION-WEB.md) is the start-to-finish
|
|
13
|
+
guide: build and host the wasm and model assets, the render loop, and the
|
|
14
|
+
tracking worker.
|
|
15
|
+
|
|
16
|
+
## Install
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
bun add @myzonerocks/gosslens
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Inside this monorepo, consume it from the workspace instead:
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{ "dependencies": { "@myzonerocks/gosslens": "workspace:*" } }
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`bun run build` compiles `src/` to `dist/src/` (the package points `main`
|
|
29
|
+
and `types` there); run it once so `dist/` exists before a workspace
|
|
30
|
+
consumer resolves it.
|
|
31
|
+
|
|
32
|
+
This package is the JS wrapper only. `zig build wasm-emscripten` builds
|
|
33
|
+
the WebGL2 `gosslens_web.js`/`.wasm` pair; `zig build
|
|
34
|
+
wasm-emscripten-webgpu` builds the WebGPU pair. `pickEngineUrl` picks
|
|
35
|
+
between them at load, so `wasmJsUrl` points at whichever one it selects.
|
|
36
|
+
They are separate artifacts, not bundled.
|
|
37
|
+
|
|
38
|
+
## Use
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
import { Gosslens, GossEngine, GossSession, GossPreviewSession } from "@myzonerocks/gosslens";
|
|
42
|
+
|
|
43
|
+
const gosslens = await Gosslens.load(canvas, wasmJsUrl);
|
|
44
|
+
const engine = GossEngine.create(gosslens);
|
|
45
|
+
await engine.initRenderer(canvas);
|
|
46
|
+
const session = GossSession.create(engine);
|
|
47
|
+
|
|
48
|
+
session.submitFrameRgbaCopy(rgba, width * 4, width, height);
|
|
49
|
+
engine.renderFrame(session);
|
|
50
|
+
|
|
51
|
+
session.setWhiten(0.6);
|
|
52
|
+
session.activateLens(manifestJson);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
`GossPreviewSession.create(canvas, wasmJsUrl, events)` does all three setup
|
|
56
|
+
steps and owns the capture loop too; most app code wants this one.
|
|
57
|
+
|
|
58
|
+
WebGPU and WebGL2 are two separate build artifacts, not a runtime
|
|
59
|
+
toggle; `pickEngineUrl` picks the right one after confirming a real
|
|
60
|
+
adapter.
|
|
61
|
+
|
|
62
|
+
Capture reads a PNG back, and world tracking feeds WebXR frames in:
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
import { GossWebXRWorldSource } from "@myzonerocks/gosslens";
|
|
66
|
+
|
|
67
|
+
const png = await engine.captureFrame(session); // data URL
|
|
68
|
+
|
|
69
|
+
const world = new GossWebXRWorldSource(session);
|
|
70
|
+
// in the XR animation loop:
|
|
71
|
+
world.onFrame(xrFrame, referenceSpace, timestampUs);
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
On web, recording and photo capture run through the browser, used by both
|
|
75
|
+
this SDK and the demo: `captureFrame()` exports a PNG off the composited
|
|
76
|
+
canvas, and `captureStream()` drives a `MediaRecorder` with the
|
|
77
|
+
engine-normalized recording policy. The engine's own hardware encoder and
|
|
78
|
+
the platform-native HEIC format stay native-only, since the browser owns
|
|
79
|
+
encoding on web; see [docs/PARITY.md](../../docs/PARITY.md). The
|
|
80
|
+
cross-platform SDK overview is in the [root README](../../README.md).
|
|
81
|
+
|
|
82
|
+
## Demo app
|
|
83
|
+
|
|
84
|
+
[`demo/`](demo/) is a real web page; see [`demo/README.md`](demo/README.md).
|
|
85
|
+
|
|
86
|
+
## Tests
|
|
87
|
+
|
|
88
|
+
`bun test` runs the unit suite in [`test/`](test) - the frozen-layout result
|
|
89
|
+
parsers and the WebGPU/WebGL2 pick. The browser end-to-end proofs live in
|
|
90
|
+
[`demo/prove.ts`](demo/prove.ts) and [`demo/track-prove.ts`](demo/track-prove.ts),
|
|
91
|
+
with the host conformance in [`harness/`](../../harness/).
|
|
92
|
+
|
|
93
|
+
## TODO
|
|
94
|
+
|
|
95
|
+
- Publish `@myzonerocks/gosslens` to npm; until then `bun add` resolves
|
|
96
|
+
only inside the workspace.
|
|
@@ -0,0 +1,529 @@
|
|
|
1
|
+
export declare const GOSS_OK = 0;
|
|
2
|
+
export declare const enum GossDegradeLevel {
|
|
3
|
+
Full = 0,
|
|
4
|
+
ReducedMlCadence = 1,
|
|
5
|
+
SegmentationOff = 2,
|
|
6
|
+
BeautySimplified = 3,
|
|
7
|
+
Passthrough = 4
|
|
8
|
+
}
|
|
9
|
+
export declare const enum GossBeautyEffect {
|
|
10
|
+
Smooth = 0,
|
|
11
|
+
Whiten = 1,
|
|
12
|
+
ThinFace = 2,
|
|
13
|
+
BigEye = 3,
|
|
14
|
+
Lipstick = 4,
|
|
15
|
+
Blush = 5
|
|
16
|
+
}
|
|
17
|
+
export declare const enum GossThermal {
|
|
18
|
+
Nominal = 0,
|
|
19
|
+
Fair = 1,
|
|
20
|
+
Serious = 2,
|
|
21
|
+
Critical = 3
|
|
22
|
+
}
|
|
23
|
+
export declare const enum GossPixelFormat {
|
|
24
|
+
Nv12 = 0,
|
|
25
|
+
Nv21 = 1,
|
|
26
|
+
I420 = 2,
|
|
27
|
+
Bgra8 = 3,
|
|
28
|
+
Rgba8 = 4
|
|
29
|
+
}
|
|
30
|
+
export declare const enum GossColorStandard {
|
|
31
|
+
Bt601 = 0,
|
|
32
|
+
Bt709 = 1,
|
|
33
|
+
Bt2020 = 2
|
|
34
|
+
}
|
|
35
|
+
export declare const enum GossColorRange {
|
|
36
|
+
Video = 0,
|
|
37
|
+
Full = 1
|
|
38
|
+
}
|
|
39
|
+
export interface GossLensSignals {
|
|
40
|
+
hasFace?: boolean;
|
|
41
|
+
handsPresent?: boolean;
|
|
42
|
+
tap?: boolean;
|
|
43
|
+
worldTrackingState?: number;
|
|
44
|
+
audioLevel?: number;
|
|
45
|
+
blendshapes?: Float32Array | readonly number[];
|
|
46
|
+
}
|
|
47
|
+
export interface GossEngineConfig {
|
|
48
|
+
texturePoolCapacity?: number;
|
|
49
|
+
stagingPoolCapacity?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface GossSessionConfig {
|
|
52
|
+
frameBudgetUs?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface CaptureGuidance {
|
|
55
|
+
covered: number;
|
|
56
|
+
total: number;
|
|
57
|
+
complete: boolean;
|
|
58
|
+
viewCount: number;
|
|
59
|
+
splatCount: number;
|
|
60
|
+
nextYaw: number;
|
|
61
|
+
}
|
|
62
|
+
export interface GossStillConfig {
|
|
63
|
+
width?: number;
|
|
64
|
+
height?: number;
|
|
65
|
+
supersample?: number;
|
|
66
|
+
format?: number;
|
|
67
|
+
quality?: number;
|
|
68
|
+
/** 0 = sRGB, 1 = Display-P3, 2 = Rec2020 - the gamut the file is tagged with. */
|
|
69
|
+
colorSpace?: number;
|
|
70
|
+
/** 8 or 16 bits per channel; 16 is the PNG high-bit-depth path. */
|
|
71
|
+
bitDepth?: number;
|
|
72
|
+
}
|
|
73
|
+
export declare const GOSS_FACE_LANDMARK_COUNT = 478;
|
|
74
|
+
export declare const GOSS_FACE_MAX = 4;
|
|
75
|
+
export declare const GOSS_SEGMENTATION_MASK_SIDE = 256;
|
|
76
|
+
export interface GossFaceInput {
|
|
77
|
+
landmarks: Float32Array;
|
|
78
|
+
presence?: number;
|
|
79
|
+
blendshapes?: Float32Array;
|
|
80
|
+
frameSerial?: number;
|
|
81
|
+
timestampUs?: bigint;
|
|
82
|
+
}
|
|
83
|
+
export interface GossFaceOut {
|
|
84
|
+
frameSerial: bigint;
|
|
85
|
+
timestampUs: bigint;
|
|
86
|
+
presence: number;
|
|
87
|
+
landmarkCount: number;
|
|
88
|
+
landmarks: Float32Array;
|
|
89
|
+
blendshapes: Float32Array;
|
|
90
|
+
}
|
|
91
|
+
export declare const GOSS_POSE_LANDMARK_COUNT = 33;
|
|
92
|
+
export declare const GOSS_BODY_MAX = 4;
|
|
93
|
+
export interface GossPoseInput {
|
|
94
|
+
landmarks: Float32Array;
|
|
95
|
+
presence?: number;
|
|
96
|
+
visibilities?: Float32Array;
|
|
97
|
+
presences?: Float32Array;
|
|
98
|
+
frameSerial?: number;
|
|
99
|
+
timestampUs?: bigint;
|
|
100
|
+
}
|
|
101
|
+
export interface GossPoseOut {
|
|
102
|
+
frameSerial: bigint;
|
|
103
|
+
timestampUs: bigint;
|
|
104
|
+
presence: number;
|
|
105
|
+
landmarkCount: number;
|
|
106
|
+
landmarks: Float32Array;
|
|
107
|
+
visibilities: Float32Array;
|
|
108
|
+
presences: Float32Array;
|
|
109
|
+
}
|
|
110
|
+
export declare const GOSS_HAND_LANDMARK_COUNT = 21;
|
|
111
|
+
export declare const GOSS_HAND_MAX = 2;
|
|
112
|
+
export interface GossHandOne {
|
|
113
|
+
presence: number;
|
|
114
|
+
handedness: number;
|
|
115
|
+
gesture: number;
|
|
116
|
+
gestureScore: number;
|
|
117
|
+
landmarks: Float32Array;
|
|
118
|
+
}
|
|
119
|
+
export interface GossHandOut {
|
|
120
|
+
frameSerial: bigint;
|
|
121
|
+
timestampUs: bigint;
|
|
122
|
+
hands: GossHandOne[];
|
|
123
|
+
}
|
|
124
|
+
export declare enum GossFaceRegion {
|
|
125
|
+
Forehead = 0,
|
|
126
|
+
Glabella = 1,
|
|
127
|
+
NoseTip = 2,
|
|
128
|
+
Chin = 3,
|
|
129
|
+
LeftEye = 4,
|
|
130
|
+
RightEye = 5,
|
|
131
|
+
LeftCheek = 6,
|
|
132
|
+
RightCheek = 7,
|
|
133
|
+
LeftEar = 8,
|
|
134
|
+
RightEar = 9,
|
|
135
|
+
MouthCenter = 10,
|
|
136
|
+
LeftMouthCorner = 11,
|
|
137
|
+
RightMouthCorner = 12
|
|
138
|
+
}
|
|
139
|
+
export declare enum GossBodyJoint {
|
|
140
|
+
Head = 0,
|
|
141
|
+
LeftShoulder = 1,
|
|
142
|
+
RightShoulder = 2,
|
|
143
|
+
LeftElbow = 3,
|
|
144
|
+
RightElbow = 4,
|
|
145
|
+
LeftWrist = 5,
|
|
146
|
+
RightWrist = 6,
|
|
147
|
+
LeftHip = 7,
|
|
148
|
+
RightHip = 8,
|
|
149
|
+
LeftKnee = 9,
|
|
150
|
+
RightKnee = 10,
|
|
151
|
+
LeftAnkle = 11,
|
|
152
|
+
RightAnkle = 12
|
|
153
|
+
}
|
|
154
|
+
export declare enum GossHandJoint {
|
|
155
|
+
Wrist = 0,
|
|
156
|
+
ThumbTip = 1,
|
|
157
|
+
IndexTip = 2,
|
|
158
|
+
MiddleTip = 3,
|
|
159
|
+
RingTip = 4,
|
|
160
|
+
PinkyTip = 5,
|
|
161
|
+
Palm = 6
|
|
162
|
+
}
|
|
163
|
+
export declare const GOSS_SEGMENTATION_CHANNELS: readonly ["person", "background", "hair", "body_skin", "face_skin", "clothes", "others"];
|
|
164
|
+
export type GossCaptureState = "idle" | "running" | "denied" | "failed" | "interrupted";
|
|
165
|
+
export interface GossSessionEvents {
|
|
166
|
+
onState?(state: GossCaptureState): void;
|
|
167
|
+
onFps?(fps: number, renderedFrames: number, cameraFrames: number): void;
|
|
168
|
+
}
|
|
169
|
+
interface EngineModule {
|
|
170
|
+
HEAPU8: Uint8Array;
|
|
171
|
+
HEAP16: Int16Array;
|
|
172
|
+
HEAP32: Int32Array;
|
|
173
|
+
HEAPU32: Uint32Array;
|
|
174
|
+
HEAPF32: Float32Array;
|
|
175
|
+
HEAPF64: Float64Array;
|
|
176
|
+
ccall(name: string, returnType: string | null, argTypes: string[], args: unknown[]): number;
|
|
177
|
+
ccall(name: string, returnType: string | null, argTypes: string[], args: unknown[], opts: {
|
|
178
|
+
async: true;
|
|
179
|
+
}): Promise<number>;
|
|
180
|
+
getValue(ptr: number, type: string): number;
|
|
181
|
+
setValue(ptr: number, value: number, type: string): void;
|
|
182
|
+
stringToNewUTF8(value: string): number;
|
|
183
|
+
}
|
|
184
|
+
export declare function pickEngineUrl(webgpuUrl: string | URL, webgl2Url: string | URL): Promise<string | URL>;
|
|
185
|
+
export interface GossWorldState {
|
|
186
|
+
trackingState: number;
|
|
187
|
+
worldFromCamera: ArrayLike<number>;
|
|
188
|
+
projection: ArrayLike<number>;
|
|
189
|
+
timestampUs: number;
|
|
190
|
+
}
|
|
191
|
+
export interface GossWorldPlane {
|
|
192
|
+
id: number;
|
|
193
|
+
pose: ArrayLike<number>;
|
|
194
|
+
extentX: number;
|
|
195
|
+
extentZ: number;
|
|
196
|
+
classification: number;
|
|
197
|
+
}
|
|
198
|
+
export interface GossWorldAnchorInput {
|
|
199
|
+
id: number;
|
|
200
|
+
pose: ArrayLike<number>;
|
|
201
|
+
}
|
|
202
|
+
export interface GossWorldLight {
|
|
203
|
+
ambientIntensity: number;
|
|
204
|
+
colorTemperatureKelvin: number;
|
|
205
|
+
}
|
|
206
|
+
export declare class Gosslens {
|
|
207
|
+
private readonly mod;
|
|
208
|
+
private readonly version;
|
|
209
|
+
private constructor();
|
|
210
|
+
abiVersion(): number;
|
|
211
|
+
static load(canvas: HTMLCanvasElement, wasmJsUrl: string | URL): Promise<Gosslens>;
|
|
212
|
+
yuvToRgb(colorStandard: GossColorStandard, colorRange: GossColorRange): Float32Array;
|
|
213
|
+
solveTwoBoneIk(root: [number, number, number], upperLen: number, lowerLen: number, target: [number, number, number], pole: [number, number, number]): {
|
|
214
|
+
mid: [number, number, number];
|
|
215
|
+
end: [number, number, number];
|
|
216
|
+
};
|
|
217
|
+
get module(): EngineModule;
|
|
218
|
+
}
|
|
219
|
+
export interface MusicMatch {
|
|
220
|
+
trackId: number;
|
|
221
|
+
votes: number;
|
|
222
|
+
}
|
|
223
|
+
export declare class GossEngine {
|
|
224
|
+
private readonly mod;
|
|
225
|
+
readonly handle: number;
|
|
226
|
+
private captureInFlight;
|
|
227
|
+
private canvas;
|
|
228
|
+
private gl;
|
|
229
|
+
private selectorPtr;
|
|
230
|
+
private selectorCapacity;
|
|
231
|
+
private constructor();
|
|
232
|
+
static create(gosslens: Gosslens, config?: GossEngineConfig): GossEngine;
|
|
233
|
+
get module(): EngineModule;
|
|
234
|
+
initRenderer(canvas: HTMLCanvasElement): Promise<void>;
|
|
235
|
+
resize(width: number, height: number): void;
|
|
236
|
+
renderFrame(session: GossSession | null): number;
|
|
237
|
+
compilePrompt(prompt: string): string;
|
|
238
|
+
generateSong(prompt: string, sampleRate?: number, seed?: number, bars?: number): Uint8Array;
|
|
239
|
+
scanBarcode(luminance: Uint8Array, width: number, height: number): Uint8Array | null;
|
|
240
|
+
scanQR(luminance: Uint8Array, width: number, height: number): Uint8Array | null;
|
|
241
|
+
generateQR(payload: Uint8Array, moduleScale?: number, quietModules?: number): {
|
|
242
|
+
image: Uint8Array;
|
|
243
|
+
dim: number;
|
|
244
|
+
} | null;
|
|
245
|
+
mediaSearch(corpus: Float32Array, count: number, dim: number, query: Float32Array, k: number): {
|
|
246
|
+
index: number;
|
|
247
|
+
score: number;
|
|
248
|
+
}[];
|
|
249
|
+
sealMedia(key: Uint8Array, nonce: Uint8Array, plaintext: Uint8Array, aad?: Uint8Array): Uint8Array | null;
|
|
250
|
+
openMedia(key: Uint8Array, nonce: Uint8Array, sealed: Uint8Array, aad?: Uint8Array): Uint8Array | null;
|
|
251
|
+
private aeadMedia;
|
|
252
|
+
bestTake(frames: Uint8Array, frameStride: number, count: number, width: number, height: number, openness: Float32Array, opennessWeight: number): number;
|
|
253
|
+
addMusicReference(trackId: number, samples: Float32Array, frameCount: number, sampleRate: number, channels: number): boolean;
|
|
254
|
+
clearMusicReferences(): void;
|
|
255
|
+
identifyMusic(samples: Float32Array, frameCount: number, sampleRate: number, channels: number, minVotes?: number): MusicMatch | null;
|
|
256
|
+
releaseLiveTexture(nativeHandle: bigint): boolean;
|
|
257
|
+
private capturePixels;
|
|
258
|
+
get isCaptureInFlight(): boolean;
|
|
259
|
+
captureFrame(session: GossSession | null): Promise<string>;
|
|
260
|
+
captureLiveFrame(session: GossSession | null, format?: GossPixelFormat): Promise<{
|
|
261
|
+
pixels: Uint8Array;
|
|
262
|
+
width: number;
|
|
263
|
+
height: number;
|
|
264
|
+
}>;
|
|
265
|
+
captureStill(session: GossSession | null, config?: GossStillConfig): Promise<Uint8Array>;
|
|
266
|
+
capturePhoto(session: GossSession | null): Promise<Uint8Array>;
|
|
267
|
+
capturePhotoAs(session: GossSession | null, format: number, quality?: number): Promise<Uint8Array>;
|
|
268
|
+
private captureEncoded;
|
|
269
|
+
readCenterPixel(session: GossSession | null): Promise<Uint8Array>;
|
|
270
|
+
readFrameSum(session: GossSession | null): Promise<number>;
|
|
271
|
+
destroy(): void;
|
|
272
|
+
}
|
|
273
|
+
export interface GossCameraControls {
|
|
274
|
+
flashMode: number;
|
|
275
|
+
torch: number;
|
|
276
|
+
focusMode: number;
|
|
277
|
+
exposureMode: number;
|
|
278
|
+
focusPointX: number;
|
|
279
|
+
focusPointY: number;
|
|
280
|
+
exposureLinked: number;
|
|
281
|
+
exposurePointX: number;
|
|
282
|
+
exposurePointY: number;
|
|
283
|
+
exposureBiasEv: number;
|
|
284
|
+
zoomFactor: number;
|
|
285
|
+
maxZoomFactor: number;
|
|
286
|
+
mirrorSavePolicy: number;
|
|
287
|
+
}
|
|
288
|
+
export interface GossRecordingPolicy {
|
|
289
|
+
maxDurationMs: number;
|
|
290
|
+
minClipMs: number;
|
|
291
|
+
segmentMode: number;
|
|
292
|
+
loopPlayback: number;
|
|
293
|
+
speedPreset: number;
|
|
294
|
+
micMuted: number;
|
|
295
|
+
saveOriginal: number;
|
|
296
|
+
stabilization: number;
|
|
297
|
+
}
|
|
298
|
+
export interface GossCaptureUi {
|
|
299
|
+
gridMode: number;
|
|
300
|
+
levelIndicator: number;
|
|
301
|
+
shutterMode: number;
|
|
302
|
+
countdownS: number;
|
|
303
|
+
nightMode: number;
|
|
304
|
+
screenFlashMode: number;
|
|
305
|
+
screenFlashIntensity: number;
|
|
306
|
+
screenFlashWarmth: number;
|
|
307
|
+
}
|
|
308
|
+
export declare class GossSession {
|
|
309
|
+
private readonly mod;
|
|
310
|
+
readonly handle: number;
|
|
311
|
+
private worldScratchPtr;
|
|
312
|
+
private worldScratchLen;
|
|
313
|
+
private frameWidth;
|
|
314
|
+
private frameHeight;
|
|
315
|
+
private videoFlipped;
|
|
316
|
+
private whitenLutsLoaded;
|
|
317
|
+
private lipstickTextureLoaded;
|
|
318
|
+
private blushTextureLoaded;
|
|
319
|
+
private frameDescPtr;
|
|
320
|
+
private framePixelsPtr;
|
|
321
|
+
private framePixelsCapacity;
|
|
322
|
+
private landmarksPtr;
|
|
323
|
+
private signalsPtr;
|
|
324
|
+
private segmentationMaskPtr;
|
|
325
|
+
private scratchPtr;
|
|
326
|
+
private scratchCapacity;
|
|
327
|
+
private constructor();
|
|
328
|
+
private scratch;
|
|
329
|
+
static create(engine: GossEngine, config?: GossSessionConfig): GossSession;
|
|
330
|
+
setWhiten(amount: number): void;
|
|
331
|
+
setSmooth(amount: number): void;
|
|
332
|
+
setThinFace(amount: number): void;
|
|
333
|
+
setBigEye(amount: number): void;
|
|
334
|
+
setLipstick(amount: number): void;
|
|
335
|
+
setBlush(amount: number): void;
|
|
336
|
+
setBeauty(effect: GossBeautyEffect, amount: number): void;
|
|
337
|
+
activateLens(manifestJson: string): void;
|
|
338
|
+
deactivateLens(): void;
|
|
339
|
+
tickLens(dtUs: number, signals?: GossLensSignals): void;
|
|
340
|
+
parameterValue(name: string): number | null;
|
|
341
|
+
hitTest(x: number, y: number): [number, number, number] | null;
|
|
342
|
+
submitWorldMesh(vertices: Float32Array, indices: Uint32Array): void;
|
|
343
|
+
raycastWorldMesh(origin: [number, number, number], direction: [number, number, number]): {
|
|
344
|
+
point: [number, number, number];
|
|
345
|
+
distance: number;
|
|
346
|
+
} | null;
|
|
347
|
+
submitAudio(samples: Float32Array, frameCount: number, sampleRate: number, channels: number, timestampUs?: bigint): void;
|
|
348
|
+
pullAudio(frames: number): Int16Array;
|
|
349
|
+
mixOutputAudio(mic: Float32Array | null, frameCount: number, sampleRate: number, channels: number): Int16Array;
|
|
350
|
+
setCameraControls(c: GossCameraControls): void;
|
|
351
|
+
cameraControls(): GossCameraControls;
|
|
352
|
+
setRecordingPolicy(p: GossRecordingPolicy): void;
|
|
353
|
+
recordingPolicy(): GossRecordingPolicy;
|
|
354
|
+
setCaptureUi(u: GossCaptureUi): void;
|
|
355
|
+
captureUi(): GossCaptureUi;
|
|
356
|
+
fireEvent(name: string): void;
|
|
357
|
+
allowModelDigest(digest: Uint8Array): void;
|
|
358
|
+
clearModelAllowlist(): void;
|
|
359
|
+
private withName;
|
|
360
|
+
defineSource(name: string): void;
|
|
361
|
+
removeSource(name: string): void;
|
|
362
|
+
submitSourceFrameRgba(name: string, rgba: Uint8Array, width: number, height: number, stride: number, pixelFormat?: GossPixelFormat): void;
|
|
363
|
+
setLayout(arrangement: number): void;
|
|
364
|
+
setPoseUpperBody(enabled: boolean): void;
|
|
365
|
+
clearLayout(): void;
|
|
366
|
+
setSourceComposite(name: string, opacity?: number, keyMode?: number, chroma?: [number, number, number], similarity?: number): void;
|
|
367
|
+
submitSourceMask(name: string, rgba: Uint8Array | Uint8ClampedArray, width: number, height: number): void;
|
|
368
|
+
enableSourceSegmentation(name: string, model: Uint8Array, threads: number): void;
|
|
369
|
+
defineScreenShare(name: string): void;
|
|
370
|
+
submitLocation(latitude: number, longitude: number, accuracyM: number, timestampUs: number): void;
|
|
371
|
+
setGeofence(latitude: number, longitude: number, radiusM: number): void;
|
|
372
|
+
clearGeofence(): void;
|
|
373
|
+
setGeofenceBBox(minLat: number, minLon: number, maxLat: number, maxLon: number): void;
|
|
374
|
+
setGeofencePolygon(vertices: [number, number][]): void;
|
|
375
|
+
setNamedGeofence(name: string, latitude: number, longitude: number, radiusM: number): void;
|
|
376
|
+
setNamedGeofencePolygon(name: string, vertices: [number, number][]): void;
|
|
377
|
+
clearNamedGeofences(): void;
|
|
378
|
+
setGeoAccuracy(maxAccuracyM: number): void;
|
|
379
|
+
setBrushStyle(r: number, g: number, b: number, a: number, width: number): void;
|
|
380
|
+
setBrushStamp(rgba: Uint8ClampedArray | Uint8Array, width: number, height: number): void;
|
|
381
|
+
beginStroke(): void;
|
|
382
|
+
addStrokePoint(x: number, y: number): void;
|
|
383
|
+
endStroke(): void;
|
|
384
|
+
undoStroke(): void;
|
|
385
|
+
redoStroke(): void;
|
|
386
|
+
clearStrokes(): void;
|
|
387
|
+
setBrushMode(mode: number): void;
|
|
388
|
+
eraseStrokes(x: number, y: number, radius: number): number;
|
|
389
|
+
setARBrushStyle(r: number, g: number, b: number, a: number, width: number): void;
|
|
390
|
+
setARBrushMode(mode: number): void;
|
|
391
|
+
beginARStroke(): void;
|
|
392
|
+
addARStrokePoint(x: number, y: number, z: number): void;
|
|
393
|
+
endARStroke(): void;
|
|
394
|
+
undoARStroke(): void;
|
|
395
|
+
clearARStrokes(): void;
|
|
396
|
+
/** Feeds one screen touch event so the engine recognizes the gestures a lens
|
|
397
|
+
* reacts to. phase is 0 began, 1 moved, 2 ended, 3 cancelled; pointerId names
|
|
398
|
+
* the finger; x and y are normalized 0..1 over the frame. */
|
|
399
|
+
touch(phase: number, pointerId: number, x: number, y: number): void;
|
|
400
|
+
/** Drains one haptic a haptic trigger queued this tick, or null when none
|
|
401
|
+
* remain. Call in a loop after tickLens and buzz the device for each. The
|
|
402
|
+
* style is 0 light..7 failure; intensity is a 0..1 hint. */
|
|
403
|
+
pullHaptic(): {
|
|
404
|
+
style: number;
|
|
405
|
+
intensity: number;
|
|
406
|
+
} | null;
|
|
407
|
+
grab(x: number, y: number, z: number): void;
|
|
408
|
+
release(): void;
|
|
409
|
+
addCollider(x: number, y: number, z: number): void;
|
|
410
|
+
eraseCollider(x: number, y: number, z: number, radius: number): void;
|
|
411
|
+
physicsHairRemove(hairId: number): boolean;
|
|
412
|
+
brushVertices(): Float32Array;
|
|
413
|
+
setVideoFlip(enabled: boolean): void;
|
|
414
|
+
isVideoFlipped(): boolean;
|
|
415
|
+
setFaceLandmarks(landmarks: Float32Array | null, sourceWidth: number, sourceHeight: number): void;
|
|
416
|
+
submitFaces(faces: GossFaceInput[]): void;
|
|
417
|
+
faceCount(): number;
|
|
418
|
+
faceResultAt(index: number): GossFaceOut | null;
|
|
419
|
+
faceTrackId(index: number): number | null;
|
|
420
|
+
submitBodies(bodies: GossPoseInput[]): void;
|
|
421
|
+
submitDepth(depth: Float32Array, width: number, height: number, near: number, far: number): void;
|
|
422
|
+
submitCameraIntrinsics(fx: number, fy: number, cx: number, cy: number, distortion: Float32Array): void;
|
|
423
|
+
submitOrientation(gravityX: number, gravityY: number, gravityZ: number, timestampUs?: bigint): void;
|
|
424
|
+
setInfo(key: string, value: string | null): void;
|
|
425
|
+
snapshotLensState(): Uint8Array | null;
|
|
426
|
+
applyLensState(blob: Uint8Array): void;
|
|
427
|
+
captureProvenance(): string | null;
|
|
428
|
+
captureView(): CaptureGuidance;
|
|
429
|
+
resetCapture(): void;
|
|
430
|
+
setDubbing(enabled: boolean): void;
|
|
431
|
+
captionText(nodeId: string): string | null;
|
|
432
|
+
captionSegment(index: number): {
|
|
433
|
+
startUs: bigint;
|
|
434
|
+
endUs: bigint;
|
|
435
|
+
speaker: number;
|
|
436
|
+
text: string;
|
|
437
|
+
} | null;
|
|
438
|
+
submitSegmentationImage(rgba: Uint8Array, width: number, height: number): void;
|
|
439
|
+
submitFrameBracketRgba(rgba: Uint8Array, width: number, height: number): void;
|
|
440
|
+
submitFrameBracket(y: Uint8Array, yStride: number, uv: Uint8Array, uvStride: number, width: number, height: number, colorStandard?: number, colorRange?: number): void;
|
|
441
|
+
private submitPlanes;
|
|
442
|
+
trackFrame(y: Uint8Array, yStride: number, uv: Uint8Array, uvStride: number, width: number, height: number, colorStandard?: number, colorRange?: number): void;
|
|
443
|
+
submitFrameCopy(y: Uint8Array, yStride: number, uv: Uint8Array, uvStride: number, width: number, height: number, colorStandard?: number, colorRange?: number): void;
|
|
444
|
+
submitAvatarSource(y: Uint8Array, yStride: number, uv: Uint8Array, uvStride: number, width: number, height: number, colorStandard?: number, colorRange?: number): void;
|
|
445
|
+
faceResult(): GossFaceOut | null;
|
|
446
|
+
facePose(): Float32Array | null;
|
|
447
|
+
handResult(): GossHandOut | null;
|
|
448
|
+
poseResult(): GossPoseOut | null;
|
|
449
|
+
setMakeupReference(rgba: Uint8Array, width: number, height: number, landmarks: Float32Array): void;
|
|
450
|
+
bodyCount(): number;
|
|
451
|
+
bodyResultAt(index: number): GossPoseOut | null;
|
|
452
|
+
faceRegion(region: GossFaceRegion): [number, number, number] | null;
|
|
453
|
+
bodyJoint(joint: GossBodyJoint): [number, number, number] | null;
|
|
454
|
+
handJoint(joint: GossHandJoint, handIndex?: number): [number, number, number] | null;
|
|
455
|
+
enableSegmentation(model: Uint8Array, threads: number): void;
|
|
456
|
+
disableSegmentation(): void;
|
|
457
|
+
private enableTracker;
|
|
458
|
+
enableFaceTracking(task: Uint8Array, threads: number): void;
|
|
459
|
+
disableFaceTracking(): void;
|
|
460
|
+
enableHandTracking(task: Uint8Array, threads: number): void;
|
|
461
|
+
disableHandTracking(): void;
|
|
462
|
+
enablePoseTracking(task: Uint8Array, threads: number): void;
|
|
463
|
+
disablePoseTracking(): void;
|
|
464
|
+
enableBeauty(resourcePath?: string): void;
|
|
465
|
+
disableBeauty(): void;
|
|
466
|
+
beautifyFrame(rgba: Uint8Array | Uint8ClampedArray, width: number, height: number): Uint8Array;
|
|
467
|
+
setSegmentationMask(mask: Float32Array | null): void;
|
|
468
|
+
segmentationChannels(): number;
|
|
469
|
+
setSegmentationClassMask(channel: number, mask: Float32Array | null): void;
|
|
470
|
+
setBeautyLut(slot: number, rgba: Uint8ClampedArray | Uint8Array, width: number, height: number): void;
|
|
471
|
+
setBeautyMakeupTexture(effect: GossBeautyEffect, rgba: Uint8ClampedArray | Uint8Array, width: number, height: number): void;
|
|
472
|
+
loadWhitenLuts(lutBaseUrl: string | URL): Promise<void>;
|
|
473
|
+
loadMakeupTextures(baseUrl: string | URL): Promise<void>;
|
|
474
|
+
private ensureFramePixels;
|
|
475
|
+
submitFrameRgbaCopy(rgba: Uint8ClampedArray | Uint8Array, stride: number, width: number, height: number, pixelFormat?: GossPixelFormat, rotationDegrees?: number, mirrored?: boolean, timestampUs?: number): void;
|
|
476
|
+
submitAvatarSourceRgba(rgba: Uint8ClampedArray | Uint8Array, width: number, height: number): void;
|
|
477
|
+
submitWorld(state: GossWorldState, planes?: GossWorldPlane[], anchors?: GossWorldAnchorInput[], light?: GossWorldLight): void;
|
|
478
|
+
private ensureWorldScratch;
|
|
479
|
+
reportFrame(frameTimeUs: number, thermal?: GossThermal): GossDegradeLevel;
|
|
480
|
+
degradeLevel(): GossDegradeLevel;
|
|
481
|
+
destroy(): void;
|
|
482
|
+
}
|
|
483
|
+
export declare class GossPreviewSession {
|
|
484
|
+
readonly gosslens: Gosslens;
|
|
485
|
+
readonly engine: GossEngine;
|
|
486
|
+
readonly session: GossSession;
|
|
487
|
+
private events;
|
|
488
|
+
readonly video: HTMLVideoElement;
|
|
489
|
+
state: GossCaptureState;
|
|
490
|
+
private stream;
|
|
491
|
+
private raf;
|
|
492
|
+
private lastTick;
|
|
493
|
+
private fpsWindowStart;
|
|
494
|
+
private fpsWindowFrames;
|
|
495
|
+
private renderedFrames;
|
|
496
|
+
private cameraFrames;
|
|
497
|
+
private lastVideoTime;
|
|
498
|
+
private scratchCanvas;
|
|
499
|
+
private scratchCtx;
|
|
500
|
+
private constructor();
|
|
501
|
+
static create(canvas: HTMLCanvasElement, wasmJsUrl: string | URL, events?: GossSessionEvents): Promise<GossPreviewSession>;
|
|
502
|
+
abiVersion(): number;
|
|
503
|
+
private setState;
|
|
504
|
+
setWhiten(amount: number): void;
|
|
505
|
+
setSmooth(amount: number): void;
|
|
506
|
+
setThinFace(amount: number): void;
|
|
507
|
+
setBigEye(amount: number): void;
|
|
508
|
+
setLipstick(amount: number): void;
|
|
509
|
+
setBlush(amount: number): void;
|
|
510
|
+
activateLens(manifestJson: string): void;
|
|
511
|
+
deactivateLens(): void;
|
|
512
|
+
tickLens(dtUs: number, signals?: GossLensSignals): void;
|
|
513
|
+
setVideoFlip(enabled: boolean): void;
|
|
514
|
+
isVideoFlipped(): boolean;
|
|
515
|
+
setFaceLandmarks(landmarks: Float32Array | null, sourceWidth: number, sourceHeight: number): void;
|
|
516
|
+
loadWhitenLuts(lutBaseUrl: string | URL): Promise<void>;
|
|
517
|
+
loadMakeupTextures(baseUrl: string | URL): Promise<void>;
|
|
518
|
+
loadStillFrame(url: string): Promise<void>;
|
|
519
|
+
start(): Promise<void>;
|
|
520
|
+
stop(): void;
|
|
521
|
+
private tick;
|
|
522
|
+
degradeLevel(): GossDegradeLevel;
|
|
523
|
+
captureFrame(): Promise<string>;
|
|
524
|
+
readCenterPixel(): Promise<Uint8Array>;
|
|
525
|
+
readFrameSum(): Promise<number>;
|
|
526
|
+
}
|
|
527
|
+
export { GossWebXRWorldSource } from "./world";
|
|
528
|
+
export type { GossXRFrameLike } from "./world";
|
|
529
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|