Commit Graph

10 Commits

Author SHA1 Message Date
Maxim Dolgolyov 8dee3e9829 fix(geom8): SVG audit — Ch1 §10 квадрат и Ch2 §2 прямоугольник
Системный аудит 62 статических SVG в теоретических карточках выявил
2 мелких косяка:

Ch1 §10 (квадрат, карточка 10.2): не хватало прямоугольных меток в
двух верхних углах — у квадрата были обозначены только нижние.
Добавлены маркеры в (68,24) и (168,24).

Ch2 §2 (прямоугольник, карточка 2.2 — периметр): на верхней стороне
у стрелки была ссылка marker-end='url(#a2)', но сам marker #a2 в SVG
не определён → битая ссылка. Убрана для консистентности с остальными
тремя сторонами.

KaTeX-форматирование: проверено во всех 24 buildP-функциях обеих глав —
везде используются корректные $...$ / $$...$$ / \[...\] делиметры.
Конвертаций не потребовалось.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 10:06:50 +03:00
Maxim Dolgolyov 427874ee54 feat(textbook): add inline SVG visualizations to all 48 theory cards in geometry_8_ch1
Added labeled SVG diagrams (280x148–170px) to every makeCard() call across
all 16 paragraphs (§1–§16). Each section gets 3 theory cards × 1 SVG each,
showing pentagons, hexagons, triangulations, parallelograms, rectangles,
rhombuses, trapezoids, Thales construction, medians/centroid and more.
Total: +1069 LOC, 48 SVGs inserted.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 09:51:40 +03:00
Maxim Dolgolyov e22405516b fix(geom8): §3 внешние углы — корректная геометрия визуализации
Было: продолжение рисовалось от next-vertex назад через v, дуга центрировалась
у next-vertex с углом из произвольного направления — углы отображались
неправильно (не у тех вершин, не в тех направлениях).

Стало: для каждой вершины v вычисляются prev/next, направления u=(v-prev)/|·|
(входящая сторона), w=(next-v)/|·| (исходящая). Продолжение u рисуется от v
дальше. Дуга — сектор у v от u-направления до w-направления, sweep
определяется через знак векторного произведения (u×w). Подпись угла —
по биссектрисе дуги на радиусе Rlabel.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 08:56:35 +03:00
Maxim Dolgolyov 640ca245ee fix(geom8): drag-интерактивы — pointermove/up на window + §7 индикатор равенства диагоналей
Drag (12 SVG-интерактивов): pointermove/pointerup/pointercancel слушались на
самом vertex-элементе. При выходе курсора за пределы маленького круга drag
обрывался — отсюда эффект 'нажал, чуть-чуть потянулось, и всё'. Перенесены
на window — теперь работают как нативный drag.

§7 (Прямоугольник): info-карточка показывала 'AC = BD' с одним значением.
Теперь две отдельные карточки AC и BD + индикатор равенства (зелёная плашка
'Диагонали равны' / красная 'Не равны' с Δ).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 08:53:57 +03:00
Maxim Dolgolyov 2e37360dac fix(geom8): §4 — определение cy в drawProof доказательства
В функции drawProof пошагового доказательства §4 использовалась переменная
cy без определения (была только cx). Это приводило к ReferenceError при
вызове buildP4, и из-за throw в ensureBuilt секция §4 не открывалась
при клике на карточку в селекторе параграфов.

Проверено: все 17 параграфов главы (p1-p16, final1) теперь строятся без ошибок.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 08:49:16 +03:00
Maxim Dolgolyov 22bd60cf0f feat(geom8): Wave 4 Главы 1 — финал главы (шпаргалка, карта связей, 7 боссов)
Часть 1: 9 mini-cards с формулами всех 16 параграфов (KaTeX).
Часть 2: интерактивная SVG-карта иерархии четырёхугольников
(клик по узлу — подсветка свойств).
Часть 3: 7 интегрированных боссов (по 10 XP):
  - Босс 1: многоугольник из суммы углов 1620°
  - Босс 2: параллелограмм через треугольник ABD
  - Босс 3: средние линии прямоугольника → ромб
  - Босс 4: ромб 60° → диагонали (Пифагор)
  - Босс 5: теорема Фалеса, 3 подзадачи
  - Босс 6: треугольник 12-16-20 — средняя линия + медиана + центроид
  - Босс 7: равнобедренная трапеция 20/8/10
Часть 4: при победе над всеми — achievement 'Мастер многоугольников Главы 1',
+50 XP бонус, confetti, кнопка перехода к Главе 2.

File: 5194 → 5558 LOC. Глава 1 полностью наполнена.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 08:38:19 +03:00
Maxim Dolgolyov ecda85e8ef feat(geom8): Wave 3 Главы 1 — §11-§16 (Фалес, медианы, средние линии, трапеция)
§11 Теорема Фалеса: SVG-угол с параллелями, конструктор деления отрезка
на n частей, тренажёр, DnD, босс.
§12 Медианы: SVG-треугольник drag + центроид G, доказательство 2:1
через среднюю линию, калькулятор, тренажёр, босс.
§13 Средняя линия треугольника: SVG со срединным треугольником,
доказательство, mini-quiz, DnD, тренажёр, босс.
§14 Трапеция: SVG drag (сохраняет параллельность оснований), конструктор
типов, доказательство m=(a+b)/2, калькулятор, тренажёр, босс.
§15 Равнобедренная трапеция: SVG с симметрией, 2 доказательства
(углы, диагонали), DnD свойств, тренажёр, босс.
§16 Признаки равнобедренной: 2 SVG-индикатора, доказательство признака,
mini-quiz, тренажёр, босс.

GLOSSARY: +центроид, +основания трапеции.
File: 3373 → 5194 LOC.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 20:18:47 +03:00
Maxim Dolgolyov 76eff24732 feat(geom8): Wave 2 Главы 1 — §5-§10 (параллелограмм, прямоугольник, ромб, квадрат)
§5 Свойства параллелограмма: SVG drag B/D, 2 пошаговых доказательства,
DnD-сортер, тренажёр, босс.
§6 Признаки: 3 SVG-демо, квиз выбора, DnD, доказательство признака 1, босс.
§7 Прямоугольник: SVG, доказательство AC=BD, калькулятор d=√(a²+b²),
тренажёр, DnD, босс.
§8 Признак прямоугольника: SVG с двойным индикатором, доказательство,
mini-quiz, тренажёр, босс.
§9 Ромб: SVG drag, доказательство AC⊥BD, калькулятор S=d₁d₂/2, DnD, босс.
§10 Квадрат: SVG со слайдером, иерархия фигур, калькулятор, DnD, тренажёр, босс.

File: 1910 → 3373 LOC.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 19:32:59 +03:00
Maxim Dolgolyov 99d7bf3d03 feat(geom8): Wave 1 Главы 1 — §1-§4 с интерактивами
§1 Многоугольники: SVG-конструктор с drag-вершинами, калькулятор диагоналей,
DnD-сортер фигур, тренажёр периметра, босс (4 задачи).
§2 Сумма углов: анимация триангуляции, калькулятор, обратная задача, DnD
правильные ↔ углы, босс.
§3 Внешние углы: SVG свёртка в точку (360°), калькулятор, тренажёр, mini-quiz, босс.
§4 Параллелограмм: SVG-конструктор (drag B/D), DnD, пошаговое доказательство,
тренажёр углы/периметр, босс.

File: 766 → 1910 LOC.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 19:07:22 +03:00
Maxim Dolgolyov 03d567e953 feat(catalog): Геометрия 8 (Казаков) — Phase 0 hub + 4 skeleton
- migration 017: geometry-8 hub + 4 children (Многоугольники, Площади,
  Подобие, Окружности) с parent_slug. sort_order=4, physics-8 → 5.
- geometry_8_hub.html (~380 LOC): blue/cyan hub в стиле algebra-8-hub,
  4 цветные карточки глав (amber/emerald/purple/cyan), агрегированный
  прогресс, ачивка «Мастер геометрии 8» при 56/56.
- 4 skeleton-файла chapter (geometry_8_ch1..ch4.html): полная
  инфраструктура (CSS, STATE, XP-карта, glossary, search Ctrl+K,
  sidebar, DnD, server-sync), 16/15/9/16 параграфов как stub'ы.
  Реальный контент — в последующих волнах.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 18:47:40 +03:00