fix: update crop tool max sizes - 2000x1200

This commit is contained in:
2026-09-18 18:00:52 +05:00
parent 393f1a6835
commit becf03f416
3 changed files with 39 additions and 33 deletions
+7 -1
View File
@@ -19,6 +19,12 @@
- [ ] Пересмотреть тесты - исправить всякие хрупкие, которые проверяют - [ ] Пересмотреть тесты - исправить всякие хрупкие, которые проверяют
количество инструментов, точное совпадение текстов, поиск по количество инструментов, точное совпадение текстов, поиск по
`img[alt="Result image"]`, svelte классам и тому подобные `img[alt="Result image"]`, svelte классам и тому подобные
- [ ] нужен инструмент для удаления фона по выбранной точке - удалять внутри
выделенной области
- [ ] сделать конвертацию в смайлики\награды для твитча (6 размеров или выбор
какой размер и 2 сетки)
- [ ] неудобно настраивать ползунками, некоторые инструменты удобнее настроить
через drag-n-drop. звучит сложно, но надо придумать процесс
- [ ] можно ли в тестах получать i18n ключ вместо текста? - [ ] можно ли в тестах получать i18n ключ вместо текста?
- [ ] убрать в тестах все нестандартные символы `→`, длинные тире и т.д. - [ ] убрать в тестах все нестандартные символы `→`, длинные тире и т.д.
- [ ] Пересмотреть прозрачность в инструментах - Create empty PNG - прозрачность - [ ] Пересмотреть прозрачность в инструментах - Create empty PNG - прозрачность
@@ -64,7 +70,7 @@
## Переезд ## Переезд
- [ ] добавить i18n в preview - [x] добавить i18n в preview
- [ ] множественные числа (часть/части/частей; «N параметров», счётчики) — - [ ] множественные числа (часть/части/частей; «N параметров», счётчики) —
`tPlural()` и формат `PluralForms`, детали в §Фаза 9 `tPlural()` и формат `PluralForms`, детали в §Фаза 9
`docs/plan-preview-i18n.md` `docs/plan-preview-i18n.md`
+6 -6
View File
@@ -1,10 +1,10 @@
import { ToolError } from "../core/errors";
import { import {
rotateFreeImage, rotateFreeImage,
skewImage, skewImage,
transformImage, transformImage,
zoomImage, zoomImage,
} from "../core/affine"; } from "../core/affine";
import { ToolError } from "../core/errors";
import { import {
centerByAlpha, centerByAlpha,
changeCanvasSize, changeCanvasSize,
@@ -249,22 +249,22 @@ export const cropSchema = toolSchema<CropParams>(
{ {
x: field.number({ x: field.number({
label: "fields.x", label: "fields.x",
min: -100000, min: 0,
max: 100000, max: 2000,
step: 1, step: 1,
default: 0, default: 0,
}), }),
y: field.number({ y: field.number({
label: "fields.y", label: "fields.y",
min: -100000, min: 0,
max: 100000, max: 1200,
step: 1, step: 1,
default: 0, default: 0,
}), }),
size: field.dimension({ size: field.dimension({
label: "fields.cropAreaSize", label: "fields.cropAreaSize",
min: 0, min: 0,
max: 100000, max: 2000,
width: 0, width: 0,
height: 0, height: 0,
}), }),
+26 -26
View File
@@ -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 { import {
rotateFreeImage, rotateFreeImage,
skewImage, skewImage,
transformImage, transformImage,
zoomImage, zoomImage,
} from "../../core/affine"; } 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"; import { num, str } from "../registry-helpers";
export function geometryEntries(): ToolEntry[] { export function geometryEntries(): ToolEntry[] {
@@ -90,8 +90,8 @@ export function geometryEntries(): ToolEntry[] {
id: "x", id: "x",
label: "X (from left)", label: "X (from left)",
type: "number", type: "number",
min: -100000, min: -0,
max: 100000, max: 2000,
step: 1, step: 1,
default: 0, default: 0,
}, },
@@ -99,8 +99,8 @@ export function geometryEntries(): ToolEntry[] {
id: "y", id: "y",
label: "Y (from top)", label: "Y (from top)",
type: "number", type: "number",
min: -100000, min: 0,
max: 100000, max: 1200,
step: 1, step: 1,
default: 0, default: 0,
}, },
@@ -108,8 +108,8 @@ export function geometryEntries(): ToolEntry[] {
id: "width", id: "width",
label: "Area width", label: "Area width",
type: "number", type: "number",
min: -100000, min: 0,
max: 100000, max: 2000,
step: 1, step: 1,
default: 0, default: 0,
}, },
@@ -117,8 +117,8 @@ export function geometryEntries(): ToolEntry[] {
id: "height", id: "height",
label: "Area height", label: "Area height",
type: "number", type: "number",
min: -100000, min: 0,
max: 100000, max: 1200,
step: 1, step: 1,
default: 0, default: 0,
}, },