diff --git a/docs/backlog.md b/docs/backlog.md index de0f0d4..a716926 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -19,6 +19,12 @@ - [ ] Пересмотреть тесты - исправить всякие хрупкие, которые проверяют количество инструментов, точное совпадение текстов, поиск по `img[alt="Result image"]`, svelte классам и тому подобные +- [ ] нужен инструмент для удаления фона по выбранной точке - удалять внутри + выделенной области +- [ ] сделать конвертацию в смайлики\награды для твитча (6 размеров или выбор + какой размер и 2 сетки) +- [ ] неудобно настраивать ползунками, некоторые инструменты удобнее настроить + через drag-n-drop. звучит сложно, но надо придумать процесс - [ ] можно ли в тестах получать i18n ключ вместо текста? - [ ] убрать в тестах все нестандартные символы `→`, длинные тире и т.д. - [ ] Пересмотреть прозрачность в инструментах - Create empty PNG - прозрачность @@ -64,7 +70,7 @@ ## Переезд -- [ ] добавить i18n в preview +- [x] добавить i18n в preview - [ ] множественные числа (часть/части/частей; «N параметров», счётчики) — `tPlural()` и формат `PluralForms`, детали в §Фаза 9 `docs/plan-preview-i18n.md` diff --git a/web/src/lib/registry/geometry.ts b/web/src/lib/registry/geometry.ts index 66631d3..1a4aab3 100644 --- a/web/src/lib/registry/geometry.ts +++ b/web/src/lib/registry/geometry.ts @@ -1,10 +1,10 @@ -import { ToolError } from "../core/errors"; import { rotateFreeImage, skewImage, transformImage, zoomImage, } from "../core/affine"; +import { ToolError } from "../core/errors"; import { centerByAlpha, changeCanvasSize, @@ -249,22 +249,22 @@ export const cropSchema = toolSchema( { x: field.number({ label: "fields.x", - min: -100000, - max: 100000, + min: 0, + max: 2000, step: 1, default: 0, }), y: field.number({ label: "fields.y", - min: -100000, - max: 100000, + min: 0, + max: 1200, step: 1, default: 0, }), size: field.dimension({ label: "fields.cropAreaSize", min: 0, - max: 100000, + max: 2000, width: 0, height: 0, }), diff --git a/web/src/lib/v1/registry/geometry.ts b/web/src/lib/v1/registry/geometry.ts index 5e6e224..8b081c6 100644 --- a/web/src/lib/v1/registry/geometry.ts +++ b/web/src/lib/v1/registry/geometry.ts @@ -1,27 +1,27 @@ -import type { ToolEntry } from "../registry"; -import { ToolError } from "../../core/errors"; -import { - crop, - expandCanvas, - flip, - resize, - rotate90, - tile, - centerByAlpha, - changeCanvasSize, - cropToRatio, - forceOrientation, - padToRatio, - symmetricCopy, - trimToContent, - type Anchor9, -} from "../../core/geometry"; import { rotateFreeImage, skewImage, transformImage, zoomImage, } from "../../core/affine"; +import { ToolError } from "../../core/errors"; +import { + centerByAlpha, + changeCanvasSize, + crop, + cropToRatio, + expandCanvas, + flip, + forceOrientation, + padToRatio, + resize, + rotate90, + symmetricCopy, + tile, + trimToContent, + type Anchor9, +} from "../../core/geometry"; +import type { ToolEntry } from "../registry"; import { num, str } from "../registry-helpers"; export function geometryEntries(): ToolEntry[] { @@ -90,8 +90,8 @@ export function geometryEntries(): ToolEntry[] { id: "x", label: "X (from left)", type: "number", - min: -100000, - max: 100000, + min: -0, + max: 2000, step: 1, default: 0, }, @@ -99,8 +99,8 @@ export function geometryEntries(): ToolEntry[] { id: "y", label: "Y (from top)", type: "number", - min: -100000, - max: 100000, + min: 0, + max: 1200, step: 1, default: 0, }, @@ -108,8 +108,8 @@ export function geometryEntries(): ToolEntry[] { id: "width", label: "Area width", type: "number", - min: -100000, - max: 100000, + min: 0, + max: 2000, step: 1, default: 0, }, @@ -117,8 +117,8 @@ export function geometryEntries(): ToolEntry[] { id: "height", label: "Area height", type: "number", - min: -100000, - max: 100000, + min: 0, + max: 1200, step: 1, default: 0, },