Commit Graph

279 Commits

Author SHA1 Message Date
Maxim Dolgolyov dcdcde5b4e fix(textbooks): Физика 9 — escape § в num + phys9_legacy.js + финалы 5 глав
Багфиксы:
- gen_phys9_ch.js: убран двойной escape \u00a7 → литерал §
  (раньше карточка показывала '\u00a7 1' вместо '§ 1')
- phys9_legacy.js (262 КБ): извлечён весь JS монолита для глобальных onclick-
  обработчиков (startAnim1, lab11add/all/reset, checkNum, togglePend36 и пр.).
  Setup-код в конце обёрнут в try/catch — он рассчитан на DOM монолита.
- migrate_phys9_ch4.js + migrate_phys9_content.js: подключают phys9_legacy.js
  во все 5 ch-файлов перед закрытием <head>.

Финалы глав (write_phys9_finals.js):
- ch1: 5 задач (кинематика — поезд, разгон, окружность, лодка/река)
- ch2: 5 задач (динамика — трение, Гук, свободное падение, перегрузка)
- ch3: 5 задач (статика — рычаг, Архимед, блок, КПД накл. плоск., льдина)
- ch4: 5 задач (импульс — неупр. удар, ЗСЭ, мощность крана, пуля, бросок)
- ch5: 5 контрольных по практикуму (среднее, ЛР2, ЛР4, ЛР6, ЛР10)

Все задачи с автопроверкой через checkNum() (теперь работает из legacy.js).
2026-05-30 08:55:00 +03:00
Maxim Dolgolyov 0c6618fb38 feat(phys8 ch3): Phase 5 Wave 1+2 — §32 источники + §33 тени + §34 отражение + §35 зеркало
§32 Источники света:
- 3 теории: естеств./искусств., тепловые/люминесц., точечные
- IV-1: 8 раундов «светит/отражает»
- IV-2: 6 раундов «тепловой/люминесцентный»
- IV-3: DnD 8 источников на 2 категории
- IV-4: 6 MCQ

§33 Скорость света и распространение:
- 3 теории: c, прямолинейность, тень/полутень
- IV-1: ГЛАВНЫЙ ВИЗУАЛ — динамическая тень/полутень: slider'ы
  размера источника (0=точечный → 40=протяжённый) и расстояния,
  рисуются зоны тени и полутени на экране
- IV-2: калькулятор времени пролёта света
- IV-3: DnD 8 утверждений правда/ложь
- IV-4: 5 числовых задач (Солнце, Луна, скорость vs звук)

§34 Отражение света:
- 3 теории: закон отражения, зеркальное/диффузное, примеры
- IV-1: динамическая визуализация через OPTICS.reflectRay,
  slider α 0-80°
- IV-2: 6 раундов «зеркало/диффузное»
- IV-3: DnD 8 поверхностей
- IV-4: 5 задач (включая поворот зеркала)

§35 Плоское зеркало:
- 3 теории: свойства изображения, построение, зеркальные надписи
- IV-1: построение мнимого изображения через OPTICS.mirrorPlane
  + OPTICS.lightObject, slider расстояния
- IV-2: 6 True/False
- IV-3: DnD свойств изображения
- IV-4: 5 задач (включая 2 зеркала под 90°)

§36-40 + финал — stub-заглушки, будут реализованы в Wave 3-4.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 08:52:26 +03:00
Maxim Dolgolyov 3727417810 feat(phys8 ch2): Phase 4 Wave 2 — §30 Эрстед + §31 электромагнит + Финал главы 2
§30 Опыт Эрстеда:
- 3 теории: открытие 1820, значение опыта, применения
- IV-1: симуляция Эрстеда — провод + стрелка, slider'ы ключа и
  направления тока; без тока стрелка указывает на N (Землю),
  при включении тока отклоняется на 60° (по/против часовой
  в зависимости от направления)
- IV-2: 5 вопросов о значимости опыта
- IV-3: DnD 8 «есть/нет поля» (магниты, токи, нейтр. тела)
- IV-4: 6 MCQ

§31 Поле прямого провода + электромагнит:
- 3 теории: окружности линий и правило правой руки, соленоид,
  электромагнит
- IV-1: ГЛАВНЫЙ ВИЗУАЛ — электромагнит-конструктор: slider'ы I, N
  и dropdown сердечника (воздух/железо μ=500); катушка с витками,
  стержень, рассчитанный |B| и число поднимаемых скрепок
- IV-2: 5 вопросов «правило правой руки»
- IV-3: DnD 8 действий «усилит/ослабит поле»
- IV-4: 6 MCQ

ФИНАЛ ГЛАВЫ 2:
- Шпаргалка из 12 формул и понятий
- 10 интегрированных боссов: закон Ома, R=ρl/S, последов., параллельная,
  смешанная цепь, мощность, Джоуль-Ленц, кВт·ч за месяц, тариф,
  магистр электромагнетизма
- Прогресс-бар + ачивка em_master (+50 XP) при 10/10

Глава 2 «Электромагнитные явления» (§§12-31, 20 параграфов) закончена.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:54:53 +03:00
Maxim Dolgolyov 007c9211cd feat(phys8 ch2): Phase 4 Wave 1 — §28 постоянные магниты + §29 магнитное поле
§28 Постоянные магниты:
- 3 теории: что такое магнит, закон взаимод. полюсов, поле Земли
- IV-1: интерактив 2 магнита, slider переворота второго —
  N–S притягиваются (зелёные стрелки), N–N отталкиваются (красные)
- IV-2: 5 раундов «полюсы»
- IV-3: DnD 8 утверждений правда/ложь
- IV-4: 6 MCQ

§29 Магнитное поле:
- 3 теории: что такое B, линии индукции (замкнутые!), опилки
- IV-1: ГЛАВНЫЙ ВИЗУАЛ — 7 эллиптических замкнутых линий поля
  полосового магнита N→S, со стрелками направления, прямые
  линии вблизи оси
- IV-2: 5 утверждений правда/ложь
- IV-3: DnD 8 свойств «электрическое vs магнитное поле»
- IV-4: 6 MCQ

Добавлен общий хелпер _drawMagnet.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:49:58 +03:00
Maxim Dolgolyov 24d7f2b1d9 feat(phys8 ch2): Phase 3 Wave 4 — §26 P=UI/Джоуль-Ленц + §27 электроэнергия
§26 Работа и мощность тока:
- 3 теории: A=UIt, P=UI=I²R=U²/R, закон Джоуля-Ленца
- IV-1: калькулятор + анимация нагрева резистора по tempColor,
  цвет меняется от синего до красного в зависимости от P,
  glow при высокой мощности
- IV-2: 5 раундов «какую формулу использовать?»
- IV-3: DnD 5 приборов по возрастанию P (LED → автомобиль)
- IV-4: 6 числовых задач

§27 Электроэнергия. Безопасность:
- 3 теории: кВт·ч, экономия, правила ТБ
- IV-1: ГЛАВНЫЙ ВИЗУАЛ — счётчик за месяц: 4 прибора (лампа, ТВ,
  чайник, холодильник) + slider'ы часов/день и тарифа,
  показывает кВт·ч и руб + «самый прожорливый прибор»
- IV-2: 6 ситуаций «безопасно/опасно»
- IV-3: DnD 8 ситуаций «экономит/расходует»
- IV-4: 5 задач (включая обогреватель за месяц)

Со Phase 3 завершён: §19-27 (постоянный ток, 9 параграфов).
Phase 4 → §28-31 + Финал главы 2.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:46:36 +03:00
Maxim Dolgolyov a1b57d8936 feat(phys8 ch2): Phase 3 Wave 3 — §23 R=ρl/S + §24 последов./реостат + §25 паралл.
§23 R = ρl/S:
- 3 теории: формула, таблица ρ (6 материалов), применение
- IV-1: калькулятор с визуализацией провода (длина и толщина
  меняются на SVG)
- IV-2: 6 пар «у какого больше R?»
- IV-3: DnD 8 факторов «R растёт/падает»
- IV-4: 5 расчётных задач

§24 Последовательное соединение. Реостат:
- 3 теории: правила, реостат, ёлочная гирлянда
- IV-1: ГЛАВНЫЙ ВИЗУАЛ — реостат-симулятор: slider положения движка,
  яркость лампы меняется с током
- IV-2: 3-slider калькулятор послед. цепи (U, R₁, R₂) — I, U₁, U₂
- IV-3: DnD 8 утверждений «верно/неверно»
- IV-4: 5 задач (включая «реостат при I=0.2 А»)

§25 Параллельное соединение:
- 3 теории: правила, R = R₁R₂/(R₁+R₂), розетки дома
- IV-1: визуальная схема 2 параллельных ветвей с резисторами,
  токи и общий R рассчитываются
- IV-2: 6 раундов «послед. или паралл.?»
- IV-3: DnD 8 формул на 2 типа соединения
- IV-4: 6 задач (включая утюг+лампа в розетке 220 В)

Добавлена константа MAT_RHO (6 материалов).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:42:57 +03:00
Maxim Dolgolyov 31e03923ca feat(textbooks): миграция контента Физики 9 — §1-36 + ЛР11
- migrate_phys9_ch4.js: первая итерация (§31-36 → ch4)
- migrate_phys9_content.js: обобщённый скрипт для ch1-3 (§1-30) + ch5 (ЛР11 из монолита)

Каждая глава:
- Получает CSS-блок монолита (стили .para-hero, .fcard, .def-box и т.д.)
- Подключает Font Awesome CDN для иконок в section-title
- HTML-тела параграфов вставляются в STUB-builder'ы заменой по regex
- Эмодзи (нарушают правило проекта) и orphaned <i> теги удаляются на этапе clean()

Размеры после миграции:
- ch1 (кинематика, §1-14): 136 КБ
- ch2 (динамика, §15-24): 127 КБ
- ch3 (статика, §25-30): 100 КБ
- ch4 (законы сохранения, §31-36): 133 КБ
- ch5 (лаб. практикум): 90 КБ (только ЛР11 заполнен, ЛР1-10 и ЛР12 — STUB)

Источник physics_9.html сохранён для возможной повторной миграции.
2026-05-29 23:40:30 +03:00
Maxim Dolgolyov 073cc3c06d feat(phys8 ch2): Phase 3 Wave 2 — §21 эл. цепь + §22 закон Ома I=U/R
§21 Электрическая цепь:
- 3 теории: элементы цепи, амперметр/вольтметр, схема
- IV-1: интерактивная цепь с батареей, лампой, амперметром
  (последовательно), вольтметром (параллельно лампе) и ключом;
  при замыкании ключа лампа загорается и приборы показывают значения
- IV-2: 6 вопросов «как включать прибор?»
- IV-3: DnD 8 утверждений «правильно/неправильно»
- IV-4: 6 MCQ

§22 Закон Ома:
- 3 теории: I=U/R, выводы (U=IR, R=U/I), ВАХ
- IV-1: ВАХ-плоттер — slider R 2-50 Ом, динамическая прямая I(U)
  с подписью наклона
- IV-2: калькулятор U+R → I с «бытовой аналогией»
- IV-3: 5 концептуальных вопросов
- IV-4: 6 числовых задач

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:38:18 +03:00
Maxim Dolgolyov 9a123be71c feat(phys8 ch2): Phase 3 Wave 1 — §19 источники тока + §20 I=q/t
§19 Электрический ток. Источники:
- 3 теории: условие тока, типы источников, гальв. элемент Вольта
- IV-1: круговая анимация работы батарейки — 14 электронов
  бегут по контуру против тока, лампа загорается
- IV-2: 5 источников «химия/механика/свет/тепло»
- IV-3: DnD «есть ли ток?» 8 ситуаций
- IV-4: 6 MCQ

§20 Сила тока I = q/t:
- 3 теории: формула, направление тока vs электронов, таблица
- IV-1: симуляция потока электронов через провод, slider I 0-3 А,
  лампа меняет яркость, счётчик «Кл и электронов в секунду»
- IV-2: 5 числовых задач q/t/I
- IV-3: DnD 5 устройств по возрастанию I (наушники → стартер)
- IV-4: 5 расчётных задач с допусками

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:34:55 +03:00
Maxim Dolgolyov 17a4a1b751 feat(phys8 ch2): Phase 2 Wave 3 — §17 эл. поле + §18 A=qU (Phase 2 завершён)
§17 Электрическое поле:
- 3 теории: что такое поле, линии поля, напряжение U=A/q
- IV-1: линии поля точечного заряда через fieldLinesPointCharge,
  slider знака (+/−) и силы поля (40-120 px scale)
- IV-2: 5 вопросов о свойствах линий
- IV-3: DnD 8 утверждений «правда / ложь»
- IV-4: 6 MCQ

§18 Единица напряжения. A = qU:
- 3 теории: формула, 1 Вольт = 1 Дж/Кл, таблица напряжений в быту
- IV-1: калькулятор A=qU с анимацией batteryEMF→стрелка→lightbulb
  + аналогия «поднять груз на 1 м»
- IV-2: 5 числовых задач «дано/найди» (q, U, A)
- IV-3: DnD 5 источников по возрастанию U (батарейка → молния 10⁸ В)
- IV-4: 5 расчётных задач (включая 1 эВ = 1.6×10⁻¹⁹ Дж)

С Phase 2 целиком: §12-18 (7 параграфов) — электростатика главы 2
закончена. Дальше — Phase 3: постоянный ток (§19-27).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:22:09 +03:00
Maxim Dolgolyov 053c2ebfdd feat(phys8 ch2): Phase 2 Wave 2 — §15 элементарный заряд + §16 строение атома
§15 Электрический заряд. Элементарный заряд:
- 3 теории: e = 1.6·10⁻¹⁹ Кл, формула q = Ne, закон сохранения
- IV-1: интерактивный калькулятор q ↔ N со slider в логарифм. шкале
  10⁶..10¹⁸ электронов, выводит q в Кл и нКл
- IV-2: 6 раундов «существует ли такой заряд?» (проверка кратности e)
- IV-3: DnD 8 ситуаций «сохраняется / меняется» (заземление, рентген...)
- IV-4: 5 расчётных задач с допусками и подсказками

§16 Строение атома. Ионы:
- 3 теории: планетарная модель, ионы, таблица атомов и ионов
- IV-1: главный визуал — интерактивная модель атома: slider'ы Z и
  число электронов, электроны распределяются по 3 оболочкам (2/8/18),
  ядро с Z протонов, заряд иона рассчитывается автоматически
- IV-2: 6 викторин по таблице ионов
- IV-3: DnD 9 частиц на 3 категории (+/-/нейтр)
- IV-4: 6 MCQ

Глобальная константа E_CHARGE = 1.6e-19 на верхнем уровне.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:18:46 +03:00
Maxim Dolgolyov ed6fea460c feat(phys8 ch2): Phase 2 Wave 1 — §12 электризация + §13 пров/диэл + §14 индукция
§12 Электризация тел. Взаимодействие зарядов:
- 3 теории: 2 рода зарядов, закон взаимодействия, примеры
- IV-1: виртуальный электроскоп — кнопки «потереть» и «поднести»,
  листочки расходятся при поднесении заряженной палочки
- IV-2: 5 опытов «знак заряда» (стекло о шёлк, эбонит о шерсть...)
- IV-3: DnD 8 пар (одноим./разноим./нейтральные) на 2 категории
- IV-4: 6 MCQ

§13 Проводники и диэлектрики:
- 3 теории: свободные носители, таблица примеров, бытовая электротехника
- IV-1: симуляция «куда уходит заряд?» — на металле заряды разлетаются
  по поверхности (анимация движения по окружности), на пластике —
  остаются в точке касания
- IV-2: 8 материалов «проводник/диэлектрик»
- IV-3: DnD 8 материалов на 2 категории
- IV-4: 6 MCQ

§14 Электризация через влияние:
- 3 теории: что такое индукция, механизм, примеры (молниеотвод)
- IV-1: симуляция «палочка возле металл. шара» — slider положения
  и dropdown знака; шарик «реагирует» — разделение зарядов
  (-+ интенсивность зависит от расстояния)
- IV-2: 5 ситуаций «что произойдёт?»
- IV-3: DnD 8 примеров «индукция (проводник) / поляризация (диэлектрик)»
- IV-4: 6 MCQ

Добавлены _SIMS/_killSim/_isVisible для управления RAF в ch2.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:14:40 +03:00
Maxim Dolgolyov 2dac331aa3 feat(phys8 ch1): Phase 1 Wave 5 — §10 испарение + §11 кипение + Финал главы 1
§10 Испарение:
- 3 теории: что такое испарение, факторы скорости, примеры
- IV-1: симуляция с 28 частицами над поверхностью жидкости —
  испарение зависит от T (slider) и ветра (slider); испарившиеся
  становятся серыми и улетают вверх+вправо, при пропадании за края
  «возвращаются»; счётчик испарившихся; солнце + стрелки ветра
- IV-2: викторина 6 пар сравнения
- IV-3: DnD 8 факторов на ускоряет/замедляет
- IV-4: 6 MCQ

§11 Кипение + Q=Lm:
- 3 теории: кипение, формула Lm, зависимость T_кип от давления
- IV-1: ГЛАВНЫЙ ВИЗУАЛ — полный график T(t) «лёд→вода→пар»
  с 5 цветными сегментами и 2 плато (плавление 0°C, кипение 100°C),
  длительности пропорциональны реальным q_i / Q_total
- IV-2: калькулятор Q=Lm с переводом в кВт·ч и эквивалент нагрева воды
- IV-3: DnD 8 процессов на 3 категории (плавление/испарение/конденсация)
- IV-4: 6 числовых задач (включая полный цикл лёд→пар)

ФИНАЛ ГЛАВЫ 1:
- Шпаргалка 6 формул и понятий
- 7 интегрированных боссов: расчёт ΔT, смешивание, плавление, кипение,
  цепочка нагрева, КПД котла, полный цикл лёд→пар
- Прогресс-бар победы + ачивка «Мастер теплоты» (+50 XP) при 7/7
- Per-boss XP (+10) и hint-кнопки

ACH_LABELS дополнен thermal_master.

Глава 1 «Тепловые явления» завершена: 11 § + финал = 12 секций, все
с симуляциями, калькуляторами, DnD и тренажёрами.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:08:54 +03:00
Maxim Dolgolyov cac9b8acbe feat(phys8 ch1): Phase 1 Wave 4 — §8 плавление + §9 удельная теплота плавления
§8 Плавление и кристаллизация:
- 3 теории: плавление, плато на графике T(t), примеры (включая аморф.)
- IV-1: график T(t) через PHYS.phaseGraphTT с цветной подсветкой
  3 участков (твёрдое/плавление/жидкость) + горизонтальная линия T_пл,
  выбор из 7 веществ (ртуть → железо)
- IV-2: 6 ситуационных вопросов (лёд+вода, плавление железа, аморфные)
- IV-3: DnD ранжирование 5 веществ по T_пл
- IV-4: MCQ-тренажёр

§9 Q = λm:
- 3 теории: формула λm, таблица, цепочка «лёд → вода»
- IV-1: калькулятор Q=λm с анимацией «кубик → лужица»
- IV-2: «цепной» калькулятор Q1+Q2+Q3 для нагрева льда → воды
- IV-3: DnD ранжирование 5 веществ по возрастанию λ
- IV-4: 6 числовых задач (включая цепные и кристаллизацию)

Добавлена константа MAT_MELT.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 23:03:50 +03:00
Maxim Dolgolyov 0c0eea7a6b feat(textbooks): скелет Физики 9 — hub + 5 глав + миграция БД
- gen_phys9_hub.js: генератор hub из physics_10_hub.html (blue palette, 5 cards)
- gen_phys9_ch.js: генератор 5 файлов глав со STUB-builder'ами по канве physics_10_ch
- 038_physics_9_hub.sql: переразмечает physics-9 как hub + 5 дочерних (ch1-ch5)
- Глава 5 — Лабораторный практикум, 12 ЛР с поддержкой lr-id вместо §

Источник: Исаченкова, Сокольский, Захаревич "Физика 9" (Народная асвета, 2019).
Контент в Phase 5 — авторский (наш материал).
2026-05-29 23:01:59 +03:00
Maxim Dolgolyov d8141087cd feat(phys8 ch1): Phase 1 Wave 3 — §6 (Q=cmΔT) + §7 (Q=qm)
§6 — Расчёт количества теплоты:
- 3 теории: закон Q=cmΔT, удельная теплоёмкость, баланс
- IV-1: калькулятор Q=cmΔT с термометром и анимированным кубиком,
  выбор из 11 веществ (вода/лёд/металлы/стекло/...)
- IV-2: калькулятор смешивания 2 порций воды по m₁T₁+m₂T₂/(m₁+m₂)
- IV-3: DnD-ранжирование 5 веществ по возрастанию c
- IV-4: 6 числовых задач с допуском, подсказки

§7 — Горение и теплота сгорания:
- 3 теории: закон Q=qm, таблица q топлив, КПД
- IV-1: калькулятор Q=qm с анимированным пламенем (высота ∝ m),
  выбор из 8 топлив, перевод в кВт·ч и эквивалент нагрева воды
- IV-2: 6 раундов «какое топливо мощнее»
- IV-3: DnD ранжирование 5 топлив по возрастанию q
- IV-4: 5 числовых задач с подсказками

Добавлены константы MAT_C и MAT_Q — табличные данные для §6, §7.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 22:59:46 +03:00
Maxim Dolgolyov 2ae70dd48f feat(phys8 ch1): Phase 1 Wave 2 — §3 теплопроводность + §4 конвекция + §5 излучение
§3 Теплопроводность:
- Главный визуал: симуляция стержня через PHYS.createHeatBar — slider'ы
  T_горячий, T_холодный, α (от шерсти до серебра), 1D-уравнение тепла
- Викторина «лучший проводник»: 6 пар материалов
- DnD: 8 материалов на 2 категории (хорошие/плохие)
- MCQ 6 вопросов

§4 Конвекция:
- Симуляция тороидального потока: 30 частиц в сосуде, нагреватель снизу,
  тёплые поднимаются по центру, холодные опускаются по краям, цвет
  по tempColor
- Викторина «возможна ли конвекция?» с 6 ситуациями
- DnD: 8 ситуаций (возможна/невозможна)
- MCQ 6 вопросов

§5 Излучение:
- Симуляция «Солнце греет чёрную и белую пластины»: лучи к чёрной
  поглощаются, от белой отражаются; температуры растут с разной
  скоростью (чёрная до 75°C, белая до 35°C)
- True/False квикфайр (7 утверждений)
- DnD: 9 примеров на 3 вида теплопередачи (главный синтез главы)
- MCQ 6 вопросов

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 22:55:42 +03:00
Maxim Dolgolyov 244a063363 feat(phys8 ch1): Phase 1 Wave 1 — §1 «Внутренняя энергия» + §2 «Способы изменения U»
§1 — Внутренняя энергия:
- 3 теории: определение U, факторы зависимости, сравнение состояний
- IV-1: симуляция «холодный vs горячий газ» — 2 сосуда с молекулами,
  скорость ∝ √T_K, цвет по tempColor
- IV-2: викторина из 6 раундов «У какого тела U больше?»
- IV-3: DnD на 8 факторов «Зависит / Не зависит»
- IV-4: MCQ-тренажёр на 6 вопросов с XP-наградой

§2 — Способы изменения внутренней энергии:
- 3 теории: 2 способа, 3 вида теплопередачи, примеры из жизни
- IV-1: двойная анимация «работа (брусок-трение) vs теплопередача
  (контакт горячее+холодное)» с термометром и стрелками потока тепла
- IV-2: викторина из 8 ситуаций «работа или теплопередача?»
- IV-3: DnD-сортировка 8 ситуаций по 2 категориям
- IV-4: MCQ-тренажёр с XP-бонусом

Инфраструктура: _SIMS, _killSim, _isVisible — управление RAF для
паузы симуляций при переключении секций.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 22:50:01 +03:00
Maxim Dolgolyov 33a91900a8 feat(phys8): Phase 0 — skeleton hub + 3 chapters + lab + phys.js/optics.js
Полная инфраструктура курса «Физика 8» (Исаченкова, 2018):
- physics_8_hub.html: палитра violet/indigo, 3 главы + ЛР + финал курса
  с 10 интегрированными боссами и ачивкой «Магистр физики 8» (+150 XP)
- physics_8_ch1.html (Тепловые, §§1–11): красный акцент
- physics_8_ch2.html (Электромагнитные, §§12–31): янтарный акцент
- physics_8_ch3.html (Световые, §§32–40): голубой акцент
- physics_8_lab.html (7 ЛР): зелёный акцент
- Расширение phys.js: tempColor, thermometer, calorimeter, createHeatBar,
  phaseGraphTT, Rseries, Rparallel
- Новый модуль optics.js: ray, refractRay, reflectRay, mirrorPlane,
  mirrorSpherical, thinLens, buildLensImage, goldenRays, eyeDiagram,
  lightObject, shadowTriangle
- Миграция 037: replace legacy children (thermal/electro/optics) на
  physics-8-ch1/ch2/ch3 + physics-8-lab; обновлён hub до 47 пунктов

BUILDERS всех § рендерят stub с указанием Phase/Wave из PLAN_PHYSICS_8.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 22:41:37 +03:00
Maxim Dolgolyov 2e30878f00 fix: textContent → innerHTML для строк с HTML entity (после замены эмодзи) 2026-05-29 21:49:44 +03:00
Maxim Dolgolyov 095265f482 chore: эмодзи → HTML entity во всех учебниках 10-11 классов 2026-05-29 21:46:13 +03:00
Maxim Dolgolyov b3ea35049f feat(stereo3d): drag-to-rotate для 3D-сцен Геометрии 10
STEREO3D.attachDragRotate(target, scene, onChange?) — мутирует scene.rotX/rotY на mouse/touch drag, по умолчанию пересобирает innerHTML контейнера через scene.render(). Применено к аннотированному кубу §1 (viz1-cube) в geometry_10_r1.html. Остальные сцены не затронуты.
2026-05-29 21:45:33 +03:00
Maxim Dolgolyov 660e7e2747 feat(gamification): Phase 1 — full kill-switch + textbook XP wrapping
Until now the 'gamification' feature flag did nothing: it had no row in
app_settings, the admin couldn't toggle it, awardXP/awardCoins ignored
it, and the CSS only hid three dashboard widgets — XP bars in textbooks
stayed visible regardless.

Phase 1 closes every hole.

Backend (source of truth):
  • migration 029 seeds feature_gamification_enabled=1
  • new isGamificationEnabled() helper in gamification/_shared.js with a
    30s cache + invalidateGamificationCache() for instant admin toggles
  • awardXP / awardCoins / updateStreak / unlockAchievement /
    checkAchievements all bail out when the flag is off
  • /api/gamification/* and /api/shop/* (user routes) return 404 when
    disabled; admin routes remain open so the switch itself is reachable
  • adminController.updateFeatures gains 'gamification' in the allow-list
    and invalidates the cache on flip

Frontend:
  • LS.isGamificationEnabled() (synchronous, populated by loadFeatures)
    so xp.js + applyCosmetics can bail without a round-trip
  • xp.js load/add/flush become no-ops when the flag is off
  • applyCosmetics skips the round-trip when off
  • CSS .no-gamification rule expanded to cover .hero-xp-badge, .po-xp,
    .xp-card, .xp-bar, #frames-section, and a universal [data-gamified]
    hook for future blocks

Textbooks (Variant 2 of the plan):
  • backend/scripts/wrap_textbook_xp.py — idempotent script that adds
    data-gamified to 167 XP tags across 63 textbook files (chapters +
    hubs, all subjects/grades). Single CSS rule now hides everything.

Verified end-to-end: with the flag off, awardXP/awardCoins write nothing;
flipping back restores normal behavior.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 19:43:24 +03:00
Maxim Dolgolyov 3e7e6e5b9b feat(phys11 ch8): Waves 13-14 — Глава 8 + ФИНАЛ КУРСА (12 интегральных боссов)
- ch8 — индиго-тема (--pri:#4f46e5), watermark ∞/★
- §45: эволюция картины мира (механика → ЭМ → СТО → ОТО → кванты → Стандартная модель), иерархия материи (от кварков до Вселенной), открытые проблемы (тёмная материя, тёмная энергия, объединение теорий)
- ФИНАЛ КУРСА: 12 интегральных боссов по всем 8 главам
  - Босс I: Колебания (Гл. 1)
  - Босс II: ЭМ-индукция (Гл. 2)
  - Боссы III-IV: Оптика (Гл. 3, §14-§17 и §18-§23)
  - Босс V: СТО (Гл. 4)
  - Босс VI: Фотоны (Гл. 5)
  - Боссы VII-VIII: Атом + Лазеры (Гл. 6)
  - Боссы IX-XI: Ядерная физика (Гл. 7)
  - Босс XII: Элем. частицы + картина мира
- Каждый босс 5 этапов, +80 XP
- При победе всех 12: ачивка phys11_master 'МАГИСТР ФИЗИКИ 11' + 500 XP бонус
- КУРС ФИЗИКИ 11 КЛАССА ЗАВЕРШЁН: 8 глав, 45 параграфов, ~80 боссов, 9 финальных ачивок
2026-05-29 19:30:41 +03:00
Maxim Dolgolyov cef226c53e feat(phys11 ch7): Waves 11-12 — Глава 7 «Ядерная физика» (§35-§44 + Финал)
- phys-fx.js: PHYS.RadioactiveDecay (график N(t)=N₀·2^(-t/T))
- ch7 — розово-красная тема (--pri:#e11d48), 10 параграфов
- §35: протонно-нейтронная модель, нуклоны, изотопы, изобары, ядерные силы
- §36: ядерные реакции, законы сохранения,  = \Delta m c^2$
- §37: дефект массы, {св}$, удельная $\varepsilon$, максимум у Fe
- §38: радиоактивность (Беккерель), α/β/γ, проникающая способность
- §39: закон распада  = N_0 \cdot 2^{-t/T}$, активность (Бк), C-14
- §40: деление U-235, цепные реакции, $, критическая масса
- §41: ядерный реактор (Ферми 1942), замедлитель, стержни, ВВЭР/РБМК
- §42: термояд D+T, Солнце, ИТЭР, токамак
- §43: дозы (Грей, Зиверт), коэф. $, нормы радиационной безопасности
- §44: Стандартная модель — 6 кварков, 6 лептонов, бозоны, Хиггс (2012), 4 взаимодействия
- 20 квизов + 10 боссов + 5 интегральных финальных боссов
- Финал главы: +200 XP, ачивка ch7_master 'Магистр ядра'
2026-05-29 19:26:16 +03:00
Maxim Dolgolyov a6d86f4374 feat(phys11 ch6): Wave 10 — Глава 6 «Физика атома» (§30-§34 + Финал)
- phys-fx.js: PHYS.BohrAtom (атом водорода с орбитами + переходом + фотон), PHYS.EnergyLevels (диаграмма E_n + переход + λ)
- ch6 — зелёная тема (--pri:#16a34a), watermark ⊕/n/ν/ω/L/★
- §30: открытие электрона (Томсон), опыт Резерфорда (1911), состав ядра, изотопы
- §31: 2 постулата Бора (1913), E_n=-13,6/n², Боровский радиус
- §32: спектры (сплошные/линейчатые/полосатые), формула Ридберга, серии Лаймана/Бальмера/Пашена
- §33: спонтанное и индуцированное излучение (Эйнштейн 1916), инверсная населённость
- §34: лазеры (Мейман 1960), резонатор, 4 свойства лазерного излучения, применения
- 10 квизов + 5 боссов (b1-b5) + buildSingleQuizPara helper для компактности
- Финал: 3 интегральных босса (fb1-fb3), +150 XP бонус, ачивка ch6_master
2026-05-29 19:18:04 +03:00
Maxim Dolgolyov b5c224d7f5 feat(phys11 ch5): Wave 9 — Глава 5 «Фотоны. Действия света» (§27-§29 + Финал)
- phys-fx.js: PHYS.PhotoeffectLab (катод+свет+анод+амперметр), PHYS.PlanckLinear (график Eк,max от ν)
- ch5 — розовая тема (--pri:#ec4899), watermark hν/A/λ/★
- §27: кризис АЧТ, гипотеза Планка E=hν (1900), открытие ф/э (Герц, Столетов), 3 закона
- §28: фотон, уравнение Эйнштейна hν=A+Eк, работа выхода, красная граница
- §29: импульс фотона p=hν/c, давление света, опыт Лебедева (1900), КВ-дуализм, де Бройль λ=h/p
- 6 квизов + 3 босса (b1-b3)
- Финал: 3 интегральных босса (fb1-fb3), +150 XP бонус, ачивка ch5_master
2026-05-29 19:10:17 +03:00
Maxim Dolgolyov 9df4fd5e24 feat(phys11 ch4): Wave 8 — Глава 4 «Основы СТО» (§24-§26 + Финал)
- phys-fx.js: PHYS.GammaPlot (график γ(β)), PHYS.TimeDilation (двое часов), PHYS.LengthContraction (стержень в покое и в движении)
- ch4 — синяя тема (--pri:#2563eb), watermark c/γ/E/★
- §24: принцип отн. Галилея, кризис эфира, опыт Майкельсона – Морли
- §25: 2 постулата Эйнштейна, замедление времени Δτ=γΔτ₀, сокращение L=L₀/γ, релятив. сложение скоростей
- §26: релятив. импульс p=γmv, E=γmc², E₀=mc², E²=(pc)²+(mc²)², аннигиляция, ядерная энергия
- 6 квизов + 3 босса (b1-b3)
- Финал: 3 интегральных босса (fb1-fb3), +150 XP бонус, ачивка ch4_master
2026-05-29 18:56:52 +03:00
Maxim Dolgolyov 06db392f6a feat(phys11 ch3): Wave 7 — §21-§23 + Финал главы 3 (ThinLens + TwoLensSystem)
- phys-fx.js: PHYS.ThinLens (собирающая/рассеивающая, 2 канон. луча, формула, мнимое=пунктир), PHYS.TwoLensSystem (телескоп Кеплера + микроскоп)
- §21: тонкая линза, формула 1/d + 1/f = 1/F, оптическая сила D = 1/F (дптр), 3 характерных луча
- §22: фотоаппарат (d > 2F) и проектор (F < d < 2F) на одном интерактиве
- §23: лупа Γ = 25/F, микроскоп Γ ≈ Γ_об·25/F_ок, телескоп Кеплера Γ = F_об/F_ок
- 6 квизов (I8-I10 CALC/TH) + 3 босса (b8-b10)
- Финал главы 3: 5 интегрированных боссов (fb1-fb5), +200 XP бонус, ачивка ch3_master
- checkFinalDone() — авто-проверка победы над всеми 5 боссами
- Глава 3 полностью завершена (10 параграфов + финал)
2026-05-29 18:48:16 +03:00
Maxim Dolgolyov 7a703bd184 feat(phys10 phase7 final): итоговая шпаргалка + 10 боссов + ачивка «Магистр физики 10» (+150 XP) 2026-05-29 18:46:10 +03:00
Maxim Dolgolyov 27a67d0866 feat(phys11 ch3): Wave 6 — §18-§20 + phys-fx SphericalMirror/RefractionLab/PrismSpectrum
- phys-fx.js: PHYS.SphericalMirror (вогнутые/выпуклые с формулой и 3 лучами), PHYS.RefractionLab (закон Снелла + ПВО), PHYS.PrismSpectrum (дисперсия, 7 цветов через модель Коши)
- §18: сферические зеркала, формула 1/d + 1/f = 1/F, увеличение Γ = -f/d, построение
- §19: показатель преломления n=c/v, закон Снелла, полное внутр. отражение
- §20: призма + дисперсия, плоскопараллельная пластинка, оптоволокно
- 6 квизов (I5-I7 CALC/TH) + 3 босса (b5-b7)
- §21-§23 + Final остаются заглушками для W7
2026-05-29 18:41:51 +03:00
Maxim Dolgolyov a5ffc624cf feat(phys10 ch6 wave2 + final): §36 «Газы» + §37 «Полупроводники» + Финал Главы 6 2026-05-29 18:41:39 +03:00
Maxim Dolgolyov e4801dcc2f feat(phys11 ch3): Wave 5 — Глава 3 «Оптика» §14-§17 + phys-fx TwoSlit/DiffractionGrating/FlatMirror
- phys-fx.js: PHYS.TwoSlit (опыт Юнга), PHYS.DiffractionGrating (с радужным спектром), PHYS.FlatMirror
- ch3 §14: Электромагнитная природа света + скорость света
- ch3 §15: Интерференция (опыт Юнга)
- ch3 §16: Дифракция света + дифракционная решётка
- ch3 §17: Отражение света + плоское зеркало
- 8 квизов (I1_CALC/NAT, I2_CALC/TH, I3_CALC/TH, I4_CALC/IMG)
- 4 босса (b1-b4) для §14-§17
- §18-§23 + Final — заглушки для W6/W7
2026-05-29 18:35:08 +03:00
Maxim Dolgolyov bed085ac98 feat(phys10 ch6 wave1): §34 «Ток в металлах» + §35 «Электролиты»
§34 «Электрический ток в металлах. Сверхпроводимость»:
- 3 makeCard: природа тока, R(t) для металлов, сверхпроводимость
- IV1: симуляция дрейфа электронов в решётке (SVG, slider U)
- IV2: график R(t) = R_0(1 + alpha t), переключение материалов + скачок T_c
- IV3: квикфайр на носителей заряда в средах (6 вопросов)
- IV4: тренажёр 5 задач (rho L/S, R при разных T, T_c ртути)

§35 «Электрический ток в электролитах. Электролиз»:
- 3 makeCard: электролиты/ионы, законы Фарадея, применение
- IV1: симуляция электролиза (катионы → катоду, анионы → аноду)
- IV2: калькулятор массы m = MIt/(Fn) для Cu/Ag/Al/Fe/H
- IV3: квикфайр направления ионов (6 вопросов, 2 кнопки)
- IV4: тренажёр 5 задач (расчёт m для Cu/Ag, F = 96500)
2026-05-29 18:32:53 +03:00
Maxim Dolgolyov e192feefcc feat(phys11 W4): Глава 2 §10-§13 + Финал главы 2
§10 Производство и передача электроэнергии:
- ТЭС/ГЭС/АЭС; формула потерь P=I²R
- Идея высоковольтных ЛЭП: чтобы уменьшить потери, повышают U
- Магистральные ЛЭП до 750 кВ → 220 В у потребителя
- 5 расчётов (включая повышение U в k раз → потери /k²)
- Босс §10: 5 этапов, +70 XP

§11 Экологические проблемы:
- ВИЭ: ВЭС, СЭС, ГеоТЭС, приливные, биогаз
- Достоинства (без CO₂) и недостатки (погода, площадь)
- 6+5 квизов на типы и плюсы/минусы
- Босс §11: 5 этапов, +70 XP

§12 ЭМ волны. Шкала ЭМ волн:
- ЭМ волна как поперечная, c = 1/√(ε₀μ₀) = 3·10⁸ м/с
- Inline SVG-шкала: радио/СВЧ/ИК/видимый/УФ/рентген/γ
  с радужным градиентом для видимого света
- 5 расчётов λ↔ν + 5 MC на диапазоны
- Босс §12: 5 этапов, +70 XP

§13 Действие ЭМ на живые организмы:
- Ионизирующее (>10 эВ: УФ-С, рентген, γ) vs неионизирующее
- Полезные применения и опасности
- Защита: экранирование (свинец), расстояние, время
- Босс §13: 5 этапов, +65 XP

Финал главы 2:
- 4 интегральных босса (LC+ток, трансф+ЛЭП, ЭМ волны, сборная)
- Celebration: ачивка phys11_ch2_master + 100 XP бонус

Файл 63 → 91 КБ. JS валидируется.
2026-05-29 18:25:30 +03:00
Maxim Dolgolyov d93d8b782e feat(phys10 ch5 wave4 + final): §33 «Самоиндукция» + Финал Главы 5 (7 боссов) 2026-05-29 18:24:57 +03:00
Maxim Dolgolyov 8c3e7ce7aa feat(phys10 ch5 wave3): §31 «Магнитный поток + ЭМИ» + §32 «Ленц + Фарадей» 2026-05-29 18:18:29 +03:00
Maxim Dolgolyov a09616450f feat(phys11 W3): Глава 2 §7-§9 + расширение phys-fx.js (LCcircuit, ACgen, Transformer)
phys-fx.js (+3 электротехнических компонента):
- PHYS.LCcircuit: колебательный контур со схемой C↔L, провода, стрелка тока,
  заряды на пластинах (меняют знак), энергетические столбцы W_C и W_L,
  формула T=2π√(LC) с актуальным значением
- PHYS.ACgen: генератор переменного тока — слева вращающаяся рамка в B,
  справа график U(t)=U₀sin(ωt) с историей
- PHYS.Transformer: схема трансформатора с сердечником, обмотки N₁, N₂,
  входное U₁, расчётное U₂, коэф. трансформации k, отметка повышающий/понижающий

physics_11_ch2.html (~63 КБ, violet-тема):
- 2-кол layout с col-side, hero violet-градиент
- psel-grid 8 карточек (§7-§13 + Финал); §7-§9 активны
- Watermarks: LC, ∿, ≡, , ⚙, λ, ☣, ★

§7 Колебательный контур. Формула Томсона:
- 3 теор. карточки (контур, формула Томсона, превращения энергии)
- Инт. 1: LCcircuit с ползунками L (1-100 мГн), C (0.1-10 мкФ)
- Инт. 2: расчёт T, ν (5 input)
- Инт. 3: аналогии и свойства (5 MC)
- Босс §7: 5 этапов, +70 XP

§8 Вынужденные ЭМ колеб. Переменный ток:
- 2 теор. карточки (генератор, действ. значения I₀/√2)
- Инт. 1: ACgen (вращ. рамка → синусоида) с ползунком ω
- Инт. 2: расчёт I/I₀, U/U₀ (5 input)
- Инт. 3: теория действующих значений (5 MC)
- Босс §8: 5 этапов, +70 XP

§9 Трансформатор:
- 2 теор. карточки (устройство, коэф. трансформации, I₁U₁=I₂U₂)
- Инт. 1: Transformer с ползунками N₁ (50-1000), N₂ (10-1000), U₁ (12-10000 В)
- Инт. 2: расчёт U₂, I₂, k (5 input)
- Инт. 3: повышающий/понижающий (5 MC)
- Босс §9: 5 этапов, +70 XP

§10-§13, Финал — stub-карточки 'в разработке (W4)'.

LocalStorage: physics11_ch2_*, общий physics11_xp
Server sync: /api/textbooks/physics-11-ch2/progress
2026-05-29 18:15:00 +03:00
Maxim Dolgolyov 7aa681b503 feat(phys10 ch5 wave2): §29 «Сила Ампера» + §30 «Сила Лоренца» + 3D-траектория 2026-05-29 18:11:18 +03:00
Maxim Dolgolyov 6087c814b3 feat(phys10 ch5 wave1): §27 «Магнитное поле тока» + §28 «Индукция» 2026-05-29 18:03:50 +03:00
Maxim Dolgolyov fb01e5aafb feat(phys11 W2): Глава 1 §4-§6 + Финал + ResonanceCurve/TransverseWave/LongitudinalWave
phys-fx.js (+3 компонента):
- PHYS.ResonanceCurve: график A(ω) при разных γ затухания, маркер ω₀ и текущей ω
- PHYS.TransverseWave: бегущая поперечная волна (струна) с красным маркером колеблющейся точки + скобка λ
- PHYS.LongitudinalWave: зоны сжатия/разрежения через 60 точек-молекул

physics_11_ch1.html (63→89 КБ):

§4 Резонанс:
- 2 теор. карточки (свобод./вынужд., резонанс ω≈ω₀, формула A(ω))
- Инт. 1: ResonanceCurve с ползунками γ и ω — видно как пик уменьшается с ростом затухания
- Инт. 2: верно/неверно (5)
- Инт. 3: что произойдёт (5, качели/мост Tacoma/солдатский шаг)
- Босс §4: 5 этапов, +70 XP

§5 Волны:
- 2 теор. карточки (определение, поперечные/продольные, λ=vT)
- Инт. 1: TransverseWave с 3 ползунками (A, λ, v) — красная точка показывает что частица колеблется на месте
- Инт. 2: LongitudinalWave (звук-аналог) с 2 ползунками
- Инт. 3: расчёт λ,v,T (5 input)
- Инт. 4: тип волны и свойства (5 MC)
- Босс §5: 5 этапов, +70 XP

§6 Звук:
- 2 теор. карточки (звук как продол. упруг. волна, диапазоны, громкость/высота/тембр)
- Инт. 1: LongitudinalWave (звуковая) с ползунками A, λ
- Инт. 2: расчёт λ звука в воздухе (5 input)
- Инт. 3: свойства звука (5 MC)
- Босс §6: 5 этапов, +65 XP

Финал главы 1:
- 4 интегральных босса (колебания, маятники+энергия, резонанс, волны+звук)
- Celebration: ачивка phys11_ch1_master + 100 XP бонус
- Сохранение в localStorage.physics11_achievements
2026-05-29 18:02:53 +03:00
Maxim Dolgolyov 2b13976610 feat(phys10 ch4 + final): §25 ЭДС + §26 закон Ома + Финал Главы 4 2026-05-29 17:56:38 +03:00
Maxim Dolgolyov f2a1c6e24d feat(phys11 W1): Глава 1 §1-§3 + расширение phys-fx.js (EnergyView)
phys-fx.js (+EnergyView):
- PHYS.EnergyView — график 3 кривых: W_к (красный), W_п (зелёный), W_мех=const (фиолетовый пунктир)
- Использует кинетическую/потенциальную энергию для гарм. колеб.: cos², sin², сумма = 1
- Легенда в правом верхнем углу

physics_11_ch1.html (~63 КБ):
Архитектура geom_10_r1 (geom11-стиль):
- 2-кол layout с col-side (XP card + cheat sheet + tip)
- Hero cyan-градиент + кнопка 'Начать §1'
- psel-grid: 6 параграфов + Финал; §1-§3 активны, §4-§6 и Финал locked
- sec секции с watermark (∿, маятник, E, ☰, ∿, муз. нота, ★)
- card теории + wg workshops + opt-btn кнопки

§1 Колебательное движение. Гарм. колебания:
- 3 теор. карточки (определение, T/ν/ω, гарм. колеб. x=Acos(ωt+φ₀))
- Инт. 1: Oscillogram с ползунками A, ω, φ (live-анимация)
- Инт. 2: Расчёт T,ν,ω (5 задач input)
- Инт. 3: Свойства колеб. (5 MC)
- Босс §1: 5 этапов, +65 XP

§2 Маятники:
- 2 теор. карточки (пружинный T=2π√(m/k), матем. T=2π√(l/g))
- Инт. 1: SpringMass + Pendulum side-by-side с 4 ползунками (m,k,l,g)
- Инт. 2: Расчёт T (5 input)
- Инт. 3: Как изменится T (5 MC)
- Босс §2: 5 этапов, +70 XP

§3 Превращения энергии:
- 2 теор. карточки (формулы W_к, W_п; закон сохранения W_мех=kA²/2)
- Инт. 1: EnergyView с ползунками A, ω (3 кривые в реал. времени)
- Инт. 2: Расчёт энергии (5 input)
- Инт. 3: Превращения энергии (5 MC)
- Босс §3: 5 этапов, +65 XP

§4-§6 и Финал — stub-карточки 'в разработке (W2)'.

LocalStorage: physics11_ch1_*, physics11_xp (общий со всем курсом)
Server sync: /api/textbooks/physics-11-ch1/progress
2026-05-29 17:52:47 +03:00
Maxim Dolgolyov f999ad550e feat(phys10 ch3 wave5 + final): §24 «Энергия конденсатора» + Финал Главы 3 (7 боссов) 2026-05-29 17:48:13 +03:00
Maxim Dolgolyov 22b95ed072 feat(phys11 W0): инфра — миграция БД, phys-fx.js, hub + 8 stub-глав
Миграция 031_physics_11_hub.sql:
- hub textbook 'physics-11' (cyan, sort 12, para_count 45)
- 8 children по главам: ch1 cyan, ch2 violet, ch3 amber, ch4 blue,
  ch5 pink, ch6 green, ch7 rose, ch8 indigo

frontend/js/phys-fx.js (~360 строк):
- Глобальный requestAnimationFrame-цикл (Ticker) с подписками
- util.subscribe/unsubscribe + IntersectionObserver-пауза невидимых
- util.svgFrame, util.axes, util.slider — общие хелперы
- PHYS.Oscillogram: гарм. колебания с амплитудой/частотой/фазой/затуханием
- PHYS.SpringMass: пружинный маятник (T=2π√(m/k)) с зигзаг-пружиной
- PHYS.Pendulum: математический маятник (T=2π√(l/g)) с дугой

frontend/textbooks/physics_11_hub.html:
- Header cyan-gradient + watermark ФИЗИКА
- 4-кол grid карточек глав (8 шт., responsive)
- Прогресс-бар курса + API /api/textbooks/physics-11/children

frontend/textbooks/physics_11_ch1..ch8.html:
- Stub-страницы по образцу geometry_10_r1..r4 (W0)
- Список параграфов с ключевыми формулами + 'Будет добавлено в волне WN'
- Каждая глава со своей темой (gradient, watermark, цветами)
- phys-fx.js подключён сразу (ready для W1+)

backend/scripts/gen_phys11_stubs.js — генератор для повторных сборок.
2026-05-29 17:42:36 +03:00
Maxim Dolgolyov 774b54afc8 feat(phys10 ch3 wave4): §22 «Напряжение» + §23 «Конденсаторы» 2026-05-29 17:41:19 +03:00
Maxim Dolgolyov dfc17ae717 feat(phys10 ch3 wave3): §20 «Линии поля» + §21 «Работа и потенциал» 2026-05-29 17:34:50 +03:00
Maxim Dolgolyov de1dbea8aa feat(phys10 ch3 wave2): §18 «Поле» + §19 «Напряжённость и суперпозиция» 2026-05-29 17:27:35 +03:00
Maxim Dolgolyov 1611e4b461 feat(phys10 ch3 wave1): §16 «Заряд» + §17 «Закон Кулона» 2026-05-29 17:21:04 +03:00
Maxim Dolgolyov 07adcbd108 feat(phys10 ch2 wave3 + final): §15 «Цикл Карно» + Финал Главы 2 (5 боссов) 2026-05-29 17:13:22 +03:00