longpipe 0.0.8 → 0.0.10

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/index.d.cts CHANGED
@@ -23,6 +23,7 @@ interface Op {
23
23
  interface Presenter {
24
24
  run(): void;
25
25
  }
26
+ type RenderTarget = "main" | "preview";
26
27
  type Activation = "none" | "relu6" | "relu";
27
28
  interface Conv2dParams {
28
29
  outChannels: number;
@@ -94,11 +95,12 @@ interface Backend {
94
95
  Input: (h: number, w: number) => InputOp;
95
96
  };
96
97
  presenters: {
97
- CompositeSolid: (image: Tensor, alpha: Tensor, bgColor: [number, number, number]) => Presenter;
98
- CompositeImage: (image: Tensor, alpha: Tensor, bg: Tensor) => Presenter;
99
- CompositeImageBilinear: (image: Tensor, alpha: Tensor, bg: Tensor) => Presenter;
100
- CompositePassthrough: (image: Tensor) => Presenter;
98
+ CompositeSolid: (image: Tensor, alpha: Tensor, bgColor: [number, number, number], target?: RenderTarget) => Presenter;
99
+ CompositeImage: (image: Tensor, alpha: Tensor, bg: Tensor, target?: RenderTarget) => Presenter;
100
+ CompositeImageBilinear: (image: Tensor, alpha: Tensor, bg: Tensor, target?: RenderTarget) => Presenter;
101
+ CompositePassthrough: (image: Tensor, target?: RenderTarget) => Presenter;
101
102
  };
103
+ attachCanvas(name: RenderTarget, canvas: HTMLCanvasElement | OffscreenCanvas): void;
102
104
  readback(tensor: Tensor): Promise<Float32Array>;
103
105
  copyTensor(src: Tensor, dst: Tensor): void;
104
106
  sync(): Promise<void>;
@@ -202,11 +204,18 @@ declare class Pipeline implements PromiseLike<Pipeline> {
202
204
  private outputCleanup;
203
205
  private adaptive;
204
206
  private bgCleanup;
207
+ private previewBgCleanup;
205
208
  constructor(inputStream: MediaStream, options: PipelineOptions);
206
209
  private bootstrap;
207
210
  then<T1 = this, T2 = never>(onFulfilled?: ((value: this) => T1 | PromiseLike<T1>) | null, onRejected?: ((reason: unknown) => T2 | PromiseLike<T2>) | null): PromiseLike<T1 | T2>;
208
211
  setBackground(input: BackgroundInput): Promise<void>;
209
212
  setPreset(p: PresetName | ManualPreset, weights?: ArrayBuffer): void;
213
+ attachPreview(canvas: HTMLCanvasElement): void;
214
+ setPreview(input: {
215
+ background: BackgroundInput;
216
+ fps?: number;
217
+ }): Promise<void>;
218
+ clearPreview(): void;
210
219
  setEnabled(on: boolean): void;
211
220
  getStats(): Promise<RendererStats>;
212
221
  destroy(): void;
@@ -233,11 +242,14 @@ declare class WebGPUBackend implements Backend {
233
242
  readonly canvasContext: GPUCanvasContext;
234
243
  readonly canvasFormat: GPUTextureFormat;
235
244
  readonly bytesPerElement: 2 | 4;
245
+ private readonly contexts;
236
246
  private constructor();
247
+ private configureContext;
248
+ attachCanvas(name: RenderTarget, canvas: HTMLCanvasElement | OffscreenCanvas): void;
237
249
  static isAvailable(): Promise<boolean>;
238
250
  static hasF16Support(): Promise<boolean>;
239
251
  static create(opts: WebGPUBackendOptions): Promise<WebGPUBackend>;
240
- getCurrentDisplayTexture(): GPUTexture;
252
+ getCurrentDisplayTexture(target?: RenderTarget): GPUTexture;
241
253
  tensor(h: number, w: number, c: number, data?: DataView_): WebGPUTensor;
242
254
  upload(data: DataView_): WebGPUMLBuffer;
243
255
  private writeView;
package/dist/index.d.ts CHANGED
@@ -23,6 +23,7 @@ interface Op {
23
23
  interface Presenter {
24
24
  run(): void;
25
25
  }
26
+ type RenderTarget = "main" | "preview";
26
27
  type Activation = "none" | "relu6" | "relu";
27
28
  interface Conv2dParams {
28
29
  outChannels: number;
@@ -94,11 +95,12 @@ interface Backend {
94
95
  Input: (h: number, w: number) => InputOp;
95
96
  };
96
97
  presenters: {
97
- CompositeSolid: (image: Tensor, alpha: Tensor, bgColor: [number, number, number]) => Presenter;
98
- CompositeImage: (image: Tensor, alpha: Tensor, bg: Tensor) => Presenter;
99
- CompositeImageBilinear: (image: Tensor, alpha: Tensor, bg: Tensor) => Presenter;
100
- CompositePassthrough: (image: Tensor) => Presenter;
98
+ CompositeSolid: (image: Tensor, alpha: Tensor, bgColor: [number, number, number], target?: RenderTarget) => Presenter;
99
+ CompositeImage: (image: Tensor, alpha: Tensor, bg: Tensor, target?: RenderTarget) => Presenter;
100
+ CompositeImageBilinear: (image: Tensor, alpha: Tensor, bg: Tensor, target?: RenderTarget) => Presenter;
101
+ CompositePassthrough: (image: Tensor, target?: RenderTarget) => Presenter;
101
102
  };
103
+ attachCanvas(name: RenderTarget, canvas: HTMLCanvasElement | OffscreenCanvas): void;
102
104
  readback(tensor: Tensor): Promise<Float32Array>;
103
105
  copyTensor(src: Tensor, dst: Tensor): void;
104
106
  sync(): Promise<void>;
@@ -202,11 +204,18 @@ declare class Pipeline implements PromiseLike<Pipeline> {
202
204
  private outputCleanup;
203
205
  private adaptive;
204
206
  private bgCleanup;
207
+ private previewBgCleanup;
205
208
  constructor(inputStream: MediaStream, options: PipelineOptions);
206
209
  private bootstrap;
207
210
  then<T1 = this, T2 = never>(onFulfilled?: ((value: this) => T1 | PromiseLike<T1>) | null, onRejected?: ((reason: unknown) => T2 | PromiseLike<T2>) | null): PromiseLike<T1 | T2>;
208
211
  setBackground(input: BackgroundInput): Promise<void>;
209
212
  setPreset(p: PresetName | ManualPreset, weights?: ArrayBuffer): void;
213
+ attachPreview(canvas: HTMLCanvasElement): void;
214
+ setPreview(input: {
215
+ background: BackgroundInput;
216
+ fps?: number;
217
+ }): Promise<void>;
218
+ clearPreview(): void;
210
219
  setEnabled(on: boolean): void;
211
220
  getStats(): Promise<RendererStats>;
212
221
  destroy(): void;
@@ -233,11 +242,14 @@ declare class WebGPUBackend implements Backend {
233
242
  readonly canvasContext: GPUCanvasContext;
234
243
  readonly canvasFormat: GPUTextureFormat;
235
244
  readonly bytesPerElement: 2 | 4;
245
+ private readonly contexts;
236
246
  private constructor();
247
+ private configureContext;
248
+ attachCanvas(name: RenderTarget, canvas: HTMLCanvasElement | OffscreenCanvas): void;
237
249
  static isAvailable(): Promise<boolean>;
238
250
  static hasF16Support(): Promise<boolean>;
239
251
  static create(opts: WebGPUBackendOptions): Promise<WebGPUBackend>;
240
- getCurrentDisplayTexture(): GPUTexture;
252
+ getCurrentDisplayTexture(target?: RenderTarget): GPUTexture;
241
253
  tensor(h: number, w: number, c: number, data?: DataView_): WebGPUTensor;
242
254
  upload(data: DataView_): WebGPUMLBuffer;
243
255
  private writeView;