feat: split to parts show sizes of parts

This commit is contained in:
2026-10-05 11:27:19 +05:00
parent 7763fb7faa
commit 684423de67
3 changed files with 19 additions and 3 deletions
+5 -2
View File
@@ -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`
@@ -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();
</script>
@@ -25,7 +27,11 @@
<span>
{label}
{#if parts !== undefined}
<span class="count">{parts} {t("resultCard.parts")}</span>
<span class="count">
{parts}
{t("resultCard.parts")}{#if partsDims}
· {partsDims}{/if}
</span>
{/if}
{#if loading}
<RefreshCw class="rotating" size="12" />
@@ -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,
);
</script>
<PreviewTile
@@ -50,6 +56,7 @@
viewMode={resultKind}
loading={running}
{parts}
{partsDims}
>
<div
class="canvas"