From dfb1f531fa121f0750f5b093cec6c63b439df572 Mon Sep 17 00:00:00 2001 From: Ku6epXBOCTuK Date: Sat, 10 Oct 2026 06:09:37 +0500 Subject: [PATCH] refactor: separate output formats from io core --- docs/architecture-audit-2026-10.md | 10 +++-- .../components/schema/SchemaActions.svelte | 2 +- .../components/schema/SchemaDownload.svelte | 7 +-- .../components/schema/SchemaToolView.svelte | 7 +-- .../schema/schema-tool-runner.svelte.ts | 2 +- web/src/lib/core/io.ts | 39 ---------------- web/src/lib/output-formats.ts | 44 +++++++++++++++++++ 7 files changed, 56 insertions(+), 55 deletions(-) create mode 100644 web/src/lib/output-formats.ts diff --git a/docs/architecture-audit-2026-10.md b/docs/architecture-audit-2026-10.md index 0ef9b46..58bebb5 100644 --- a/docs/architecture-audit-2026-10.md +++ b/docs/architecture-audit-2026-10.md @@ -83,11 +83,13 @@ aligned, ontogglealign). `sanitizeSchemaParams(stepSchema, step.params, { source: input })` — тот же контракт, что в `executor/executor.ts` (вход шага как source-контекст). -### M5. UI-метаданные дропдауна скачивания в core-слое +### M5. UI-метаданные дропдауна скачивания в core-слое — СДЕЛАНО (2026-10) -`web/src/lib/core/io.ts:10-47`: `OUTPUT_FORMATS`/`OutputFormatOption` содержат -`label` и `settings.quality` — конфигурацию презентационного дропдауна кнопки -Download. Core по канону «не знает ни о ком». +`OutputFormatOption`/`OUTPUT_FORMATS`/`outputFormatByMime` вынесены из +`core/io.ts` в `web/src/lib/output-formats.ts` (UI-слой: label и +`settings.quality` дропдауна кнопки Download). В core остался только +mime-контракт `OutputMime`; сам `io.ts` таблицу не использовал. Потребители (4 +файла) переведены на новый путь. ### M6. Доменная политика сжатия в IO-модуле diff --git a/web/src/lib/components/schema/SchemaActions.svelte b/web/src/lib/components/schema/SchemaActions.svelte index 00a0286..d206072 100644 --- a/web/src/lib/components/schema/SchemaActions.svelte +++ b/web/src/lib/components/schema/SchemaActions.svelte @@ -2,7 +2,7 @@ import DownloadButton from "$lib/components/ui/DownloadButton.svelte"; import UploadButton from "$lib/components/ui/UploadButton.svelte"; import type { OutputMime } from "$lib/core/io"; - import { outputFormatByMime } from "$lib/core/io"; + import { outputFormatByMime } from "$lib/output-formats"; import { t } from "$lib/i18n/t"; import type { ResultKind } from "$lib/registry"; import SchemaDownload from "./SchemaDownload.svelte"; diff --git a/web/src/lib/components/schema/SchemaDownload.svelte b/web/src/lib/components/schema/SchemaDownload.svelte index dc9a533..ebd72aa 100644 --- a/web/src/lib/components/schema/SchemaDownload.svelte +++ b/web/src/lib/components/schema/SchemaDownload.svelte @@ -1,11 +1,8 @@