Files
Learn_System/plans/textbooks-8/PLAN_PHYSICS_8.md
T

38 KiB
Raw Blame History

План реализации: Физика 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).

// === Луч со стрелкой посередине (для световых пучков) ===
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 (тепловые явления)

// === Термометр (вертикальная шкала) ===
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.jswindow.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 за полное прохождение курса.