Files
Maxim Dolgolyov 5381679c68 chore: консолидация незакоммиченной работы (биохимия + System Health + lab/textbooks)
Зафиксирована накопленная незакоммиченная работа рабочего дерева, КРОМЕ файлов
учебника «Химия 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>
2026-05-30 18:12:55 +03:00

34 KiB
Raw Permalink Blame History

План реализации: Химия 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 «§160»устарел (реально 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)

  1. Формулы веществ — нижние индексы для атомов (H_2O, CaCO_3), верхние для зарядов ионов (SO_4^{2-}); единый рендер через chemEq/ionLabel, не «сырой» текст.
  2. Уравнения реакций — всегда сбалансированы; стрелки: =/ (необратимая), (обратимая), (газ), (осадок), условия над стрелкой (t, \text{кат.}, \text{эл.ток}).
  3. Состояние — для качественных реакций обязательно показывать признак: цвет осадка, пузырьки газа, изменение окраски индикатора (через testTube/indicatorScale).
  4. Ионные уравнения — для §9–10 и всех качественных реакций давать тройку: молекулярное → полное ионное → сокращённое ионное (виджет-конвертер).
  5. Молекулярные модели — структурная формула + 3D (biochem-core); для каждого изучаемого простого вещества/важного соединения хотя бы 1 модель.
  6. Цвета — химически достоверные: осадки (AgCl белый, Cu(OH)_2 голубой, Fe(OH)_3 бурый, Fe(OH)_2 зеленоватый), пламя (Ca кирпично-красный, Sr карминовый, Ba жёлто-зелёный, Na жёлтый, K фиолетовый).
  7. Безопасность — где уместно (разбавление H_2SO_4, ядовитость CO, H_2S) — заметка-«скрепка» с предупреждением.
  8. KaTeX-эскейпы — в JS-шаблонах двойной backslash (\\to, \\downarrow, \\rightleftharpoons).
  9. Drag/слайдерыwindow-listeners + {passive:false} + state ВЫШЕ redraw() (как в стандарте геометрии), touch-action:none на draggable SVG/canvas.
  10. Без эмоджи — только inline SVG .ic/.ico (правило проекта).

D. Типы интерактивов по химическим темам

Тип темы Интерактив
Строение атома / ПСХЭ (§2, 12, 40) miniPeriodic, orbitalDiagram, sim periodic
Химическая связь (§3) slider ЭО → тип связи, диполь, e-пары
Растворы (§46) калькулятор $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 на §):

  1. Звёздный виджет темы (из карты содержания выше)
  2. Конструктор/симулятор (slider / drag / sim из реестра)
  3. Калькулятор (молярная масса, w, выход, по уравнению) — где применимо
  4. DnD-сортер / классификатор (классы веществ, тип связи, признак реакции)
  5. Тренажёр — 5 задач с inline-наглядностью (формула/уравнение/модель в условии)
  6. Босс § — 4 интеграционные задачи (+5 XP каждая)

Дополнительно:

  • Пополнение глоссария (термины §)
  • Вопросы и задания из учебника (адаптированные, с проверкой)
  • jsdom-тест страницы проходит

Финал главы:

  • Итоговая шпаргалка — mini-cards (формула/реакция/иконка) по каждому §
  • Карта связей — SVG-граф понятий главы (генетические связи веществ)
  • 7 интегрированных боссов (каждый ≥2 темы, +10 XP)
  • Achievement «Мастер главы N» (+50 XP, confetti)
  • Кнопка перехода к следующей главе

🚀 ПОРЯДОК РЕАЛИЗАЦИИ (по фазам)

Phase 0 — Фундамент

  • Исправить метаданные chemistry_9.html: <title>Химия 9 — §153, убрать артефакт «МЕТАЛЛЫ» в 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.sql041_chemistry9_fix.sql): обновить запись chemistry-9para_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).