From 474c1156aa42a0e3755a094b62b5b691e978448a Mon Sep 17 00:00:00 2001 From: Ku6epXBOCTuK Date: Mon, 24 Aug 2026 06:45:12 +0500 Subject: [PATCH] docs: update plans --- docs/{ => archive}/plan-workspace.md | 2 +- docs/roadmap.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) rename docs/{ => archive}/plan-workspace.md (98%) diff --git a/docs/plan-workspace.md b/docs/archive/plan-workspace.md similarity index 98% rename from docs/plan-workspace.md rename to docs/archive/plan-workspace.md index 96eb777..bd78c4f 100644 --- a/docs/plan-workspace.md +++ b/docs/archive/plan-workspace.md @@ -1,6 +1,6 @@ # План: главная страница как рабочая область с цепочкой -> Статус: план к выполнению. Заменяет идею отдельной страницы рабочего пространства. +> **СТАТУС: ВЫПОЛНЕН 2026-08-23.** Заменяет идею отдельной страницы рабочего пространства. ## 1. Модель diff --git a/docs/roadmap.md b/docs/roadmap.md index b8f93c1..1079bd6 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -8,6 +8,10 @@ - **Пайплайн = JSON-список шагов** `{tool, params}`. Формат закладывается сейчас и потом станет общим для браузера, wasm и CLI. - **Реестр инструментов** (id, title, description, схема параметров, `run`) — источник истины: из него генерируются страницы, формы, пайплайны. Позже — общий формат для Rust-парсера. - Валидация будущего Rust-порта — эталонные файлы, сгенерированные из TS-реализации. Сравнение: **бит-в-бит** для чистых пиксельных операций, **perceptual diff** для canvas-зависимых. +- **Единая точка исполнения инструментов.** Страницы вызывают операции только через `web/src/lib/tools/executor.ts::executeStep` — нигде напрямую `tool.run`. Контракт уже асинхронный (`Promise`), поэтому: + - когда появятся тяжёлые MEDIUM-операции (свёртки, квантование), внутренности `executeStep` переезжают в Web Worker — воркер импортирует тот же чистый core как TS-фолбэк, алгоритмы не дублируются, вызывающий код не меняется; + - в WASM-фазе тот же воркер принимает wasm-модуль и диспетчеризует по `toolId` — свитч A/B из фазы 5 сводится к замене реализации внутри исполнителя; + - до появления MEDIUM-операций воркер не вводится: EASY-операции быстры и не блокируют UI. ## 1. Структура репозитория (этап TS)