Files

423 lines
38 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# План реализации: Физика 8 (Беларусь, Исаченкова, 2018)
**Источник:** `fizika_8kl_isachenkova_rus_2018.pdf` (≈180 стр., 3 содержательные главы + лабораторный практикум)
**Издательство:** «Народная асвета», Минск, 2018
**Уровень:** базовый (для 8 класса УОСО с русским языком обучения).
**Авторы (исходник, в hub НЕ показываем):** Л. А. Исаченкова, Ю. Д. Лещинский, В. В. Дорофейчик.
> **Второй физический учебник в проекте** после Физики 10. Унаследует ВСЁ из инфраструктуры Физики 10: `phys.js`, цветовая палитра, slider'ы в СИ, snap-точки, drawArrow, magneticFieldGrid, batteryEMF, resistor. **Новый блок — геометрическая оптика**, который требует расширения `phys.js` пакетом `OPTICS` (хелперы для зеркал, преломления, тонких линз, построения изображений). Также нужен полноценный конструктор электрической цепи (Ом для участка, последовательное/параллельное соединения, реостат, расчёт мощности).
---
## 🎯 Содержание учебника
### Глава 1. Тепловые явления (§§1–11)
| § | Тема | Ключевые формулы |
|---|------|------------------|
| §1 | Внутренняя энергия | $U$ — сумма $E_k$ и $E_p$ всех молекул; зависит от $T$ |
| §2 | Способы изменения внутренней энергии | Совершение работы, теплопередача |
| §3 | Теплопроводность | Передача без переноса вещества; коэф. теплопроводности материалов |
| §4 | Конвекция | Перенос энергии потоками вещества (газ/жидкость) |
| §5 | Излучение | Тепловое излучение, поглощение тёмными/светлыми поверхностями |
| §6 | Расчёт количества теплоты при нагревании и охлаждении. Удельная теплоёмкость | $Q = cm\Delta T$, $c$ — таблица |
| §7 | Горение. Удельная теплота сгорания топлива | $Q = qm$, $q$ — таблица топлив |
| §8 | Плавление и кристаллизация | $T_{пл}$, графики $T(t)$ при плавлении |
| §9 | Удельная теплота плавления и кристаллизации | $Q = \lambda m$ |
| §10 | Испарение жидкостей. Факторы | Зависимость от $T$, $S$, ветра, рода жидкости |
| §11 | Кипение жидкостей. Удельная теплота парообразования | $Q = Lm$, $T_{кип}$ |
### Глава 2. Электромагнитные явления (§§12–31)
| § | Тема | Ключевые формулы |
|---|------|------------------|
| §12 | Электризация тел. Взаимодействие зарядов | Два рода зарядов, $F$ притяжения/отталкивания |
| §13 | Проводники и диэлектрики | Свободные/связанные носители |
| §14 | Электризация через влияние | Индукция, разделение зарядов |
| §15 | Электрический заряд. Элементарный заряд | $e = 1.6\cdot10^{-19}$ Кл, $q = Ne$ |
| §16 | Строение атома. Ионы | Ядро + электроны, катион/анион |
| §17 | Электрическое поле. Электрическое напряжение | Поле как материя; $U$ как работа поля на единицу $q$ |
| §18 | Единица электрического напряжения. Расчёт работы | $A = qU$, $[U] = $ В $= $ Дж/Кл |
| §19 | Электрический ток. Источники тока | $I$ — упорядоченное движение зарядов |
| §20 | Сила и направление электрического тока | $I = q/t$, направление за положительными |
| §21 | Электрическая цепь. Измерение силы тока и напряжения | Амперметр (последов.), вольтметр (паралл.) |
| §22 | Связь силы тока и напряжения. Закон Ома для участка цепи | $I = U/R$ |
| §23 | Единица сопротивления. Расчёт сопротивления | $R = \rho l / S$, $[R] = $ Ом |
| §24 | Последовательное соединение проводников. Реостат | $I=$const, $U=U_1+U_2$, $R=R_1+R_2$ |
| §25 | Параллельное соединение проводников | $U=$const, $I=I_1+I_2$, $1/R = 1/R_1+1/R_2$ |
| §26 | Работа и мощность электрического тока. Закон Джоуля–Ленца | $A=UIt$, $P=UI$, $Q=I^2Rt$ |
| §27 | Использование и экономия электроэнергии. Безопасность | Тарифы, $\text{кВт}\cdot\text{ч}$, ТБ |
| §28 | Постоянные магниты | Полюсы, магнитное поле Земли |
| §29 | Магнитное поле | $\vec{B}$, линии магнитной индукции |
| §30 | Магнитное поле тока | Опыт Эрстеда |
| §31 | Магнитное поле прямого проводника и катушки с током. Электромагнит | Правило правой руки, соленоид |
### Глава 3. Световые явления (§§32–40)
| § | Тема | Ключевые формулы |
|---|------|------------------|
| §32 | Источники света | Естественные/искусственные, тепловые/люминесцентные |
| §33 | Скорость света. Прямолинейное распространение | $c = 3\cdot10^8$ м/с, тень/полутень |
| §34 | Отражение света | $\alpha = \beta$, диффузное/зеркальное |
| §35 | Зеркала. Изображение в плоском зеркале | Мнимое, равное, симметричное |
| §36 | Преломление света | Закон Снеллиуса (на качественном уровне), $\sin\alpha/\sin\beta = n$ |
| §37 | Линзы. Оптическая сила линзы | $D = 1/F$, $[D] = $ дптр |
| §38 | Построение изображений в тонких линзах | 3 «золотых» луча, $1/F = 1/d + 1/f$ |
| §39 | Глаз как оптическая система | Аккомодация, расстояние наилучшего зрения 25 см |
| §40 | Дефекты зрения. Очки | Близорукость (−), дальнозоркость (+) |
### Глава 4. Лабораторный эксперимент (7 ЛР — отдельная страница `physics_8_lab.html`)
| № | Тема | Связан с § |
|---|------|-----------|
| ЛР-1 | Изучение явления теплообмена при смешивании воды разной температуры | §6 |
| ЛР-2 | Определение удельной теплоёмкости твёрдого тела | §6 |
| ЛР-3 | Сборка простейшей электрической цепи и измерение силы тока и напряжения | §21 |
| ЛР-4 | Изучение последовательного соединения проводников | §24 |
| ЛР-5 | Изучение параллельного соединения проводников | §25 |
| ЛР-6 | Определение работы и мощности электрического тока | §26 |
| ЛР-7 | Изучение явления отражения света | §34 |
**ИТОГО:** 3 содержательные главы, **40 параграфов**, 7 виртуальных лабораторных работ.
---
## 🎨 SVG-СТАНДАРТ КАЧЕСТВА
### Унаследовано из Физики 10 (`phys.js` — БЕЗ изменений)
- `drawArrow(x1,y1,x2,y2,color,width,headSize)`
- `fieldLinesPointCharge(cx,cy,sign,scale,numLines)`
- `chargeMark(cx,cy,sign,r,label)`
- `magneticFieldGrid(x0,y0,w,h,cols,rows,direction)``in`/`out`
- `batteryEMF`, `resistor`, `capacitorSymbol`, `ammeterSymbol`, `voltmeterSymbol`, `lightbulbSymbol`, `inductorSymbol`, `wire`
- `createGasSim(opts)` — для §10 (испарение) и иллюстрации МКТ в §1
- `molecule(x,y,r,color)`
- Конвертеры: `celsiusToKelvin`, `kelvinToCelsius`, `atmToPa`, `litersToM3`
- Из 2D-математики: `axes2D`, `plotFunc` — для графика $T(t)$ при плавлении/кипении и для ВАХ $I(U)$.
### НОВЫЙ модуль `frontend/js/optics.js` (`window.OPTICS`)
Для главы 3 нужны хелперы геометрической оптики — выносим в отдельный модуль (чище, чем раздувать `phys.js`).
```javascript
// === Луч со стрелкой посередине (для световых пучков) ===
function ray(x1, y1, x2, y2, color, dashed) {
// линия + треугольник-стрелка на середине, опционально пунктир
}
// === Плоское зеркало ===
function mirrorPlane(x, y, len, angle) {
// линия + штриховка с тыльной стороны
}
// === Сферическое зеркало (вогнутое/выпуклое) ===
function mirrorSpherical(cx, cy, R, kind) {
// дуга + штриховка
}
// === Тонкая линза (собирающая / рассеивающая) ===
function thinLens(cx, cy, h, kind) {
// kind: 'converging' (двойная стрелка наружу) или 'diverging' (внутрь)
// главная оптическая ось + фокусы F и 2F
}
// === Построение изображения в тонкой линзе ===
function buildLensImage(F, d, h) {
// Возвращает {f, h2, virtual, kind}
// f = d*F/(d-F); h2 = -h*f/d; virtual = (f<0)
}
// === Преломление на границе двух сред ===
function refractRay(x0, y0, angleIn, n1, n2, len) {
// По закону Снеллиуса: n1*sin(α)=n2*sin(β)
// Возвращает SVG: падающий + преломлённый + отражённый луч + нормаль
}
// === Отражение от зеркала ===
function reflectRay(x0, y0, angleIn, mirrorAngle, len) {
// α_отраж = α_падения, всё относительно нормали
}
// === Глаз (упрощённая схема) ===
function eyeDiagram(cx, cy, R, accommodation) {
// Овал + роговица + хрусталик + сетчатка + фокусное пятно
}
// === Источник света (точечный / протяжённый стрелка) ===
function lightObject(x, y, h, kind) {
// kind: 'point' (звезда) или 'arrow' (вертикальная стрелка-предмет)
}
```
### Расширение `phys.js` для главы 1 (тепловые явления)
```javascript
// === Термометр (вертикальная шкала) ===
function thermometer(x, y, h, tMin, tMax, tValue) {
// Резервуар + столбик ртути + шкала с делениями + подпись T
}
// === Калориметр-стакан (для смешения воды) ===
function calorimeter(x, y, w, h, level, color) {}
// === Анимация теплопроводности (градиент tcolor по стержню) ===
class HeatBarSim {
// Двухсторонний нагрев, цвет по температуре (синий→красный)
}
// === Анимация конвекции (тороидальный поток молекул) ===
class ConvectionSim {}
// === График фазовых переходов T(t) с плато ===
function phaseGraphTT(W, H, pad, points) {
// Сегменты: нагрев твёрдого → плато плавления → нагрев жидкости → плато кипения
}
// === Цветовая палитра температуры ===
function tempColor(t, tMin, tMax) {
// HSL: 240° (синий, холод) → 0° (красный, горячо)
}
```
### Цветовая кодировка для Физики 8
- **Тепло / горячее тело** — красный (`#dc2626`)
- **Холод / холодное тело** — синий (`#2563eb`)
- **Температурный градиент** — HSL `hue=240·(1-t)`, `sat=70%`, `light=55%`
- **Положительный заряд** — красный (`#dc2626`)
- **Отрицательный заряд** — синий (`#2563eb`)
- **Электрическое поле $\vec{E}$** — оранжевый (`#ea580c`)
- **Магнитное поле $\vec{B}$** — фиолетовый (`#7c3aed`)
- **Ток** — янтарный (`#d97706`)
- **Резистор / провод** — `#374151`
- **Световой луч** — жёлтый (`#fbbf24`) с обводкой
- **Падающий луч** — голубой (`#0891b2`)
- **Отражённый луч** — зелёный (`#10b981`)
- **Преломлённый луч** — фиолетовый (`#a855f7`)
- **Нормаль** — пунктир `#94a3b8`
- **Линза собирающая** — `#22c55e`
- **Линза рассеивающая** — `#f97316`
- **Мнимое изображение** — пунктир
- **Действительное изображение** — сплошное
### Правила (обязательны с §1, наследие Физики 10)
1. **Все единицы измерения через KaTeX**`\\text{Дж}`, `\\text{Ом}`, `\\text{кВт}\\cdot\\text{ч}`, `\\text{дптр}`. Никогда сырой текст.
2. **Slider'ы — в реальных физических величинах**:
- Температура: $-100..200$ °C (snap на 0, 100)
- Масса: $0.01..10$ кг
- Удельная теплоёмкость: из таблицы (вода 4200, лёд 2100, алюминий 920, медь 380, железо 460, …)
- Напряжение: $1..220$ В (snap 1.5, 9, 12, 220)
- Ток: $0.001..10$ А
- Сопротивление: $0.1..1000$ Ом
- Длина проводника: $0.1..10$ м
- Площадь сечения: $0.1..10$ мм² (отображать в мм², считать в м²)
- Удельное сопротивление: из таблицы (медь 0.017, алюминий 0.028, нихром 1.1 Ом·мм²/м)
- Заряд: $\pm 10^{-9}..10^{-6}$ Кл
- Фокусное расстояние: $-50..50$ см (отрицательное — рассеивающая)
- Расстояние от предмета до линзы: $5..200$ см
3. **Snap-точки на эталонных значениях**: 0 °C, 100 °C, 220 В, 9 В, 1.5 В (батарейка), $F = 10$ см, $D = 1$ дптр.
4. **Все формулы — KaTeX, двойной backslash**: `\\dfrac{U}{R}`, `\\sin\\alpha`.
5. **Векторы — со стрелками** через `drawArrow`. В KaTeX — `\\vec{B}`, `\\vec{E}`.
6. **Подписи единиц измерения** — обязательны на всех осях, во всех результатах.
7. **Симуляции**`requestAnimationFrame` с паузой / сбросом / `cancelAnimationFrame` при unmount.
8. **Эмодзи запрещены.** Только inline SVG `.ic` или HTML-сущности (`&#10003;`, `&#9733;`, `&#10022;`).
9. **Никаких пикселей в подписях** — всё в СИ или производных единицах; масштаб `K = px/единица` в каждом виджете.
10. **Авторов нет** — в hub footer'е только «Интерактивный учебник «Физика — 8 класс» · LearnSpace». Раздел «Об авторах» из учебника не переносим.
11. **innerHTML для строк с HTML-сущностями** (а не `textContent`).
12. **KaTeX-аудит после каждого Wave**: регексп `[^\\]\\[a-zA-Z]{2,}` по JS-блокам в HTML.
13. **JS parse-check после каждого Wave**: `new Function(scriptBody)` в скрипте-проверке.
### Типы интерактивов по темам
| Тип | Применение |
|-----|-----------|
| **Анимация теплопроводности** (стержень с градиентом) | §3 |
| **Симуляция конвекции** (тороидальный поток) | §4 |
| **Симуляция излучения** (цвет поверхности vs нагрев под лампой) | §5 |
| **Калькулятор $Q = cm\Delta T$** с таблицей материалов | §6 |
| **Смесь двух жидкостей: $t_{см}$** | §6 |
| **Калькулятор $Q = qm$** (топливо) | §7 |
| **График фазовых переходов $T(t)$** с интерактивной точкой по времени | §8, §9, §11 |
| **Симуляция испарения** (молекулы покидают свободную поверхность) | §10 |
| **Виртуальный электроскоп** (видна индукция при поднесении заряженного тела) | §12, §14 |
| **Конструктор атома** (ядро + электроны, потеря/приобретение → ион) | §15, §16 |
| **Линии $\vec{E}$ для одного/двух зарядов** | §17 |
| **Калькулятор $A = qU$** | §18 |
| **Симуляция тока** (поток электронов по проводу с регулировкой $I$) | §19, §20 |
| **Конструктор простейшей цепи** (батарея + лампа + амперметр + вольтметр) | §21 |
| **ВАХ-плоттер $I(U)$** для резистора с разным $R$ | §22 |
| **Калькулятор $R = \rho l / S$** с таблицей материалов | §23 |
| **Конструктор последов. цепи + реостат** (slider реостата → яркость лампы) | §24 |
| **Конструктор паралл. цепи** (две ветви, разные $R$, общий $I$) | §25 |
| **Калькулятор $A$, $P$, $Q$ Джоуля-Ленца** + симуляция нагрева резистора | §26 |
| **Счётчик электроэнергии** (тариф × кВт·ч за месяц по приборам) | §27 |
| **Магнитное поле полосового магнита** (линии $\vec{B}$ от N к S) | §28 |
| **Опилки и магнитная стрелка** — симуляция выравнивания | §29 |
| **Опыт Эрстеда** — стрелка отклоняется при включении тока | §30 |
| **Поле прямого проводника / соленоида** (правило правой руки) | §31 |
| **Тени и полутень** (точечный/протяжённый источник + экран) | §33 |
| **Закон отражения** (угол $\alpha$ slider → угол $\beta$) | §34 |
| **Плоское зеркало** (предмет, зеркало → построение мнимого изображения) | §35 |
| **Закон Снеллиуса** (slider $\alpha$, $n_1$, $n_2$ → угол $\beta$) | §36 |
| **Калькулятор $D = 1/F$** + изображение линзы | §37 |
| **Главный визуал главы 3: «Конструктор изображения в линзе»** (slider $F$, $d$, $h$ → 3 золотых луча + положение и размер изображения) | §38 |
| **Симуляция аккомодации глаза** (близкий/далёкий предмет, изменение $F$ хрусталика) | §39 |
| **Близорукость/дальнозоркость + очки** (выбор линзы исправляет фокус) | §40 |
---
## 🚀 ПОРЯДОК РЕАЛИЗАЦИИ
40 параграфов + 7 ЛР → **8 фаз** (как у Физики 10).
### Phase 0: Архитектура (фундамент)
- `physics_8_hub.html` — палитра **violet/indigo** (по обложке учебника — сиренево-фиолетовый): `--pri:#7c3aed` (violet-600), `--pri-d:#5b21b6`, `--pri-soft:#ede9fe`. Header gradient `linear-gradient(110deg,#312e81 0%,#7c3aed 55%,#c4b5fd 100%)`. Палитра не пересекается с Физикой 10 (yellow/amber) и обеими 11-ми (teal/cyan).
- 3 ch-файла: `physics_8_ch1.html` (тепловые), `_ch2.html` (электромагнитные), `_ch3.html` (световые)
- 1 отдельная страница: `physics_8_lab.html` (7 ЛР)
- Миграция `037_physics_8_hub.sql` (следующий свободный номер; 036 — последний)
- **Расширение `frontend/js/phys.js`**: новые хелперы для тепла (thermometer, calorimeter, HeatBarSim, ConvectionSim, phaseGraphTT, tempColor)
- **Новый модуль `frontend/js/optics.js``window.OPTICS`**: ray, mirrorPlane, mirrorSpherical, thinLens, buildLensImage, refractRay, reflectRay, eyeDiagram, lightObject
- 2D-хелперы (axes2D, plotFunc) подключены в каждый ch
- KaTeX CDN + auto-render
- POLISH CSS + bump-score JS
- Тестовая страница `physics_8_test.html` (рендер всех новых хелперов) — НЕ публикуется
### Phase 1: Глава 1 «Тепловые явления» (§§1–11) — 5 волн
- **Wave 1**: §1 (внутренняя энергия, симуляция «горячее тело — быстрые молекулы») + §2 (способы изменения: трение, теплопередача — анимация).
- **Wave 2**: §3 (теплопроводность, **HeatBarSim** — главный визуал) + §4 (конвекция, **ConvectionSim**) + §5 (излучение, симуляция «светлая/тёмная поверхность под лампой»).
- **Wave 3**: §6 (калькулятор $Q = cm\Delta T$ + смесь двух жидкостей + таблица материалов) + §7 (калькулятор $Q = qm$, таблица топлив).
- **Wave 4**: §8 (плавление, **график $T(t)$ с плато** — главный визуал) + §9 (калькулятор $\lambda$, баланс «лёд + вода»).
- **Wave 5**: §10 (испарение, симуляция «молекулы покидают поверхность») + §11 (кипение, удельная теплота парообразования $L$) + **Финал главы 1** (7 боссов: смесь, нагрев, плавление, кипение, баланс теплоты, КПД нагревателя, «ледяная задача»; ачивка «Мастер теплоты»).
### Phase 2: Глава 2 «Электростатика» (§§12–18) — 3 волны
Первая половина электромагнитной главы — статика и заряды.
- **Wave 1**: §12 (электризация, виртуальный электроскоп) + §13 (проводники/диэлектрики, симуляция «куда уходят электроны») + §14 (индукция, разделение зарядов в проводнике).
- **Wave 2**: §15 ($q = Ne$, $e = 1.6\cdot10^{-19}$ Кл, калькулятор «сколько электронов») + §16 (строение атома, конструктор «нейтральный → ион»).
- **Wave 3**: §17 (электрическое поле, **линии $\vec{E}$** для +/− и для двух зарядов) + §18 (напряжение, калькулятор $A = qU$, связь $U$ с работой поля).
### Phase 3: Глава 2 «Постоянный ток» (§§19–27) — 4 волны
- **Wave 1**: §19 (источники тока, симуляция «поток электронов в проводе») + §20 ($I = q/t$, направление тока).
- **Wave 2**: §21 (**конструктор простейшей цепи** — главный визуал: батарея + лампа + амперметр + вольтметр; правила подключения) + §22 (закон Ома, **ВАХ-плоттер $I(U)$**).
- **Wave 3**: §23 ($R = \rho l/S$, таблица материалов) + §24 (последовательное соединение, **реостат-симулятор** — slider положения движка → яркость лампы) + §25 (параллельное соединение, две ветви с разными $R$).
- **Wave 4**: §26 (Джоуль-Ленц: $A = UIt$, $P = UI$, $Q = I^2Rt$, симуляция нагрева резистора) + §27 (счётчик электроэнергии, тарифы кВт·ч) + **Финал главы 2 (часть электр.)** — 7 боссов: Ом, последов., паралл., смешанная цепь, мощность, кВт·ч, баланс.
### Phase 4: Глава 2 «Магнетизм» (§§28–31) — 2 волны
- **Wave 1**: §28 (постоянные магниты, **линии $\vec{B}$ от N к S**, поле Земли) + §29 (магнитное поле, опилки — симуляция выравнивания мелких магнитных стрелок).
- **Wave 2**: §30 (**опыт Эрстеда** — стрелка отклоняется при включении тока) + §31 (поле прямого проводника / соленоида, **электромагнит-конструктор** — slider $I$ и числа витков → сила притяжения скрепок) + **Финал главы 2 целиком** (10 боссов: статика + ток + магнетизм; ачивка «Мастер электромагнетизма»).
### Phase 5: Глава 3 «Световые явления» (§§32–40) — 4 волны
- **Wave 1**: §32 (источники света, классификация) + §33 (скорость света, прямолинейное распространение, **симуляция тени и полутени**).
- **Wave 2**: §34 (отражение, **slider $\alpha \to \beta$**, диффузное vs зеркальное) + §35 (плоское зеркало, **построение мнимого изображения симметрией**).
- **Wave 3**: §36 (преломление, **закон Снеллиуса** — slider $\alpha$, $n_1$, $n_2$ → $\beta$, полное внутреннее отражение как бонус) + §37 (линзы, $D = 1/F$, типы линз).
- **Wave 4**: §38 (**главный визуал курса: «Конструктор изображения в тонкой линзе»** — 3 золотых луча, формула $1/F = 1/d + 1/f$, slider $F$, $d$, $h$) + §39 (глаз как оптическая система, аккомодация) + §40 (близорукость/дальнозоркость, выбор очков) + **Финал главы 3** (7 боссов: отражение, плоское зеркало, преломление, тонкая линза × 2, глаз/очки; ачивка «Мастер света»).
### Phase 6: Лабораторный практикум (`physics_8_lab.html`) — 1 волна
Отдельная страница с 7 виртуальными ЛР. Каждая ЛР = карточка с интро + симуляцией + таблицей измерений + расчётной формулой + автогенерированным отчётом.
- ЛР-1 теплообмен при смешивании (§6) — два калориметра, slider массы и $T_1, T_2$.
- ЛР-2 удельная теплоёмкость твёрдого тела (§6) — образец + калориметр, по таблице вычислить $c$.
- ЛР-3 простейшая цепь (§21) — drag-and-drop элементов, проверка корректности подключения амперметра/вольтметра.
- ЛР-4 последовательное соединение (§24) — измерить $I$ и $U$ на двух резисторах, проверить правила.
- ЛР-5 параллельное соединение (§25) — то же для двух ветвей.
- ЛР-6 работа и мощность (§26) — амперметр + вольтметр + секундомер, $A$ и $P$.
- ЛР-7 отражение света (§34) — оптическая скамья, slider $\alpha$, измерение $\beta$.
Ачивка «Лаборант 8 класса» (+50 XP) за прохождение всех 7 ЛР.
### Phase 7: Финал курса Физика 8
- Итоговая шпаргалка (3 mini-карточки: тепло, электромагнетизм, свет)
- **10 интегрированных боссов**, комбинирующих темы из разных глав:
1. **Тепло + энергия**: расчёт нагрева воды в электрочайнике через $A = UIt$ и $Q = cm\Delta T$ (КПД).
2. **Плавление + Q**: сколько электроэнергии (в кВт·ч) нужно для плавления льда.
3. **Цепь + Джоуль-Ленц + нагрев**: $\Delta T$ нихрома по току.
4. **Закон Ома + смешанная цепь**: 3 резистора, найти токи.
5. **Электромагнит**: рассчитать $I$ для нужной силы притяжения (по простой модели).
6. **Преломление + линза**: какова оптическая сила $D$ для собирания пучка на сетчатке.
7. **Дефекты зрения**: подбор очков — собирающая или рассеивающая, какое $D$?
8. **Тень и расстояние**: размер тени при сдвиге предмета.
9. **Стоимость электроэнергии за месяц**: лампа + чайник + ТВ, тариф.
10. **Магистр Физики 8** — интегральный вопрос со связкой всех 3 глав.
- Ачивка **«Магистр физики 8»** (+150 XP).
- Кнопка «К каталогу учебников» → `/textbooks`.
---
## 📦 Структура каждого § (стандарт, наследует Физику 10)
### Каждый § содержит:
- **3 теоретические карточки** (`theory`, `rule`, `example`) с SVG-схемами/графиками.
- **4 интерактива** (`.wg` виджеты):
1. **Главная симуляция / визуализатор** (специфичный для темы)
2. **Калькулятор закона** (ввод параметров → формула с подстановкой → результат с единицами)
3. **DnD / Квикфайр** (понятийный тренажёр)
4. **Тренажёр расчётных задач** (5–6 задач с числовым ответом, допуск 1–5 %)
- **Кнопка «Я прочитал § (+10 XP)»**
- **Прогресс/XP**: IV1 15 % / 10 XP, IV2 15 % / 10 XP, IV3 25 % / 15 XP, IV4 25 % / 15 XP, чтение 30 % / 10 XP
### Финал главы:
- **Итоговая шпаргалка** с формулами и единицами.
- **5–10 интегрированных боссов** (синтез тем главы)
- **Ачивка «Мастер главы N»** + 50 XP + confetti
- **Кнопка** перехода к следующей главе
---
## 📊 Оценка объёма
| Глава | § | LOC |
|-------|---|-----|
| Phase 0: skeleton + расширение phys.js + новый optics.js | — | 3 000 |
| Глава 1 Тепловые (§§1-11) | 11 | 14 000 |
| Глава 2 Электростатика (§§12-18) | 7 | 8 500 |
| Глава 2 Пост. ток (§§19-27) | 9 | 11 500 |
| Глава 2 Магнетизм (§§28-31) | 4 | 5 500 |
| Глава 3 Световые (§§32-40) | 9 | 12 500 |
| Phase 6: Лабораторный практикум (7 ЛР) | — | 4 500 |
| Phase 7: финал курса | — | 1 500 |
| **Итого** | **40** | **~61 000 LOC** |
Это **больше Физики 10** (~54 500) из-за дополнительной страницы лабораторного практикума и того, что в 8 классе всё нужно объяснять с нуля (больше теоретических карточек и симуляций «здравого смысла»).
---
## ⚠️ Критические правила (унаследовано + новое)
### ❌ НЕ делать
- **Slider'ы в пиксельных диапазонах** (40..150). Только в реальных физических единицах с правильным масштабом отрисовки (`K = px/единица`).
- **Подписи без единиц измерения** ($U = 12$ — это что? В? мВ?). Всегда: $U = 12$ В.
- **Эмодзи** (`⚠`, `🌡️`, `🔋`, `💡`). Только inline SVG `.ic` или HTML-сущности (`&#10003;`, `&#9733;`).
- **Одиночный `\` перед буквой** в JS template literals: `\dfrac`, `\sin`, `\vec`. ВСЕГДА `\\dfrac`.
- **Сырой KaTeX в `<option>`** — KaTeX там не рендерится. Только unicode-текст (`U/R`, `Δt`, `α°`).
- **`\degree`** не существует в KaTeX — используй `^\\circ`.
- **`textContent`** для строк с HTML-сущностями — только `innerHTML`.
- **Бесконечные симуляции без паузы** — всегда кнопка «Пауза / Сброс» и `cancelAnimationFrame` при закрытии виджета.
- **Авторов в hub / footer** — Исаченкову, Лещинского, Дорофейчика НЕ упоминаем (как для всех остальных учебников проекта).
- **Дублирование Физики 10** — не копировать §1 МКТ из 10 в 8. В 8-м классе уровень проще, формулировки другие.
- **Симуляции с нарушенной размерностью** — например, $c$ в формуле $Q = cm\Delta T$ должна быть в Дж/(кг·К), не в кал.
### ✅ Обязательно
- **Все единицы СИ в формулах** и подписях, табличные значения — с указанием единиц (Дж/(кг·К), Ом·мм²/м, дптр).
- **Snap-точки в slider'ах** для эталонных значений: 0 °C, 100 °C, 220 В, 9 В, 1.5 В, $F = 10$ см.
- **Цветовая кодировка** едина по всем § (тепло±, заряд±, поле $E$/$B$, луч, ток).
- **KaTeX-аудит** через `node` после каждого Wave (паттерн `[^\\]\\[a-zA-Z]{2,}` в JS-блоках).
- **JS parse-check** через `new Function(scriptBody)` после каждого Wave.
- **Поиск по коду** — ТОЛЬКО `ast-index`, никакого `grep` (правило проекта).
- **Push после каждого Wave**: `git add <files> && git commit -m "feat(phys8 chN): Wave M — описание" && git push origin master`.
- **Реалистичные значения** в задачах: $c_{воды} = 4200$, $c_{льда} = 2100$, $\lambda_{льда} = 3.34\cdot10^5$, $L_{воды} = 2.26\cdot10^6$, $\rho_{меди} = 0.017$, $e = 1.6\cdot10^{-19}$, $c_{света} = 3\cdot10^8$.
---
## 🎬 Запуск
**Phase 0**: skeleton 3 ch + `physics_8_hub.html` + `physics_8_lab.html` + миграция `037_physics_8_hub.sql` + расширение `phys.js` (термо-хелперы) + новый `frontend/js/optics.js`.
Палитра hub: **violet/indigo** (по обложке учебника). После Phase 0 → Phase 1 Wave 1 (§1 внутренняя энергия + §2 способы изменения).
После завершения всех 8 Phase **Физика 8 → 4-й физический курс проекта** будет первым полным учебником 8 класса (наряду с Алгеброй 8 и Геометрией 8, уже частично сделанными). Это закрывает «нижний» класс по физике до уровня качества Физики 10.
---
## 🔗 Связи с системой
- **Миграция БД**: `037_physics_8_hub.sql` — добавить запись в `textbooks` (id, slug `physics-8`, title «Физика — 8 класс», author `''`, grade 8, subject_id физики).
- **Маршруты**: `/textbooks/physics-8` → hub, `/textbooks/physics-8/ch1..3`, `/textbooks/physics-8/lab`.
- **Каталог**: появляется на `frontend/textbooks.html` в секции 8 класса.
- **Достижения**: 4 ачивки глав («Мастер теплоты», «Мастер электромагнетизма», «Мастер света», «Лаборант 8 класса») + 1 финальная («Магистр физики 8»). Все добавляются через миграцию или скрипт-сидер.
- **XP**: ~40 § × ~60 XP + 4 ач × 50 + финал 150 ≈ **2750 XP** за полное прохождение курса.