# Feature: Контент-движок лаборатории (симуляции как данные) **Branch:** `feature/lab-content-engine` **Base branch:** `master` **Created:** 2026-05-30 **Status:** 🟡 In Progress **Strategy:** Big Bang **Mode:** Automated **Execution:** Direct ## Summary Превратить захардкоженную в 6 местах регистрацию ~49 симуляций лаборатории в единый декларативный манифест + реестр (`LabRegistry`). Каждая симуляция сама себя регистрирует объектом `{id, cat, title, desc, preview, theory, bodyId/mount, open, stop, destroy, subject, grade, topics}`. Ядро (renderSims/openSim/closeSim/loadTheory) работает с реестром, а не с массивами и if-цепочками. Далее — ленивая загрузка кода, БД-бэкенд с админкой и курикулумная привязка. ## Build & Test Commands - **Build:** — (фронт без сборки, статика через Express) - **Test:** `cd backend && npm test` (актуально для Фаз 4-5; Фазы 0-3 — статическая проверка + ревью по диффу) - **Lint:** `cd backend && npm run lint:routes` (актуально для Фаз 4-5) ## Phases - [x] Phase 0: Ядро реестра + адаптер + 3 пилота [domain: frontend] → [subplan](./phase-0-registry-core.md) - [x] Phase 1: Миграция всех симуляций на манифесты [domain: frontend] → [subplan](./phase-1-migrate-all.md) - [ ] Phase 2: Тела симуляций как шаблоны + ленивый mount [domain: frontend] → [subplan](./phase-2-lazy-mount.md) - [ ] Phase 3: Ленивая загрузка кода симуляций [domain: frontend] → [subplan](./phase-3-lazy-load.md) - [ ] Phase 4: Реестр в БД + API + админка [domain: fullstack] → [subplan](./phase-4-db-admin.md) - [ ] Phase 5: Курикулумная привязка [domain: fullstack] → [subplan](./phase-5-curriculum.md) ## Phase Progress Log | Phase | Domain | Status | Review | Build | Committed | |-------|--------|--------|--------|-------|-----------| | Phase 0: Ядро реестра | frontend | ✅ Done (fix 0888a70) | ✅ PASS (re-review) | ✅ n/a | ⚠️ local only (push auth fail) | | Phase 1: Миграция всех | frontend | ✅ Done (ebb2a9b) | ✅ PASS | ✅ n/a | ✅ pushed | | Phase 2: Ленивый mount | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ | | Phase 3: Ленивая загрузка | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ | | Phase 4: БД + админка | fullstack | ⬜ Not Started | ⬜ | ⬜ | ⬜ | | Phase 5: Курикулум | fullstack | ⬜ Not Started | ⬜ | ⬜ | ⬜ | ## Final Review - [ ] Comprehensive code review - [ ] Full build passes - [ ] Full test suite passes - [ ] Merged to `master` ## Notes (Big Bang temporary breakage map) - Фаза 1 может временно ломать каталог/открытие симуляций пока миграция не завершена — устраняется внутри Фазы 1. - Фаза 2 временно меняет структуру lab.html (вынос тел) — устраняется внутри Фазы 2. - Полная работоспособность лаборатории гарантируется после ФИНАЛЬНОЙ фазы.