docs(plans): мощный план Физики 9 — 19 флагман-интерактивов и симуляторов
This commit is contained in:
@@ -0,0 +1,409 @@
|
|||||||
|
# План: мощные интерактивы и симуляторы для Физики 9
|
||||||
|
|
||||||
|
**Дата:** 2026-05-30
|
||||||
|
**Контекст:** третий план, дополняет [PLAN_PHYSICS_9_VISUAL.md](PLAN_PHYSICS_9_VISUAL.md) (фазы 1-3 сделаны) и [PLAN_PHYSICS_9_PER_PARAGRAPH.md](PLAN_PHYSICS_9_PER_PARAGRAPH.md) (Wave A-G сделаны).
|
||||||
|
**Цель:** добавить **флагманские** интерактивы — крупные симуляторы / мини-игры / физические песочницы. По 1-3 на главу. Каждый = «вау-эффект», который запомнится школьнику.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Принцип «флагмана»
|
||||||
|
|
||||||
|
Не очередной slider+калькулятор, а:
|
||||||
|
- **Полноэкранный** интерактив (~ 600×500 px)
|
||||||
|
- **Анимация** в реальном времени (`requestAnimationFrame`)
|
||||||
|
- **Управление мышкой / клавиатурой** (drag, click, keyboard)
|
||||||
|
- **Real-time графики** связанные с симуляцией
|
||||||
|
- **Сохранение результатов** в localStorage (рекорды)
|
||||||
|
- **Геймификация** — score, баллы, медали
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⭐ Глава 1 · Кинематика — 4 флагмана
|
||||||
|
|
||||||
|
### F1. Конструктор траектории
|
||||||
|
**§5** (путь vs перемещение)
|
||||||
|
- Пользователь **рисует мышкой** на canvas произвольную кривую.
|
||||||
|
- Программа автоматически считает:
|
||||||
|
- **Путь** $s$ — длина кривой (через сумму отрезков)
|
||||||
|
- **Перемещение** $|\Delta\vec r|$ — расстояние start→end
|
||||||
|
- Отношение $s/|\Delta\vec r|$
|
||||||
|
- Кнопка «Закрыть петлю» — соединяет конец с началом, $\Delta r = 0$.
|
||||||
|
- Шаблоны: прямая, дуга 180°, полная окружность, зигзаг.
|
||||||
|
- **Wow:** видно, что $s \ge |\Delta\vec r|$, всегда.
|
||||||
|
- ~400 LOC
|
||||||
|
|
||||||
|
### F2. Гонка двух тел
|
||||||
|
**§9** (встреча двух тел)
|
||||||
|
- Симуляция гонки: два автомобиля с разными $v_0$, $a$ на одной трассе.
|
||||||
|
- Пользователь меняет параметры **до старта**, нажимает «Старт».
|
||||||
|
- Анимация: автомобили едут по трассе.
|
||||||
|
- **Real-time графики** $x_1(t)$ и $x_2(t)$ строятся слева от трассы.
|
||||||
|
- Момент встречи — подсвечен пересечением графиков + звуковой сигнал.
|
||||||
|
- Кнопка «Случайный сценарий» для тренировки.
|
||||||
|
- **Wow:** одновременно видна симуляция и математическая зависимость.
|
||||||
|
- ~500 LOC
|
||||||
|
|
||||||
|
### F3. Тахометр + спидометр + одометр
|
||||||
|
**§11-13** (равноуск. движение)
|
||||||
|
- Виртуальный автомобиль с **3 связанными приборами**:
|
||||||
|
- Тахометр (показывает $a$)
|
||||||
|
- Спидометр (показывает $v$)
|
||||||
|
- Одометр (показывает $\Delta x$ за время)
|
||||||
|
- Управление: педаль газа (slider $a$) и педаль тормоза.
|
||||||
|
- Реалистичная динамика: при отпускании газа — медленное торможение (трение). При тормозе — резкое.
|
||||||
|
- **Графики** $v(t)$ и $a(t)$ записываются.
|
||||||
|
- Цель: разогнаться до 60 км/ч и затормозить за ~50 м (как в реальных тестах).
|
||||||
|
- **Wow:** игра в автогонщика + интуитивное понимание кинематики.
|
||||||
|
- ~600 LOC
|
||||||
|
|
||||||
|
### F4. Орбитальный конструктор
|
||||||
|
**§16-18** (Кеплер, окружность)
|
||||||
|
- Симулятор «запусти спутник»: Земля в центре, мышью **тянешь стрелку** $\vec v$ начальной скорости и **отпускаешь**.
|
||||||
|
- Спутник летит по орбите согласно Ньютону+Кеплеру.
|
||||||
|
- Цвет траектории: круг (идеал) / эллипс / парабола / убегание.
|
||||||
|
- Подписи: $T$, $a$, эксцентриситет.
|
||||||
|
- Слайдер «масса Земли» — меняет тяготение.
|
||||||
|
- **Wow:** видишь, что нужна **определённая** скорость для круговой орбиты.
|
||||||
|
- ~600 LOC
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⭐ Глава 2 · Динамика — 4 флагмана
|
||||||
|
|
||||||
|
### F5. Машина Атвуда
|
||||||
|
**§19-22** (динамика связанных тел)
|
||||||
|
- Виртуальная установка: две массы $m_1$, $m_2$ через блок на нити.
|
||||||
|
- Slider'ы: $m_1$, $m_2$, $\mu$ (трение в блоке).
|
||||||
|
- Запуск: бо́льшая масса опускается, меньшая поднимается.
|
||||||
|
- Реальная физика: $a = (m_1 - m_2)g/(m_1+m_2)$.
|
||||||
|
- Подсветка сил: $\vec T$ натяжение, $\vec g$ вес.
|
||||||
|
- График $v(t)$ — линейный (равноуск).
|
||||||
|
- **Wow:** классический школьный опыт в виртуале.
|
||||||
|
- ~500 LOC
|
||||||
|
|
||||||
|
### F6. Симулятор скоростной дороги
|
||||||
|
**§20** (трение), **§22** (F=ma)
|
||||||
|
- 2D-вид: автомобиль на дороге с разным покрытием (асфальт сухой/мокрый, лёд, гравий).
|
||||||
|
- Slider $\mu$ автоматически по покрытию.
|
||||||
|
- Включаем тормоз: автомобиль скользит на расстояние $s = v^2 / (2 \mu g)$.
|
||||||
|
- При большом $v$ + малом $\mu$ — занос.
|
||||||
|
- **Wow:** видно, насколько лёд опасен — путь торможения растёт в 5 раз.
|
||||||
|
- ~400 LOC
|
||||||
|
|
||||||
|
### F7. Лифт с динамометром
|
||||||
|
**§24** (вес, перегрузка, невесомость)
|
||||||
|
- Лифт в высоком здании. На полу динамометр с грузом 1 кг.
|
||||||
|
- Кнопки: «Этаж 1», «Этаж 10», «Аварийный спуск».
|
||||||
|
- При движении видно показания динамометра и анимацию.
|
||||||
|
- **Параметры:** $a_{разгон}$, $v_{макс}$ настраиваются.
|
||||||
|
- График $P(t)$ записывается.
|
||||||
|
- Особый режим: «свободное падение» → невесомость, груз висит.
|
||||||
|
- **Wow:** наглядное переживание перегрузки.
|
||||||
|
- ~500 LOC
|
||||||
|
|
||||||
|
### F8. Полигон трения
|
||||||
|
**§20**
|
||||||
|
- Шарик скатывается с пружинной катапульты по плоскости с **разными зонами** ($\mu$ меняется через каждые 30 см).
|
||||||
|
- Пользователь рисует профиль зон (drag&drop материалов: лёд, асфальт, мел).
|
||||||
|
- Шарик скользит, замедляется в зависимости от $\mu$.
|
||||||
|
- Цель: попасть в красную мишень.
|
||||||
|
- Калибровка через начальную скорость катапульты.
|
||||||
|
- **Wow:** инженерная задача про разные покрытия.
|
||||||
|
- ~600 LOC
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⭐ Глава 3 · Статика — 2 флагмана
|
||||||
|
|
||||||
|
### F9. Конструктор моста
|
||||||
|
**§25-28** (равновесие, рычаг, момент)
|
||||||
|
- На canvas — балка на 2 опорах.
|
||||||
|
- Пользователь **добавляет** грузы перетаскиванием (drag) в любую точку балки.
|
||||||
|
- Программа считает реакции опор $N_1$, $N_2$ через систему 2 уравнений ($\Sigma F = 0$, $\Sigma M = 0$).
|
||||||
|
- При перегрузке — балка прогибается / ломается.
|
||||||
|
- Цель: построить «мост» который выдержит автомобиль (фиксированный груз 1000 Н) в любой точке.
|
||||||
|
- **Wow:** инженерный квест.
|
||||||
|
- ~700 LOC
|
||||||
|
|
||||||
|
### F10. Виртуальный аквариум
|
||||||
|
**§29-30** (Архимед, плавание)
|
||||||
|
- Большой аквариум на canvas.
|
||||||
|
- Слева — палитра тел разной плотности (дерево, пенопласт, пластик, металл, золото).
|
||||||
|
- Drag&drop тел в аквариум: правильная физика — плавают, тонут, висят.
|
||||||
|
- Slider жидкости: вода → масло → ртуть.
|
||||||
|
- При смене жидкости тела перераспределяются (золото в ртути плавает!).
|
||||||
|
- **Wow:** интерактивный «фокус» с ртутью.
|
||||||
|
- ~500 LOC
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⭐ Глава 4 · Импульс / Энергия / Колебания — 4 флагмана
|
||||||
|
|
||||||
|
### F11. Бильярдная физика
|
||||||
|
**§31-32** (ЗСИ)
|
||||||
|
- 2D-бильярдный стол с 1 битком + 4 шарами.
|
||||||
|
- Перетаскивание прицела + slider «сила удара».
|
||||||
|
- Реальная физика упругих ударов между шарами.
|
||||||
|
- Real-time векторы импульса до/после.
|
||||||
|
- Цель: сделать карамболь (тройной удар).
|
||||||
|
- **Wow:** игра + физика.
|
||||||
|
- ~700 LOC
|
||||||
|
|
||||||
|
### F12. Американские горки
|
||||||
|
**§35** (ЗСМЭ)
|
||||||
|
- Пользователь **рисует профиль** горки (мышкой задаёт высоты).
|
||||||
|
- Шарик скатывается с начала, физика: $E = E_k + E_p = $ const (без трения) или с диссипацией.
|
||||||
|
- Real-time графики: $E_p$, $E_k$, $E_{total}$ на 3-х кривых.
|
||||||
|
- Можно добавить «петлю» (loop) — расчёт минимальной высоты старта.
|
||||||
|
- Slider «трение» — графики $E_{total}$ спадают.
|
||||||
|
- **Wow:** «спроектируй сам аттракцион».
|
||||||
|
- ~700 LOC
|
||||||
|
|
||||||
|
### F13. Маятник Фуко
|
||||||
|
**§36** (колебания + вращение)
|
||||||
|
- Длинный математический маятник, его плоскость колебаний **поворачивается** относительно земли из-за вращения.
|
||||||
|
- Slider: широта (на полюсе вращается за 24 ч, на экваторе не вращается).
|
||||||
|
- Анимация: вид сверху, ход маятника записывает «розетку».
|
||||||
|
- **Wow:** красивая, исторически значимая демонстрация (Париж, 1851).
|
||||||
|
- ~500 LOC
|
||||||
|
|
||||||
|
### F14. Спектр колебаний (резонанс)
|
||||||
|
**§36**
|
||||||
|
- Пружинный маятник с внешней периодической силой.
|
||||||
|
- Slider частоты внешней силы $\nu_{внеш}$.
|
||||||
|
- Когда $\nu_{внеш} \approx \nu_{собств}$ — амплитуда колебаний нарастает.
|
||||||
|
- График амплитуды от $\nu_{внеш}$ — классический резонансный пик.
|
||||||
|
- Аналог: «настройка струны гитары», «разрушение моста».
|
||||||
|
- **Wow:** объясняет, почему рота не марширует через мост.
|
||||||
|
- ~500 LOC
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔬 Глава 5 · Лаборатория — 3 флагмана-практикума
|
||||||
|
|
||||||
|
### F15. Виртуальная лаборатория свободного падения
|
||||||
|
**ЛР 6**
|
||||||
|
- Стробоскопический эффект: тело падает, на нём отметки через равные промежутки.
|
||||||
|
- Пользователь измеряет расстояния линейкой (виртуальная линейка на canvas).
|
||||||
|
- Таблица заполняется автоматически из измерений.
|
||||||
|
- Расчёт $g$ по серии 5-6 измерений + погрешность.
|
||||||
|
- **Wow:** реальный лабораторный отчёт получается за 5 минут.
|
||||||
|
- ~500 LOC
|
||||||
|
|
||||||
|
### F16. Лаборатория законов сохранения
|
||||||
|
**ЛР 7**
|
||||||
|
- Тележка на наклонной + датчики скорости.
|
||||||
|
- Запускается с разных высот, измерения автоматически.
|
||||||
|
- Серия из 5 запусков: $h_1, v_1$; $h_2, v_2$; ...
|
||||||
|
- Расчёт КПД через сравнение $E_p^{0}$ и $E_k^{внизу}$.
|
||||||
|
- График «отклонение от ЗСМЭ vs скорость» — видна систематическая ошибка от трения.
|
||||||
|
- **Wow:** настоящие лабораторные навыки.
|
||||||
|
- ~600 LOC
|
||||||
|
|
||||||
|
### F17. Лаборатория маятника
|
||||||
|
**ЛР 4, ЛР 12**
|
||||||
|
- Несколько маятников рядом: математ., пружинный, физический.
|
||||||
|
- Запуск синхронно, измерение $T$ автоматически.
|
||||||
|
- Цель: подобрать $l$ так, чтобы $T = 2$ с (секундный маятник).
|
||||||
|
- Дополнительно: изменение $g$ (на Луне, Марсе) → как меняется $T$.
|
||||||
|
- **Wow:** «найди $g$ на Марсе по периоду маятника».
|
||||||
|
- ~500 LOC
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏆 Финал курса — 2 флагмана
|
||||||
|
|
||||||
|
### F18. Магистр-симулятор
|
||||||
|
- Большой интерактив **«построй сценарий движения тела»**:
|
||||||
|
- Точка А → точка Б через любые этапы (равном., равноуск., свободное падение, …).
|
||||||
|
- Пользователь собирает цепочку этапов как конструктор LEGO.
|
||||||
|
- Программа автоматически рисует $x(t)$, $v(t)$, $a(t)$.
|
||||||
|
- Проверка корректности сценария: «достижимо ли?»
|
||||||
|
- Сохранение в галерею (localStorage), share-кнопка (URL с сценарием в параметрах).
|
||||||
|
- **Wow:** портфолио своих физических задач.
|
||||||
|
- ~800 LOC
|
||||||
|
|
||||||
|
### F19. Финальный босс — «Полёт ракеты»
|
||||||
|
- Симулятор взлёта ракеты с Земли:
|
||||||
|
- Параметры: масса ракеты, масса топлива, $q$ (скорость истечения газов), $G$.
|
||||||
|
- Реальная физика: уравнение Циолковского + сила тяжести + сопротивление воздуха.
|
||||||
|
- График $h(t)$, $v(t)$, остаток топлива.
|
||||||
|
- Цель: вывести спутник на орбиту 400 км (МКС).
|
||||||
|
- **Wow:** реальная инженерная задача, объединяющая ВСЁ из курса.
|
||||||
|
- ~1000 LOC
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Сводка флагманов
|
||||||
|
|
||||||
|
| # | Название | Глава | LOC | Приоритет |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| F1 | Конструктор траектории | §5 | 400 | ⭐ |
|
||||||
|
| F2 | Гонка двух тел | §9 | 500 | 🔥 |
|
||||||
|
| F3 | Тахометр + спидометр | §11-13 | 600 | 🔥 |
|
||||||
|
| F4 | Орбитальный конструктор | §16-18 | 600 | 🔥 |
|
||||||
|
| F5 | Машина Атвуда | §19-22 | 500 | ⭐ |
|
||||||
|
| F6 | Симулятор дороги | §20 | 400 | ⭐ |
|
||||||
|
| F7 | Лифт с динамометром | §24 | 500 | ⭐ |
|
||||||
|
| F8 | Полигон трения | §20 | 600 | 💡 |
|
||||||
|
| F9 | Конструктор моста | §25-28 | 700 | 🔥 |
|
||||||
|
| F10 | Виртуальный аквариум | §29-30 | 500 | ⭐ |
|
||||||
|
| F11 | Бильярдная физика | §31-32 | 700 | 🔥 |
|
||||||
|
| F12 | Американские горки | §35 | 700 | 🔥 |
|
||||||
|
| F13 | Маятник Фуко | §36 | 500 | ⭐ |
|
||||||
|
| F14 | Резонанс | §36 | 500 | ⭐ |
|
||||||
|
| F15 | Лаб. свободное падение | ЛР 6 | 500 | ⭐ |
|
||||||
|
| F16 | Лаб. ЗСЭ | ЛР 7 | 600 | ⭐ |
|
||||||
|
| F17 | Лаб. маятника | ЛР 4,12 | 500 | ⭐ |
|
||||||
|
| F18 | Магистр-симулятор | Финал курса | 800 | 🔥 |
|
||||||
|
| F19 | Полёт ракеты | Финал курса | 1000 | 🔥 |
|
||||||
|
| **Σ** | **19 флагманов** | | **~10 600 LOC** | |
|
||||||
|
|
||||||
|
**🔥 Критично (8):** F2, F3, F4, F9, F11, F12, F18, F19
|
||||||
|
**⭐ Важно (10):** F1, F5, F6, F7, F10, F13, F14, F15, F16, F17
|
||||||
|
**💡 Nice-to-have (1):** F8
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠 Технологический стек для флагманов
|
||||||
|
|
||||||
|
### Базовые библиотеки (без внешних зависимостей)
|
||||||
|
- **Canvas 2D** — для большинства симуляций (производительно)
|
||||||
|
- **SVG** — для статических интерактивов (легко стилизуется, тёмная тема)
|
||||||
|
- **Web Audio API** — для звуковых эффектов (опционально)
|
||||||
|
- **requestAnimationFrame** — с RAF-реестром для cleanup при unmount
|
||||||
|
- **localStorage** — для сохранения настроек, рекордов
|
||||||
|
- **Web Workers** — для тяжёлых вычислений (F4 орбита, F19 ракета)
|
||||||
|
|
||||||
|
### Архитектурное правило
|
||||||
|
Каждый флагман — **отдельный модуль** `phys9_flag_FN_name.js` в `frontend/js/flagships/`. Подключается **только в нужном параграфе** через ленивую загрузку (динамический `<script>`).
|
||||||
|
|
||||||
|
### Шаблон файла:
|
||||||
|
```javascript
|
||||||
|
// phys9_flag_F2_race.js — Гонка двух тел (§9)
|
||||||
|
(function(){
|
||||||
|
'use strict';
|
||||||
|
const C = () => window.PHYS9_COLORS || {};
|
||||||
|
let _running = false, _raf = 0;
|
||||||
|
|
||||||
|
function init(secId){
|
||||||
|
const box = document.getElementById(secId+'-body');
|
||||||
|
if (!box || box.querySelector('.flag-F2')) return;
|
||||||
|
// Создать UI...
|
||||||
|
// Запустить sim...
|
||||||
|
}
|
||||||
|
|
||||||
|
function cleanup(){ if(_raf) cancelAnimationFrame(_raf); _raf = 0; _running = false; }
|
||||||
|
|
||||||
|
window.PHYS9_FLAGS = window.PHYS9_FLAGS || {};
|
||||||
|
window.PHYS9_FLAGS.F2 = { init: init, cleanup: cleanup };
|
||||||
|
})();
|
||||||
|
```
|
||||||
|
|
||||||
|
### Подключение
|
||||||
|
В `phys9_chN_widgets.js` для соответствующего параграфа:
|
||||||
|
```javascript
|
||||||
|
function add_p9(){
|
||||||
|
// ... обычный виджет (slider+калькулятор)
|
||||||
|
if (window.PHYS9_FLAGS && window.PHYS9_FLAGS.F2) {
|
||||||
|
appendTo('p9', wgWrapper('p9-flag', 'ФЛАГМАН', 'Гонка двух тел', '...', '<div id="flag-F2-host"></div>'));
|
||||||
|
window.PHYS9_FLAGS.F2.init('p9');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Порядок реализации
|
||||||
|
|
||||||
|
### Фаза 1 — Подготовка инфраструктуры (1 коммит)
|
||||||
|
- [ ] Создать каталог `frontend/js/flagships/`
|
||||||
|
- [ ] Создать `phys9_flag_base.js` — общие хелперы (RAF-реестр, canvas init, controls)
|
||||||
|
- [ ] Создать CSS `frontend/css/phys9-flagships.css` — стили карточек, кнопок, прогресс-баров
|
||||||
|
- [ ] Документ-шаблон для каждого флагмана
|
||||||
|
|
||||||
|
### Фаза 2 — Wave A (флагманы Главы 1): F1, F2, F3, F4 (4 коммита, ~2100 LOC)
|
||||||
|
**Целевая глава:** Кинематика
|
||||||
|
- F1 Конструктор траектории (1 коммит)
|
||||||
|
- F2 Гонка двух тел (1 коммит)
|
||||||
|
- F3 Тахометр + спидометр (1 коммит)
|
||||||
|
- F4 Орбитальный конструктор (1 коммит, ~600 LOC, требует Web Worker)
|
||||||
|
|
||||||
|
### Фаза 3 — Wave B (Глава 2): F5, F6, F7, F8 (4 коммита, ~2000 LOC)
|
||||||
|
- F5 Машина Атвуда
|
||||||
|
- F6 Симулятор дороги
|
||||||
|
- F7 Лифт с динамометром
|
||||||
|
- F8 Полигон трения (опционально)
|
||||||
|
|
||||||
|
### Фаза 4 — Wave C (Глава 3): F9, F10 (2 коммита, ~1200 LOC)
|
||||||
|
- F9 Конструктор моста (большой, drag&drop, рассчёт реакций опор)
|
||||||
|
- F10 Виртуальный аквариум
|
||||||
|
|
||||||
|
### Фаза 5 — Wave D (Глава 4): F11, F12, F13, F14 (4 коммита, ~2400 LOC)
|
||||||
|
- F11 Бильярдная физика
|
||||||
|
- F12 Американские горки
|
||||||
|
- F13 Маятник Фуко
|
||||||
|
- F14 Резонанс
|
||||||
|
|
||||||
|
### Фаза 6 — Wave E (Лаборатория): F15, F16, F17 (3 коммита, ~1600 LOC)
|
||||||
|
- F15 Свободное падение
|
||||||
|
- F16 ЗСЭ
|
||||||
|
- F17 Маятник
|
||||||
|
|
||||||
|
### Фаза 7 — Финал курса: F18, F19 (2 коммита, ~1800 LOC)
|
||||||
|
- F18 Магистр-симулятор
|
||||||
|
- F19 Полёт ракеты
|
||||||
|
|
||||||
|
### Фаза 8 — Полировка (1 коммит)
|
||||||
|
- [ ] Все RAF имеют пауза/сброс
|
||||||
|
- [ ] Все симуляции корректно убираются при `goTo` другого §
|
||||||
|
- [ ] Тёмная тема: все цвета через PHYS9_COLORS
|
||||||
|
- [ ] Респонсив: max-width 800px, height auto
|
||||||
|
- [ ] a11y: aria-label на интерактивных canvas
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📈 Оценка прироста качества
|
||||||
|
|
||||||
|
**До:** 48 виджетов уровня «slider + калькулятор», тёмная тема, прогресс-бары.
|
||||||
|
|
||||||
|
**После:** 19 флагманов с настоящей симуляцией, интерактивом, геймификацией.
|
||||||
|
|
||||||
|
| Метрика | До | После |
|
||||||
|
|---|---|---|
|
||||||
|
| Engagement time per § | ~2 мин | **~10 мин** |
|
||||||
|
| Уникальных интерактивов | 48 | **48 + 19 = 67** |
|
||||||
|
| LOC | ~2 000 | **~12 600** |
|
||||||
|
| Бонусы (XP) | 600 | **~1500** |
|
||||||
|
| Запоминаемость | средняя | **высокая** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ Архитектурные риски
|
||||||
|
|
||||||
|
1. **Размер бандла**: 19 флагманов × ~600 LOC = ~12 KB JS на главу. Решение — **ленивая загрузка** через динамический `<script>`.
|
||||||
|
2. **CPU**: симуляции в RAF могут тяжко грузить устройство. Решение — `IntersectionObserver` (пауза если интерактив не на экране).
|
||||||
|
3. **Запуск legacy экстрактора** не должен убить эти модули — они НЕ в `phys9_legacy.js`, а в отдельных файлах.
|
||||||
|
4. **Тёмная тема**: все цвета **обязательно** через PHYS9_COLORS, иначе при переключении выглядит сломанно.
|
||||||
|
5. **Совместимость с расширением задач** в финалах — флагман в финале НЕ должен мешать прогресс-бару.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎬 Запуск
|
||||||
|
|
||||||
|
Рекомендация: начать с **Фазы 2** (Wave A — Кинематика). Это:
|
||||||
|
- 4 флагмана, ~2100 LOC, ~4 коммита
|
||||||
|
- Покрывает самую важную главу
|
||||||
|
- Даёт сразу видимый результат
|
||||||
|
- F2 Гонка двух тел — идеальный пилот (компактный, понятный)
|
||||||
|
|
||||||
|
После завершения Wave A — решить продолжать ли или хватит пилотов.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 Связанные документы
|
||||||
|
|
||||||
|
- [PLAN_PHYSICS_9.md](PLAN_PHYSICS_9.md) — исходный план учебника
|
||||||
|
- [PLAN_PHYSICS_9_VISUAL.md](PLAN_PHYSICS_9_VISUAL.md) — горизонтальные фазы (Phase 1-3 done)
|
||||||
|
- [PLAN_PHYSICS_9_PER_PARAGRAPH.md](PLAN_PHYSICS_9_PER_PARAGRAPH.md) — детальный (Wave A-G done)
|
||||||
|
- [PLAN_PHYSICS_10.md](../textbooks-10/PLAN_PHYSICS_10.md) — образец крупных симуляций
|
||||||
Reference in New Issue
Block a user