react-native-executorch 0.11.0-nightly-5c521a5-20261027 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/cpp/extensions/cv/image_ops.cpp +77 -0
  2. package/cpp/extensions/cv/image_ops.h +1 -0
  3. package/cpp/extensions/cv/install.cpp +1 -0
  4. package/lib/module/extensions/cv/ops/image.js +31 -0
  5. package/lib/module/extensions/cv/ops/image.js.map +1 -1
  6. package/lib/module/extensions/cv/tasks/inpainting.js +178 -0
  7. package/lib/module/extensions/cv/tasks/inpainting.js.map +1 -0
  8. package/lib/module/extensions/llm/llmRunner.js.map +1 -1
  9. package/lib/module/extensions/llm/tasks/llmChatSession.js +16 -12
  10. package/lib/module/extensions/llm/tasks/llmChatSession.js.map +1 -1
  11. package/lib/module/extensions/llm/utils/chatPreprocessor.js +3 -1
  12. package/lib/module/extensions/llm/utils/chatPreprocessor.js.map +1 -1
  13. package/lib/module/hooks/useInpainter.js +43 -0
  14. package/lib/module/hooks/useInpainter.js.map +1 -0
  15. package/lib/module/index.js +2 -0
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/models.js +115 -0
  18. package/lib/module/models.js.map +1 -1
  19. package/lib/typescript/src/extensions/cv/ops/image.d.ts +37 -0
  20. package/lib/typescript/src/extensions/cv/ops/image.d.ts.map +1 -1
  21. package/lib/typescript/src/extensions/cv/tasks/inpainting.d.ts +100 -0
  22. package/lib/typescript/src/extensions/cv/tasks/inpainting.d.ts.map +1 -0
  23. package/lib/typescript/src/extensions/llm/llmRunner.d.ts +2 -0
  24. package/lib/typescript/src/extensions/llm/llmRunner.d.ts.map +1 -1
  25. package/lib/typescript/src/extensions/llm/tasks/llmChatSession.d.ts.map +1 -1
  26. package/lib/typescript/src/extensions/llm/utils/chatPreprocessor.d.ts +4 -0
  27. package/lib/typescript/src/extensions/llm/utils/chatPreprocessor.d.ts.map +1 -1
  28. package/lib/typescript/src/hooks/useInpainter.d.ts +28 -0
  29. package/lib/typescript/src/hooks/useInpainter.d.ts.map +1 -0
  30. package/lib/typescript/src/index.d.ts +2 -0
  31. package/lib/typescript/src/index.d.ts.map +1 -1
  32. package/lib/typescript/src/models.d.ts +51 -0
  33. package/lib/typescript/src/models.d.ts.map +1 -1
  34. package/package.json +2 -2
  35. package/scripts/download-libs.js +3 -1
  36. package/src/extensions/cv/ops/image.ts +51 -0
  37. package/src/extensions/cv/tasks/inpainting.ts +269 -0
  38. package/src/extensions/llm/llmRunner.ts +2 -0
  39. package/src/extensions/llm/tasks/llmChatSession.ts +10 -4
  40. package/src/extensions/llm/utils/chatPreprocessor.ts +8 -5
  41. package/src/hooks/useInpainter.ts +34 -0
  42. package/src/index.ts +2 -0
  43. package/src/models.ts +110 -0
@@ -510,4 +510,81 @@ void install_rectifyQuad(jsi::Runtime &rt, jsi::Object &module) {
510
510
  module.setProperty(rt, name, jsi::Function::createFromHostFunction(rt, jsi::PropNameID::forAscii(rt, name), 4, error::guarded(fnBody)));
511
511
  }
512
512
 
513
+ // Composite `overlay` over `src` where `mask` is non-zero, with the masked
514
+ // region eroded by `shrink` px and its edge feathered by a `feather`-wide
515
+ // Gaussian, so the seam blends instead of cutting: dst = src*(1-w) + overlay*w.
516
+ void install_blendMasked(jsi::Runtime &rt, jsi::Object &module) {
517
+ const auto *name = "blendMasked";
518
+ auto fnBody = [](jsi::Runtime &rt, const jsi::Value & /*thisVal*/, const jsi::Value *args, size_t count) -> jsi::Value {
519
+ if (count != 5) {
520
+ throw error::InvalidArgument("blendMasked: Usage: blendMasked(src, overlay, mask, dst, options)");
521
+ }
522
+
523
+ auto src = tensor::fromJs(rt, "blendMasked: src", args[0], DType::uint8, {"H", "W", "C"});
524
+ auto overlay = tensor::fromJs(rt, "blendMasked: overlay", args[1], DType::uint8, src->shape_);
525
+ auto mask = tensor::fromJs(rt, "blendMasked: mask", args[2], DType::uint8, {src->shape_[0], src->shape_[1], 1});
526
+ auto dst = tensor::fromJs(rt, "blendMasked: dst", args[3], DType::uint8, src->shape_);
527
+
528
+ tensor::checkNotSameTensor(rt, "blendMasked: src", src, "blendMasked: dst", dst);
529
+ tensor::checkNotSameTensor(rt, "blendMasked: overlay", overlay, "blendMasked: dst", dst);
530
+ auto srcLock = tensor::tryLockShared(rt, "blendMasked: src", src);
531
+ auto overlayLock = tensor::tryLockShared(rt, "blendMasked: overlay", overlay);
532
+ auto maskLock = tensor::tryLockShared(rt, "blendMasked: mask", mask);
533
+ auto dstLock = tensor::tryLockUnique(rt, "blendMasked: dst", dst);
534
+
535
+ const auto opts = conversions::asType<jsi::Object>(rt, "blendMasked: options", args[4]);
536
+ const auto shrink = conversions::getRequiredProperty<int32_t>(rt, "blendMasked: options", opts, "shrink");
537
+ const auto feather = conversions::getRequiredProperty<int32_t>(rt, "blendMasked: options", opts, "feather");
538
+ if (shrink < 0) {
539
+ throw error::InvalidArgument(std::format("blendMasked: shrink must be >= 0 (got {})", shrink));
540
+ }
541
+ if (feather < 0 || (feather > 0 && feather % 2 == 0)) {
542
+ throw error::InvalidArgument(std::format("blendMasked: feather must be 0 or an odd kernel size (got {})", feather));
543
+ }
544
+
545
+ const int32_t h = src->shape_[0];
546
+ const int32_t w = src->shape_[1];
547
+ const int cvType = CV_MAKETYPE(CV_8U, src->shape_[2]);
548
+
549
+ try {
550
+ const ::cv::Mat srcMat(h, w, cvType, src->data_.get());
551
+ const ::cv::Mat overlayMat(h, w, cvType, overlay->data_.get());
552
+ const ::cv::Mat maskMat(h, w, CV_8UC1, mask->data_.get());
553
+ ::cv::Mat dstMat(h, w, cvType, dst->data_.get());
554
+
555
+ // Weight of the overlay: 1 inside the (eroded, feathered) mask, 0 outside.
556
+ ::cv::Mat hole;
557
+ ::cv::threshold(maskMat, hole, 0, 255, ::cv::THRESH_BINARY);
558
+ ::cv::Mat region = hole;
559
+ if (shrink > 0) {
560
+ const int k = 2 * shrink + 1;
561
+ ::cv::Mat eroded;
562
+ ::cv::erode(region, eroded, ::cv::getStructuringElement(::cv::MORPH_RECT, ::cv::Size(k, k)));
563
+ // A region thinner than the kernel erodes to nothing, which would
564
+ // silently leave `src` untouched; keep the full region instead.
565
+ if (::cv::countNonZero(eroded) > 0) {
566
+ region = eroded;
567
+ }
568
+ }
569
+ ::cv::Mat weight;
570
+ region.convertTo(weight, CV_32F, 1.0 / 255.0);
571
+ if (feather > 0) {
572
+ ::cv::GaussianBlur(weight, weight, ::cv::Size(feather, feather), 0);
573
+ // The blur spreads both ways; keep the ramp inside the mask so
574
+ // pixels outside it are returned exactly as in `src`.
575
+ weight.setTo(::cv::Scalar::all(0), hole == 0);
576
+ }
577
+
578
+ ::cv::Mat ones = ::cv::Mat::ones(h, w, CV_32F);
579
+ ::cv::blendLinear(srcMat, overlayMat, ones - weight, weight, dstMat);
580
+ } catch (const std::exception &e) {
581
+ throw error::Unknown("blendMasked: " + std::string(e.what()));
582
+ }
583
+
584
+ return jsi::Value(rt, args[3]);
585
+ };
586
+
587
+ module.setProperty(rt, name, jsi::Function::createFromHostFunction(rt, jsi::PropNameID::forAscii(rt, name), 5, error::guarded(fnBody)));
588
+ }
589
+
513
590
  } // namespace rnexecutorch::extensions::cv::image_ops
@@ -10,4 +10,5 @@ void install_toChannelsLast(facebook::jsi::Runtime &rt, facebook::jsi::Object &m
10
10
  void install_normalize(facebook::jsi::Runtime &rt, facebook::jsi::Object &module);
11
11
  void install_applyColormap(facebook::jsi::Runtime &rt, facebook::jsi::Object &module);
12
12
  void install_rectifyQuad(facebook::jsi::Runtime &rt, facebook::jsi::Object &module);
13
+ void install_blendMasked(facebook::jsi::Runtime &rt, facebook::jsi::Object &module);
13
14
  } // namespace rnexecutorch::extensions::cv::image_ops
@@ -16,6 +16,7 @@ void install(facebook::jsi::Runtime &rt, facebook::jsi::Object &module) {
16
16
  image_ops::install_normalize(rt, cvModule);
17
17
  image_ops::install_applyColormap(rt, cvModule);
18
18
  image_ops::install_rectifyQuad(rt, cvModule);
19
+ image_ops::install_blendMasked(rt, cvModule);
19
20
 
20
21
  box_ops::install_nms(rt, cvModule);
21
22
  box_ops::install_restrictToBox(rt, cvModule);
@@ -254,4 +254,35 @@ export function applyColormap(src, dst, colormap) {
254
254
 
255
255
  return rnexecutorchJsi.cv.applyColormap(src, dst, colormap);
256
256
  }
257
+
258
+ /**
259
+ * Options softening the mask edge in {@link blendMasked}.
260
+ * @category CV / Types
261
+ */
262
+
263
+ /**
264
+ * Composites `overlay` over `src` where `mask` is non-zero, writing
265
+ * `src * (1 - w) + overlay * w` into `dst`, where `w` is the mask eroded and
266
+ * feathered per `options`. Pixels outside the mask come from `src` unchanged.
267
+ * @category CV / Functions
268
+ * @param src The base image tensor in HWC layout, `[H, W, C]`, data type `uint8`.
269
+ * @param overlay The image tensor to composite, `[H, W, C]`, data type `uint8`.
270
+ * @param mask The region to take from `overlay`, `[H, W, 1]`, data type `uint8`;
271
+ * any non-zero value marks a masked pixel.
272
+ * @param dst The pre-allocated destination image tensor, `[H, W, C]`, data type
273
+ * `uint8`. Must not alias `src` or `overlay`.
274
+ * @param options Edge erosion and feathering. See {@link BlendMaskedOptions}.
275
+ * @returns The destination image tensor `dst`.
276
+ * @throws {RnExecuTorchError} With code `INVALID_ARGUMENT` if tensor shapes,
277
+ * layouts, or data types are invalid, or `feather` is even, `RESOURCE_BUSY` if
278
+ * a tensor is in use, or `RESOURCE_DISPOSED` if any tensor was disposed.
279
+ */
280
+ export function blendMasked(src, overlay, mask, dst, options) {
281
+ 'worklet';
282
+
283
+ return rnexecutorchJsi.cv.blendMasked(src, overlay, mask, dst, {
284
+ shrink: options?.shrink ?? 0,
285
+ feather: options?.feather ?? 0
286
+ });
287
+ }
257
288
  //# sourceMappingURL=image.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["rnexecutorchJsi","FORMAT_CONVERSION","rgb","rgba","bgr","bgra","gray","FORMAT_CHANNELS","resize","src","dst","options","cv","mode","interpolation","padValue","cvtColor","code","toChannelsFirst","toChannelsLast","normalize","defaultNormalizeOptions","alpha","beta","applyColormap","colormap"],"sourceRoot":"../../../../../src","sources":["extensions/cv/ops/image.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["rnexecutorchJsi","FORMAT_CONVERSION","rgb","rgba","bgr","bgra","gray","FORMAT_CHANNELS","resize","src","dst","options","cv","mode","interpolation","padValue","cvtColor","code","toChannelsFirst","toChannelsLast","normalize","defaultNormalizeOptions","alpha","beta","applyColormap","colormap","blendMasked","overlay","mask","shrink","feather"],"sourceRoot":"../../../../../src","sources":["extensions/cv/ops/image.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,QAAQ,2BAAwB;;AAIxD;AACA;AACA;AACA;;AAuBA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAGZ,GAAG;EACFC,GAAG,EAAE;IAAEA,GAAG,EAAE,IAAI;IAAEC,IAAI,EAAE,UAAU;IAAEC,GAAG,EAAE,SAAS;IAAEC,IAAI,EAAE,UAAU;IAAEC,IAAI,EAAE;EAAW,CAAC;EACxFF,GAAG,EAAE;IAAEF,GAAG,EAAE,SAAS;IAAEC,IAAI,EAAE,UAAU;IAAEC,GAAG,EAAE,IAAI;IAAEC,IAAI,EAAE,UAAU;IAAEC,IAAI,EAAE;EAAW,CAAC;EACxFH,IAAI,EAAE;IAAED,GAAG,EAAE,UAAU;IAAEC,IAAI,EAAE,IAAI;IAAEC,GAAG,EAAE,UAAU;IAAEC,IAAI,EAAE,WAAW;IAAEC,IAAI,EAAE;EAAY,CAAC;EAC5FD,IAAI,EAAE;IAAEH,GAAG,EAAE,UAAU;IAAEC,IAAI,EAAE,WAAW;IAAEC,GAAG,EAAE,UAAU;IAAEC,IAAI,EAAE,IAAI;IAAEC,IAAI,EAAE;EAAY,CAAC;EAC5FA,IAAI,EAAE;IAAEJ,GAAG,EAAE,UAAU;IAAEC,IAAI,EAAE,WAAW;IAAEC,GAAG,EAAE,UAAU;IAAEC,IAAI,EAAE,WAAW;IAAEC,IAAI,EAAE;EAAK;AAC7F,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAA4C,GAAG;EAC1DL,GAAG,EAAE,CAAC;EACNE,GAAG,EAAE,CAAC;EACND,IAAI,EAAE,CAAC;EACPE,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE;AACR,CAAC;;AAED;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,MAAMA,CAACC,GAAW,EAAEC,GAAW,EAAEC,OAAuB,EAAU;EAChF,SAAS;;EACT,OAAOX,eAAe,CAACY,EAAE,CAACJ,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAE;IACzCG,IAAI,EAAEF,OAAO,EAAEE,IAAI,IAAI,SAAS;IAChCC,aAAa,EAAEH,OAAO,EAAEG,aAAa,IAAI,SAAS;IAClDC,QAAQ,EAAEJ,OAAO,EAAEI,QAAQ,IAAI;EACjC,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAACP,GAAW,EAAEC,GAAW,EAAEO,IAAyB,EAAU;EACpF,SAAS;;EACT,OAAOjB,eAAe,CAACY,EAAE,CAACI,QAAQ,CAACP,GAAG,EAAEC,GAAG,EAAEO,IAAI,CAAC;AACpD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACT,GAAW,EAAEC,GAAW,EAAU;EAChE,SAAS;;EACT,OAAOV,eAAe,CAACY,EAAE,CAACM,eAAe,CAACT,GAAG,EAAEC,GAAG,CAAC;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,cAAcA,CAACV,GAAW,EAAEC,GAAW,EAAU;EAC/D,SAAS;;EACT,OAAOV,eAAe,CAACY,EAAE,CAACO,cAAc,CAACV,GAAG,EAAEC,GAAG,CAAC;AACpD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASU,SAASA,CAACX,GAAW,EAAEC,GAAW,EAAEC,OAA0B,EAAU;EACtF,SAAS;;EACT,MAAMU,uBAAuB,GAAG;IAC9BC,KAAK,EAAE,CAAC,GAAG,KAAK;IAChBC,IAAI,EAAE;EACR,CAAU;EACV,OAAOvB,eAAe,CAACY,EAAE,CAACQ,SAAS,CAACX,GAAG,EAAEC,GAAG,EAAE;IAAE,GAAGW,uBAAuB;IAAE,GAAGV;EAAQ,CAAC,CAAC;AAC3F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,aAAaA,CAC3Bf,GAAW,EACXC,GAAW,EACXe,QAA4C,EACpC;EACR,SAAS;;EACT,OAAOzB,eAAe,CAACY,EAAE,CAACY,aAAa,CAACf,GAAG,EAAEC,GAAG,EAAEe,QAAQ,CAAC;AAC7D;;AAEA;AACA;AACA;AACA;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CACzBjB,GAAW,EACXkB,OAAe,EACfC,IAAY,EACZlB,GAAW,EACXC,OAA4B,EACpB;EACR,SAAS;;EACT,OAAOX,eAAe,CAACY,EAAE,CAACc,WAAW,CAACjB,GAAG,EAAEkB,OAAO,EAAEC,IAAI,EAAElB,GAAG,EAAE;IAC7DmB,MAAM,EAAElB,OAAO,EAAEkB,MAAM,IAAI,CAAC;IAC5BC,OAAO,EAAEnB,OAAO,EAAEmB,OAAO,IAAI;EAC/B,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Image inpainting task pipeline: fills a masked region of a photo with
5
+ * plausible content (object removal, blemish cleanup). The whole frame is
6
+ * resized to the model input, and the output is resized back and blended into
7
+ * the original pixels through the mask, so only the hole changes.
8
+ */
9
+
10
+ import { tensor } from "../../../core/tensor.js";
11
+ import { loadModel } from "../../../core/model.js";
12
+ import { validateSpec, method, f32 } from "../../../core/schema.js";
13
+ import { wrapAsync } from "../../../core/runtime.js";
14
+ import { createResourceScope } from "../../../core/lifetime.js";
15
+ import { RnExecuTorchError } from "../../../core/error.js";
16
+ import { threshold } from "../../math.js";
17
+ import { FORMAT_CHANNELS, FORMAT_CONVERSION, resize, cvtColor, toChannelsFirst, toChannelsLast, normalize, blendMasked } from "../ops/image.js";
18
+ import { createImagePreprocessor } from "../utils/imagePreprocessor.js";
19
+
20
+ /**
21
+ * Options for configuring the inpainting preprocessor and postprocessor. The
22
+ * image goes through the shared image preprocessor; the mask is always
23
+ * area-resized and re-binarized, so a model pixel is part of the hole when any
24
+ * of the photo pixels it covers is.
25
+ * @category CV / Types
26
+ */
27
+
28
+ /**
29
+ * Model configuration required to instantiate an inpainting task runner.
30
+ * @category CV / Types
31
+ */
32
+
33
+ /**
34
+ * The hole to fill, as a single-channel buffer: any non-zero pixel is part of
35
+ * the hole.
36
+ * @category CV / Types
37
+ */
38
+
39
+ /**
40
+ * Image inpainting task runner.
41
+ * @category CV / Types
42
+ */
43
+
44
+ /**
45
+ * Creates an image inpainting runner for executing local inpainting models.
46
+ *
47
+ * It validates the model inputs and outputs requirements, pre-allocates the
48
+ * necessary static execution tensors, and registers clean disposal hooks to
49
+ * clear all native memory. The model is expected to take an RGB image in
50
+ * `[0, 1]` and a mask with `1` for known pixels and `0` for the hole, and to
51
+ * return the filled RGB image in `[0, 1]`, all at a fixed resolution.
52
+ * @category CV / Tasks
53
+ * @param config Inpainting task configuration containing path and options.
54
+ * See {@link InpainterModel}.
55
+ * @param runtime Optional worklet runtime thread on which to run the model execution.
56
+ * @returns A promise resolving to the instantiated {@link Inpainter} runner.
57
+ * @throws {RnExecuTorchError} With code `LOAD_FAILED` if model fails to load,
58
+ * or `SCHEMA_MISMATCH` if model schema does not match the inpainting spec.
59
+ */
60
+ export async function createInpainter(config, runtime) {
61
+ const scope = createResourceScope();
62
+ const dispose = scope.dispose;
63
+ try {
64
+ const {
65
+ modelPath,
66
+ modelOpts
67
+ } = config;
68
+ const model = scope.track(await wrapAsync(loadModel, runtime)(modelPath));
69
+ const {
70
+ variant,
71
+ dims
72
+ } = validateSpec(model.schema, {
73
+ batched: method('forward',
74
+ // prettier-ignore
75
+ [f32(1, 3, 'H', 'W'), f32(1, 1, 'H', 'W')], [f32(1, 3, 'H', 'W')]),
76
+ unbatched: method('forward',
77
+ // prettier-ignore
78
+ [f32(3, 'H', 'W'), f32(1, 'H', 'W')], [f32(3, 'H', 'W')])
79
+ });
80
+ const [H, W] = dims.constant('H', 'W');
81
+ const imageShape = {
82
+ batched: [1, 3, H, W],
83
+ unbatched: [3, H, W]
84
+ }[variant];
85
+ const maskShape = {
86
+ batched: [1, 1, H, W],
87
+ unbatched: [1, H, W]
88
+ }[variant];
89
+ const preprocessor = scope.track(createImagePreprocessor(modelOpts, imageShape));
90
+ const tensors = [
91
+ // Model I/O; the image input is owned by the preprocessor.
92
+ tensor('float32', maskShape), tensor('float32', imageShape),
93
+ // Mask: resized -> CHW -> float (1 = known, < 1 = hole) -> binarized.
94
+ tensor('uint8', [H, W, 1]), tensor('uint8', [1, H, W]), tensor('float32', [1, H, W]), tensor('float32', [1, H, W]),
95
+ // Output: CHW float -> uint8 -> HWC -> RGBA.
96
+ tensor('float32', [3, H, W]), tensor('uint8', [3, H, W]), tensor('uint8', [H, W, 3]), tensor('uint8', [H, W, 4])];
97
+ tensors.forEach(scope.track);
98
+ const [tModelMask, tModelOutput, tMaskResized, tMaskChw, tMaskScaled, tMaskKnown, tOutChw, tOutU8, tOutHwc, tOutRgba] = tensors;
99
+ const {
100
+ outNormalizeOpts,
101
+ outInterpolation,
102
+ blendOpts
103
+ } = modelOpts;
104
+ const inpaintWorklet = (image, mask) => {
105
+ 'worklet';
106
+
107
+ if (mask.format !== 'gray') {
108
+ throw RnExecuTorchError('INVALID_ARGUMENT', `inpaint: mask must be a 'gray' buffer (got '${mask.format}')`);
109
+ }
110
+ if (mask.width !== image.width || mask.height !== image.height) {
111
+ throw RnExecuTorchError('INVALID_ARGUMENT', `inpaint: mask is ${mask.width}x${mask.height} but image is ${image.width}x${image.height}`);
112
+ }
113
+ const {
114
+ width,
115
+ height
116
+ } = image;
117
+ const imageChannels = FORMAT_CHANNELS[image.format];
118
+ const toRgba = FORMAT_CONVERSION[image.format].rgba;
119
+
120
+ // Per-call buffers at the frame's resolution: the input as given, the
121
+ // mask, the upsampled fill, the blended result and, only when the input
122
+ // needs converting, the frame as RGBA.
123
+ const auxTensors = [tensor('uint8', [height, width, imageChannels]), tensor('uint8', [height, width, 1]), tensor('uint8', [height, width, 4]), tensor('uint8', [height, width, 4]), ...(toRgba !== null ? [tensor('uint8', [height, width, 4])] : [])];
124
+ const [tImage, tMask, tFilled, tResult, tRgba] = auxTensors;
125
+ try {
126
+ // The full-resolution RGBA frame the filled region is blended into.
127
+ const tFrame = tImage.setData(image.data).throughIf(toRgba !== null, cvtColor, tRgba, toRgba);
128
+ tMask.setData(mask.data);
129
+
130
+ // Whole frame -> model input.
131
+ const tModelImage = preprocessor.process(image);
132
+
133
+ // Mask -> model input. Area resizing keeps strokes thinner than the
134
+ // downscale factor as non-zero values, so binarizing at any non-zero
135
+ // value never drops part of the hole. The scaling maps 0 (known) to 1
136
+ // and every non-zero value below 1, so a threshold just under 1 yields
137
+ // the model's 1 = known / 0 = hole mask in one step; the copy reshapes
138
+ // it to the model's rank.
139
+ tMask.through(resize, tMaskResized, {
140
+ mode: 'stretch',
141
+ interpolation: 'area'
142
+ }).through(toChannelsFirst, tMaskChw).through(normalize, tMaskScaled, {
143
+ alpha: -1 / 255,
144
+ beta: 1
145
+ }).through(threshold, tMaskKnown, 1 - 0.5 / 255).copyTo(tModelMask);
146
+ model.execute('forward', [tModelImage, tModelMask], [tModelOutput]);
147
+
148
+ // Model output -> RGBA at the frame's size, blended over the original
149
+ // pixels through the full-resolution mask.
150
+ tModelOutput.copyTo(tOutChw).through(normalize, tOutU8, outNormalizeOpts).through(toChannelsLast, tOutHwc).through(cvtColor, tOutRgba, 'RGB2RGBA').through(resize, tFilled, {
151
+ mode: 'stretch',
152
+ interpolation: outInterpolation
153
+ });
154
+ blendMasked(tFrame, tFilled, tMask, tResult, blendOpts);
155
+ const data = tResult.getData(new Uint8Array(width * height * 4));
156
+ return {
157
+ data,
158
+ width,
159
+ height,
160
+ format: 'rgba',
161
+ layout: 'hwc'
162
+ };
163
+ } finally {
164
+ auxTensors.forEach(t => t.dispose());
165
+ }
166
+ };
167
+ const inpaint = wrapAsync(inpaintWorklet, runtime);
168
+ return {
169
+ inpaint,
170
+ inpaintWorklet,
171
+ dispose
172
+ };
173
+ } catch (error) {
174
+ dispose();
175
+ throw error;
176
+ }
177
+ }
178
+ //# sourceMappingURL=inpainting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tensor","loadModel","validateSpec","method","f32","wrapAsync","createResourceScope","RnExecuTorchError","threshold","FORMAT_CHANNELS","FORMAT_CONVERSION","resize","cvtColor","toChannelsFirst","toChannelsLast","normalize","blendMasked","createImagePreprocessor","createInpainter","config","runtime","scope","dispose","modelPath","modelOpts","model","track","variant","dims","schema","batched","unbatched","H","W","constant","imageShape","maskShape","preprocessor","tensors","forEach","tModelMask","tModelOutput","tMaskResized","tMaskChw","tMaskScaled","tMaskKnown","tOutChw","tOutU8","tOutHwc","tOutRgba","outNormalizeOpts","outInterpolation","blendOpts","inpaintWorklet","image","mask","format","width","height","imageChannels","toRgba","rgba","auxTensors","tImage","tMask","tFilled","tResult","tRgba","tFrame","setData","data","throughIf","tModelImage","process","through","mode","interpolation","alpha","beta","copyTo","execute","getData","Uint8Array","layout","t","inpaint","error"],"sourceRoot":"../../../../../src","sources":["extensions/cv/tasks/inpainting.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["wrapAsync","loadModel","RnExecuTorchError","createResourceScope","validateSpec","loadTokenizer","createLLMTextRunner","LLM_TEXT_SPEC","createLLMMultimodalRunner","LLM_MULTIMODAL_SPEC","createLLMGemmaRunner","LLM_GEMMA_SPEC","createLLMRunner","modelPath","tokenizerPath","modalities","runtime","scope","model","track","tokenizer","variant","schema","text","vision","gemma","e","dispose"],"sourceRoot":"../../../../src","sources":["extensions/llm/llmRunner.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,SAASA,SAAS,QAAQ,uBAAoB;AAC9C,SAASC,SAAS,QAAQ,qBAAkB;AAC5C,SAASC,iBAAiB,QAAQ,qBAAkB;AACpD,SAASC,mBAAmB,QAAQ,wBAAqB;AACzD,SAASC,YAAY,QAAQ,sBAAmB;AAEhD,SAASC,aAAa,QAAQ,iBAAQ;AAGtC,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,4BAAyB;AAC5E,SAASC,yBAAyB,EAAEC,mBAAmB,QAAQ,kCAA+B;AAC9F,SAASC,oBAAoB,EAAEC,cAAc,QAAQ,6BAA0B;;AAE/E;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,eAAeA,CACnCC,SAAiB,EACjBC,aAAqB,EACrBC,UAAgC,EAChCC,OAAwB,EACJ;EACpB,MAAMC,KAAK,GAAGd,mBAAmB,CAAC,CAAC;EACnC,IAAI;IACF,MAAMe,KAAK,GAAGD,KAAK,CAACE,KAAK,CAAC,MAAMnB,SAAS,CAACC,SAAS,EAAEe,OAAO,CAAC,CAACH,SAAS,CAAC,CAAC;IACzE,MAAMO,SAAS,GAAGH,KAAK,CAACE,KAAK,CAAC,MAAMnB,SAAS,CAACK,aAAa,EAAEW,OAAO,CAAC,CAACF,aAAa,CAAC,CAAC;IAErF,MAAM;MAAEO;IAAQ,CAAC,GAAGjB,YAAY,CAACc,KAAK,CAACI,MAAM,EAAE;MAC7CC,IAAI,EAAEhB,aAAa;MACnBiB,MAAM,EAAEf,mBAAmB;MAC3BgB,KAAK,EAAEd;IACT,CAAC,CAAC;IAEF,QAAQU,OAAO;MACb,KAAK,MAAM;QACT,OAAOf,mBAAmB,CAACY,KAAK,EAAEE,SAAS,EAAEL,UAAU,CAAC;MAC1D,KAAK,QAAQ;QACX,OAAOP,yBAAyB,CAACU,KAAK,EAAEE,SAAS,EAAEL,UAAU,CAAC;MAChE,KAAK,OAAO;QACV,OAAOL,oBAAoB,CAACQ,KAAK,EAAEE,SAAS,EAAEL,UAAU,CAAC;MAC3D;QACE,MAAMb,iBAAiB,CAAC,aAAa,EAAE,mCAAmCmB,OAAO,EAAE,CAAC;IACxF;EACF,CAAC,CAAC,OAAOK,CAAC,EAAE;IACVT,KAAK,CAACU,OAAO,CAAC,CAAC;IACf,MAAMD,CAAC;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"names":["wrapAsync","loadModel","RnExecuTorchError","createResourceScope","validateSpec","loadTokenizer","createLLMTextRunner","LLM_TEXT_SPEC","createLLMMultimodalRunner","LLM_MULTIMODAL_SPEC","createLLMGemmaRunner","LLM_GEMMA_SPEC","createLLMRunner","modelPath","tokenizerPath","modalities","runtime","scope","model","track","tokenizer","variant","schema","text","vision","gemma","e","dispose"],"sourceRoot":"../../../../src","sources":["extensions/llm/llmRunner.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,SAASA,SAAS,QAAQ,uBAAoB;AAC9C,SAASC,SAAS,QAAQ,qBAAkB;AAC5C,SAASC,iBAAiB,QAAQ,qBAAkB;AACpD,SAASC,mBAAmB,QAAQ,wBAAqB;AACzD,SAASC,YAAY,QAAQ,sBAAmB;AAEhD,SAASC,aAAa,QAAQ,iBAAQ;AAGtC,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,4BAAyB;AAC5E,SAASC,yBAAyB,EAAEC,mBAAmB,QAAQ,kCAA+B;AAC9F,SAASC,oBAAoB,EAAEC,cAAc,QAAQ,6BAA0B;;AAE/E;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,eAAeA,CACnCC,SAAiB,EACjBC,aAAqB,EACrBC,UAAgC,EAChCC,OAAwB,EACJ;EACpB,MAAMC,KAAK,GAAGd,mBAAmB,CAAC,CAAC;EACnC,IAAI;IACF,MAAMe,KAAK,GAAGD,KAAK,CAACE,KAAK,CAAC,MAAMnB,SAAS,CAACC,SAAS,EAAEe,OAAO,CAAC,CAACH,SAAS,CAAC,CAAC;IACzE,MAAMO,SAAS,GAAGH,KAAK,CAACE,KAAK,CAAC,MAAMnB,SAAS,CAACK,aAAa,EAAEW,OAAO,CAAC,CAACF,aAAa,CAAC,CAAC;IAErF,MAAM;MAAEO;IAAQ,CAAC,GAAGjB,YAAY,CAACc,KAAK,CAACI,MAAM,EAAE;MAC7CC,IAAI,EAAEhB,aAAa;MACnBiB,MAAM,EAAEf,mBAAmB;MAC3BgB,KAAK,EAAEd;IACT,CAAC,CAAC;IAEF,QAAQU,OAAO;MACb,KAAK,MAAM;QACT,OAAOf,mBAAmB,CAACY,KAAK,EAAEE,SAAS,EAAEL,UAAU,CAAC;MAC1D,KAAK,QAAQ;QACX,OAAOP,yBAAyB,CAACU,KAAK,EAAEE,SAAS,EAAEL,UAAU,CAAC;MAChE,KAAK,OAAO;QACV,OAAOL,oBAAoB,CAACQ,KAAK,EAAEE,SAAS,EAAEL,UAAU,CAAC;MAC3D;QACE,MAAMb,iBAAiB,CAAC,aAAa,EAAE,mCAAmCmB,OAAO,EAAE,CAAC;IACxF;EACF,CAAC,CAAC,OAAOK,CAAC,EAAE;IACVT,KAAK,CAACU,OAAO,CAAC,CAAC;IACf,MAAMD,CAAC;EACT;AACF","ignoreList":[]}
@@ -131,9 +131,11 @@ export async function createLLMChatSession(config, options = {}, runtime) {
131
131
  // Prefill initial messages if provided
132
132
  if (initialMessages.length > 0) {
133
133
  history.push(...initialMessages);
134
- const prompt = chatPreprocessor.process(history, history.length, {
135
- addGenPrompt: false
136
- });
134
+ const prefillOptions = {
135
+ addGenPrompt: false,
136
+ enableThinking: defaultGenerationConfig?.enableThinking
137
+ };
138
+ const prompt = chatPreprocessor.process(history, history.length, prefillOptions);
137
139
  await prefill(prompt, defaultGenerationConfig);
138
140
  chatPreprocessor.clear();
139
141
  committed = history.length;
@@ -152,6 +154,14 @@ export async function createLLMChatSession(config, options = {}, runtime) {
152
154
  ...defaultGenerationConfig,
153
155
  ...genConfig
154
156
  };
157
+ const prefillOptions = {
158
+ enableThinking: turnGenConfig.enableThinking,
159
+ addGenPrompt: false
160
+ };
161
+ const renderOptions = {
162
+ ...prefillOptions,
163
+ addGenPrompt: true
164
+ };
155
165
  const generationOpts = {
156
166
  genConfig: turnGenConfig,
157
167
  stopTokens,
@@ -185,9 +195,7 @@ export async function createLLMChatSession(config, options = {}, runtime) {
185
195
 
186
196
  // Prefill newly committed messages up to current user message without generation prompt
187
197
  const toCommit = history.length - committed;
188
- const userPrompt = chatPreprocessor.process(history, toCommit, {
189
- addGenPrompt: false
190
- });
198
+ const userPrompt = chatPreprocessor.process(history, toCommit, prefillOptions);
191
199
  const prefillStats = await prefill(userPrompt, turnGenConfig);
192
200
  chatPreprocessor.clear();
193
201
  if (isCancelled) {
@@ -213,9 +221,7 @@ export async function createLLMChatSession(config, options = {}, runtime) {
213
221
  };
214
222
  }
215
223
  const uncommitted = history.length - committed;
216
- const prompt = chatPreprocessor.process(history, uncommitted, {
217
- addGenPrompt: true
218
- });
224
+ const prompt = chatPreprocessor.process(history, uncommitted, renderOptions);
219
225
  const {
220
226
  response,
221
227
  stats
@@ -273,9 +279,7 @@ export async function createLLMChatSession(config, options = {}, runtime) {
273
279
  // full closed conversation
274
280
  const uncommitted = history.length - committed;
275
281
  if (uncommitted > 0) {
276
- const prompt = chatPreprocessor.process(history, uncommitted, {
277
- addGenPrompt: false
278
- });
282
+ const prompt = chatPreprocessor.process(history, uncommitted, prefillOptions);
279
283
  await prefill(prompt, turnGenConfig);
280
284
  chatPreprocessor.clear();
281
285
  committed = history.length;
@@ -1 +1 @@
1
- {"version":3,"names":["scheduleOnRN","RNBlobUtil","wrapAsync","RnExecuTorchError","createResourceScope","createLLMRunner","parseTokenizerConfig","createChatPreprocessor","generateChatTurnWorklet","runner","prompt","options","genConfig","stopTokens","stopRegex","onToken","response","callback","token","includes","test","stop","stats","generate","DEFAULT_MAX_TURNS","createLLMChatSession","config","runtime","scope","dispose","generationConfig","defaultGenerationConfig","initialMessages","toolOpts","resetOnTurn","modelPath","tokenizerPath","tokenizerConfigPath","modalities","preprocessorConfig","tools","parseToolCalls","maxToolTurns","tokenizerConfigStr","fs","readFile","tokenizerConfig","JSON","parse","chatTemplate","bosToken","eosToken","chatPreprocessorConfig","chatPreprocessor","track","prefill","history","committed","isCancelled","isGenerating","length","push","process","addGenPrompt","clear","generateChatTurn","sendMessage","message","turnGenConfig","generationOpts","initialCommitted","initialPos","getKVCacheState","pos","turnStartIdx","generationStatsList","rollback","reset","role","content","toCommit","userPrompt","prefillStats","messages","finishReason","posAtEndOfUser","currentTurn","uncommitted","cumPrefillStats","parsedTools","toolCalls","textContent","toolCall","tool","find","t","function","name","toolContent","execute","arguments","err","String","toolCallId","id","slice","getHistory","error"],"sourceRoot":"../../../../../src","sources":["extensions/llm/tasks/llmChatSession.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["scheduleOnRN","RNBlobUtil","wrapAsync","RnExecuTorchError","createResourceScope","createLLMRunner","parseTokenizerConfig","createChatPreprocessor","generateChatTurnWorklet","runner","prompt","options","genConfig","stopTokens","stopRegex","onToken","response","callback","token","includes","test","stop","stats","generate","DEFAULT_MAX_TURNS","createLLMChatSession","config","runtime","scope","dispose","generationConfig","defaultGenerationConfig","initialMessages","toolOpts","resetOnTurn","modelPath","tokenizerPath","tokenizerConfigPath","modalities","preprocessorConfig","tools","parseToolCalls","maxToolTurns","tokenizerConfigStr","fs","readFile","tokenizerConfig","JSON","parse","chatTemplate","bosToken","eosToken","chatPreprocessorConfig","chatPreprocessor","track","prefill","history","committed","isCancelled","isGenerating","length","push","prefillOptions","addGenPrompt","enableThinking","process","clear","generateChatTurn","sendMessage","message","turnGenConfig","renderOptions","generationOpts","initialCommitted","initialPos","getKVCacheState","pos","turnStartIdx","generationStatsList","rollback","reset","role","content","toCommit","userPrompt","prefillStats","messages","finishReason","posAtEndOfUser","currentTurn","uncommitted","cumPrefillStats","parsedTools","toolCalls","textContent","toolCall","tool","find","t","function","name","toolContent","execute","arguments","err","String","toolCallId","id","slice","getHistory","error"],"sourceRoot":"../../../../../src","sources":["extensions/llm/tasks/llmChatSession.ts"],"mappings":"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","ignoreList":[]}
@@ -271,7 +271,8 @@ export function createChatPreprocessor(config) {
271
271
  function: t.function
272
272
  })),
273
273
  messages: stringMessages,
274
- add_generation_prompt: addGenPrompt
274
+ add_generation_prompt: addGenPrompt,
275
+ enable_thinking: options?.enableThinking
275
276
  });
276
277
  /* eslint-enable camelcase */
277
278
 
@@ -295,6 +296,7 @@ export function createChatPreprocessor(config) {
295
296
  const {
296
297
  text: prevText
297
298
  } = render(previous, {
299
+ ...options,
298
300
  addGenPrompt: false
299
301
  });
300
302
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["Template","tensor","RnExecuTorchError","createImagePreprocessor","MEDIA_SENTINEL_PREFIX","MEDIA_SENTINEL_REGEX","chatContentToString","content","options","text","mediaMap","Map","mediaIdx","startMediaIdx","item","modalities","includes","kind","token","tokenName","visionToken","audioToken","start","end","set","prepareStringMessages","messages","formattedMessages","mediaCounter","msg","opts","msgMedia","size","k","v","textMsg","role","toolCalls","tool_calls","toolCallId","tool_call_id","name","push","createChatPreprocessor","config","chatTemplate","bosToken","eosToken","preprocessorConfig","tools","template","imgPreprocessor","imgShape","image","undefined","targetShape","preprocessorOpts","tensors","dispose","forEach","t","clear","length","buildPrompt","regex","RegExp","source","prompt","match","lastIndex","exec","textChunk","slice","index","parseInt","media","get","tImage","process","copyTo","tAudio","audio","tail","render","addGenPrompt","stringMessages","bos_token","eos_token","map","type","function","add_generation_prompt","history","lastKMessages","fullRenderedText","previous","prevText","currText","startsWith","diffText"],"sourceRoot":"../../../../../src","sources":["extensions/llm/utils/chatPreprocessor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Template","tensor","RnExecuTorchError","createImagePreprocessor","MEDIA_SENTINEL_PREFIX","MEDIA_SENTINEL_REGEX","chatContentToString","content","options","text","mediaMap","Map","mediaIdx","startMediaIdx","item","modalities","includes","kind","token","tokenName","visionToken","audioToken","start","end","set","prepareStringMessages","messages","formattedMessages","mediaCounter","msg","opts","msgMedia","size","k","v","textMsg","role","toolCalls","tool_calls","toolCallId","tool_call_id","name","push","createChatPreprocessor","config","chatTemplate","bosToken","eosToken","preprocessorConfig","tools","template","imgPreprocessor","imgShape","image","undefined","targetShape","preprocessorOpts","tensors","dispose","forEach","t","clear","length","buildPrompt","regex","RegExp","source","prompt","match","lastIndex","exec","textChunk","slice","index","parseInt","media","get","tImage","process","copyTo","tAudio","audio","tail","render","addGenPrompt","stringMessages","bos_token","eos_token","map","type","function","add_generation_prompt","enable_thinking","enableThinking","history","lastKMessages","fullRenderedText","previous","prevText","currText","startsWith","diffText"],"sourceRoot":"../../../../../src","sources":["extensions/llm/utils/chatPreprocessor.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ import { useModel } from "./useModel.js";
4
+ import { useResourceDownload } from "./useResourceDownload.js";
5
+ import { createInpainter } from "../extensions/cv/tasks/inpainting.js";
6
+
7
+ /**
8
+ * React hook to load and run an image inpainting model.
9
+ *
10
+ * This hook manages downloading (if remote URLs are provided) and loading the
11
+ * model assets, compiling them, tracking download progress and load errors, and
12
+ * releasing native memory when the component unmounts or the configuration
13
+ * changes.
14
+ *
15
+ * For imperative usage, see {@link createInpainter}.
16
+ * @category Hooks
17
+ * @param config The inpainting model configuration.
18
+ * See {@link InpainterModel}.
19
+ * @param options Load and caching options. See {@link ResourceOptions}.
20
+ * @returns The same object as {@link Inpainter} (without `dispose`),
21
+ * combined with loading state and download progress.
22
+ * @see {@link Inpainter}
23
+ */
24
+ export function useInpainter(config, options) {
25
+ const {
26
+ resource,
27
+ downloadProgress,
28
+ downloadError
29
+ } = useResourceDownload(config, options);
30
+ const {
31
+ model,
32
+ error
33
+ } = useModel(createInpainter, resource);
34
+ return {
35
+ isReady: !!model,
36
+ error: downloadError || error,
37
+ downloadProgress,
38
+ resource,
39
+ inpaint: model?.inpaint,
40
+ inpaintWorklet: model?.inpaintWorklet
41
+ };
42
+ }
43
+ //# sourceMappingURL=useInpainter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useModel","useResourceDownload","createInpainter","useInpainter","config","options","resource","downloadProgress","downloadError","model","error","isReady","inpaint","inpaintWorklet"],"sourceRoot":"../../../src","sources":["hooks/useInpainter.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,eAAY;AACrC,SAASC,mBAAmB,QAA8B,0BAAuB;AACjF,SAASC,eAAe,QAA6B,sCAAmC;;AAExF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAACC,MAAsB,EAAEC,OAAyB,EAAE;EAC9E,MAAM;IAAEC,QAAQ;IAAEC,gBAAgB;IAAEC;EAAc,CAAC,GAAGP,mBAAmB,CAACG,MAAM,EAAEC,OAAO,CAAC;EAC1F,MAAM;IAAEI,KAAK;IAAEC;EAAM,CAAC,GAAGV,QAAQ,CAACE,eAAe,EAAEI,QAAQ,CAAC;EAE5D,OAAO;IACLK,OAAO,EAAE,CAAC,CAACF,KAAK;IAChBC,KAAK,EAAEF,aAAa,IAAIE,KAAK;IAC7BH,gBAAgB;IAChBD,QAAQ;IACRM,OAAO,EAAEH,KAAK,EAAEG,OAAO;IACvBC,cAAc,EAAEJ,KAAK,EAAEI;EACzB,CAAC;AACH","ignoreList":[]}
@@ -49,6 +49,7 @@
49
49
  export * from "./hooks/useClassifier.js";
50
50
  export * from "./hooks/useStyleTransfer.js";
51
51
  export * from "./hooks/useDepthEstimator.js";
52
+ export * from "./hooks/useInpainter.js";
52
53
  export * from "./hooks/useSemanticSegmenter.js";
53
54
  export * from "./hooks/useInstanceSegmenter.js";
54
55
  export * from "./hooks/useKeypointDetector.js";
@@ -78,6 +79,7 @@ export * from "./constants.js";
78
79
  export * from "./extensions/cv/tasks/classification.js";
79
80
  export * from "./extensions/cv/tasks/styleTransfer.js";
80
81
  export * from "./extensions/cv/tasks/depthEstimation.js";
82
+ export * from "./extensions/cv/tasks/inpainting.js";
81
83
  export * from "./extensions/cv/tasks/semanticSegmentation.js";
82
84
  export * from "./extensions/cv/tasks/instanceSegmentation.js";
83
85
  export * from "./extensions/cv/tasks/keypointDetection.js";
@@ -1 +1 @@
1
- {"version":3,"names":["models","_profiler","profiler","_schema","schema","_math","math","_cv","cv","_llm","llm","_nlp","nlp","_speech","speech"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,8BAA2B;AACzC,cAAc,iCAA8B;AAC5C,cAAc,iCAA8B;AAC5C,cAAc,gCAA6B;AAC3C,cAAc,8BAA2B;AACzC,cAAc,yBAAsB;AACpC,cAAc,8BAA2B;AACzC,cAAc,4BAAyB;AACvC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,6BAA0B;AACxC,cAAc,qCAAkC;AAChD,cAAc,4BAAyB;AACvC,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,0CAAuC;AACrD,cAAc,gCAA6B;AAC3C,cAAc,qBAAkB;;AAEhC;AACA,cAAc,oBAAW;;AAEzB;AACA,SAASA,MAAM,QAAQ,aAAU;AACjC,cAAc,gBAAa;;AAE3B;AACA,cAAc,yCAAsC;AACpD,cAAc,wCAAqC;AACnD,cAAc,0CAAuC;AACrD,cAAc,+CAA4C;AAC1D,cAAc,+CAA4C;AAC1D,cAAc,4CAAyC;AACvD,cAAc,0CAAuC;AACrD,cAAc,yCAAsC;AACpD,cAAc,0CAAuC;AACrD,cAAc,oCAAiC;AAC/C,cAAc,0CAAuC;AACrD,cAAc,wCAAqC;AACnD,cAAc,yCAAsC;AACpD,cAAc,4CAAyC;AACvD,cAAc,yCAAsC;AACpD,cAAc,yDAAsD;AACpE,cAAc,kDAA+C;AAC7D,cAAc,qDAAkD;AAChE,cAAc,iDAA8C;;AAE5D;AACA,cAAc,6BAA0B;;AAExC;AACA,cAAc,iBAAc;AAC5B,cAAc,iBAAc;AAC5B,cAAc,kBAAe;AAC7B,cAAc,mBAAgB;AAC9B,cAAc,oBAAiB;;AAE/B;AACA;AACA;AACA;AAHA,YAAAC,SAAA,MAI0B,oBAAiB;AAAA,SAAAA,SAAA,IAA/BC,QAAQ;AAEpB;AACA;AACA;AACA;AAHA,YAAAC,OAAA,MAIwB,kBAAe;AAAA,SAAAA,OAAA,IAA3BC,MAAM;AAElB;AACA;AACA;AACA;AAHA,YAAAC,KAAA,MAIsB,sBAAmB;AAAA,SAAAA,KAAA,IAA7BC,IAAI;AAEhB;AACA;AACA;AACA;AAHA,YAAAC,GAAA,MAIoB,0BAAiB;AAAA,SAAAA,GAAA,IAAzBC,EAAE;AAEd;AACA;AACA;AACA;AAHA,YAAAC,IAAA,MAIqB,2BAAkB;AAAA,SAAAA,IAAA,IAA3BC,GAAG;AAEf;AACA;AACA;AACA;AAHA,YAAAC,IAAA,MAIqB,2BAAkB;AAAA,SAAAA,IAAA,IAA3BC,GAAG;AAEf;AACA;AACA;AACA;AAHA,YAAAC,OAAA,MAIwB,8BAAqB;AAAA,SAAAA,OAAA,IAAjCC,MAAM,IAElB;AACA,cAAc,YAAS","ignoreList":[]}
1
+ {"version":3,"names":["models","_profiler","profiler","_schema","schema","_math","math","_cv","cv","_llm","llm","_nlp","nlp","_speech","speech"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,8BAA2B;AACzC,cAAc,yBAAsB;AACpC,cAAc,iCAA8B;AAC5C,cAAc,iCAA8B;AAC5C,cAAc,gCAA6B;AAC3C,cAAc,8BAA2B;AACzC,cAAc,yBAAsB;AACpC,cAAc,8BAA2B;AACzC,cAAc,4BAAyB;AACvC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,6BAA0B;AACxC,cAAc,qCAAkC;AAChD,cAAc,4BAAyB;AACvC,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,0CAAuC;AACrD,cAAc,gCAA6B;AAC3C,cAAc,qBAAkB;;AAEhC;AACA,cAAc,oBAAW;;AAEzB;AACA,SAASA,MAAM,QAAQ,aAAU;AACjC,cAAc,gBAAa;;AAE3B;AACA,cAAc,yCAAsC;AACpD,cAAc,wCAAqC;AACnD,cAAc,0CAAuC;AACrD,cAAc,qCAAkC;AAChD,cAAc,+CAA4C;AAC1D,cAAc,+CAA4C;AAC1D,cAAc,4CAAyC;AACvD,cAAc,0CAAuC;AACrD,cAAc,yCAAsC;AACpD,cAAc,0CAAuC;AACrD,cAAc,oCAAiC;AAC/C,cAAc,0CAAuC;AACrD,cAAc,wCAAqC;AACnD,cAAc,yCAAsC;AACpD,cAAc,4CAAyC;AACvD,cAAc,yCAAsC;AACpD,cAAc,yDAAsD;AACpE,cAAc,kDAA+C;AAC7D,cAAc,qDAAkD;AAChE,cAAc,iDAA8C;;AAE5D;AACA,cAAc,6BAA0B;;AAExC;AACA,cAAc,iBAAc;AAC5B,cAAc,iBAAc;AAC5B,cAAc,kBAAe;AAC7B,cAAc,mBAAgB;AAC9B,cAAc,oBAAiB;;AAE/B;AACA;AACA;AACA;AAHA,YAAAC,SAAA,MAI0B,oBAAiB;AAAA,SAAAA,SAAA,IAA/BC,QAAQ;AAEpB;AACA;AACA;AACA;AAHA,YAAAC,OAAA,MAIwB,kBAAe;AAAA,SAAAA,OAAA,IAA3BC,MAAM;AAElB;AACA;AACA;AACA;AAHA,YAAAC,KAAA,MAIsB,sBAAmB;AAAA,SAAAA,KAAA,IAA7BC,IAAI;AAEhB;AACA;AACA;AACA;AAHA,YAAAC,GAAA,MAIoB,0BAAiB;AAAA,SAAAA,GAAA,IAAzBC,EAAE;AAEd;AACA;AACA;AACA;AAHA,YAAAC,IAAA,MAIqB,2BAAkB;AAAA,SAAAA,IAAA,IAA3BC,GAAG;AAEf;AACA;AACA;AACA;AAHA,YAAAC,IAAA,MAIqB,2BAAkB;AAAA,SAAAA,IAAA,IAA3BC,GAAG;AAEf;AACA;AACA;AACA;AAHA,YAAAC,OAAA,MAIwB,8BAAqB;AAAA,SAAAA,OAAA,IAAjCC,MAAM,IAElB;AACA,cAAc,YAAS","ignoreList":[]}