@pexip/media-processor 19.1.0 → 20.0.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/common/backends/webgl/blur.js +7 -5
  3. package/dist/common/backends/webgl/renderer.d.ts +1 -1
  4. package/dist/common/backends/webgl/renderer.js +27 -34
  5. package/dist/common/backends/webgl/smoothingMask.d.ts +1 -1
  6. package/dist/common/backends/webgl/webglUtils.d.ts +1 -1
  7. package/dist/common/backends/webgl/webglUtils.js +9 -10
  8. package/dist/common/backends/webgpu/blender.d.ts +8 -0
  9. package/dist/common/backends/webgpu/blender.js +78 -0
  10. package/dist/common/backends/webgpu/constants.d.ts +1 -0
  11. package/dist/common/backends/webgpu/constants.js +1 -0
  12. package/dist/common/backends/webgpu/dualFilterBlur.d.ts +5 -0
  13. package/dist/common/backends/webgpu/dualFilterBlur.js +201 -0
  14. package/dist/common/backends/webgpu/renderer.d.ts +2 -0
  15. package/dist/common/backends/webgpu/renderer.js +127 -0
  16. package/dist/common/backends/webgpu/smoothingMask.d.ts +5 -0
  17. package/dist/common/backends/webgpu/smoothingMask.js +66 -0
  18. package/dist/common/backends/webgpu/texture.d.ts +5 -0
  19. package/dist/common/backends/webgpu/texture.js +35 -0
  20. package/dist/common/backends/webgpu/textureToTexture.d.ts +4 -0
  21. package/dist/common/backends/webgpu/textureToTexture.js +35 -0
  22. package/dist/common/backends/webgpu/types.d.ts +5 -0
  23. package/dist/common/backends/webgpu/types.js +1 -0
  24. package/dist/common/backends/webgpu/webgpuUtils.d.ts +7 -0
  25. package/dist/common/backends/webgpu/webgpuUtils.js +14 -0
  26. package/dist/common/canvasRenderUtils.d.ts +1 -1
  27. package/dist/common/canvasRenderUtils.js +8 -10
  28. package/dist/common/constants.d.ts +5 -0
  29. package/dist/common/constants.js +4 -0
  30. package/dist/common/index.d.ts +0 -1
  31. package/dist/common/index.js +0 -1
  32. package/dist/common/m3.d.ts +14 -8
  33. package/dist/common/m3.js +0 -1
  34. package/dist/common/tsconfig.tsbuildinfo +1 -1
  35. package/dist/common/typeGuards.d.ts +2 -0
  36. package/dist/common/typeGuards.js +7 -0
  37. package/dist/common/types/render.d.ts +7 -4
  38. package/dist/common/types/segmentation.d.ts +5 -1
  39. package/dist/common/utils.d.ts +4 -1
  40. package/dist/common/utils.js +36 -1
  41. package/dist/main/audio.d.ts +1 -1
  42. package/dist/main/audio.js +7 -5
  43. package/dist/main/math.js +1 -1
  44. package/dist/main/process.d.ts +3 -3
  45. package/dist/main/process.js +2 -2
  46. package/dist/main/processor.d.ts +0 -1
  47. package/dist/main/transformer.d.ts +1 -1
  48. package/dist/main/tsconfig.tsbuildinfo +1 -1
  49. package/dist/main/typeGuards.d.ts +1 -1
  50. package/dist/main/types.d.ts +2 -1
  51. package/dist/main/utils.js +6 -6
  52. package/dist/main/video/canvasTransform.d.ts +1 -1
  53. package/dist/main/video/canvasTransform.js +66 -12
  54. package/dist/main/video/segmenters/mediapipe.d.ts +1 -11
  55. package/dist/main/video/segmenters/mediapipe.js +37 -22
  56. package/dist/main/video/transformer.d.ts +1 -1
  57. package/dist/main/video/typeGuards.d.ts +2 -1
  58. package/dist/main/video/types.d.ts +2 -12
  59. package/dist/main/video/utils.d.ts +2 -2
  60. package/dist/main/video/utils.js +2 -2
  61. package/dist/main/video/video.d.ts +3 -2
  62. package/dist/main/video/video.js +5 -3
  63. package/dist/main/video/videoStreamTrackProcessor.d.ts +1 -1
  64. package/dist/main/video/videoStreamTrackProcessor.js +2 -2
  65. package/dist/workers/mediaWorker.js +16 -16
  66. package/dist/workers/tsconfig.tsbuildinfo +1 -1
  67. package/dist/worklets/tsconfig.tsbuildinfo +1 -1
  68. package/dist/worklets/types.d.ts +0 -2
  69. package/package.json +44 -8
@@ -0,0 +1,7 @@
1
+ import { RENDER_BACKEND } from './constants';
2
+ export const isValidGpuAPI = (t) => {
3
+ if (typeof t === 'string') {
4
+ return Object.values(RENDER_BACKEND).includes(t);
5
+ }
6
+ return false;
7
+ };
@@ -1,5 +1,4 @@
1
- import type { RenderEffects } from '../constants';
2
- import type { MPMask } from './segmentation';
1
+ import type { RenderBackend, RenderEffects } from '../constants';
3
2
  import type { VideoFrameLike } from './media';
4
3
  export interface RendererOptions {
5
4
  backgroundImageUrl: string;
@@ -25,14 +24,18 @@ export interface RendererOptions {
25
24
  * Effects
26
25
  */
27
26
  effects: RenderEffects;
27
+ /**
28
+ * Backend to render background effects
29
+ */
30
+ backend: RenderBackend;
28
31
  }
29
32
  type Options = RendererOptions & {
30
33
  backgroundImage: ImageBitmap | null;
31
34
  log?: (message: string, meta?: Record<string, unknown>) => void;
32
35
  };
33
36
  export interface Renderer {
34
- init(options?: Options): void;
35
- render(mask: MPMask, frame: VideoFrameLike, options: Options): void;
37
+ init(options?: Options): void | Promise<void>;
38
+ render(mask: ImageBitmap, frame: VideoFrameLike, options: Options): void;
36
39
  isContextLost(): boolean;
37
40
  release(): void;
38
41
  }
@@ -14,11 +14,15 @@ export type Delegate = 'CPU' | 'GPU' | undefined;
14
14
  export interface ImageSegmenterOptions {
15
15
  /**
16
16
  * The canvas element to bind textures to. This has to be set for GPU
17
- * processing. The task will initialize a WebGL context and throw an error if
17
+ * processing. The task will initialize a WebGL or WebGPU context and throw an error if
18
18
  * this fails (e.g. if you have already initialized a different type of
19
19
  * context).
20
20
  */
21
21
  canvas?: OffscreenCanvas;
22
+ /**
23
+ * The Google TaskVision segmentation model only works with WebGl so we need a separate canvas for this.
24
+ */
25
+ segmenterCanvas?: OffscreenCanvas;
22
26
  modelAsset?: SegmentationModelAsset;
23
27
  /** Overrides the default backend to use for the provided model. */
24
28
  delegate?: Delegate;
@@ -1,8 +1,9 @@
1
1
  import type { SegmentationModel } from './types/segmentation';
2
2
  import type { ImageMapIterable } from './types/media';
3
3
  import type { RenderingEvents } from './constants';
4
+ import type { RenderEventHandlers } from './types/render';
4
5
  export declare const isSegmentationModel: (t: unknown) => t is SegmentationModel;
5
- export declare const isRenderingEvents: (t: unknown) => t is "Error" | "ContextCreationError" | "ContextLost" | "ContextRestored" | "ProcessorRestarted" | "SamplingError";
6
+ export declare const isRenderingEvents: (t: unknown) => t is RenderingEvents;
6
7
  export declare const toRenderingEvents: (t: unknown) => RenderingEvents;
7
8
  export declare const getErrorMessage: (error: unknown) => string;
8
9
  export declare const createObjectUpdater: <T extends { [K in keyof T]: unknown; }>(original: T) => (another: Partial<T>) => void;
@@ -34,3 +35,5 @@ export declare const resize: (fromWidth: number, fromHeight: number, toWidth: nu
34
35
  dw: number;
35
36
  dh: number;
36
37
  };
38
+ export declare const createLazyProps: <T extends Record<string, unknown>>(stateBuilder: { [K in keyof T]: (s: Partial<T>) => T[K]; }) => T;
39
+ export declare const handleWebGLContextLoss: (canvas: OffscreenCanvas, eventHandlers: RenderEventHandlers, contextLostCb?: () => void) => () => void;
@@ -72,7 +72,9 @@ export const createRemoteImageBitmap = (map) => {
72
72
  },
73
73
  removeImage,
74
74
  clear: () => {
75
- cache.forEach(img => img.close());
75
+ for (const img of cache.values()) {
76
+ img.close();
77
+ }
76
78
  cache.clear();
77
79
  },
78
80
  };
@@ -136,3 +138,36 @@ export const resize = (fromWidth, fromHeight, toWidth, toHeight) => {
136
138
  dh: toHeight,
137
139
  };
138
140
  };
141
+ export const createLazyProps = (stateBuilder) => {
142
+ const props = {};
143
+ return new Proxy(props, {
144
+ get(target, p, receiver) {
145
+ const prop = target[p];
146
+ if (!prop) {
147
+ target[p] = stateBuilder[p]?.(props);
148
+ }
149
+ return Reflect.get(target, p, receiver);
150
+ },
151
+ });
152
+ };
153
+ export const handleWebGLContextLoss = (canvas, eventHandlers, contextLostCb) => {
154
+ const handleContextLost = (event) => {
155
+ event.preventDefault();
156
+ contextLostCb?.();
157
+ eventHandlers.contextLost(event.statusMessage);
158
+ };
159
+ const handleContextRestored = (event) => {
160
+ eventHandlers.contextRestored(event.statusMessage);
161
+ };
162
+ const handleContextCreationError = (event) => {
163
+ eventHandlers.contextCreationError(event.statusMessage);
164
+ };
165
+ canvas.addEventListener('webglcontextlost', handleContextLost);
166
+ canvas.addEventListener('webglcontextrestored', handleContextRestored);
167
+ canvas.addEventListener('webglcontextcreationerror', handleContextCreationError);
168
+ return () => {
169
+ canvas.removeEventListener('webglcontextlost', handleContextLost);
170
+ canvas.removeEventListener('webglcontextrestored', handleContextRestored);
171
+ canvas.removeEventListener('webglcontextcreationerror', handleContextCreationError);
172
+ };
173
+ };
@@ -60,7 +60,7 @@ export declare const createAnalyzerSubscribableGraphNode: ({ messageHandler, upd
60
60
  *
61
61
  * @param data - WebAssembly source
62
62
  */
63
- export declare const createDenoiseWorkletGraphNode: (data: BufferSource, messageHandler?: ((vads: number[]) => void) | undefined) => AudioNodeInit<AudioWorkletNode, AudioWorkletNode>;
63
+ export declare const createDenoiseWorkletGraphNode: (data: BufferSource, messageHandler?: (vads: number[]) => void) => AudioNodeInit<AudioWorkletNode, AudioWorkletNode>;
64
64
  /**
65
65
  * Create a GainNodeInit
66
66
  *
@@ -85,7 +85,7 @@ const createGainWithMute = (context, muteInit = false) => {
85
85
  set mute(shouldMute) {
86
86
  mute = shouldMute;
87
87
  const time = context.currentTime;
88
- if (isFinite(time)) {
88
+ if (Number.isFinite(time)) {
89
89
  gain.gain.setValueAtTime(muteToGain(shouldMute), time);
90
90
  }
91
91
  else {
@@ -347,9 +347,9 @@ export const createStreamSourceGraphNode = (mediaStream, shouldResetEnabled = tr
347
347
  stream = createMediaStreamAudioClone(mediaStream);
348
348
  // Enabled the track for the cloned stream
349
349
  if (shouldResetEnabled) {
350
- stream
351
- .getAudioTracks()
352
- .forEach(track => (track.enabled = true));
350
+ for (const track of stream.getAudioTracks()) {
351
+ track.enabled = true;
352
+ }
353
353
  }
354
354
  unsubscribeUnmutes = mediaStream
355
355
  .getAudioTracks()
@@ -360,7 +360,9 @@ export const createStreamSourceGraphNode = (mediaStream, shouldResetEnabled = tr
360
360
  return [node, node];
361
361
  }, () => {
362
362
  stopStreamTracks(stream);
363
- unsubscribeUnmutes?.forEach(unsubscribe => unsubscribe());
363
+ for (const unsubscribe of unsubscribeUnmutes ?? []) {
364
+ unsubscribe();
365
+ }
364
366
  stream = undefined;
365
367
  });
366
368
  };
package/dist/main/math.js CHANGED
@@ -26,7 +26,7 @@ export const avg = (nums) => {
26
26
  *
27
27
  * @returns Math.pow(base, exponent)
28
28
  */
29
- export const pow = (exponent) => (base) => Math.pow(base, exponent);
29
+ export const pow = (exponent) => (base) => base ** exponent;
30
30
  /**
31
31
  * Calculate the Root Mean Square from provided numbers
32
32
  *
@@ -35,9 +35,9 @@ export declare const CLIP_COUNT_THRESHOLD = 6;
35
35
  * `clipCountThreshold`
36
36
  */
37
37
  export declare const createAudioStats: (stats?: Partial<AudioStats>, { silentThreshold, lowVolumeThreshold, clipCountThreshold, }?: {
38
- silentThreshold?: number | undefined;
39
- lowVolumeThreshold?: number | undefined;
40
- clipCountThreshold?: number | undefined;
38
+ silentThreshold?: number;
39
+ lowVolumeThreshold?: number;
40
+ clipCountThreshold?: number;
41
41
  }) => AudioStats;
42
42
  /**
43
43
  * Convert a byte to float, according to web audio spec
@@ -218,7 +218,7 @@ export const getAudioStats = ({ samples, baseStats, clipThreshold = CLIP_THRESHO
218
218
  let maxClipCount = 0;
219
219
  let peak = 0;
220
220
  const stats = baseStats || createAudioStats();
221
- samples.forEach((s) => {
221
+ for (const s of samples) {
222
222
  const absS = Math.abs(s);
223
223
  peak = Math.max(peak, absS);
224
224
  if (absS >= clipThreshold) {
@@ -229,7 +229,7 @@ export const getAudioStats = ({ samples, baseStats, clipThreshold = CLIP_THRESHO
229
229
  clipCount = 0;
230
230
  }
231
231
  rms += absS * absS;
232
- });
232
+ }
233
233
  stats.peak = Math.max(stats.peak ?? 0, peak);
234
234
  stats.sumSquare += rms;
235
235
  stats.sumLength += samples.length;
@@ -1,4 +1,3 @@
1
- /// <reference types="dom-webcodecs" />
2
1
  export declare const createMediaStreamTrackProcessor: {
3
2
  (init: MediaStreamAudioTrackProcessorInit): MediaStreamTrackProcessor<AudioData>;
4
3
  (init: MediaStreamVideoTrackProcessorInit): MediaStreamTrackProcessor<VideoFrame>;
@@ -1 +1 @@
1
- export declare const createStreamTransformer: <I, O>(transformer?: Transformer<I, O> | undefined, writableStrategy?: QueuingStrategy<I> | undefined, readableStrategy?: QueuingStrategy<O> | undefined) => TransformStream<I, O>;
1
+ export declare const createStreamTransformer: <I, O>(transformer?: Transformer<I, O>, writableStrategy?: QueuingStrategy<I>, readableStrategy?: QueuingStrategy<O>) => TransformStream<I, O>;
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es5.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2016.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2017.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2018.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2019.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2021.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2022.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2023.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.esnext.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.dom.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.decorators.d.ts","../../../../.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/main/types.ts","../../../utils/dist/types.d.ts","../../../utils/dist/Backoff.d.ts","../../../utils/dist/isEmpty.d.ts","../../../utils/dist/assert.d.ts","../../../utils/dist/debounce.d.ts","../../../utils/dist/identity.d.ts","../../../utils/dist/isDefined.d.ts","../../../utils/dist/noop.d.ts","../../../utils/dist/nth.d.ts","../../../utils/dist/pipe.d.ts","../../../utils/dist/throttle.d.ts","../../../utils/dist/queue.d.ts","../../../utils/dist/asyncQueue.d.ts","../../../utils/dist/hasOwn.d.ts","../../../utils/dist/cancellablePromise.d.ts","../../../utils/dist/endsWithAnyOf.d.ts","../../../utils/dist/getBaseURI.d.ts","../../../utils/dist/patterns.d.ts","../../../utils/dist/prig.d.ts","../../../utils/dist/getTimeLeft.d.ts","../../../utils/dist/subscribeEvent.d.ts","../../../utils/dist/index.d.ts","../../src/main/math.ts","../../src/main/utils.ts","../../src/main/process.ts","../../../../.yarn/cache/@types-audioworklet-npm-0.0.41-ec4bc90857-2bfd761ab7.zip/node_modules/@types/audioworklet/iterable.d.ts","../../../../.yarn/cache/@types-audioworklet-npm-0.0.41-ec4bc90857-2bfd761ab7.zip/node_modules/@types/audioworklet/index.d.ts","../worklets/types.d.ts","../../src/main/workletNodes.ts","../../src/main/typeGuards.ts","../../src/main/audio.ts","../../src/main/benchUtils.ts","../../src/main/generator.ts","../../src/main/video/load.ts","../common/constants.d.ts","../common/types/media.d.ts","../common/types/segmentation.d.ts","../common/types/render.d.ts","../common/types/messageEvents.d.ts","../common/types/processor.d.ts","../../src/main/video/types.ts","../../src/main/video/constants.ts","../../src/main/processor.ts","../../src/main/transformer.ts","../common/canvasRenderUtils.d.ts","../../src/main/video/transformer.ts","../../src/main/video/utils.ts","../../src/main/video/videoStreamTrackProcessor.ts","../../src/main/video/video.ts","../common/utils.d.ts","../../src/main/video/canvasTransform.ts","../../src/main/video/typeGuards.ts","../common/types/utils.d.ts","../../src/main/video/segmenters/mediapipe.ts","../../src/main/video/index.ts","../../src/main/path.ts","../../src/main/visual.ts","../common/index.d.ts","../../src/main/index.ts","../../../../.yarn/cache/@types-trusted-types-npm-2.0.6-c4c3cd363b-04250c7175.zip/node_modules/@types/trusted-types/lib/index.d.ts","../../@types/global.d.ts","../../@types/mediaTransform.d.ts","../../../../.yarn/cache/@types-dom-webcodecs-npm-0.1.10-02a2fa8a5c-dd7b1410da.zip/node_modules/@types/dom-webcodecs/webcodecs.generated.d.ts","../../../../.yarn/cache/@types-dom-webcodecs-npm-0.1.10-02a2fa8a5c-dd7b1410da.zip/node_modules/@types/dom-webcodecs/index.d.ts","../../../../.yarn/cache/@types-trusted-types-npm-2.0.6-c4c3cd363b-04250c7175.zip/node_modules/@types/trusted-types/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"0fccfbe2040334b37b24d908101660a809c9ca7fdb0d9d535781541dddee98a2","signature":"7abfca55989746f532f46912c3b69701ff931260ba5bcabdb50e0f03aefa3469"},"edfe10afb5dfa79dc3681c3ce2fd73cf84187f82cde5ac9acd0ed6045812be81","438ef5faada40623680ebd13ae7125e99cfdc7c5326e8b0d3eb07e5f9321bd42","7708ca08fec4ce92049f6690c1d14111a2040e61d4fc474b11e126e9d021d821","3c85aeafee03e18cb01a4fd383192931acc3f950df08b248519467ceadd4a0ac","2faa7a93866b495a08adc2e6d5299d386c94127cef577d539066b17ef897e890","45880d016069eaff83f54047396b0f98e413ec43f50c59131d45c9c92dd44dea","2db065eba6f02c7ea4174dfb607acc5773ab2522e35a8e0f723709e07ec66158","f9a45114811a10722053e6c5329c41eace3295daa477d12558279df4dcbfba71","3698e6b26f72a770b4bfc15504c04bfb678a355b46ceaa7a42cbdac0893b4d5c","73b31856689c7466ffafad655ea87156ebce121519b38fbb673fb40893a6d337","65febade0f6327355a157698cdcadc1cbedee872ef77f57211da146125905828","3a0d9bd15a78cdc0f4454eb2ac681db16053538de2e1ef65021b12eda3d33323","e8c4ddbe94478ffb1cd5b2481323ce1d86c213130a83cde4a6873197baa2d7ef","2c437f035a6f3bfe59a7d9ec427f81e1f2495746db06f841c3e2f4c2813cfaac","da76378d0574595658964d4ee9332ad16797b461dad77d18d0c33570d264b1b1","880e53e2d42225d6b22e2e2b4e51cc8b845094a5045b170eb79df031bfaceaac","1e56ad04bd9214bf4583941a499386488cb76389eee3bd65ec882f5e5613cbc8","f06d0f7bb803f3f00b4d0cd16b2d950fb826cf7efec3f68546f3e67746fb969e","cb004873a4cf28c9c65b7fe8e893c5a133be25b78c66ffc076e19608f59c1c2a","6fa26b05e6b041a321db7a70f534a93b4eb616916015dddcdeaaf658a340209d","48b437891c456506be8d837433036ebcb3d0806ce6805ca5ca3f87d13e75d20f","9b109418834739e42493703b1f48225b77dac315fe49a17e97a92060ab3908ae",{"version":"17e09aaccbc22e5719e06f339b4560433007897cf70d9a4e98c137adc75ba192","signature":"b09adfe29851c03eb5e7c40f1d6f5f962cdd9f69224e1ccd8d8593352e5dd2a6"},{"version":"dc2614df809825d6f4df5bf8668c4d96b6332fd5a5c010d388661127e272e489","signature":"dd2b0c59f11f870af65167cb233da75b96c0239e33c0954183480511bfa3e079"},{"version":"6ef734ed744ae84e1ad2a2f17ec9f7cea52d67158a7275e9b13ce7f4bab583fb","signature":"dcf282d541a50bf83506ee144b9372dd9ef118f32d3647d89aa4e772ebc7c31d"},{"version":"b38d0bfd2d1c1536d40fc5941fab5c5dd2749fb874fb57c451211ab806a3be8a","affectsGlobalScope":true},{"version":"8c63699627e2dd957f31dddfaf644a96ccf92eec6e9277a430421ae2d7e98b00","affectsGlobalScope":true},"f81c1cbc25b7a15399134593d08aaca2517ee5b093db190255fe10335fc3ec57",{"version":"bdd931c37d4c3ddbf7694729a81251f34a24c98bddaaf27d851fb4dc2f4677db","signature":"86ab94987073b8ae616d797bc8e17657d6d007375b5cdee788d99b78e6dd7001"},{"version":"df330ee4158cb09d6c6c2846bede492886dac0e4cf4dc8324ee32a08fb36b190","signature":"1f5ec8a5e3f4c4956150432c6afe15376cddaaacb6cc5ab4e6f8f29cc99b314c"},{"version":"fc3ff4471074dec5ea9dca2369f26207cc499a14cdbc9be2b3815213af5a3dae","signature":"618783955e29fb723cfea61dc2e61d633b43b583f0437212c2570b5d22e462f8"},{"version":"d41e4b8a0886ccb89b679f177805936c997690278eb6ddaf3d9ff80668fd079d","signature":"f9686cf9e576cbd250c44d71ce8424964f67df20c818818d52e23d7efce28939"},{"version":"a7ce400490236a50af31a713114e5e7df0b7dab30542470ca473b8c0fad2a9d3","signature":"a95f57f06164e24a1fdb917199867f9fb551abe0504fdef2ec66f05ed289c025"},{"version":"7f1d330b53c09af17310f159823e661d2fca51eac3a04b10a3926fe7e3a82b92","signature":"93460d55d62a100e35444e1df6a98a60b3ef14c625158549c43573e6a3d1f739"},"9319249bc1417b9a9b95f3f123c48561234b8e04506a1250ebc63bb3b9df7b54","a8c26adbb4381a5434218f5b71e4046d90a5ea69fc7a921fe4b04d238796763d","c14326fa1248321d7057816748ef6dc633c29a01eb1eba7c7fb4e62bea980b38","c84adc1f0cc1e867939d604e6db9ab8106fe1583efb923c8ec882fe4ddd23ac4","10a6710b34f5c43e5b9bd57afb08290c38950ad9fb7c2f6e7b4973564a3e1c9a","169d3074997b35037a6391faece98c86d8087b4ed1479a914545196ebd1410ae",{"version":"4b16a9b612b8923ecb00ec9f60d1d8e160b78d000f72f8c3210287541b67ff9c","signature":"df3d3a23d2f77d5b04fbf974970f32bcd375ed539e35bba3850bee641aad0d8c"},{"version":"d1084e95f8f450ea359e6a377d2ceb296666f35f0989e648aa80ff70ad30cb5f","signature":"89644957e9c2ffdfc08212bb0b45ec1fb88870cf362b204658a7d55155d22f87"},{"version":"6f35e207094bd6251fc132dde7094d5a43d4e3752071da3792004c9aca0ef32e","signature":"3ebdeb8422893443bd936c85fd216ecfe507d8145580f8a5466e2616c9746bc6"},{"version":"59fba1e1def86234dde906d5f5111d974ade421d84d33f3fddd2588a4a251809","signature":"101aaa310e805193fc0b79a3c71cc7d6910d02fa6844ba7dbd803c4858f558dc"},"31145aac76344c715a6d050547a09c91dda5cf5bd79845924e4b184172392ec1",{"version":"f23231e93a28183eb304fbba1013844c57ba5302a1aa1ec1b568349ed89e9cce","signature":"087900fe866eb14b979f89989b047ce71e4330fa34049a64da1c662e5b184e3e"},{"version":"40a94d09a2ecc1118035dfc9b84aa41681ac176ef69c42f374e0653493a0fdc7","signature":"145d48eba0fa0d4be4c730cc23085593eedc643fe0b08ddf8398a4e69a195d2a"},{"version":"847fde937705c23c4e8556b704904199acb3a8731778deae601f6605a4f5b95b","signature":"903416d7fc8a381db4cdee118416f4607b50b2a011985d6ab4b38a3bfbd132e7"},{"version":"13d0e08652e881d8440e914db0df9bd054f089f80e8e09d93abfdd23807e2cf1","signature":"b7212422441de43a560594a6ca587a46f310375794eb54e38fe991419c63a479"},"57db9b3201deae799628ce0aa82fa67afa8855d8572bd27be30719bc696771a4",{"version":"34e1af63535081bafbe15024c7ea66f6caee57328ae9b01757eb35a774616fa8","signature":"c004f1b8460758f84009f7d874a344176c22f1a3b33817cf9fdc7ccf1fa58245"},{"version":"4a4587014eb5f8bbbdb242982e35cc9fa4bfd21ea564a344bef6c99dd6123c4d","signature":"16d8e383b46677f39be6a9a6c45b23201f85dd8d9a0a382471c959b37b1bf6bd"},"8614f7b7029832d4cf36ff07ca0557178641bf435d2b4efb49020b9b6e8f0ba7",{"version":"483118868085b6ec2d8fd0e38533538e16f2037145a69658dc42d52d9bed3be8","signature":"4f80897b076ce8469278b11c916814abe80e5b465c312a1a114786b0e827045b"},{"version":"92e0b6006d28f78b70dd137bd8e1699ae0bb5a7d0bc6554308712e031b18bcf5","signature":"05b9e2d3582e7fde7081f6384d9ba76ad63c75f7c532246407a525b1516bb8f1"},{"version":"61b2b4b033a6e460c0fcc511f47c029f9c4d455084a0620c622dc3d4a0245698","signature":"a8910e7c69c0191377502fce63f5770f8d4df54bf60902a39ad340f8f1991a50"},{"version":"c6bc7dd1104763f828ea60dcad41ed400f9480b6d1346c9e7f5399d20d299a69","signature":"ec895812cb4e6ca8008c8ec354409db37ae653c41699ca1d63eb0b42c7222324"},"29b06064df3a892c1129444b7ed8976e24a495c1b9b7d7bc2025aae46a2c62af",{"version":"cc9862e66dfb762d370bfe13ce5f217236f50110c156bfb9f5a783eb8bda53c4","signature":"fec418cd90e47d52541f89d748b080700bd94d6de2db20a010a7deb4b269d72d"},"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e",{"version":"bf1398f368eb9bf4b347a891b4dcb66114a97e8e3f9a94f38caa705eac895ce5","affectsGlobalScope":true},{"version":"bf5897ad4510e099438547cc4c0661700a0909307fab8ef3180159c929e455c7","affectsGlobalScope":true},{"version":"da4a8f6629bc630a6b85d0899ca3f610402794a1535d3eb8be826acef5efedfb","affectsGlobalScope":true},{"version":"3c57b01d6648405ea1784c0176e2ad77f77568e7a84d5cb4fc8eefabf00ca22b","affectsGlobalScope":true},{"version":"a4a5a79b9d9b4e4dfa18279d85686fac7eb155b828ddf7a677ceb57f9384f043","affectsGlobalScope":true}],"root":[65,[88,90],[94,99],[106,109],[111,114],116,117,[119,122],124,126,127],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"jsx":2,"module":99,"noImplicitAny":true,"noUncheckedIndexedAccess":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true,"sourceMap":false,"strict":true,"target":7},"fileIdsList":[[91],[128],[125],[101],[100,101,102,103,104,105,115,118],[100,101,102,103,104],[100,101,102],[92],[65,89,90,94,95],[65],[65,88,89,90,95,96,97,120,122,123],[65,87,88,89],[100,101,103,106,110,115],[99,106,107,112,113,114,116,117,119],[87,100,101,102,105,106,118],[106],[100],[65,100,101,102,103,105],[65,89,101,106,107],[65,89,106,107,113],[87,89,98,100,101,106,107,108,109,110,111,112],[65,121],[93],[66],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86],[65,87],[101,103,106],[102,106],[65,89,101,106],[65,106,113]],"referencedMap":[[92,1],[129,2],[130,3],[126,3],[110,4],[123,5],[105,6],[103,7],[115,7],[93,8],[96,9],[97,10],[124,11],[121,10],[90,12],[95,10],[89,10],[116,13],[120,14],[119,15],[111,16],[117,17],[106,18],[112,19],[114,20],[113,21],[122,22],[94,23],[70,24],[87,25],[75,24],[86,24],[76,24]],"exportedModulesMap":[[92,1],[129,2],[130,3],[126,3],[110,4],[123,5],[105,6],[103,7],[115,7],[93,8],[96,10],[97,10],[124,11],[121,10],[90,26],[95,10],[89,10],[116,27],[120,14],[119,28],[111,16],[106,18],[112,29],[114,30],[113,16],[122,10],[94,23],[70,24],[87,25],[75,24],[86,24],[76,24]],"semanticDiagnosticsPerFile":[92,91,129,128,130,125,63,64,12,14,13,2,15,16,17,18,19,20,21,22,3,4,23,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,59,10,1,11,62,61,60,126,127,110,100,123,101,104,105,103,102,118,115,93,96,97,98,124,88,121,90,108,109,95,65,89,116,107,120,99,119,111,117,106,112,114,113,122,94,67,69,78,80,70,81,82,85,79,71,87,72,68,73,74,83,75,84,77,86,76,66],"latestChangedDtsFile":"./index.d.ts"},"version":"5.3.3"}
1
+ {"fileNames":["../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es5.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2016.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2017.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2018.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2019.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2021.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2022.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2023.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2024.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.esnext.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.dom.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.decorators.d.ts","../../../../.yarn/cache/typescript-patch-6da68bae26-dc58d777eb.zip/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../common/types/segmentation.d.ts","../common/types/media.d.ts","../common/types/utils.d.ts","../common/types/messageEvents.d.ts","../common/constants.d.ts","../common/types/render.d.ts","../common/types/processor.d.ts","../common/utils.d.ts","../common/index.d.ts","../../src/main/types.ts","../../../utils/dist/types.d.ts","../../../utils/dist/Backoff.d.ts","../../../utils/dist/assert.d.ts","../../../utils/dist/debounce.d.ts","../../../utils/dist/identity.d.ts","../../../utils/dist/isDefined.d.ts","../../../utils/dist/isEmpty.d.ts","../../../utils/dist/noop.d.ts","../../../utils/dist/nth.d.ts","../../../utils/dist/pipe.d.ts","../../../utils/dist/throttle.d.ts","../../../utils/dist/asyncQueue.d.ts","../../../utils/dist/cancellablePromise.d.ts","../../../utils/dist/diffSet.d.ts","../../../utils/dist/endsWithAnyOf.d.ts","../../../utils/dist/getBaseURI.d.ts","../../../utils/dist/getTimeLeft.d.ts","../../../utils/dist/hasOwn.d.ts","../../../utils/dist/memoize.d.ts","../../../utils/dist/patterns.d.ts","../../../utils/dist/prig.d.ts","../../../utils/dist/queue.d.ts","../../../utils/dist/scheduler.d.ts","../../../utils/dist/subscribeEvent.d.ts","../../../utils/dist/index.d.ts","../../src/main/math.ts","../../src/main/utils.ts","../../src/main/process.ts","../worklets/types.d.ts","../../src/main/workletNodes.ts","../../src/main/typeGuards.ts","../../src/main/audio.ts","../../src/main/benchUtils.ts","../../src/main/generator.ts","../../src/main/video/load.ts","../../src/main/video/types.ts","../../src/main/video/constants.ts","../../src/main/processor.ts","../../src/main/transformer.ts","../common/canvasRenderUtils.d.ts","../../src/main/video/transformer.ts","../../src/main/video/utils.ts","../../src/main/video/videoStreamTrackProcessor.ts","../../src/main/video/video.ts","../../src/main/video/canvasTransform.ts","../../src/main/video/typeGuards.ts","../../src/main/video/segmenters/mediapipe.ts","../../src/main/video/index.ts","../../src/main/path.ts","../../src/main/visual.ts","../../src/main/index.ts","../../../../.yarn/cache/@types-trusted-types-npm-2.0.6-c4c3cd363b-04250c7175.zip/node_modules/@types/trusted-types/lib/index.d.ts","../../@types/global.d.ts","../../@types/mediaTransform.d.ts","../../../../.yarn/cache/@webgpu-types-npm-0.1.56-054942c27f-54b4317f8c.zip/node_modules/@webgpu/types/dist/index.d.ts","../../@types/webgpu.d.ts","../../../../.yarn/cache/@types-audioworklet-npm-0.0.41-ec4bc90857-2bfd761ab7.zip/node_modules/@types/audioworklet/iterable.d.ts","../../../../.yarn/cache/@types-audioworklet-npm-0.0.41-ec4bc90857-2bfd761ab7.zip/node_modules/@types/audioworklet/index.d.ts","../../../../.yarn/cache/@types-dom-webcodecs-npm-0.1.10-02a2fa8a5c-dd7b1410da.zip/node_modules/@types/dom-webcodecs/webcodecs.generated.d.ts","../../../../.yarn/cache/@types-dom-webcodecs-npm-0.1.10-02a2fa8a5c-dd7b1410da.zip/node_modules/@types/dom-webcodecs/index.d.ts","../../../../.yarn/cache/@types-trusted-types-npm-2.0.6-c4c3cd363b-04250c7175.zip/node_modules/@types/trusted-types/index.d.ts"],"fileIdsList":[[144],[146],[139],[142],[79],[78,79,80,81,82,83,84,85],[78,79,81,82,83],[79,82],[78,79,82,83],[87,114,115,117,118],[87],[86,87,113,114,115,118,119,120,135,137],[87,112,113,114],[86],[79,82,83,85,86,112,123,127],[122,123,124,129,130,131,132,133,134],[78,79,80,82,84,112,123],[123],[82],[78,79,82,83,84,87],[79,87,114,123,124],[86,87,114,123,124,130],[79,82,112,114,121,123,124,125,126,127,128,129],[87,136],[116],[88],[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"e12a46ce14b817d4c9e6b2b478956452330bf00c9801b79de46f7a1815b5bd40","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"bab26767638ab3557de12c900f0b91f710c7dc40ee9793d5a27d32c04f0bf646","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},"635d97969c350468aa5861b3df0ebcbb8478d1443ca1925624f42523e6977a39","a8c26adbb4381a5434218f5b71e4046d90a5ea69fc7a921fe4b04d238796763d","8614f7b7029832d4cf36ff07ca0557178641bf435d2b4efb49020b9b6e8f0ba7","10a6710b34f5c43e5b9bd57afb08290c38950ad9fb7c2f6e7b4973564a3e1c9a","2ab8a8463c75bcf5aa0adc55f4df837a518bd5ed4e578cc7fa4e79b3111ebd08","f14aacf7298d78222bc54e74cf591ae55bace8dc731f3972d5636395577a9be2","169d3074997b35037a6391faece98c86d8087b4ed1479a914545196ebd1410ae","738c8593510b40879628719d1426b4eed043998f4bd1238a82760aeec3ef1405","6414af6c4cae5ea966b68dffccc7fdedf5bd02b5bae2f071e1924c4f45270834",{"version":"633968e2c3f300a932773a8d3777c5af23c28ed5c48aa065e95891e1cdcdb06b","signature":"bbae82952ee9fcaee6deaf8c87af532892d816f8149e369b6125d594ba9d25cf"},"edfe10afb5dfa79dc3681c3ce2fd73cf84187f82cde5ac9acd0ed6045812be81","438ef5faada40623680ebd13ae7125e99cfdc7c5326e8b0d3eb07e5f9321bd42","3c85aeafee03e18cb01a4fd383192931acc3f950df08b248519467ceadd4a0ac","0ffdcafaf8eed4f147e35a0d34fa4a5adf8424d3453a4ae34a459247c121537b","45880d016069eaff83f54047396b0f98e413ec43f50c59131d45c9c92dd44dea","2db065eba6f02c7ea4174dfb607acc5773ab2522e35a8e0f723709e07ec66158","97a19b229516b92ec137b44d54f6454b50e105fc4fff659daba9f754982b9a0d","f9a45114811a10722053e6c5329c41eace3295daa477d12558279df4dcbfba71","3698e6b26f72a770b4bfc15504c04bfb678a355b46ceaa7a42cbdac0893b4d5c","f337140c4001e5beb160f61f96115fa07b1da1de621c2056b83d236f184fb373","65febade0f6327355a157698cdcadc1cbedee872ef77f57211da146125905828","e8c4ddbe94478ffb1cd5b2481323ce1d86c213130a83cde4a6873197baa2d7ef","1482c77b2d28fa9254f48e76f2ff40f1cfb6bab261fb2d2b98035bb809042939","53bcf7a22d47bd524c0bf6869165d59364e472c94066af1e1b0d80cb1826306f","880e53e2d42225d6b22e2e2b4e51cc8b845094a5045b170eb79df031bfaceaac","1e56ad04bd9214bf4583941a499386488cb76389eee3bd65ec882f5e5613cbc8","6fa26b05e6b041a321db7a70f534a93b4eb616916015dddcdeaaf658a340209d","2c437f035a6f3bfe59a7d9ec427f81e1f2495746db06f841c3e2f4c2813cfaac","1f2e2f423c7ec93f80f4543278488d9de8f4d0d5b1385c691e313f42d17a3fca","f06d0f7bb803f3f00b4d0cd16b2d950fb826cf7efec3f68546f3e67746fb969e","d23e3a3000ecd6477941f5eaaa9ba5d72d29928a347ef9821a02a763997d95c4","3a0d9bd15a78cdc0f4454eb2ac681db16053538de2e1ef65021b12eda3d33323","019ee2a791e6af5796fdd66704fb0729be24f2e53ffa0e5e2d6f1be2bff9ad02","fce09eb9f7968387bb0891ce15015c18a09ad3a7331f2c425a331cbebba89527","d01fa28aed505753aae178a68e23f5880ec9df2cdd4ce94bf4a1a2346d84e160",{"version":"152810252d22da1cb8a0381f593bafd977cd8ce3105407b32dc316596d2e99b8","signature":"b09adfe29851c03eb5e7c40f1d6f5f962cdd9f69224e1ccd8d8593352e5dd2a6"},{"version":"581c4067f39f2758c12ec64b2811a7350eaf88cd512ba4f2ade3320f4adaad09","signature":"dd2b0c59f11f870af65167cb233da75b96c0239e33c0954183480511bfa3e079"},{"version":"6e5c520f97ee982759a61a72881876c198c9d10732a4db9e644f58f1dd104353","signature":"b6bc216f5b1719f0ea67b0a1ae97283c8c04db6420a8055976d51ebdd857d10e"},"f153fd4d4780137d3c6794438072b688a71b3e8648d35e6a6e41019aef6070f9",{"version":"bdd931c37d4c3ddbf7694729a81251f34a24c98bddaaf27d851fb4dc2f4677db","signature":"86ab94987073b8ae616d797bc8e17657d6d007375b5cdee788d99b78e6dd7001"},{"version":"df330ee4158cb09d6c6c2846bede492886dac0e4cf4dc8324ee32a08fb36b190","signature":"d0bfef3cd422b6c62007638855b135e6c819d8de4dc09a0bf4ac68e3c74db426"},{"version":"43a3e0fbeb46e6c94ff2509ee8f465e7ed78739764a537b11bbea8f14234d4eb","signature":"7ada7e3e2abdd67409d4d1bf6b59b3c40162df87718106520db4ff2e9679c163"},{"version":"d41e4b8a0886ccb89b679f177805936c997690278eb6ddaf3d9ff80668fd079d","signature":"f9686cf9e576cbd250c44d71ce8424964f67df20c818818d52e23d7efce28939"},{"version":"a7ce400490236a50af31a713114e5e7df0b7dab30542470ca473b8c0fad2a9d3","signature":"a95f57f06164e24a1fdb917199867f9fb551abe0504fdef2ec66f05ed289c025"},{"version":"7f1d330b53c09af17310f159823e661d2fca51eac3a04b10a3926fe7e3a82b92","signature":"93460d55d62a100e35444e1df6a98a60b3ef14c625158549c43573e6a3d1f739"},{"version":"78d77392eef4ac6632779c56bb0cf743e95658fec2b5965256c24aa85adab416","signature":"42f79c87ef88f8ec06381e3cf774fcfcbdba0868d9aac3c1dbdb71b6c63b59ba"},{"version":"d1084e95f8f450ea359e6a377d2ceb296666f35f0989e648aa80ff70ad30cb5f","signature":"89644957e9c2ffdfc08212bb0b45ec1fb88870cf362b204658a7d55155d22f87"},{"version":"6f35e207094bd6251fc132dde7094d5a43d4e3752071da3792004c9aca0ef32e","signature":"08abb08473a683d16ed53a9abe4ae3a2e42060671605bb829cb39b833f5f98b8"},{"version":"59fba1e1def86234dde906d5f5111d974ade421d84d33f3fddd2588a4a251809","signature":"db11ec78fea8f5ba88d53c95404414eb8cf3fbcadf23f32c447cb7f6be332086"},"3d91c79111b3664edb18080173f8d80678f7b6945d37d823323197843e6b219a",{"version":"f23231e93a28183eb304fbba1013844c57ba5302a1aa1ec1b568349ed89e9cce","signature":"2f13d8578b2a733e7b0bccbf046ec1934b42f55fd5e936a395ba0e8c54065de7"},{"version":"ca2e95e0bc4ff3a8fa680dbe1163f272e4d6c00335f3c6b2e10648681e11dc9f","signature":"feed043a394fb90cdf996bf2c2ff158a83a71b464962dede2735c5ecf8d3ad4f"},{"version":"f01be805aa367898ce7a9163b7b13725452de5723e637d4073f19f430ff95028","signature":"e355c20edb52101b60adfb83d8d392ea18722b46f4eb8dce21b3eec26ce2b59b"},{"version":"38a230f15c533d9b59150f5399a27725117943ed68b01cb35dd06cffd718b5e9","signature":"308cd7849c37a3cf5d8636ec5e63433c75e6dccb9c3f45bc41d11d7e2c937b2b"},{"version":"8c1f9d5ab1418ebe35f82d6cffb4ea2db82c9b45ffbf614a6c83b9bfc38096c1","signature":"fad77208ec95483b13442e0ff9d230bc06de7dacc0c5a68c79266f327d23eb21"},{"version":"4a4587014eb5f8bbbdb242982e35cc9fa4bfd21ea564a344bef6c99dd6123c4d","signature":"fdebada06cf63b2f13deb71bbad49a9a5291e2deb60b5343387732bf6b2cf42a"},{"version":"31f8c2987faa1757c11be849a05c211dac8d3d6af6dbb4e0e90fa8d00d52662b","signature":"1bfacb1f85ea55ce8c2b0a7e6380c5c15c443fc860361c6488d2d490946f1faf"},{"version":"92e0b6006d28f78b70dd137bd8e1699ae0bb5a7d0bc6554308712e031b18bcf5","signature":"05b9e2d3582e7fde7081f6384d9ba76ad63c75f7c532246407a525b1516bb8f1"},{"version":"61b2b4b033a6e460c0fcc511f47c029f9c4d455084a0620c622dc3d4a0245698","signature":"a8910e7c69c0191377502fce63f5770f8d4df54bf60902a39ad340f8f1991a50"},{"version":"c6bc7dd1104763f828ea60dcad41ed400f9480b6d1346c9e7f5399d20d299a69","signature":"ec895812cb4e6ca8008c8ec354409db37ae653c41699ca1d63eb0b42c7222324"},{"version":"cc9862e66dfb762d370bfe13ce5f217236f50110c156bfb9f5a783eb8bda53c4","signature":"fec418cd90e47d52541f89d748b080700bd94d6de2db20a010a7deb4b269d72d"},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"bf1398f368eb9bf4b347a891b4dcb66114a97e8e3f9a94f38caa705eac895ce5","affectsGlobalScope":true},{"version":"bf5897ad4510e099438547cc4c0661700a0909307fab8ef3180159c929e455c7","affectsGlobalScope":true},{"version":"9d268ebc59c57d8962ce1de970bb9d956c52e7aef38007ed12139f38f512c0e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c42e375483faf69f0d2efc0cdd3602c4fca655ac2a5df3f9b6a39f22cf7c519","affectsGlobalScope":true},{"version":"b38d0bfd2d1c1536d40fc5941fab5c5dd2749fb874fb57c451211ab806a3be8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8c63699627e2dd957f31dddfaf644a96ccf92eec6e9277a430421ae2d7e98b00","affectsGlobalScope":true,"impliedFormat":1},{"version":"da4a8f6629bc630a6b85d0899ca3f610402794a1535d3eb8be826acef5efedfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3c57b01d6648405ea1784c0176e2ad77f77568e7a84d5cb4fc8eefabf00ca22b","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4a5a79b9d9b4e4dfa18279d85686fac7eb155b828ddf7a677ceb57f9384f043","affectsGlobalScope":true,"impliedFormat":1}],"root":[87,[113,115],[117,126],[128,138],140,141,143],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":false,"esModuleInterop":true,"jsx":2,"module":99,"noImplicitAny":true,"noUncheckedIndexedAccess":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true,"sourceMap":false,"strict":true,"target":7,"verbatimModuleSyntax":true},"referencedMap":[[145,1],[147,2],[148,3],[140,3],[143,4],[127,5],[86,6],[84,7],[83,8],[85,9],[119,10],[120,11],[138,12],[136,11],[115,13],[118,11],[87,14],[114,11],[132,15],[135,16],[134,17],[128,18],[133,19],[123,20],[129,21],[131,22],[130,23],[137,24],[117,25],[91,26],[112,27],[97,26],[110,26],[111,26],[98,26]],"latestChangedDtsFile":"./index.d.ts","version":"5.7.3"}
@@ -1,5 +1,5 @@
1
1
  import type { AudioNodeInit, AnalyzerNodeInit } from './types';
2
2
  export declare const isAudioNode: (t: unknown) => t is AudioNode;
3
3
  export declare const isAudioParam: (t: unknown) => t is AudioParam;
4
- export declare const isAudioNodeInit: (t: unknown) => t is AudioNodeInit<AudioNode, import("./types").BaseAudioNode>;
4
+ export declare const isAudioNodeInit: (t: unknown) => t is AudioNodeInit;
5
5
  export declare const isAnalyzerNodeInit: (t: unknown) => t is AnalyzerNodeInit;
@@ -1,3 +1,4 @@
1
+ import type { ProcessorOptions } from '../common';
1
2
  /**
2
3
  * Interface for Point consist of coordinates x and y
3
4
  *
@@ -335,7 +336,7 @@ export interface Runner<P extends unknown[]> {
335
336
  }
336
337
  export type RunnerCreator<P extends unknown[], R> = (callback: Callback<R, P>, frameRate: number) => Runner<P>;
337
338
  export interface Transform<I, O> extends Transformer<I, O> {
338
- init(): Promise<void>;
339
+ init(options?: ProcessorOptions): Promise<void>;
339
340
  close(): void;
340
341
  destroy(): Promise<void>;
341
342
  }
@@ -69,11 +69,11 @@ export const createAnalyserNode = (audioContext, options) => {
69
69
  }
70
70
  catch {
71
71
  const analyser = audioContext.createAnalyser();
72
- options?.fftSize && (analyser.fftSize = options.fftSize);
73
- options?.maxDecibels && (analyser.maxDecibels = options.maxDecibels);
74
- options?.minDecibels && (analyser.minDecibels = options.minDecibels);
75
- options?.smoothingTimeConstant &&
76
- (analyser.smoothingTimeConstant = options.smoothingTimeConstant);
72
+ analyser.fftSize = options?.fftSize ?? analyser.fftSize;
73
+ analyser.maxDecibels = options?.maxDecibels ?? analyser.maxDecibels;
74
+ analyser.minDecibels = options?.minDecibels ?? analyser.minDecibels;
75
+ analyser.smoothingTimeConstant =
76
+ options?.smoothingTimeConstant ?? analyser.smoothingTimeConstant;
77
77
  setAudioNodeOptions(analyser, options);
78
78
  return analyser;
79
79
  }
@@ -247,7 +247,7 @@ export const createDelayedCallback = (callback, { setTimeout = window.setTimeout
247
247
  }
248
248
  };
249
249
  const delayedCallback = async (delayMs, ...params) => {
250
- // eslint-disable-next-line @typescript-eslint/no-invalid-void-type -- void
250
+ // biome-ignore lint/suspicious/noConfusingVoidType: void is necessary
251
251
  const resolved = await new Promise(resolve => {
252
252
  cancelTimeout();
253
253
  props.timeoutID = setTimeout(() => {
@@ -9,7 +9,7 @@ interface Options extends RendererOptions {
9
9
  width?: number;
10
10
  height?: number;
11
11
  }
12
- export declare const createTransform: (segmenter: Segmenter, { width, height, foregroundThreshold, backgroundBlurAmount, edgeBlurAmount, maskCombineRatio, backgroundImageUrl, effects, selfManageSegmenter, ...options }?: Partial<Options>) => SegmentationTransform & {
12
+ export declare const createTransform: (segmenter: Segmenter, { width, height, foregroundThreshold, backgroundBlurAmount, edgeBlurAmount, maskCombineRatio, backgroundImageUrl, effects, backend, selfManageSegmenter, ...options }?: Partial<Options>) => SegmentationTransform & {
13
13
  outputCanvas: HTMLCanvasElement | undefined;
14
14
  outputDelegate: OffscreenCanvas | undefined;
15
15
  backgroundImage?: ImageRecord;
@@ -1,17 +1,18 @@
1
1
  import { PROCESSING_HEIGHT, PROCESSING_WIDTH, FOREGROUND_THRESHOLD, BACKGROUND_BLUR_AMOUNT, EDGE_BLUR_AMOUNT, MASK_COMBINE_RATIO, } from '../../common/constants';
2
2
  import { createCanvasRenderUtils } from '../../common/canvasRenderUtils';
3
- import { clamping } from '../../common/utils';
3
+ import { clamping, createObjectUpdater } from '../../common/utils';
4
+ import { assert } from '@pexip/utils';
4
5
  const clampInRangeFrom0To1 = clamping(0, 1);
5
6
  const clampInRangeFrom0To9 = clamping(0, 9);
6
- export const createTransform = (segmenter, { width = PROCESSING_WIDTH, height = PROCESSING_HEIGHT, foregroundThreshold = FOREGROUND_THRESHOLD, backgroundBlurAmount = BACKGROUND_BLUR_AMOUNT, edgeBlurAmount = EDGE_BLUR_AMOUNT, maskCombineRatio = MASK_COMBINE_RATIO, backgroundImageUrl = '', effects = 'none', selfManageSegmenter, ...options } = {}) => {
7
+ export const createTransform = (segmenter, { width = PROCESSING_WIDTH, height = PROCESSING_HEIGHT, foregroundThreshold = FOREGROUND_THRESHOLD, backgroundBlurAmount = BACKGROUND_BLUR_AMOUNT, edgeBlurAmount = EDGE_BLUR_AMOUNT, maskCombineRatio = MASK_COMBINE_RATIO, backgroundImageUrl = '', effects = 'none', backend = 'webgl', selfManageSegmenter, ...options } = {}) => {
7
8
  const props = {
8
9
  segmenter,
9
- width,
10
- height,
10
+ processingWidth: width,
11
+ processingHeight: height,
11
12
  foregroundThreshold,
12
13
  backgroundBlurAmount,
13
14
  edgeBlurAmount,
14
- utils: createCanvasRenderUtils(width, height),
15
+ utils: undefined,
15
16
  effects,
16
17
  maskCombineRatio,
17
18
  backgroundImage: options.backgroundImage,
@@ -19,13 +20,17 @@ export const createTransform = (segmenter, { width = PROCESSING_WIDTH, height =
19
20
  backgroundImageUrl,
20
21
  outputCanvas: options.outputCanvas,
21
22
  outputDelegate: options.outputDelegate,
23
+ backend,
22
24
  unsubscribe: null,
23
25
  };
26
+ const updateProps = createObjectUpdater(props);
24
27
  const handleContextRestored = () => {
28
+ assert(props.utils);
25
29
  props.utils.reset();
26
30
  };
27
31
  const toVideoFrameLike = (input) => {
28
32
  // Standardize the input
33
+ assert(props.utils);
29
34
  const image = input instanceof ImageData
30
35
  ? props.utils.renderImageDataToOffScreenCanvas(input, 'drawImageDataCanvas')
31
36
  : input;
@@ -49,29 +54,50 @@ export const createTransform = (segmenter, { width = PROCESSING_WIDTH, height =
49
54
  maskCombineRatio: props.maskCombineRatio,
50
55
  backgroundImageUrl: props.backgroundImageUrl,
51
56
  effects: props.effects,
57
+ backend: props.backend,
52
58
  };
53
59
  if (props.segmenter.status === 'new' ||
54
60
  props.segmenter.status === 'closed') {
55
61
  await props.segmenter.open({
56
62
  output: props.outputDelegate,
57
- processingWidth: props.width,
58
- processingHeight: props.height,
63
+ processingWidth: props.processingWidth,
64
+ processingHeight: props.processingHeight,
59
65
  backgroundImage: props.backgroundImage,
60
66
  renderOptions,
61
67
  });
62
68
  }
69
+ if (!props.utils) {
70
+ props.utils = createCanvasRenderUtils(props.processingWidth, props.processingHeight);
71
+ }
63
72
  if (props.segmenter.status === 'opening') {
64
73
  return undefined;
65
74
  }
66
75
  const inputFrame = toVideoFrameLike(input);
67
76
  return props.segmenter.process(inputFrame, renderOptions);
68
77
  };
78
+ const canUpdate = () => props.segmenter.status !== 'new' &&
79
+ props.segmenter.status !== 'closed' &&
80
+ props.segmenter.status !== 'closing';
81
+ const updateProcessingDimensions = (width, height) => {
82
+ let newDimensions = false;
83
+ if (width && props.processingWidth !== width) {
84
+ props.processingWidth = width;
85
+ newDimensions = true;
86
+ }
87
+ if (height && props.processingHeight !== height) {
88
+ props.processingHeight = height;
89
+ newDimensions = true;
90
+ }
91
+ if (newDimensions) {
92
+ props.utils = createCanvasRenderUtils(props.processingWidth, props.processingHeight);
93
+ }
94
+ };
69
95
  return {
70
96
  get width() {
71
- return props.width;
97
+ return props.processingWidth;
72
98
  },
73
99
  get height() {
74
- return props.height;
100
+ return props.processingHeight;
75
101
  },
76
102
  get status() {
77
103
  return props.status;
@@ -91,6 +117,9 @@ export const createTransform = (segmenter, { width = PROCESSING_WIDTH, height =
91
117
  get maskCombineRatio() {
92
118
  return props.maskCombineRatio;
93
119
  },
120
+ get backend() {
121
+ return props.backend;
122
+ },
94
123
  set foregroundThreshold(value) {
95
124
  props.foregroundThreshold = clampInRangeFrom0To1(value);
96
125
  },
@@ -123,8 +152,7 @@ export const createTransform = (segmenter, { width = PROCESSING_WIDTH, height =
123
152
  image.key !== props.backgroundImage?.key &&
124
153
  image.image !== props.backgroundImage?.image) {
125
154
  props.backgroundImage = image;
126
- if (props.segmenter.status !== 'new' &&
127
- props.segmenter.status !== 'closed') {
155
+ if (canUpdate()) {
128
156
  void props.segmenter.update({ backgroundImage: image });
129
157
  }
130
158
  }
@@ -146,11 +174,37 @@ export const createTransform = (segmenter, { width = PROCESSING_WIDTH, height =
146
174
  props.segmenter = value;
147
175
  }
148
176
  },
149
- init: () => {
177
+ set backend(value) {
178
+ if (value === props.backend) {
179
+ return;
180
+ }
181
+ props.backend = value;
182
+ if (canUpdate()) {
183
+ segmenter.update({
184
+ renderOptions: {
185
+ backend: props.backend,
186
+ backgroundImageUrl: props.backgroundImageUrl,
187
+ foregroundThreshold: props.foregroundThreshold,
188
+ backgroundBlurAmount: props.backgroundBlurAmount,
189
+ edgeBlurAmount: props.edgeBlurAmount,
190
+ maskCombineRatio: props.maskCombineRatio,
191
+ effects: props.effects,
192
+ },
193
+ });
194
+ }
195
+ },
196
+ init: (options = {}) => {
197
+ updateProps(options);
150
198
  props.status = 'opened';
151
199
  props.unsubscribe = segmenter.subscribe('ContextRestored', handleContextRestored);
152
200
  return Promise.resolve();
153
201
  },
202
+ update: async (options) => {
203
+ updateProcessingDimensions(options.processingWidth, options.processingHeight);
204
+ // update props needs to happen after dimension comparison
205
+ updateProps(options);
206
+ await segmenter.update(options);
207
+ },
154
208
  transform: async (videoFrame, controller) => {
155
209
  switch (props.effects) {
156
210
  case 'overlay':