feat(erase-object): optional high-quality diffusion inpainting bundle (#566)

Adds an opt-in High Quality mode to the Object Eraser, backed by a new inpaint-hq feature bundle (Stable Diffusion 1.5 inpainting via diffusers). The default fast LaMa path is unchanged. Both arch archives are published to deepsafe/feature-bundles and the manifest carries their real sha256/sizes.

Verified end to end: a fresh container pulls the bundle from HuggingFace, checksum-verifies it, extracts torch/diffusers plus the fp16 model, and the HQ sidecar erases a large object with a plausible fill.

Refs #141
This commit is contained in:
SnapOtter
2026-07-19 20:47:35 +08:00
committed by GitHub
parent 84c18eb82c
commit 1bac663a2e
41 changed files with 954 additions and 35 deletions
+3 -2
View File
@@ -37,11 +37,12 @@ describe("Feature manifest structure", () => {
expect(manifest.basePackages).toBeInstanceOf(Array);
});
it("all 7 bundles are defined", () => {
expect(Object.keys(bundles)).toHaveLength(7);
it("all 8 bundles are defined", () => {
expect(Object.keys(bundles)).toHaveLength(8);
expect(bundles["background-removal"]).toBeDefined();
expect(bundles["face-detection"]).toBeDefined();
expect(bundles["object-eraser-colorize"]).toBeDefined();
expect(bundles["inpaint-hq"]).toBeDefined();
expect(bundles["upscale-enhance"]).toBeDefined();
expect(bundles["photo-restoration"]).toBeDefined();
expect(bundles.ocr).toBeDefined();