# План апгрейда: Химия 8 — больше интерактива и наполнения

> База готова: вводный раздел + 6 глав, все 52 §, движок `chem8_engine.js` + 12 виджетов,
> 37 тестов. Этот план — **следующий уровень**: финал курса, глоссарий, новые движки-виджеты,
> 3D-модели молекул, обогащение контента и финалов глав, синхронизация с админкой.

Принципы (как в базовом плане): эталонная SPA-структура, без эмоджи (только inline SVG `.ic`),
KaTeX-эскейпы, jsdom-проверка каждого нового виджета, поиск через `ast-index`, изоляция
химии на ветке `feature/chemistry-8` (cherry-pick из рабочей ветки).

---

## U1 — Финал курса в хабе (Phase 7) ⭐ старт

`chemistry_8_hub.html` сейчас содержит заглушку «Финал курса появится позже». Заменить на
полноценный финал по образцу `physics_9_hub.html`:

- **Шпаргалка курса** — 7 cheat-cards (вводный + 6 глав) с ключевыми формулами/реакциями.
- **10 интегрированных боссов** — задачи, каждая связывает ≥2 раздела (например, «масса осадка
  по уравнению РИО», «c раствора + расчёт по уравнению»). +15 XP за босса.
- **Ачивка «Химик 8 класса»** — при всех 10 → +150 XP, confetti, CTA «К каталогу».
- Прогресс-бар боссов, lazy-render при раскрытии аккордеона, localStorage
  (`chemistry8_course_bosses`, `chemistry8_course_master`).
- jsdom-тест: финал раскрывается, 10 боссов рендерятся, KaTeX, без ошибок.

## U2 — Глоссарий (Phase 8a)

Единый виджет всплывающих определений терминов на всех 8 страницах:

- `chem8_glossary.js` — словарь ~120 терминов (оксид, кислота, основание, соль, моль, валентность,
  степень окисления, электроотрицательность, изотоп, орбиталь, растворимость, концентрация …).
- Авто-подсветка терминов в тексте `.card-body` (`<abbr class="gloss" data-term="…">`) +
  popover с определением и `[[ссылками]]` на связанные термины.
- Кнопка «Глоссарий» в header каждой главы → модальное окно со списком/поиском.
- Тест: словарь парсится, термин даёт определение.

## U3 — Новые движки-виджеты (chem8_svg.js)

Заменить оставшиеся заглушки реальными реализациями + добавить новые:

| Виджет | § | Что делает |
|--------|---|------------|
| `dissociationAnim` | §47, ТЭД | анимация распада соли/кислоты на ионы в воде (canvas/SVG-частицы) |
| `geneticMap` | §22 | интерактивный граф классов (Me→оксид→основание→соль), клик по ребру → реакция |
| `redoxBalancer` | §44 | общий балансировщик ОВР методом e-баланса (не преднабор) |
| `reactionMatrix` | §11,14,17,20 | матрица «реагент × реагент» → продукт/нет реакции |
| `phScale` | §13,16 | расширенная шкала pH с примерами бытовых веществ |
| `ionConverter` | §9,РИО | молекулярное → полное ионное → сокращённое ионное уравнение |

Каждый — с jsdom-смоук-тестом монтажа и расчёта.

## U4 — 3D-модели молекул (biochem-core)

Интегрировать `biochem-core.js` (window.BIO — 2D/3D шаростержневые модели, VSEPR):

- §37–38 — модели H₂, Cl₂, HCl, H₂O, CO₂ (структура + 3D, тип связи, полярность/диполь).
- §41 — 3D-ячейки 4 типов решёток.
- Хелпер `chem8Mol(mount, formula)` — обёртка над BIO для монтажа модели по формуле.
- Тест: модель строится, молярная масса совпадает с `Chem8.molarMass`.

## U5 — Обогащение контента §

По канве учебников Исаченковой (см. [[reference_textbook_sources]]):

- **8–10 задач** на § (сейчас 3–5): добавить уровни сложности, задачи «для любознательных».
- **life-grid** примеры из жизни в каждый § (где уместно).
- **insight-box** «это интересно» / историческая справка.
- **«Контрольные вопросы»** из учебника (адаптированные) — уже частично есть, расширить.
- Разобранные **примеры с пошаговым решением** (`exa-step`) в расчётных §.

## U6 — Финалы глав (интегрированные боссы)

Сейчас финал главы = шпаргалка + POOLS-задачи. Усилить:

- Каждый финал главы → **карта связей** (SVG-граф понятий главы).
- **Achievement-strip** «Мастер главы N» (+50 XP, confetti) при полном прохождении.
- Кнопка перехода к следующей главе.

## U7 — Синхронизация с админкой и доступом (Phase 8b)

- Проверить, что `chemistry-8` и 7 детей видны в админке (`/api/textbooks/admin/all`).
- Если добавлялись sim в `lab.html` → обновить `ADMIN_SIMS` в `admin.html` ([[feedback_sims_admin_sync]]).
- Доступ по классам/ученикам ([[project_content_access]], `/api/access`) — проверить выдачу.
- Прогресс/XP агрегируется в хабе (`/api/textbooks/chemistry-8/children`) — проверить.

## U8 — Качество

- jsdom-смоук на каждый новый виджет (монтаж + расчёт).
- Аудит баланса всех уравнений и KaTeX/`chemEq`-эскейпов.
- Полный прогон `cd backend && npm test`.
- Аудит доступности (контраст, фокус, клавиатура для боссов/тренажёров).

---

## Порядок выполнения

**U1 (Phase 7)** → **U2 глоссарий** → **U3 виджеты** → **U4 3D** → **U5 контент** →
**U6 финалы глав** → **U7 админка** → **U8 качество**.

Темп: один U-блок = волна = commit + проходящие тесты + cherry-pick на `feature/chemistry-8`.

**Старт: U1 — финал курса в хабе.**
