Зафиксирована накопленная незакоммиченная работа рабочего дерева, КРОМЕ файлов учебника «Химия 7» (migration 046, chemistry_7_*.html, chem7_svg.js, тест — оставлены незакоммиченными по запросу). Включает: модуль биохимии (ядро BIO, 3D VSEPR, химдвижок, баланс, challenges, пути из БД), System Health Level 1 (вердикт/мониторинг), а также frontend- страницы и lab/textbooks-правки параллельной сессии. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
34 KiB
План реализации: Химия 9 (Беларусь) — интерактивный наглядный учебник
Цель: превратить существующий «текстовый» каркас
chemistry_9.htmlв максимально полный, интерактивный и наглядный учебник по всей программе 9 класса — на уровне качества уже сделанных Физики 9 / Алгебры 9 / Геометрии 9, но с химической спецификой (молекулы, уравнения реакций, ионы, осадки, газы, симуляторы).
🎯 Источник
| Параметр | Значение |
|---|---|
| Книга | Himiya_Shimanovich_9kl_rus_2025.pdf |
| Авторы | Шиманович И. Е., Василевская Е. И., Зураев А. В., Красицкий В. А., Сечко О. И. |
| Под ред. | И. Е. Шимановича |
| Изд. | Минск, «Адукацыя і выхаванне», 2025 (2-е изд., переработанное), 288 с. |
| ISBN | 978-985-34-0189-9 |
| Структура | 4 главы, 53 §, 6 лабораторных опытов, 4 практические работы |
| Справочные таблицы | ПСХЭ Менделеева, таблица растворимости, ряд активности металлов (форзацы) |
PDF лежит в G:\Dev\Тесты\Методички\тест_6 класс\Книги\ (есть и издание 2019 г.).
📗 ПОЛНАЯ КАРТА СОДЕРЖАНИЯ (53 §)
Колонка «Интерактив» — главный наглядный элемент, который страница ДОЛЖНА давать сверх текста (минимум 1 «звёздный» виджет на §; полный набор виджетов — ниже в стандарте).
ГЛАВА 1. Повторение курса 8 класса (§§1–3) — amber
| § | Тема | Ключ | Интерактив (звёздный виджет) |
|---|---|---|---|
| §1 | Основные классы неорганических веществ | оксиды/кислоты/основания/соли, генетическая связь | Классификатор: drag формулы → класс; граф генетических переходов |
| §2 | Строение атома и периодический закон | Z, p/n/e, 1s^22s^2…, периодичность |
Интерактивная ПСХЭ (periodic) + конструктор электронной конфигурации |
| §3 | Химическая связь | ионная / ковалентная (полярн./неполярн.) / металлическая, ЭО | Визуализатор связи: slider ЭО → тип связи; диполь, электронные пары |
ГЛАВА 2. Растворы. Теория электролитической диссоциации (§§4–11) — blue
| § | Тема | Ключ | Интерактив |
|---|---|---|---|
| §4 | Растворы как смеси веществ | раствор = растворитель + растворённое в-во | Анимация растворения (частицы) |
| §5 | Качественные характеристики состава растворов | насыщ./ненасыщ./пересыщ., растворимость, кривые растворимости | График растворимости s=f(t) с подвижной точкой |
| §6 | Количественные характеристики. Массовая доля | w=\dfrac{m_{в-ва}}{m_{р-ра}}, c=\dfrac{n}{V} |
Калькулятор раствора (w, c, разбавление, смешение) |
| §7 | Электролитическая диссоциация в растворах | электролиты/неэлектролиты, гидратация ионов | Анимация диссоциации NaCl/HCl в воде |
| §8 | Диссоциация кислот, оснований и солей | HCl\to H^++Cl^-, ступенчатая дисс. |
Конструктор уравнений диссоциации |
| §9 | Реакции ионного обмена | условия необратимости: ↓ ↑ H₂O | Предсказатель РИО + конвертер молек.↔полн.ион.↔сокр.ион. |
| §10 | Свойства кислот/оснований/солей с точки зрения ТЭД | ионные сущности реакций | Матрица реакций «реагент × реагент» |
| §11 | Вода и растворы в жизни человека | значение воды, растворы в быту | Инфографика-исследование |
Практическая работа 1 (после §6): приготовление раствора с заданной w.
Практическая работа 2 (после §9): реакции ионного обмена.
ГЛАВА 3. Неметаллы (§§12–39) — cyan / teal
| § | Тема | Ключ | Интерактив |
|---|---|---|---|
| §12 | Общая характеристика неметаллов | положение в ПСХЭ, ЭО, окислители | Подсветка неметаллов в ПСХЭ |
| §13 | Простые вещества неметаллы | аллотропия (O₂/O₃, алмаз/графит/фуллерен) | 3D-модели аллотропов (biochem 3D) |
| §14 | Водород | получение, св-ва, H_2+O_2 |
Сборка прибора получения H₂ |
| §15 | Галогены | F,Cl,Br,I, окислит. способность ↓ |
Ряд активности галогенов + вытеснение |
| §16 | Хлороводород. Соляная кислота | HCl, свойства |
Диссоциация + реакции HCl |
| §17 | Хлориды. Применение HCl и хлоридов | качеств. реакция на Cl^- |
Качественная реакция AgCl↓ (анимация осадка) |
| §18 | Кислород — элемент и простое вещество | O_2, окисление, горение |
Симулятор горения |
| §19 | Кислород в природе. Получение и применение | круговорот, способы получения | Инфографика круговорота |
| §20 | Сера — элемент и простое вещество | аллотропия серы, S+Me |
3D-модель S₈ |
| §21 | Сероводород | H_2S, св-ва, сульфиды |
Реакции H₂S |
| §22 | Оксид серы(IV) и оксид серы(VI) | SO_2, SO_3, кислотные оксиды |
Кислотные дожди (инфографика) |
| §23 | Серная кислота | H_2SO_4 конц./разб., безопасность |
Анимация разбавления (кислоту в воду!) |
| §24 | Реакции получения серной кислоты. Практический выход | контактный способ, \eta |
Калькулятор практического выхода |
| §25 | Сульфаты. Применение | качеств. реакция на SO_4^{2-} |
Качественная реакция BaSO₄↓ |
| §26 | Азот — элемент и простое вещество | N_2, тройная связь |
3D-модель N₂ |
| §27 | Аммиак | NH_3, донорно-акц. связь |
Фонтан аммиака (анимация) |
| §28 | Соли аммония | NH_4^+, разложение |
Качеств. реакция на NH_4^+ |
| §29 | Азотная кислота | HNO_3, особые окислит. св-ва |
Реакции с металлами (без H₂) |
| §30 | Нитраты. Применение HNO₃ и нитратов | разложение нитратов, селитры | Карта разложения нитратов |
| §31 | Фосфор — элемент и простое вещество | аллотропия (бел./красн.) | 3D-модель P₄ |
| §32 | Кислородсодержащие соединения фосфора | P_2O_5, H_3PO_4, фосфаты |
Ступенчатая диссоциация H₃PO₄ |
| §33 | Минеральные удобрения | N/P/K, аммофос, суперфосфат | NPK-калькулятор удобрений |
| §34 | Углерод — элемент и простое вещество | аллотропия (алмаз/графит/фуллерен), адсорбция | 3D-модели + адсорбция |
| §35 | Оксиды углерода | CO (яд), CO_2 |
Свойства CO/CO₂ |
| §36 | Угольная кислота и её соли | H_2CO_3, карбонаты/гидрокарбонаты, жёсткость |
Качеств. реакция на CO_3^{2-} (вскипание) + сталактиты |
| §37 | Кремний — элемент и простое вещество | Si, полупроводник |
3D-решётка (как алмаз) |
| §38 | Оксид кремния(IV). Кремниевая кислота | SiO_2, силикаты |
Структура SiO₂ |
| §39 | Строительные материалы | стекло, керамика, цемент, бетон | Конструктор «варки стекла» |
Лаб. опыты: 1 — на Cl^- (после §17), 2 — на SO_4^{2-} (после §25), 3 — на NH_4^+ (после §28), 4 — на CO_3^{2-} (после §36).
Практическая работа 3 (после §39): решение экспериментальных задач «Неметаллы».
ГЛАВА 4. Металлы (§§40–53) — deep-orange / rose
| § | Тема | Ключ | Интерактив |
|---|---|---|---|
| §40 | Металлы. Общая характеристика элементов | положение в ПСХЭ, Me^0-ne^-\to Me^{n+} |
Подсветка металлов в ПСХЭ |
| §41 | Простые вещества металлы. Физические свойства. Сплавы | металлич. связь, «электронный газ», сплавы | Модель металлич. связи + конструктор сплавов |
| §42 | Общие химические свойства металлов | ряд активности, $Me$+кислота/соль/вода | Интерактивный ряд активности (предсказание реакции) |
| §43 | Щелочные металлы | Li,Na,K…, реакция с водой |
Анимация Na+H_2O |
| §44 | Важнейшие соединения натрия и калия | NaOH, Na_2CO_3, применение |
Применение (инфографика) |
| §45 | Электролиз расплавов солей | катод/анод, 2NaCl\to2Na+Cl_2 |
Симулятор электролиза (electrolysis) |
| §46 | Магний и щёлочноземельные металлы | Mg,Ca,Sr,Ba, цвета пламени |
Цвета пламени (интерактив) |
| §47 | Важнейшие соединения магния и кальция | CaO, Ca(OH)_2, CaCO_3, гипс |
Превращения Ca-соединений |
| §48 | Качественное обнаружение ионов Ca²⁺/Ba²⁺. Жёсткость воды | Ba^{2+}+SO_4^{2-}, жёсткость, умягчение |
Симулятор жёсткости воды + устранение |
| §49 | Алюминий | Al, амфотерность, алюмотермия |
Реакции Al (амфотерность) |
| §50 | Оксид и гидроксид алюминия. Соли алюминия | Al_2O_3, Al(OH)_3 амфотерны |
Амфотерность (реакция и с кислотой, и со щёлочью) |
| §51 | Железо. Физические и химические свойства. Коррозия | Fe, Fe^{2+}/Fe^{3+}, ржавление |
Симулятор коррозии |
| §52 | Важнейшие соединения железа. Качественные реакции на ионы железа | FeO/Fe_2O_3, Fe^{2+}/Fe^{3+} обнаружение |
Качеств. реакции на Fe^{2+}, Fe^{3+} |
| §53 | Получение железа. Применение | доменная печь, чугун/сталь | Анимация доменной печи |
Лаб. опыт 5 (после §48): качеств. реакции на Ca^{2+}/Ba^{2+}.
Лаб. опыт 6 (после §52): получение и окисление Fe(OH)_2.
Практическая работа 4 (после §52): решение экспериментальных задач «Металлы».
Итого: 53 §, 4 главы, 6 лаб. опытов, 4 практические работы.
🔍 ТЕКУЩЕЕ СОСТОЯНИЕ chemistry_9.html (gap-анализ)
Файл уже существует: frontend/textbooks/chemistry_9.html (~860 КБ, 10 659 строк).
Что есть ✅
- Скелет страницы по образцу физики: header, para-selector (карточки секций), табы, sidebar
- Все 53 § как
data-para="p1"..."p53"(структура совпадает с реальной книгой) - Amber-палитра + dark mode, адаптив
- ~58 маркеров
boss/quiz/тренаж— есть зачатки тренажёров - Автоначисление XP через
/js/textbook-xp-widget.js(+5 XP за первый клик по §) - Прогресс/закладки через
/js/textbook-tracker.js+ БД (textbooks,textbook_progress,textbook_bookmarks)
Чего НЕТ ❌ (главный объём работы)
- Наглядность: всего 12
<svg>на весь файл, 0<canvas>, 0 симуляторов (openSimне вызывается ни разу) - 0 молекулярных моделей (хотя
biochem-core.jsумеет 2D/3D шаростержневые) - 0 рендера уравнений реакций (нет стрелок реакций
→ ⇌ ↑ ↓ →[t], коэффициентов, состояний) - 0 глоссария (в других учебниках есть)
- Таблица растворимости и ряд активности — только картинки на форзаце, не интерактивны
- Заголовок/водяной знак содержат артефакты от копирования шаблона «МЕТАЛЛЫ»; title
«§1–60»— устарел (реально 53 §) - Секционная группировка карточек (
psel-c1..c6) не выровнена на 4 главы книги
Вывод: каркас переиспользуем, но содержательно страница «текстовая». План = наполнить её химическим интерактивом и наглядностью + исправить метаданные.
⚗️ ХИМИЧЕСКИЙ СТАНДАРТ КАЧЕСТВА
A. Движки и переиспользуемые активы
| Что нужно | Берём из | Файл |
|---|---|---|
| Парсинг формул, молярная масса, формула Хилла | biochem-core | frontend/js/biochem-core.js |
| 2D/3D шаростержневые модели, VSEPR-геометрия | biochem-core | frontend/js/biochem-core.js |
| Интерактивная ПСХЭ | sim periodic |
реестр frontend/js/labs/ |
| Электролиз | sim electrolysis |
реестр |
| Титрование | sim titration |
реестр |
| Качественный анализ | sim qualanalysis |
реестр |
| Растворы/концентрации | sim solutions |
реестр |
| Стехиометрия | sim stoichiometry |
реестр |
| Песочница реакций | sim chemsandbox |
реестр |
Симуляторы монтируются как в других страницах: контейнер <div id="sim-<id>"></div> +
вызов openSim('<id>') (или прямой mount через window.LabRegistry).
B. Новый общий хелпер /js/chem9_svg.js (по образцу geom7_svg.js, alg10_svg.js)
Чисто химические примитивы, которых нет в biochem-core:
// 1. Рендер уравнения реакции: коэффициенты, состояния, стрелки, условия над стрелкой
// chemEq('2Na + 2H2O -> 2NaOH + H2^', {cond:'', arrow:'->'}) → HTML с верхн./нижн. индексами, ↑↓, ⇌, →[t°]
const chemEq = (src, opts={}) => { /* токенизация формул, KaTeX-подобный рендер */ };
// 2. Ион с зарядом: ionLabel('SO4', -2) → 'SO₄²⁻'
const ionLabel = (formula, charge) => { /* нижние индексы + надстрочный заряд */ };
// 3. Пробирка с осадком / газом / окраской (SVG-анимация)
const testTube = ({fill, precipitate, gas, color, label}) => { /* svg */ };
// 4. Орбитальная диаграмма (стрелки в клетках): orbitalDiagram('1s2 2s2 2p6 3s2 3p2')
const orbitalDiagram = (config) => { /* svg клетки + ↑↓ */ };
// 5. Интерактивная таблица растворимости (виджет с подсветкой пары катион×анион)
const solubilityTable = (mount, {highlight}) => { /* P/Н/М/— из форзаца */ };
// 6. Интерактивный ряд активности металлов (drag/клик → предсказание реакции)
const activitySeries = (mount, opts) => { /* K Ca Na Mg Al Zn Fe ... Au */ };
// 7. Мини-ПСХЭ с подсветкой (элемент/группа/период/семейство)
const miniPeriodic = (mount, {highlight, onClick}) => { /* 118 элементов */ };
// 8. Индикатор + шкала pH (лакмус/фенолфталеин/метилоранж)
const indicatorScale = (mount, {ph, indicator}) => { /* цвет полоски */ };
// 9. Анимация диссоциации/растворения (частицы ионов разлетаются)
const dissociationAnim = (mount, {salt}) => { /* canvas/SVG-частицы */ };
Молекулы (структурные/шаростержневые/3D) — через biochem-core.js, не дублировать.
C. Правила рендера химии (обязательны с §1)
- Формулы веществ — нижние индексы для атомов (
H_2O,CaCO_3), верхние для зарядов ионов (SO_4^{2-}); единый рендер черезchemEq/ionLabel, не «сырой» текст. - Уравнения реакций — всегда сбалансированы; стрелки:
=/→(необратимая),⇌(обратимая),↑(газ),↓(осадок), условия над стрелкой (t,\text{кат.},\text{эл.ток}). - Состояние — для качественных реакций обязательно показывать признак: цвет осадка, пузырьки газа, изменение окраски индикатора (через
testTube/indicatorScale). - Ионные уравнения — для §9–10 и всех качественных реакций давать тройку: молекулярное → полное ионное → сокращённое ионное (виджет-конвертер).
- Молекулярные модели — структурная формула + 3D (biochem-core); для каждого изучаемого простого вещества/важного соединения хотя бы 1 модель.
- Цвета — химически достоверные: осадки (
AgClбелый,Cu(OH)_2голубой,Fe(OH)_3бурый,Fe(OH)_2зеленоватый), пламя (Caкирпично-красный,Srкарминовый,Baжёлто-зелёный,Naжёлтый,Kфиолетовый). - Безопасность — где уместно (разбавление
H_2SO_4, ядовитостьCO,H_2S) — заметка-«скрепка» с предупреждением. - KaTeX-эскейпы — в JS-шаблонах двойной backslash (
\\to,\\downarrow,\\rightleftharpoons). - Drag/слайдеры —
window-listeners +{passive:false}+ state ВЫШЕredraw()(как в стандарте геометрии),touch-action:noneна draggable SVG/canvas. - Без эмоджи — только inline SVG
.ic/.ico(правило проекта).
D. Типы интерактивов по химическим темам
| Тип темы | Интерактив |
|---|---|
| Строение атома / ПСХЭ (§2, 12, 40) | miniPeriodic, orbitalDiagram, sim periodic |
| Химическая связь (§3) | slider ЭО → тип связи, диполь, e-пары |
| Растворы (§4–6) | калькулятор $w$/$c$/разбавления, график растворимости, sim solutions |
| Диссоциация / РИО (§7–10) | dissociationAnim, конвертер ионных уравнений, solubilityTable |
| Аллотропия (§13, 20, 31, 34, 37) | 3D-модели biochem-core |
| Качественные реакции (§17, 25, 28, 36, 48, 52) | testTube + ионное уравнение + признак |
| Кислоты/основания (§16, 23, 29, 32) | indicatorScale, ступенчатая диссоциация |
| Ряд активности / свойства металлов (§42, 43, 49) | activitySeries, предсказатель реакции |
| Электролиз (§45) | sim electrolysis |
| Окисл.-восст. / горение (§14, 18) | анимация горения, баланс ОВР |
| Производство (§24, 39, 45, 53) | пошаговые схемы (контактный способ, варка стекла, доменная печь) |
| Удобрения / прикладное (§33, 44, 47, 11) | калькуляторы, инфографика |
📦 СТРУКТУРА КАЖДОГО § (стандарт наполнения)
Каждый § после доработки содержит:
Теория (3–4 карточки):
theory— основное определение/понятие + наглядная SVG/модельrule— ключевая закономерность/формула (рамка)example— разобранный пример (реакция/расчёт) с пошаговым рендером- (для прикладных §)
apply— применение/значение (инфографика)
Интерактивы (4–6 на §):
- Звёздный виджет темы (из карты содержания выше)
- Конструктор/симулятор (slider / drag / sim из реестра)
- Калькулятор (молярная масса,
w, выход, по уравнению) — где применимо - DnD-сортер / классификатор (классы веществ, тип связи, признак реакции)
- Тренажёр — 5 задач с inline-наглядностью (формула/уравнение/модель в условии)
- Босс § — 4 интеграционные задачи (+5 XP каждая)
Дополнительно:
- Пополнение глоссария (термины §)
- Вопросы и задания из учебника (адаптированные, с проверкой)
- jsdom-тест страницы проходит
Финал главы:
- Итоговая шпаргалка — mini-cards (формула/реакция/иконка) по каждому §
- Карта связей — SVG-граф понятий главы (генетические связи веществ)
- 7 интегрированных боссов (каждый ≥2 темы, +10 XP)
- Achievement «Мастер главы N» (+50 XP, confetti)
- Кнопка перехода к следующей главе
🚀 ПОРЯДОК РЕАЛИЗАЦИИ (по фазам)
Phase 0 — Фундамент
- Исправить метаданные
chemistry_9.html:<title>Химия 9 — §1–53, убрать артефакт «МЕТАЛЛЫ» в water-mark/CSS, починить кодировку заголовков (UTF-8). - Перегруппировать карточки para-selector на 4 главы книги (цвета: I amber, II blue, III teal/cyan, IV deep-orange).
- Создать
/js/chem9_svg.jsс хелперами A–B (заглушки → реализация по мере фаз). - Подключить
biochem-core.jsи нужные симуляторы на страницу. - Миграция БД (следующий номер после
040_content_access.sql→041_chemistry9_fix.sql): обновить записьchemistry-9—para_count = 53, корректныеtitle/author/description,color='amber'. (Слаг и html_path уже есть из migration 004.) - jsdom-тест-каркас для страницы.
Phase 1 — Глава 1 «Повторение» (§§1–3) — разогрев
Простые темы, но закладываем 3 базовых движка: miniPeriodic, orbitalDiagram, визуализатор связи. Эти виджеты переиспользуются во всех 4 главах.
Phase 2 — Глава 2 «Растворы. ТЭД» (§§4–11) + ПР1, ПР2
Самая «расчётно-логическая». Закладываем solubilityTable, конвертер ионных уравнений, dissociationAnim, калькулятор раствора, sim solutions. Эти движки критичны для всей химии 9.
Phase 3 — Глава 3 «Неметаллы» (§§12–25): галогены, кислород, сера + лаб.1, лаб.2
SVG/модели-тяжёлая. 3D-аллотропы (biochem-core), первые качественные реакции (testTube: AgCl↓, BaSO_4↓), горение, безопасность H_2SO_4.
Phase 4 — Глава 3 «Неметаллы» (§§26–39): азот, фосфор, углерод, кремний + лаб.3, лаб.4, ПР3
Фонтан аммиака, NPK-калькулятор, качеств. реакция на CO_3^{2-}, сталактиты, варка стекла/цемент.
Phase 5 — Глава 4 «Металлы» (§§40–48): общие свойства, щелочные, ЩЗМ + лаб.5
activitySeries, sim electrolysis, цвета пламени, симулятор жёсткости воды, качеств. на Ca^{2+}/Ba^{2+}.
Phase 6 — Глава 4 «Металлы» (§§49–53): алюминий, железо + лаб.6, ПР4
Амфотерность Al(OH)_3, качеств. на Fe^{2+}/Fe^{3+}, симулятор коррозии, анимация доменной печи.
Phase 7 — Финалы глав + общий финал учебника
- Шпаргалки и карты связей по каждой главе
- Интегрированные боссы + achievements
- Большой финал: генетическая карта «неметаллы ↔ металлы ↔ соли», итоговый босс-квест, ачивка «Химик 9 класса»
- Глоссарий собран целиком, связан
[[ссылками]]
Phase 8 — Качество и админка
- Полный прогон jsdom-тестов (каждый § — builder не stub)
- Аудит KaTeX/
chemEq-эскейпов, баланса всех уравнений - Синхронизация с админкой (если симуляторы добавлялись в
lab.html→ обновитьADMIN_SIMSвadmin.html— правило проекта) - Проверка доступа по классам/ученикам (
contentAccess,/api/access)
Рекомендуемый темп: внутри фазы — по 2–3 § за «волну», каждая волна = commit + проходящий jsdom-тест.
🗄️ ИНТЕГРАЦИЯ С ПРОЕКТОМ
| Точка | Действие |
|---|---|
| БД каталог | textbooks уже содержит chemistry-9 (migration 004). Миграция 041 — поправить para_count=53, title/description. |
| Прогресс/XP | Автоматически: textbook-xp-widget.js (+5 XP/§), textbook-tracker.js, LS.xp. Доп. XP за боссов — по образцу phys7_ch1_widgets.js. |
| Симуляторы | Реестр frontend/js/labs/_register-all.js + lab-glue.js. Химические sim уже зарегистрированы (periodic, electrolysis, titration, qualanalysis, solutions, stoichiometry, chemsandbox). |
| Молекулы | biochem-core.js (парсинг, молярная масса, 2D/3D, VSEPR). |
| Бэкенд | Роуты готовы: backend/src/routes/textbooks.js (catalog/progress/bookmarks). Доступ: backend/src/services/contentAccess.js. |
| Глоссарий | Реализовать виджет на странице (общего нет) — всплывающие определения по терминам. |
| Тесты | cd backend && npm test (jsdom). На каждый § — тест: страница строится, builder не stub, уравнения сбалансированы. |
| Админка | Если добавляются новые sim в lab.html → синхронно обновить ADMIN_SIMS в admin.html. |
⚠️ КРИТИЧЕСКИЕ ПРАВИЛА
❌ НЕ делать
- Не оставлять «сырые» формулы текстом — только через
chemEq/ionLabel/KaTeX. - Не публиковать несбалансированные уравнения (аудит баланса перед commit).
- Не дублировать молекулярный движок — использовать
biochem-core.js. - Не использовать
setPointerCapture(теряется послеinnerHTML-replace) →window-listeners + state-flag. \to,\downarrow,\rightleftharpoonsбез удвоения backslash в JS-шаблонах.- Slider-диапазоны за пределы химически возможного (концентрации, температуры).
- Эмоджи — запрещены; только inline SVG
.ic. - Grep tool — запрещён; поиск только
ast-index.
✅ Обязательно
- Каждый commit → jsdom-тест 100% pass.
- Аудит баланса уравнений + KaTeX-эскейпов после каждой волны.
- Качественная реакция = уравнение (молек.+ионное) + видимый признак (
testTube/индикатор). - Цвета осадков/пламени — химически достоверные.
- Все builder-функции в конце финальной волны главы — НЕ stub'ы.
- Коммитить только изменённые файлы (не
git add -A), сразу push (правило CLAUDE.md).
📊 Оценка объёма
| Глава | § | Лаб/ПР | Ожидаемый LOC |
|---|---|---|---|
| Гл.1 Повторение | 3 | — | ~3 500 (+движки ПСХЭ/орбитали/связь) |
| Гл.2 Растворы. ТЭД | 8 | ПР1, ПР2 | ~9 000 (+solubilityTable, ионные ур-я, solutions) |
| Гл.3 Неметаллы | 28 | 4 лаб, ПР3 | ~28 000 (модели, качеств. реакции, безопасность) |
| Гл.4 Металлы | 14 | 2 лаб, ПР4 | ~16 000 (ряд активности, электролиз, коррозия, доменная печь) |
| Финалы глав + общий | — | — | ~5 000 |
/js/chem9_svg.js хелперы |
— | — | ~2 500 |
| Итого | 53 | 6 лаб + 4 ПР | ~64 000 LOC |
Существующий каркас (~10 700 строк) переиспользуется; основной прирост — интерактив, наглядность и движки.
🎬 Запуск
Phase 0: чистка метаданных chemistry_9.html + перегруппировка на 4 главы +
/js/chem9_svg.js (скелет) + подключение biochem-core.js/симуляторов + миграция 041.
Phase 1: Глава 1 (§§1–3) — закладываем miniPeriodic, orbitalDiagram, визуализатор связи.
Дальше — последовательно по главам (Phase 2 → 6), затем финалы (Phase 7) и качество (Phase 8).