From 684423de679fc1b65195bd4fb1ce43290577722e Mon Sep 17 00:00:00 2001 From: Ku6epXBOCTuK Date: Mon, 5 Oct 2026 11:27:19 +0500 Subject: [PATCH] feat: split to parts show sizes of parts --- docs/backlog.md | 7 +++++-- web/src/lib/components/schema/PreviewTile.svelte | 8 +++++++- web/src/lib/components/schema/SchemaResultTile.svelte | 7 +++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/docs/backlog.md b/docs/backlog.md index 8677ddd..a8d3b5e 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -70,8 +70,6 @@ - [ ] qr code to text, text to qr code - [ ] bar code to text, text to bar code -- [ ] split-into-parts-png - в результате надо выводить размеры получившихся - файлов - [ ] split-into-parts-png — режим «по размеру тайла»: указываешь размер тайла (16×16, 32×32…, список `SIZE_PRESETS`), инструмент сам считает сетку — сценарий «режу спрайтшит, знаю размер тайла, не знаю сетку» (новый режим: @@ -157,6 +155,11 @@ - [ ] просмотр картинки в оригинальном размере, и возможно с зумом отдельных областей, чтобы просмотреть мелкие артефакты, выбор разных подложек - черная\белая\цветные\серая для проверки прозрачных картинок +- [ ] ограничить максимальную высоту превью картинок, сейчас при загрузке + картинки 832 × 1216 px (на экране 2560х1440) - картинку неудобно + просматривать +- [ ] при клике на картинку-исходник предложить загрузитрь другой файл (возможно + сделать кнопку, которая появляется при ховере на картинке) - [ ] обдумать объединение пар `inputMode + source` и `resultKind + result` в единую структуру, позволит упростить некоторые вещи - например `sourceValue` \ `resultValue` в `SchemaPreview.svelte` diff --git a/web/src/lib/components/schema/PreviewTile.svelte b/web/src/lib/components/schema/PreviewTile.svelte index 5cab081..635fcda 100644 --- a/web/src/lib/components/schema/PreviewTile.svelte +++ b/web/src/lib/components/schema/PreviewTile.svelte @@ -10,6 +10,7 @@ children: Snippet; loading?: boolean; parts?: number; + partsDims?: string; } let { label, @@ -17,6 +18,7 @@ children, loading = false, parts = undefined, + partsDims = undefined, }: Props = $props(); @@ -25,7 +27,11 @@ {label} {#if parts !== undefined} - {parts} {t("resultCard.parts")} + + {parts} + {t("resultCard.parts")}{#if partsDims} + · {partsDims}{/if} + {/if} {#if loading} diff --git a/web/src/lib/components/schema/SchemaResultTile.svelte b/web/src/lib/components/schema/SchemaResultTile.svelte index 6b6aa07..9c29b73 100644 --- a/web/src/lib/components/schema/SchemaResultTile.svelte +++ b/web/src/lib/components/schema/SchemaResultTile.svelte @@ -43,6 +43,12 @@ let parts = $derived( resultKind === "files" && fileResult ? fileResult.files.length : undefined, ); + // Размеры одинаковы у всех частей (канвас дополняется) — показываем один раз. + let partsDims = $derived( + resultKind === "files" && fileResult && fileResult.files.length > 0 + ? `${fileResult.files[0].image.width} × ${fileResult.files[0].image.height}` + : undefined, + );