feat(erase-object): add freeform lasso selection mode (#503)

Adds a Brush | Lasso toggle to the object eraser. Lasso lets the user drag a freeform loop that auto-closes and fills into the mask, so they select around a subject instead of painting every pixel. Frontend-only; the mask contract is unchanged. Also un-skips the erase-object e2e suite via a shared mockAiFeaturesInstalled helper (7 tests now run; 2 multi-file tests fixme'd for a pre-existing tool-page remount bug). Closes #492.
This commit is contained in:
SnapOtter
2026-07-11 22:27:51 +08:00
committed by GitHub
parent 380419dd06
commit 601557edae
27 changed files with 408 additions and 124 deletions
+3
View File
@@ -1565,6 +1565,8 @@ export const ru: TranslationKeys = {
progressLabelBatch: "Увеличение {count} изображений",
},
"erase-object": {
brushMode: "Кисть",
lassoMode: "Лассо",
brushSize: "Размер кисти",
fine: "Тонкая",
wide: "Широкая",
@@ -1573,6 +1575,7 @@ export const ru: TranslationKeys = {
outputFormat: "Формат вывода",
quality: "Качество",
paintHint: "Закрасьте объекты, которые хотите удалить. Нажмите Ctrl+Z для отмены.",
lassoHint: "Обведите петлёй объект, который хотите удалить. Нажмите Ctrl+Z для отмены.",
submit: "Удалить объект",
submitBatch: "Удалить всё ({count})",
progressLabel: "Удаление объекта",