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 - [ ] qr code to text, text to qr code
- [ ] bar code to text, text to bar code - [ ] bar code to text, text to bar code
- [ ] split-into-parts-png - в результате надо выводить размеры получившихся
файлов
- [ ] split-into-parts-png — режим «по размеру тайла»: указываешь размер тайла - [ ] split-into-parts-png — режим «по размеру тайла»: указываешь размер тайла
(16×16, 32×32…, список `SIZE_PRESETS`), инструмент сам считает сетку — (16×16, 32×32…, список `SIZE_PRESETS`), инструмент сам считает сетку —
сценарий «режу спрайтшит, знаю размер тайла, не знаю сетку» (новый режим: сценарий «режу спрайтшит, знаю размер тайла, не знаю сетку» (новый режим:
@@ -157,6 +155,11 @@
- [ ] просмотр картинки в оригинальном размере, и возможно с зумом отдельных - [ ] просмотр картинки в оригинальном размере, и возможно с зумом отдельных
областей, чтобы просмотреть мелкие артефакты, выбор разных подложек - областей, чтобы просмотреть мелкие артефакты, выбор разных подложек -
черная\белая\цветные\серая для проверки прозрачных картинок черная\белая\цветные\серая для проверки прозрачных картинок
- [ ] ограничить максимальную высоту превью картинок, сейчас при загрузке
картинки 832 × 1216 px (на экране 2560х1440) - картинку неудобно
просматривать
- [ ] при клике на картинку-исходник предложить загрузитрь другой файл (возможно
сделать кнопку, которая появляется при ховере на картинке)
- [ ] обдумать объединение пар `inputMode + source` и `resultKind + result` в - [ ] обдумать объединение пар `inputMode + source` и `resultKind + result` в
единую структуру, позволит упростить некоторые вещи - например единую структуру, позволит упростить некоторые вещи - например
`sourceValue` \ `resultValue` в `SchemaPreview.svelte` `sourceValue` \ `resultValue` в `SchemaPreview.svelte`
@@ -10,6 +10,7 @@
children: Snippet; children: Snippet;
loading?: boolean; loading?: boolean;
parts?: number; parts?: number;
partsDims?: string;
} }
let { let {
label, label,
@@ -17,6 +18,7 @@
children, children,
loading = false, loading = false,
parts = undefined, parts = undefined,
partsDims = undefined,
}: Props = $props(); }: Props = $props();
</script> </script>
@@ -25,7 +27,11 @@
<span> <span>
{label} {label}
{#if parts !== undefined} {#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}
{#if loading} {#if loading}
<RefreshCw class="rotating" size="12" /> <RefreshCw class="rotating" size="12" />
@@ -43,6 +43,12 @@
let parts = $derived( let parts = $derived(
resultKind === "files" && fileResult ? fileResult.files.length : undefined, 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> </script>
<PreviewTile <PreviewTile
@@ -50,6 +56,7 @@
viewMode={resultKind} viewMode={resultKind}
loading={running} loading={running}
{parts} {parts}
{partsDims}
> >
<div <div
class="canvas" class="canvas"