diff --git a/docs/plan-split-into-parts.md b/docs/archive/plan-split-into-parts.md similarity index 93% rename from docs/plan-split-into-parts.md rename to docs/archive/plan-split-into-parts.md index b16595d..9cbbcec 100644 --- a/docs/plan-split-into-parts.md +++ b/docs/archive/plan-split-into-parts.md @@ -1,8 +1,8 @@ # План: инструмент «Разрезать PNG на части» (split-into-parts-png) -> Статус: **в работе** (2026-09). Первый потребитель механизма «результат = -> набор файлов» (1 → many). Общий процесс таких инструментов — отдельная задача -> в `docs/backlog.md`. +> Статус: **выполнено и в архиве** (2026-09). Инструмент и механизм «результат = +> набор файлов» (1 → many) реализованы; первый потребитель — `split-into-parts-png`. +> Общий процесс таких инструментов — задача 18 в `docs/backlog.md`. ## Цель diff --git a/docs/backlog.md b/docs/backlog.md index 0ef4189..8604dc1 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -190,8 +190,10 @@ reverse-area) — ждут UI выделения области на превью. Из `archive/plan-gap-waves.md` («вне очереди»). -11. **Мультифайловый вывод** (split-parts, gif-frames, separate-colors) — ждут - механизма «результат = набор файлов». Из `archive/plan-gap-waves.md`. +11. **Мультифайловые инструменты-потребители** (gif-to-frames, separate-colors) + — механизм «результат = набор файлов» (1 → many) реализован: `FileResult` + + `result: "files"` + скачивание zip-архивом + грид-превью частей. Первый + потребитель — `split-into-parts-png`. Остальные подключаются по мере нужды. 12. **Анимационные** (slow-reveal/fade/scrolling) — выход не PNG; отдельное решение о формате. Из `archive/plan-gap-waves.md`. @@ -232,3 +234,16 @@ отображения (показывает маску или сам результат), и для передачи в следующий инструмент (всегда результат. Оценка — на усмотрение при проработке (S/M). Пока живём без неё. + +18. **Процесс работы с инструментами 1 → many и many → 1** — абстракция + результата «набор файлов» оформлена и работает: тип `FileResult`, + `result: "files"` в реестре, сериализация через executor, скачивание + zip-архивом, грид-превью частей. Реализовано на первом потребителе + `split-into-parts-png` (2026-09, `docs/archive/plan-split-into-parts.md`). + **1 → many:** подключение остальных потребителей (gif-to-frames, + separate-colors) при необходимости; формат/качество файлов внутри zip — + отложено до UX-райза «Download» (п.7). **many → 1** (вход = архив/несколько + картинок → единый результат): не реализовано. Зависит от batch-обработки + архивов (п.5 идей, roadmap фаза 8 «batch-страница»). Нужна отдельная + проработка входа (распаковка zip в браузере, порядок файлов, поведение в + пайплайне — такие инструменты терминальны, как и 1 → many). diff --git a/docs/tools-map.md b/docs/tools-map.md index 3345e46..f1f4d9f 100644 --- a/docs/tools-map.md +++ b/docs/tools-map.md @@ -99,6 +99,7 @@ - add-border-png — thickness, color - fit-on-background-png — width, height, transparent, color - tile-png — columns, rows +- split-into-parts-png — columns, rows (мультифайловый вывод, zip) - trim-empty-space-png — threshold (альфа) - change-canvas-size-png — width, height, anchor (3×3) - change-aspect-ratio-png — ratio (пресеты), mode (crop/pad) @@ -222,9 +223,9 @@ превью: censor-region, erase-region, pixelate-area, blur-area, sharpen-area, reverse-colors-area. Один раз делаем selection-компонент — получаем сразу шесть инструментов. -- **Мультифайловый вывод** — сейчас инструмент отдаёт одну картинку: - split-into-parts, gif-to-frames, separate-colors, multiply-grid-as-files. - Нужен механизм «результат = набор файлов» (zip?). +- **Мультифайловый вывод** — механизм «результат = набор файлов» (zip) + реализован Остальные 1→many: gif-to-frames, separate-colors, + multiply-grid-as-files — подключаются по мере нужды. - **Анимационные эффекты** — slow-reveal, fade-in/out, disappearing, scrolling: это видео/GIF на выходе, а не PNG. Отдельное решение о формате результата. - **HARD-хвост** — glitch-art, extract-signature, handwritten→digital,