From 6d95c3da6c01af4d2af5fe9e53f655462a280944 Mon Sep 17 00:00:00 2001 From: Maxim Dolgolyov Date: Sat, 30 May 2026 13:05:09 +0300 Subject: [PATCH] =?UTF-8?q?docs(lab-content-engine):=20resume=20state=20+?= =?UTF-8?q?=20=D1=87=D0=B5=D1=81=D1=82=D0=BD=D1=8B=D0=B9=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D1=81=20=D0=A4=D0=B0=D0=B7=D1=8B=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- plans/lab-content-engine/CONTEXT.md | 12 ++++++++++++ plans/lab-content-engine/PLAN.md | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/plans/lab-content-engine/CONTEXT.md b/plans/lab-content-engine/CONTEXT.md index 6a3032d..739c3a3 100644 --- a/plans/lab-content-engine/CONTEXT.md +++ b/plans/lab-content-engine/CONTEXT.md @@ -42,6 +42,18 @@ manifest: `{ id, cat, title, desc, preview(string|fn), theory?, bodyId?, mount?( - `loadTheory(id)` — если `get(base).theory` есть → рендерим из него; иначе `THEORY[base]`. - `closeSim()`/`_pauseAllSims()` — дополнительно `LabRegistry.stopActive()` / `destroyActive()`. +## RESUME STATE (2026-05-30) +- Ветка `feature/lab-content-engine`. Коммиты: 36c091b (Фаза 0, была неполной) → 8f72d68 (фикс 3 блокеров, ЗАПУШЕН). +- Первое ревью Фазы 0 = FAIL (3 блокера: _registry.js не подключён, пилоты не зарегистрированы, loadTheory не адаптирован). ВСЕ ТРИ ИСПРАВЛЕНЫ в 8f72d68: + - `_registry.js` подключён в lab.html:4799 (после three.js). + - `frontend/js/labs/_pilots.js` — регистрирует graph/quadratic/pendulum; подключён в lab.html:4863 (defer, последним). + - `loadTheory` (lab-glue.js:951) — реестр в приоритете. +- СЛЕДУЮЩИЙ ШАГ: повторное независимое ревью Фазы 0 (агент). Если PASS → Фаза 1. +- Фаза 1 решено вести ПО КАТЕГОРИЯМ с коммитами (math→phys→chem→bio→game), legacy удалять в конце. +- НЕ ПРОВЕРЕНО в браузере (нет автоматизации). Паритет — статически + ревью. +- ВАЖНО: _open* функции глобальны (graph.js:506, quadratic.js:454, pendulum.js:1749). P_* — top-level const в lab-glue.js (доступны cross-script). THEORY — const в lab-init.js. Манифест Фазы1 регистрировать в самом sim-файле, но следить за порядком (preview/theory как fn если файл грузится до lab-glue/lab-init). +- УРОК: lab-glue.js/lab-init.js часто перенумеровываются линтером — перед Edit перечитывать. Делать правки ПО ОДНОЙ с проверкой (был сбой пакетного выполнения). + ## Temporary Workarounds - Пилоты (graph/quadratic/pendulum) оставлены в SIMS/THEORY для порядка карточек и единого источника теории; merge перекрывает по id. Удалить в Фазе 1. diff --git a/plans/lab-content-engine/PLAN.md b/plans/lab-content-engine/PLAN.md index 53668c2..6687089 100644 --- a/plans/lab-content-engine/PLAN.md +++ b/plans/lab-content-engine/PLAN.md @@ -34,7 +34,7 @@ if-цепочками. Далее — ленивая загрузка кода, | Phase | Domain | Status | Review | Build | Committed | |-------|--------|--------|--------|-------|-----------| -| Phase 0: Ядро реестра | frontend | ✅ Done | ✅ PASS | ✅ n/a | ✅ | +| Phase 0: Ядро реестра | frontend | ✅ Done (fix 8f72d68) | ⚠️ RE-REVIEW | ✅ n/a | ✅ | | Phase 1: Миграция всех | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ | | Phase 2: Ленивый mount | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ | | Phase 3: Ленивая загрузка | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |