@omnimedia/omnitool 1.1.0-95 → 1.1.0-97

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 (93) hide show
  1. package/README.md +36 -0
  2. package/package.json +1 -1
  3. package/s/features/bg-remover/bg-remover.ts +26 -0
  4. package/s/features/bg-remover/default-spec.ts +11 -0
  5. package/s/features/bg-remover/types.ts +27 -0
  6. package/s/features/bg-remover/worker.bundle.ts +51 -0
  7. package/s/features/{speech/transcribe/parts → parts}/load-pipe.ts +3 -5
  8. package/s/features/parts/types.ts +19 -0
  9. package/s/features/speech/transcribe/default-spec.ts +2 -2
  10. package/s/features/speech/transcribe/types.ts +6 -16
  11. package/s/features/speech/transcribe/worker.bundle.ts +4 -3
  12. package/s/index.html.ts +2 -2
  13. package/s/timeline/index.ts +3 -0
  14. package/s/timeline/parts/item.ts +15 -3
  15. package/s/timeline/parts/media.ts +11 -0
  16. package/s/timeline/renderers/parts/handy.ts +16 -0
  17. package/s/timeline/renderers/parts/samplers/visual/parts/defaults.ts +7 -1
  18. package/s/timeline/renderers/parts/samplers/visual/parts/image-sink.ts +51 -0
  19. package/s/timeline/renderers/parts/samplers/visual/parts/sample.ts +7 -0
  20. package/s/timeline/renderers/parts/samplers/visual/parts/types.ts +2 -1
  21. package/s/timeline/renderers/parts/samplers/visual/sampler.ts +8 -5
  22. package/s/timeline/sugar/helpers.ts +9 -0
  23. package/s/timeline/sugar/o.ts +19 -0
  24. package/x/demo/demo.bundle.min.js +100 -100
  25. package/x/demo/demo.bundle.min.js.map +4 -4
  26. package/x/features/bg-remover/bg-remover.d.ts +5 -0
  27. package/x/features/bg-remover/bg-remover.js +18 -0
  28. package/x/features/bg-remover/bg-remover.js.map +1 -0
  29. package/x/features/bg-remover/default-spec.d.ts +2 -0
  30. package/x/features/bg-remover/default-spec.js +6 -0
  31. package/x/features/bg-remover/default-spec.js.map +1 -0
  32. package/x/features/bg-remover/types.d.ts +20 -0
  33. package/x/features/bg-remover/types.js +2 -0
  34. package/x/features/bg-remover/types.js.map +1 -0
  35. package/x/features/bg-remover/worker.bundle.d.ts +1 -0
  36. package/x/features/bg-remover/worker.bundle.js +38 -0
  37. package/x/features/bg-remover/worker.bundle.js.map +1 -0
  38. package/x/features/bg-remover/worker.bundle.min.js +2916 -0
  39. package/x/features/bg-remover/worker.bundle.min.js.map +7 -0
  40. package/x/features/parts/load-pipe.d.ts +2 -0
  41. package/x/features/{speech/transcribe/parts → parts}/load-pipe.js +1 -1
  42. package/x/features/parts/load-pipe.js.map +1 -0
  43. package/x/features/parts/types.d.ts +15 -0
  44. package/x/features/parts/types.js +2 -0
  45. package/x/features/parts/types.js.map +1 -0
  46. package/x/features/speech/transcribe/default-spec.js +2 -2
  47. package/x/features/speech/transcribe/default-spec.js.map +1 -1
  48. package/x/features/speech/transcribe/types.d.ts +5 -14
  49. package/x/features/speech/transcribe/worker.bundle.js +3 -2
  50. package/x/features/speech/transcribe/worker.bundle.js.map +1 -1
  51. package/x/features/speech/transcribe/worker.bundle.min.js +1 -1
  52. package/x/features/speech/transcribe/worker.bundle.min.js.map +3 -3
  53. package/x/index.html +4 -4
  54. package/x/index.html.js +2 -2
  55. package/x/tests.bundle.min.js +103 -103
  56. package/x/tests.bundle.min.js.map +4 -4
  57. package/x/tests.html +1 -1
  58. package/x/timeline/index.d.ts +3 -0
  59. package/x/timeline/index.js +3 -0
  60. package/x/timeline/index.js.map +1 -1
  61. package/x/timeline/parts/item.d.ts +14 -4
  62. package/x/timeline/parts/item.js +1 -0
  63. package/x/timeline/parts/item.js.map +1 -1
  64. package/x/timeline/parts/media.d.ts +1 -0
  65. package/x/timeline/parts/media.js +8 -0
  66. package/x/timeline/parts/media.js.map +1 -1
  67. package/x/timeline/renderers/parts/handy.d.ts +1 -0
  68. package/x/timeline/renderers/parts/handy.js +11 -0
  69. package/x/timeline/renderers/parts/handy.js.map +1 -1
  70. package/x/timeline/renderers/parts/samplers/visual/parts/defaults.d.ts +4 -1
  71. package/x/timeline/renderers/parts/samplers/visual/parts/defaults.js +3 -0
  72. package/x/timeline/renderers/parts/samplers/visual/parts/defaults.js.map +1 -1
  73. package/x/timeline/renderers/parts/samplers/visual/parts/image-sink.d.ts +11 -0
  74. package/x/timeline/renderers/parts/samplers/visual/parts/image-sink.js +36 -0
  75. package/x/timeline/renderers/parts/samplers/visual/parts/image-sink.js.map +1 -0
  76. package/x/timeline/renderers/parts/samplers/visual/parts/sample.js +6 -0
  77. package/x/timeline/renderers/parts/samplers/visual/parts/sample.js.map +1 -1
  78. package/x/timeline/renderers/parts/samplers/visual/parts/types.d.ts +2 -1
  79. package/x/timeline/renderers/parts/samplers/visual/parts/{sink.js → video-sink.js} +1 -1
  80. package/x/timeline/renderers/parts/samplers/visual/parts/video-sink.js.map +1 -0
  81. package/x/timeline/renderers/parts/samplers/visual/sampler.js +8 -5
  82. package/x/timeline/renderers/parts/samplers/visual/sampler.js.map +1 -1
  83. package/x/timeline/sugar/helpers.d.ts +3 -0
  84. package/x/timeline/sugar/helpers.js +3 -0
  85. package/x/timeline/sugar/helpers.js.map +1 -1
  86. package/x/timeline/sugar/o.d.ts +3 -0
  87. package/x/timeline/sugar/o.js +12 -0
  88. package/x/timeline/sugar/o.js.map +1 -1
  89. package/x/features/speech/transcribe/parts/load-pipe.d.ts +0 -2
  90. package/x/features/speech/transcribe/parts/load-pipe.js.map +0 -1
  91. package/x/timeline/renderers/parts/samplers/visual/parts/sink.js.map +0 -1
  92. /package/s/timeline/renderers/parts/samplers/visual/parts/{sink.ts → video-sink.ts} +0 -0
  93. /package/x/timeline/renderers/parts/samplers/visual/parts/{sink.d.ts → video-sink.d.ts} +0 -0
@@ -0,0 +1,5 @@
1
+ import { BgRemoverOptions, RemoverOptions } from "./types.js";
2
+ export declare function makeBgRemover({ spec, workerUrl, onLoading }: BgRemoverOptions): Promise<{
3
+ remove: (input: RemoverOptions) => Promise<VideoFrame>;
4
+ dispose: () => void;
5
+ }>;
@@ -0,0 +1,18 @@
1
+ import { queue } from "@e280/stz";
2
+ import { Comrade, LoggerTap, tune } from "@e280/comrade";
3
+ export async function makeBgRemover({ spec, workerUrl, onLoading }) {
4
+ const thread = await Comrade.thread({
5
+ label: "OmnitoolBgRemover",
6
+ workerUrl,
7
+ tap: new LoggerTap(),
8
+ setupHost: () => ({
9
+ loading: async (loading) => onLoading(loading),
10
+ }),
11
+ });
12
+ await thread.work.prepare(spec);
13
+ return {
14
+ remove: queue(async (input) => await thread.work.remove[tune]({ transfer: [input.frame] })(input.frame)),
15
+ dispose: () => thread.terminate()
16
+ };
17
+ }
18
+ //# sourceMappingURL=bg-remover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bg-remover.js","sourceRoot":"","sources":["../../../s/features/bg-remover/bg-remover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AAKtD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAmB;IACjF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAqB;QACvD,KAAK,EAAE,mBAAmB;QAC1B,SAAS;QACT,GAAG,EAAE,IAAI,SAAS,EAAE;QACpB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YACjB,OAAO,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;SAC5C,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/B,OAAO;QACN,MAAM,EAAE,KAAK,CAAC,KAAK,EAAC,KAAqB,EAAE,EAAE,CAC5C,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACtE;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;KACjC,CAAA;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { PipelineSpec } from "../parts/types.js";
2
+ export declare const defaultBgRemoverSpec: () => PipelineSpec;
@@ -0,0 +1,6 @@
1
+ export const defaultBgRemoverSpec = () => ({
2
+ model: "Xenova/modnet",
3
+ dtype: "auto",
4
+ device: "webgpu"
5
+ });
6
+ //# sourceMappingURL=default-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-spec.js","sourceRoot":"","sources":["../../../s/features/bg-remover/default-spec.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAiB,EAAE,CAAC,CAAC;IACxD,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,QAAQ;CAChB,CAAC,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { AsSchematic } from "@e280/comrade";
2
+ import { Loading, PipelineSpec } from "../parts/types.js";
3
+ export type BgRemoverSchematic = AsSchematic<{
4
+ work: {
5
+ prepare(spec: PipelineSpec): Promise<void>;
6
+ remove(request: VideoFrame): Promise<VideoFrame>;
7
+ };
8
+ host: {
9
+ loading(load: Loading): Promise<void>;
10
+ };
11
+ }>;
12
+ export type RemoverOptions = {
13
+ frame: VideoFrame;
14
+ };
15
+ export type BgRemoverModels = "onnx-community/ISNet-ONNX" | "Xenova/modnet" | "briaai/RMBG-1.4";
16
+ export type BgRemoverOptions = {
17
+ spec: PipelineSpec;
18
+ workerUrl: URL | string;
19
+ onLoading: (loading: Loading) => void;
20
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../s/features/bg-remover/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,38 @@
1
+ import { defer, once } from "@e280/stz";
2
+ import { Comrade } from "@e280/comrade";
3
+ import { loadPipe } from "../parts/load-pipe.js";
4
+ const deferred = defer();
5
+ const makePrepare = (host) => once(async (spec) => {
6
+ deferred.resolve({
7
+ spec,
8
+ pipe: await loadPipe({
9
+ spec,
10
+ task: "background-removal",
11
+ onLoading: loading => host.loading(loading),
12
+ })
13
+ });
14
+ });
15
+ const canvas = new OffscreenCanvas(1920, 1080);
16
+ const ctx = canvas.getContext("2d");
17
+ await Comrade.worker(shell => {
18
+ const prepare = makePrepare(shell.host);
19
+ return {
20
+ prepare,
21
+ async remove(request) {
22
+ const { pipe } = await deferred.promise;
23
+ canvas.width = request.displayWidth;
24
+ canvas.height = request.displayHeight;
25
+ ctx?.drawImage(request, 0, 0);
26
+ const output = await pipe(canvas);
27
+ const mask = output[0];
28
+ const frame = new VideoFrame(mask.toCanvas(), {
29
+ timestamp: request.timestamp,
30
+ duration: request.duration ?? undefined,
31
+ });
32
+ request.close();
33
+ shell.transfer = [frame];
34
+ return frame;
35
+ }
36
+ };
37
+ });
38
+ //# sourceMappingURL=worker.bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.bundle.js","sourceRoot":"","sources":["../../../s/features/bg-remover/worker.bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,WAAW,CAAA;AACrC,OAAO,EAAC,OAAO,EAAO,MAAM,eAAe,CAAA;AAK3C,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,MAAM,QAAQ,GAAG,KAAK,EAAyD,CAAA;AAC/E,MAAM,WAAW,GAAG,CAAC,IAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAC,IAAkB,EAAE,EAAE;IACxF,QAAQ,CAAC,OAAO,CAAC;QAChB,IAAI;QACJ,IAAI,EAAE,MAAM,QAAQ,CAAC;YACpB,IAAI;YACJ,IAAI,EAAE,oBAAoB;YAC1B,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3C,CAA8B;KAC/B,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAEnC,MAAM,OAAO,CAAC,MAAM,CAAqB,KAAK,CAAC,EAAE;IAChD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvC,OAAO;QACN,OAAO;QACP,KAAK,CAAC,MAAM,CAAC,OAAO;YACnB,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAA;YAErC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,YAAY,CAAA;YACnC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAA;YACrC,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YAEtB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC7C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;aACvC,CAAC,CAAA;YAEF,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,KAAK,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAA;YACxB,OAAO,KAAK,CAAA;QACb,CAAC;KACD,CAAA;AACF,CAAC,CAAC,CAAA"}