342 lines
30 KiB
Markdown
342 lines
30 KiB
Markdown
# План реализации: Физика 9 (Беларусь, Исаченкова, 2019)
|
||
|
||
**Источник:** `Fizika_Isachenkova_9_rus_2019.pdf` (208 стр., 5 глав, **36 параграфов + 12 ЛР**)
|
||
**Авторы источника:** Исаченкова Л.А., Сокольский А.А., Захаревич Е.В. (под ред. Сокольского)
|
||
**Издательство:** «Народная асвета», Минск, 2019, ISBN 978-985-03-3082-6
|
||
**Уровень:** базовый + повышенный (рубрика «Для любознательных», задачи 🦉).
|
||
|
||
> **Тематика учебника — классическая механика целиком:** кинематика, динамика, статика, законы сохранения, плюс отдельная глава из 12 лабораторных работ. Это **продолжение Физики 7 и Физики 8** (тепловые/электрические/оптические явления изучены в 7-8 классах) и **подготовка к Физике 10** (молекулярная физика + электродинамика).
|
||
>
|
||
> **Авторство контента:** наш материал, написанный по канве источника. Поле `author` в БД — пустое (правило проекта после миграции `029_clear_all_textbook_authors.sql`).
|
||
|
||
---
|
||
|
||
## 🎯 Содержание учебника
|
||
|
||
### Глава 1. Основы кинематики (§§1–14) · 14 параграфов · blue
|
||
|
||
| § | Тема | Ключевые понятия/формулы |
|
||
|---|------|--------------------------|
|
||
| §1 | Механическое движение | Кинематика; абсолютно твёрдое тело; поступательное движение; модель материальной точки |
|
||
| §2 | Относительность движения. Система отсчёта | Тело отсчёта, система координат, часы → СО; относительность скорости, траектории, пути |
|
||
| §3 | Скалярные и векторные величины. Действия над векторами | Модуль вектора; равенство векторов; сложение (правило треугольника, параллелограмма); умножение на скаляр |
|
||
| §4 | Проекция вектора на ось | $a_x = a\cos\alpha$; знак проекции; разложение по осям |
|
||
| §5 | Путь и перемещение | Путь $s$ (скаляр) vs перемещение $\Delta\vec r$ (вектор); $\Delta r = \|\vec r - \vec r_0\|$ |
|
||
| §6 | Равномерное прямолинейное движение. Скорость | $\vec v = \text{const}$; $\Delta\vec r = \vec v\,t$; $x = x_0 + v_x t$; $s = vt$ |
|
||
| §7 | Графическое представление равномерного прямолинейного движения | Графики $v(t)$ (прямая), $x(t)$ (наклонная); площадь под $v(t)$ = путь |
|
||
| §8 | Неравномерное движение. Средняя и мгновенная скорость | $\langle v\rangle = s/t$; мгновенная скорость как предел; векторная средняя $\langle \vec v\rangle = \Delta\vec r/\Delta t$ |
|
||
| §9 | Сложение скоростей | $\vec v_{1,3} = \vec v_{1,2} + \vec v_{2,3}$ (классический закон сложения); пловец/плот, лодка/река |
|
||
| §10 | Ускорение | $\vec a = \dfrac{\Delta \vec v}{\Delta t}$; единица м/с²; направление ускорения |
|
||
| §11 | Скорость при равноускоренном движении | $\vec v = \vec v_0 + \vec a\,t$; в проекциях $v_x = v_{0x} + a_x t$ |
|
||
| §12 | Перемещение, координата и путь при равноускоренном движении | $\Delta\vec r = \vec v_0 t + \dfrac{\vec a t^2}{2}$; $x = x_0 + v_{0x}t + \dfrac{a_x t^2}{2}$; $v^2 - v_0^2 = 2a_x \Delta x$ |
|
||
| §13 | Линейная и угловая скорости | $\omega = \dfrac{\Delta\varphi}{\Delta t} = \dfrac{2\pi}{T} = 2\pi\nu$; $v = \omega R$ |
|
||
| §14 | Ускорение точки при движении по окружности | $a_n = \dfrac{v^2}{R} = \omega^2 R$; центростремительное направление к центру |
|
||
|
||
### Глава 2. Основы динамики (§§15–24) · 10 параграфов · green
|
||
|
||
| § | Тема | Ключевые понятия/формулы |
|
||
|---|------|--------------------------|
|
||
| §15 | Взаимодействие тел. Сила. ИСО. 1-й закон Ньютона | Сила как мера взаимодействия; ИСО; принцип инерции: $\vec F = 0 \Rightarrow \vec v = \text{const}$ |
|
||
| §16 | Масса | Масса как мера инертности; $m_1/m_2 = a_2/a_1$; единица кг |
|
||
| §17 | Второй закон Ньютона — основной закон динамики | $\vec a = \dfrac{\vec F}{m}$; $\vec F = m\vec a$; в проекциях $F_x = m a_x$ |
|
||
| §18 | Третий закон Ньютона. Принцип относительности Галилея | $\vec F_{12} = -\vec F_{21}$; равенство сил действия/противодействия; инвариантность законов в ИСО |
|
||
| §19 | Деформация тел. Сила упругости. Закон Гука | Виды деформаций; $F_{\text{упр}} = -k x$; жёсткость пружины $k$, единица Н/м |
|
||
| §20 | Силы трения. Силы сопротивления среды | Покой/скольжение/качение; $F_{\text{тр}} = \mu N$; сопротивление среды зависит от скорости |
|
||
| §21 | Движение тела под действием силы тяжести | $a = g \approx 9{,}81$ м/с²; свободное падение; $h = \dfrac{gt^2}{2}$, $v = gt$ |
|
||
| §22 | Движение тела, брошенного под углом к горизонту¹ | Параметрические уравнения: $x = v_0\cos\alpha\cdot t$, $y = v_0\sin\alpha\cdot t - \dfrac{gt^2}{2}$; дальность $L = \dfrac{v_0^2\sin 2\alpha}{g}$; высота $H = \dfrac{v_0^2\sin^2\alpha}{2g}$ |
|
||
| §23 | Закон всемирного тяготения | $F = G\dfrac{m_1 m_2}{r^2}$; $G = 6{,}67\cdot 10^{-11}$ Н·м²/кг²; $g = G M_З/R_З^2$ |
|
||
| §24 | Вес. Невесомость и перегрузки | Вес $P$ vs сила тяжести $mg$; $P = m(g \pm a)$; $P = 0$ — невесомость; $k = a/g + 1$ — перегрузка |
|
||
|
||
¹ §22 в источнике — «для дополнительного чтения»; пишем на равных.
|
||
|
||
### Глава 3. Основы статики (§§25–30) · 6 параграфов · violet
|
||
|
||
| § | Тема | Ключевые понятия/формулы |
|
||
|---|------|--------------------------|
|
||
| §25 | Условия равновесия тел. Момент силы | $\sum \vec F = 0$ и $\sum M = 0$; $M = F\cdot l$ (плечо); единица Н·м |
|
||
| §26 | Простые механизмы. Рычаги. Блоки | $F_1 l_1 = F_2 l_2$; неподвижный/подвижный блоки; полиспаст |
|
||
| §27 | Наклонная плоскость. «Золотое правило» механики. КПД | Выигрыш в силе = проигрыш в пути; $\eta = \dfrac{A_{\text{пол}}}{A_{\text{сов}}}\cdot 100\%$ |
|
||
| §28 | Центр тяжести. Виды равновесия | ЦТ однородных тел; устойчивое/неустойчивое/безразличное равновесие |
|
||
| §29 | Действие жидкости и газа на погружённые тела. Выталкивающая сила. Закон Архимеда | $F_A = \rho_ж g V_{\text{погр}}$; вывод через давление сверху/снизу |
|
||
| §30 | Плавание судов. Воздухоплавание¹ | Условие плавания $\rho_т \le \rho_ж$; ватерлиния; подъёмная сила воздухоплавательного аппарата |
|
||
|
||
¹ §30 в источнике — «для дополнительного чтения»; пишем на равных.
|
||
|
||
### Глава 4. Законы сохранения (§§31–36) · 6 параграфов · pink
|
||
|
||
> **Важно:** контент §31–36 **уже написан** в текущем `frontend/textbooks/physics_9.html` (формулы, теория, примеры, практические задачи с валидацией). При создании `physics_9_ch4.html` контент переносится с минимальными правками — нужно только заменить общую обвязку (шапку, breadcrumbs, нумерацию).
|
||
|
||
| § | Тема | Ключевые понятия/формулы |
|
||
|---|------|--------------------------|
|
||
| §31 | Импульс тела. Импульс системы тел | $\vec p = m\vec v$; единица кг·м/с; импульс системы = $\sum \vec p_i$ |
|
||
| §32 | Закон сохранения импульса. Реактивное движение | $\sum \vec p_{до} = \sum \vec p_{после}$ для замкнутой системы; ракета: $m_р\vec v_р + m_г\vec v_г = 0$ |
|
||
| §33 | Механическая работа. Мощность | $A = F\Delta r\cos\alpha$; единица Дж; мощность $P = A/\Delta t = Fv\cos\alpha$, единица Вт |
|
||
| §34 | Потенциальная энергия | $E_п = mgh$ (тяжести); $E_п = kx^2/2$ (упругости); $A = -\Delta E_п$ |
|
||
| §35 | Кинетическая энергия. Полная энергия системы тел | $E_к = mv^2/2$; теорема о кинетической энергии $A_{\text{полн}} = \Delta E_к$; $E = E_к + E_п$ |
|
||
| §36 | Закон сохранения энергии | $E_к + E_п = \text{const}$ в замкнутой консервативной системе; превращение видов энергии |
|
||
|
||
### Глава 5. Лабораторный практикум (12 ЛР) · cyan
|
||
|
||
| ЛР | Название | Цель | Основное оборудование |
|
||
|----|----------|------|------------------------|
|
||
| ЛР1 | Определение абсолютной и относительной погрешностей прямых измерений | Научиться определять $\Delta x$, $\varepsilon_x$, интервальная форма | Мерная лента, шарик на нити $l=1$ м, секундомер, штатив, треугольник |
|
||
| ЛР2 | Измерение ускорения при равноускоренном движении | $a = 2l/t^2$ из движения шарика по наклонному жёлобу | Жёлоб, штатив, стальной шарик, упор, секундомер, мерная лента |
|
||
| ЛР3 | Изучение движения тела по окружности | Период $T$, $a_n = 4\pi^2 R/T^2$, $\omega$, $v = \omega R$ | Штатив, нить 40–45 см, шарик, секундомер, лист с окружностью $R = 10$ см |
|
||
| ЛР4 | Проверка закона Гука | Жёсткость пружины $k$ из графика $F_{\text{упр}}(x)$ | Штатив, динамометр, набор грузов $m = 100$ г |
|
||
| ЛР5 | Измерение коэффициента трения скольжения | $\mu = F_{\text{упр}}/P$ для дерева по дереву | Брусок, доска, грузы, штатив, мерная лента, динамометр |
|
||
| ЛР6 | Изучение движения тела, брошенного горизонтально | $v_0 = l\sqrt{g/(2h)}$ из дальности полёта | Штатив, шарик, лоток, листы белой+копировальной бумаги, линейка, скотч |
|
||
| ЛР7 | Проверка условия равновесия рычага | $F_1 l_1 = F_2 l_2$; $M_1 = M_2$ | Рычаг съёмный с осью, штатив, грузы $m = 100$ г |
|
||
| ЛР8 | Изучение неподвижного и подвижного блоков | Выигрыш в силе для подвижного блока в 2 раза, $P h_1 = F h_2$ | Штатив, блоки, грузы, динамометр, нить 80–100 см |
|
||
| ЛР9 | Изучение наклонной плоскости и измерение её КПД | $\eta = mgh/(F_{\text{упр}}l)\cdot 100\%$ при углах 30° и 45° | Доска 40–80 см, брусок, грузы, штатив, динамометр, линейка, треугольник |
|
||
| ЛР10 | Изучение выталкивающей силы | $F_A = F_{\text{упр1}} - F_{\text{упр2}}$ для разных жидкостей и тел | Стакан с водой, мензурка, динамометр, цилиндры разной плотности, раствор соли, штатив |
|
||
| ЛР11 | Проверка закона сохранения импульса | $m_1 l_1 = m_1 l'_1 + m_2 l'_2$ для столкновения шаров | Штатив, лоток, два шара разной массы, листы белой+копировальной бумаги, линейка, весы, разновес, скотч |
|
||
| ЛР12 | Проверка закона сохранения механической энергии | $F_{\text{упр}}|x| = ml^2 g/(2h)$ — пружина → шар → дальность полёта | Два штатива, лоток, шар на нити, динамометр, листы белой+копировальной бумаги, линейка, весы, разновес, скотч |
|
||
|
||
Каждая ЛР в источнике содержит: **Цель → Оборудование → Проверьте себя (вопросы перед работой) → Вывод расчётных формул → Ход работы (нумерованные шаги) → Таблица измерений → Контрольные вопросы → Суперзадание**. Шаблон ЛР воспроизводим в HTML 1-в-1.
|
||
|
||
**ИТОГО:** 5 глав, 36 параграфов + 12 ЛР, **1 часть** (только механика).
|
||
|
||
---
|
||
|
||
## 🎨 SVG/JS-стандарт для Физики 9
|
||
|
||
Физика 9 — **первая физика в проекте, посвящённая только механике**. Многие хелперы переиспользуются из Физики 10/11 (которые уже реализованы):
|
||
|
||
### Унаследованные хелперы (из Физики 10/11)
|
||
- `drawArrow(x1, y1, x2, y2, color, width, headSize)` — стрелка вектора (нужна **везде**: сила, скорость, импульс, ускорение)
|
||
- `axes2D(W, H, pad, xmin, xmax, ymin, ymax)` — координатная плоскость для графиков $v(t)$, $x(t)$, $a(t)$
|
||
- `plotFunc(f, xmin, xmax, ...)` — графики кинематики
|
||
- `angleArcAuto`, `rightAngleMark`, `unitVec`, `deg2rad` — углы и единичные векторы
|
||
- `snapToValue` — snap-точки для интерактивных слайдеров
|
||
|
||
### Новые хелперы для Физики 9 (`frontend/js/phys9.js` или расширение `phys.js`)
|
||
|
||
```javascript
|
||
// === Тело на наклонной плоскости с разложением сил ===
|
||
function inclinedPlane(x, y, length, angle, bodyW, bodyH, showForces) {
|
||
// SVG: плоскость + брусок + векторы N, mg, F_тр, F_упр (если showForces)
|
||
// Возвращает группу с углом наклона, силами с подписями
|
||
}
|
||
|
||
// === Рычаг (двуплечий) ===
|
||
function lever(x, y, l1, l2, F1, F2) {
|
||
// Горизонтальная линейка с точкой опоры, левая сила вниз (F1, плечо l1), правая (F2, плечо l2)
|
||
// Подписи плеч и сил, треугольная опора
|
||
}
|
||
|
||
// === Подвижный/неподвижный блок ===
|
||
function pulleyFixed(x, y, r, weight) { /* колесо + нить + груз */ }
|
||
function pulleyMovable(x, y, r, weight) { /* колесо в нити, петля сверху + груз снизу */ }
|
||
|
||
// === Тело в жидкости (закон Архимеда) ===
|
||
function bodyInFluid(x, y, bodyW, bodyH, submergeDepth, fluidColor) {
|
||
// Прямоугольник тела частично погружён в прямоугольник жидкости
|
||
// Вектор F_A вверх, mg вниз
|
||
}
|
||
|
||
// === Пружина с грузом ===
|
||
function spring(x1, y1, x2, y2, coils, width) {
|
||
// Зигзаг пружины с заданным числом витков
|
||
}
|
||
|
||
// === Траектория тела, брошенного под углом ===
|
||
function projectileTrajectory(x0, y0, v0, angle, g, toX, toY, color) {
|
||
// Параболическая кривая через серию точек
|
||
// Возвращает <polyline points="..."/> + вектор v0 в точке запуска
|
||
}
|
||
|
||
// === Движение по окружности с вектором a_n и v ===
|
||
function circularMotion(cx, cy, r, theta, showVectors) {
|
||
// Окружность + точка на ней + касательная v + радиальный a_n к центру
|
||
}
|
||
|
||
// === Таймер-сечундомер (статичная иконка для ЛР) ===
|
||
function stopwatchIcon(x, y, size) { /* SVG секундомера */ }
|
||
```
|
||
|
||
### Интерактивные виджеты (для блоков «🎱 интерактивная модель»)
|
||
- **Сложение векторов** (§3): drag двух стрелок → результирующий вектор + модуль
|
||
- **Относительность движения** (§2): лодка/река — пользователь меняет $\vec v_{\text{лодки}}$ и $\vec v_{\text{реки}}$, смотрит траекторию относительно берега и относительно реки
|
||
- **График $x(t)$ и $v(t)$** (§§6–12): слайдер $v_0, a$ → синхронные графики
|
||
- **Закон Гука** (§19): пружина с тянущимся грузом + график $F(x)$
|
||
- **Архимед** (§29): погружение тела разной плотности в разные жидкости → $F_A$ в реальном времени
|
||
- **Закон сохранения импульса** (§32): столкновение двух шаров — пользователь задаёт массы и скорости, смотрит до/после
|
||
|
||
### Видео-демоопыты (для блоков «📱 опыт»)
|
||
Источник 📱 в учебнике (Приложение 2) — это видео BIBLIOMER. У нас вместо видео — **встроенная статическая SVG-иллюстрация + краткое описание опыта** (или ссылка на YouTube/локальный видеофайл — TBD).
|
||
|
||
---
|
||
|
||
## 📐 Структура каждого § (универсальный шаблон)
|
||
|
||
Каждый параграф в `physics_9_chN.html` оформляется по канве источника:
|
||
|
||
```html
|
||
<section id="p1" class="para">
|
||
<!-- 1. Hero-баннер -->
|
||
<div class="para-hero ch1-gradient">
|
||
<div class="para-num">§ 1</div>
|
||
<h2 class="para-title">Механическое движение</h2>
|
||
<p class="para-lead">Кинематика как раздел физики...</p>
|
||
</div>
|
||
|
||
<!-- 2. Теория -->
|
||
<div class="para-body">
|
||
<p>...</p>
|
||
<div class="def-box"><strong>Материальной точкой называют тело, размерами которого в данной задаче можно пренебречь.</strong></div>
|
||
<figure class="fig"><svg>...</svg><figcaption>Рис. 1. Поступательное движение</figcaption></figure>
|
||
<p>Формула: $$\vec v = \frac{\Delta \vec r}{\Delta t}$$</p>
|
||
</div>
|
||
|
||
<!-- 3. Главные выводы (оранжевый) -->
|
||
<div class="box-main">
|
||
<div class="box-head"><svg class="ic">...</svg> Главные выводы</div>
|
||
<ol>
|
||
<li>Задача кинематики — математически строгое описание механического движения.</li>
|
||
<li>При описании поступательного движения можно использовать модель материальной точки.</li>
|
||
<li>Материальной точкой называют тело, размерами которого в данной задаче можно пренебречь.</li>
|
||
</ol>
|
||
</div>
|
||
|
||
<!-- 4. Контрольные вопросы (розовый) -->
|
||
<div class="box-check">
|
||
<div class="box-head"><svg class="ic">...</svg> Контрольные вопросы</div>
|
||
<ol>
|
||
<li>В чём состоит задача кинематики?</li>
|
||
<li>Что такое абсолютно твёрдое тело?</li>
|
||
<li>...</li>
|
||
</ol>
|
||
</div>
|
||
|
||
<!-- 5. Домашнее задание (синий) -->
|
||
<div class="box-home">
|
||
<div class="box-head"><svg class="ic">...</svg> Домашнее задание</div>
|
||
<ol>
|
||
<li>Выразите время в секундах: $t_1 = 20$ мкс; $t_2 = 0{,}40$ мин; $t_3 = 3{,}0$ ч.</li>
|
||
<li>...</li>
|
||
</ol>
|
||
</div>
|
||
|
||
<!-- 6. Упражнение N с автопроверкой -->
|
||
<div class="exercise">
|
||
<div class="box-head">Упражнение 1</div>
|
||
<div class="task">
|
||
<p>1. Что такое траектория? Путь?</p>
|
||
<textarea class="answer-text"></textarea>
|
||
</div>
|
||
<div class="task">
|
||
<p>4. Если пути 900 000 км; 15 м пройдены за одно время, то какой пройден пешеходом?</p>
|
||
<input class="answer-num" data-correct="15" data-tolerance="0.01">
|
||
<button class="check-btn">Проверить</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 7. Для любознательных (опционально) -->
|
||
<details class="extra">
|
||
<summary>Для любознательных</summary>
|
||
<p>...</p>
|
||
</details>
|
||
</section>
|
||
```
|
||
|
||
Использовать существующий CSS из `physics_10_chN.html` (адаптировать переменные `--ch-color`).
|
||
|
||
---
|
||
|
||
## 🚀 Реализация по фазам
|
||
|
||
### Фаза 1 ✅ (этот документ)
|
||
Составить PLAN_PHYSICS_9.md — оглавление, ЛР, хелперы, шаблон §.
|
||
|
||
### Фаза 2. Генератор hub-страницы
|
||
- `backend/scripts/gen_phys9_hub.js` (по образцу `gen_phys10_hub.js`)
|
||
- SRC: `physics_10_hub.html` → DST: `physics_9_hub.html`
|
||
- Палитра: синяя (header `#1e3a8a → #2563eb → #60a5fa`)
|
||
- Заголовок: «Физика 9 класс», подзаголовок: «Механика»
|
||
- 5 карточек глав с цветами `blue · green · violet · pink · cyan`
|
||
- Описания глав — из таблиц выше (1 строка на главу)
|
||
|
||
### Фаза 3. Генератор скелетов глав
|
||
- `backend/scripts/gen_phys9_ch.js` (по образцу `gen_phys10_ch.js`)
|
||
- Генерирует 5 файлов `physics_9_ch1..ch5.html` со скелетом (header, breadcrumbs, KaTeX, dark-mode, XP, прогресс per-§).
|
||
- Главы 1-4: пустые секции по § с заголовками из таблиц.
|
||
- Глава 5 (ЛР): 12 пустых секций ЛР с шаблоном (Цель/Оборудование/Ход работы/Контрольные).
|
||
|
||
### Фаза 4. Миграция БД
|
||
`backend/src/db/migrations/038_physics_9_hub.sql`:
|
||
|
||
```sql
|
||
-- 1. Удалить старую плоскую строку
|
||
DELETE FROM textbooks WHERE slug = 'physics-9';
|
||
|
||
-- 2. Hub
|
||
INSERT INTO textbooks (slug, subject, grade, title, author, description, html_path, para_count, color, sort_order, is_active) VALUES
|
||
('physics-9', 'physics', 9, 'Физика — 9 класс', '',
|
||
'Полный курс механики: кинематика, динамика, статика, законы сохранения + 12 лабораторных работ. 5 глав, 36 параграфов.',
|
||
'physics_9_hub.html', 36, 'blue', 2, 1);
|
||
|
||
-- 3. Дочерние главы
|
||
INSERT INTO textbooks (slug, subject, grade, title, author, description, html_path, para_count, color, sort_order, is_active, parent_slug) VALUES
|
||
('physics-9-ch1', 'physics', 9, 'Физика 9 · Основы кинематики', '',
|
||
'§1–§14: механическое движение, СО, векторы, путь и перемещение, равномерное и равноускоренное движение, движение по окружности.',
|
||
'physics_9_ch1.html', 14, 'blue', 1, 1, 'physics-9'),
|
||
('physics-9-ch2', 'physics', 9, 'Физика 9 · Основы динамики', '',
|
||
'§15–§24: законы Ньютона, масса, закон Гука, трение, всемирное тяготение, вес и невесомость.',
|
||
'physics_9_ch2.html', 10, 'green', 2, 1, 'physics-9'),
|
||
('physics-9-ch3', 'physics', 9, 'Физика 9 · Основы статики', '',
|
||
'§25–§30: момент силы, рычаги, блоки, наклонная плоскость, КПД, центр тяжести, закон Архимеда.',
|
||
'physics_9_ch3.html', 6, 'violet', 3, 1, 'physics-9'),
|
||
('physics-9-ch4', 'physics', 9, 'Физика 9 · Законы сохранения', '',
|
||
'§31–§36: импульс, реактивное движение, работа, мощность, потенциальная и кинетическая энергия, закон сохранения энергии.',
|
||
'physics_9_ch4.html', 6, 'pink', 4, 1, 'physics-9'),
|
||
('physics-9-ch5', 'physics', 9, 'Физика 9 · Лабораторный практикум', '',
|
||
'12 лабораторных работ: погрешности, ускорение, окружность, закон Гука, трение, бросок, рычаг, блоки, наклонная плоскость, Архимед, импульс, энергия.',
|
||
'physics_9_ch5.html', 12, 'cyan', 5, 1, 'physics-9');
|
||
```
|
||
|
||
### Фаза 5. Контент по главам (по образцу Физики 10)
|
||
Порядок написания:
|
||
1. **Ch4 (§31–36)** — перенести готовый контент из `physics_9.html` (минимум работы, проверить, что всё корректно работает с новой обвязкой).
|
||
2. **Ch1 (§1–14)** — самая большая глава (14 §). Базовая кинематика, много векторных диаграмм, графики $v(t), x(t)$.
|
||
3. **Ch2 (§15–24)** — динамика, 10 §. Силы, законы Ньютона, гравитация.
|
||
4. **Ch3 (§25–30)** — статика, 6 §. Рычаги, блоки, Архимед.
|
||
5. **Ch5 (ЛР1–12)** — 12 лаб. работ по шаблону источника.
|
||
|
||
Для каждого § (и каждой ЛР) — полная канва из источника (см. шаблон выше).
|
||
|
||
### Фаза 6. Удаление монолита и проверка
|
||
- Удалить `frontend/textbooks/physics_9.html` (после переноса §31–36 в Ch4).
|
||
- Запустить сервер, проверить визуально: hub → 5 карточек → каждая глава → KaTeX, dark mode, XP, прогресс, breadcrumb.
|
||
- В админке: «Физика — 9 класс» как hub с 5 child-главами.
|
||
- `ast-index rebuild` (новые файлы).
|
||
|
||
### Фаза 7. Git
|
||
Коммит на каждую завершённую фазу (только изменённые файлы, не `git add -A`). Финальный коммит после Phase 6.
|
||
|
||
---
|
||
|
||
## 📂 Файлы, которые будут созданы/изменены
|
||
|
||
**Новые:**
|
||
- `plans/textbooks-9/PLAN_PHYSICS_9.md` (этот файл) ✅
|
||
- `backend/scripts/gen_phys9_hub.js`
|
||
- `backend/scripts/gen_phys9_ch.js`
|
||
- `backend/src/db/migrations/038_physics_9_hub.sql`
|
||
- `frontend/textbooks/physics_9_hub.html`
|
||
- `frontend/textbooks/physics_9_ch1.html` … `physics_9_ch5.html`
|
||
- `frontend/js/phys9.js` (опционально, если новых хелперов хватит на отдельный файл — иначе расширить `phys.js`)
|
||
|
||
**Удаляется:**
|
||
- `frontend/textbooks/physics_9.html` (после переноса §31–36 в Ch4)
|
||
|
||
**Изменяется:**
|
||
- `frontend/admin.html` — если требуется обновление списка учебников (TBD: проверить, реактивен ли список к таблице `textbooks` или есть хардкод).
|
||
|
||
---
|
||
|
||
## ⚠️ Открытые вопросы
|
||
|
||
1. **`para_count` у hub-строки** = 36 (только §) — проверить, как Phys 10 (`para_count=37`) учитывает прогресс. Если ЛР тоже должны учитываться — увеличить до 48.
|
||
2. **Видео-демоопыты (📱)** — встраиваем статичную SVG-иллюстрацию + текст? Или будут видеофайлы? По умолчанию — статика, без видео.
|
||
3. **Интерактивные модели (🎱)** — лимит на сложность. По умолчанию: 1 виджет на 3-4 §, не пытаться сделать каждый параграф интерактивным.
|