feat: replace Python seam carving with caire Go binary

Replace the Python seam-carving library with caire (esimov/caire v1.5.0),
a Go-based content-aware resize engine that is faster and supports both
shrinking and enlarging via seam insertion.

- Add Go builder stage in Dockerfile to compile caire from source
- Rewrite seam-carving.ts to call caire via execFile (no Python sidecar)
- Remove content-aware-resize from PYTHON_SIDECAR_TOOLS (60s timeout)
- Add new options: blur radius, edge sensitivity, square mode, face detection
- Move content-aware toggle below standard resize in UI (subtler placement)
- Rename "Don't enlarge" to "Limit to original size" with hover tooltip
- Add smooth progress bar for medium-duration tools
- Delete seam_carve.py and remove seam-carving pip dependency
- Update integration tests and visual regression screenshots
This commit is contained in:
Siddharth Kumar Sah
2026-04-11 17:49:28 +08:00
parent b8227c45b9
commit 1707521f3a
13 changed files with 466 additions and 327 deletions
-1
View File
@@ -390,5 +390,4 @@ export const PYTHON_SIDECAR_TOOLS = [
"blur-faces",
"erase-object",
"ocr",
"content-aware-resize",
] as const;