# PLAN — Обогащение «Математики 6»: каждый параграф интересным + интерактивным > Базовый учебник готов (6 глав, движок `math6_engine.js`, `Math6` svg). Тесты 18/18. > Цель этого этапа: сделать **каждый содержательный §** живым и увлекательным для ученика, > который впервые изучает тему. Исполнитель — **Sonnet**, по одной главе за агент (файлы глав независимы). ## Что добавляем в КАЖДЫЙ содержательный § (поверх уже существующего) У каждого § уже есть 2 интерактива + теория-карточки + шпаргалка + подсказка + глоссарий. Sonnet **дополняет** (не ломает существующее) так, чтобы § стал интереснее: 1. **«Где это в жизни» (хук).** Карточка `makeCard('oral', …)` или `theory`: 2–4 предложения — зачем тема нужна, где встречается (деньги, спорт, кулинария, природа, техника, игры). Цепляющее начало. 2. **Разбор примера по шагам.** Карточка `makeCard('example', …)` с **нумерованными шагами** решения (если ещё нет) — чтобы ученик видел алгоритм, а не только ответ. Можно `
` «Решение по шагам». 3. **«А знаешь ли ты?» / интересный факт.** Короткий факт/история по теме (математика, история чисел, рекорды) — `makeCard('theory', 'А знаешь ли ты?', …)` или spoiler. 4. **Минимум 2 РАБОЧИХ интерактива.** Если у § их меньше или они слабые — довести до 2 содержательных (тренажёр со счётом+XP, конструктор/демонстратор, классификатор-DnD, визуализация через `Math6`). Каждый — с обратной связью `feedback()` и начислением `addXp`/`bumpProgress`. 5. **Мини-челлендж «со звёздочкой».** Одна задача чуть сложнее/любопытнее в конце интерактивов (по желанию). Финалы глав (боссы) и прикладные § («Математика вокруг нас») — оставить, можно усилить 1 боссом/задачей. ## Жёсткие правила (НЕ нарушать — иначе сломается движок/страница) - **Редактировать ТОЛЬКО свой файл главы** `frontend/textbooks/math_6_chN.html`. НЕ трогать `math6_engine.js`, `math6_svg.js`, `math6.css`, другие главы — это общие/чужие файлы. - Контент § — внутри его `function buildPk(){…}`; данные — в `SIDEBARS`/`TIPS`/`GLOSSARY`; всё уже подключается через `Object.assign(window.M6, …)` в конце скрипта. **Структуру M6/порядок init НЕ менять.** - Хелперы брать готовые (глобальные от движка): `makeCard, secNav, readBtn, feedback, renderMath, fmt, num, addXp, bumpProgress, achievement, setupSorter, confetti`; графика — `window.Math6.*` (numberLine/plane/pie/venn — только вызывать). Локальные `_ri/_pick/_kf/_round` уже есть в начале скрипта главы. - **KaTeX: десятичная запятая — `2{,}5`** (не `2,5`). Числа считать целочисленными мантиссами (`_mant/_dec`), не float. - **⛔ Эмодзи запрещены** — только inline SVG `.ic`. - Каждый `buildPk` заканчивается `secNav(prev,next) + readBtn('pk')` и `box.innerHTML=…; renderMath(box);` затем навешивает обработчики. - Русский язык, уровень 6 класса, по программе Герасимова. Не выдумывать неверную математику. ## Само-проверка (обязательно перед завершением агента) 1. `node --check` своего файла (через Bash — синтаксис html не проверяется, но JS внутри — нет; вместо этого ниже). 2. Прогнать общий тест: `cd backend && node -e "require('./tests/math6-page.test.js')"` — все тесты зелёные, ошибок скриптов нет. (Тест монтирует каждую главу в jsdom; если builder упал — увидишь.) 3. Если тест по своей главе падает — чинить, не оставлять сломанным. ## Раскладка по агентам (1 глава = 1 агент Sonnet) | Агент | Файл | Параграфы для обогащения | |---|---|---| | ch1 | `math_6_ch1.html` | §1–§10 + §12 (десятичные дроби) | | ch2 | `math_6_ch2.html` | §1–§7 + §9 (проценты, пропорции) | | ch3 | `math_6_ch3.html` | §1–§4 (множества) | | ch4 | `math_6_ch4.html` | §1–§9 + §11 (рациональные числа) | | ch5 | `math_6_ch5.html` | §1–§3 + §5 (координатная плоскость) | | ch6 | `math_6_ch6.html` | §1–§5 (наглядная геометрия) | После работы агентов — общий прогон тестов, ревью, коммит поимённо + push (см. [[project_math6_textbook]]).