mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-11-13 17:08:20 +00:00
feat: add chains page, update pipeline usage
This commit is contained in:
+11
-8
@@ -48,14 +48,17 @@ Coverage). Всё остальное в `core/**` — чистые функци
|
||||
Страница исполняет ровно один шаг: загрузил файл → применила инструмент →
|
||||
скачала результат. Отсутствуют:
|
||||
|
||||
- **Пайплайн / цепочки шагов** — модуля нет, состояния нет, localStorage для
|
||||
него нет. Модель страницы уже хранит список `steps`, но исполняет первый шаг,
|
||||
а `registry.test.ts` требует, чтобы шаг был ровно один: композиция формы из
|
||||
полей двух инструментов — отдельная работа, описанная как фаза 11
|
||||
`docs/roadmap.md`. Под неё зарезервированы
|
||||
`components/display/StepCard.svelte` (сейчас импортируется только витриной
|
||||
`/kit`) и ключи `chain.*`, `errors.badPipelineShape`,
|
||||
`errors.pipelineVersion`, `errors.noSteps`.
|
||||
- **Пайплайн / цепочки шагов** — реализованы: модуль шагов
|
||||
`web/src/lib/pipeline.svelte.ts` (createChain/parseChain/serializeSteps),
|
||||
именованные цепочки — `web/src/lib/chains.svelte.ts` (localStorage
|
||||
`chains:named`). Страница инструмента всегда открывается чистой; при первом
|
||||
структурном изменении (добавлен шаг, заменён первый инструмент) цепочка
|
||||
автоматически становится именованной (имя — дата/время) и маршрут бесшовно
|
||||
меняется на `/pipeline?id=<id>` (передача исходника через handoff-стор,
|
||||
replaceState). `/chains` — список цепочек (переименовать/удалить/открыть/
|
||||
создать). Легаси-автосейв `pipeline:<slug>` снят без миграции (ключи просто
|
||||
перестают читаться). Экспортный JSON-формат не устоялся и может меняться до
|
||||
фазы 11 `docs/roadmap.md`.
|
||||
- **Разделения страниц, которые делят один инструмент** — сводит все
|
||||
convert-страницы на один инструмент; задача в `docs/backlog.md`. Пока
|
||||
`registry.test.ts` не требует, чтобы на инструмент ссылались две страницы, а
|
||||
|
||||
@@ -18,16 +18,6 @@
|
||||
- [ ] посмотреть реализацию flip animation svelte для анимации переключения
|
||||
режима aligned\normal
|
||||
- [ ] переделать визуал toggle компонента (которым режим переключается)
|
||||
- [ ] **Идея 3. Несколько цепочек: сохранение и загрузка** — оценка M.
|
||||
Именованные цепочки в localStorage (список, создать/переименовать/
|
||||
удалить), быстрое переключение. Формат экспортного JSON расширить
|
||||
опциональным полем имени; обратной совместимости со старыми выгрузками не
|
||||
делаем — формат не устоялся: он появится вместе с фазой 11
|
||||
`docs/roadmap.md` и до её старта может измениться. Плюс отдельная страница
|
||||
со списком всех цепочек: удалить, переименовать, добавить новую,
|
||||
«использовать» (переход на страницу инструмента с этой цепочкой). На
|
||||
странице — упрощённый вид: только список инструментов цепочки, без
|
||||
реального выполнения и параметров.
|
||||
- [ ] **Идея 4. Batch-обработка архивов выбранным chain** — оценка L. Вход —
|
||||
zip-архив картинок (распаковка в браузере), прогон текущего или выбранного
|
||||
сохранённого chain по каждому файлу, сборка результата обратно в zip для
|
||||
|
||||
Reference in New Issue
Block a user