Commit Graph

12 Commits

Author SHA1 Message Date
Maxim Dolgolyov fe378371bd fix(math6): запускать init() после экспортов хелперов в window
Реальная причина пустых §1 (заглушки) во всех главах: в math6_engine.js
вызов init() стоял ВЫШЕ строк window.makeCard=…/secNav=…. При обычной
загрузке через defer скрипт исполняется при readyState='interactive',
поэтому ветка `else init()` срабатывала синхронно — init→goTo→buildP1()
звал makeCard ДО его экспорта → ReferenceError 'makeCard is not defined'
→ перехват в ensureBuilt → заглушка. В jsdom-тестах баг не воспроизводился
(там старт шёл через DOMContentLoaded, экспорты успевали).

- init() теперь вызывается СТРОГО после всех window.* экспортов.
- ensureBuilt перечитывает window.M6 (надёжнее против устаревшего замыкания).
- html учебника всегда no-store (убрал кэш-причину стале-страниц).
- регресс-тест: init() обязан идти после window.makeCard. Тесты 18/18.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 20:58:05 +03:00
Maxim Dolgolyov 0bb48d3f04 feat(math6): курсовой финал на хабе + звание «Математик 6 класса»
Капстоун-бой из 6 испытаний (по одному из каждой главы: десятичные,
проценты, множества, рациональные, координаты, геометрия) с HP-баром.
Победа 5/6 → +150 XP (LS.xp) + звание «Математик 6 класса» (зажигается
ачивка-strip, флаг localStorage math6_course_done). Тесты math6: 17/17.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 20:11:15 +03:00
Maxim Dolgolyov 21853bdc27 feat(math6): Глава 4 — Рациональные числа (§1–§11 + финал)
§1 числа со знаком + координатная прямая; §2 модуль, противоположные,
диаграмма N⊂Z⊂Q; §3 сравнение (прямая + наибольшее из трёх);
§4 сложение (демонстратор на прямой + тренажёр); §5 вычитание = +противоп.
(тренажёр + перепиши сложением); §6 законы сложения (удобный счёт +
определи закон); §7 умножение (таблица знаков + тренажёр); §8 деление
(тренажёр + знак частного); §9 порядок действий; §11 прикладной
(температуры/долги/глубина); финал — 6 боссов. ВСЕ 6 глав готовы.
Тесты math6: 17/17.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 20:08:48 +03:00
Maxim Dolgolyov 203807ada8 feat(math6): Глава 3 — Множество (§1–§5 + финал)
§1 множество/элементы/∅ (∈ или ∉ + счёт элементов);
§2 способы задания (свойство→множество + проверка по свойству);
§3 операции ∩/∪ (наглядно через Math6.venn + счёт результата);
§4 круги Эйлера (задача с числами в областях + формула |A∪B|=|A|+|B|−|A∩B|);
финал — 5 боссов. Добавлен Math6.venn (две окружности с заливкой
областей и числами). Тесты math6: 16/16.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 20:03:03 +03:00
Maxim Dolgolyov a7835659d5 feat(math6): Глава 2 — Проценты и пропорции (§1–§9 + финал)
§1 процент наглядно (сетка 100) + конвертер %↔дробь↔десятичная;
§2 три типа задач (классификатор + тренажёр % от числа);
§3 пропорция (найди член крест-накрест + проверка свойства);
§4 прямая/обратная зависимость (классификатор + таблица);
§5 решение пропорцией (прямые и обратные задачи);
§6 масштаб (карта↔местность); §7 круговые диаграммы (Math6.pie +
%↔градусы); §9 прикладной; финал — 5 боссов. Тесты math6: 15/15.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 19:58:48 +03:00
Maxim Dolgolyov 670ae80124 feat(math6): Глава 6 — Наглядная геометрия (§1–§5 + финал)
§1 тела (куб/призма/пирамида/цилиндр/конус) + развёртки: квиз грани/рёбра/
вершины + «какое тело из развёртки»; §2 окружность и круг (слайдер r → C, S
при π=3,14) + тренажёр; §3 виды треугольников по сторонам и по углам
(классификация вычисляется из координат, штрихи равных сторон, метка прямого
угла); §4 центральная симметрия (построй A'); §5 осевая симметрия (Oy/Ox);
финал — 5 боссов. SVG: тела/развёртки/треугольники inline, симметрия на
Math6.plane. Тесты math6: 14/14.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 19:48:23 +03:00
Maxim Dolgolyov 09c61d8eed feat(math6): Глава 5 — Координатная плоскость (§1–§5, на Math6.plane)
§1 чтение координат + определение четверти (плоскость с точкой);
§2 чтение графиков реальных процессов + изменение величины (polyline);
§3 слайдер y=kx + классификатор прямая/обратная пропорциональность;
§5 прикладной (путь–время); финал — 5 боссов (координаты, четверти,
график, k для y=kx и y=k/x). Math6.plane получил поддержку polyline.
Тесты math6: 13/13.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 19:42:48 +03:00
Maxim Dolgolyov 4b949f7ce2 feat(math6): Глава 1, волна 4 — §12 прикладной + финал-боссы (глава завершена)
§12 «Математика вокруг нас»: задачи из жизни (покупки, сдача, измерения)
+ среднее значение. Финал главы: бой с 5 боссами (разряды, округление,
сложение/вычитание, умножение, деление на дробь) с HP-баром; победа 4/5+
даёт +40 XP и достижение «Глава 1 пройдена». Эталонная Глава 1 готова: все
12 параграфов наполнены. Тесты 12/12.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 15:06:54 +03:00
Maxim Dolgolyov 826e7b04f2 feat(math6): Глава 1, волна 3 — §7–§10 (деление, период, преобразования)
§7 деление на натуральное (тренажёр + восстанови делимое);
§8 деление на десятичную (демонстратор переноса запятой + тренажёр);
§9 конечная/бесконечная (классификатор по множителям 2·5 + период через
долгое деление с отслеживанием остатков, выбор десятичной записи);
§10 сопоставление десятичная↔обыкновенная (DnD) + вычисление выражений.
Шпаргалки/типсы/глоссарий §7–§10. Тесты 11/11.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 15:03:30 +03:00
Maxim Dolgolyov dd0d63d25a feat(math6): Глава 1, волна 2 — §4–§6 (сложение/вычитание, сдвиг запятой, умножение)
§4 столбик «запятая под запятой» + ловушка выравнивания;
§5 демонстратор сдвига запятой ×/÷10,100,1000 + тренажёр;
§6 подсчёт знаков после запятой (ползунки) + тренажёр умножения.
Целочисленные мантиссы вместо float. Шпаргалки/типсы/глоссарий. Тесты 10/10.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 14:58:44 +03:00
Maxim Dolgolyov 653d3564df feat(math6): Глава 1, волна 1 — §1–§3 (разряды, сравнение/округление, координатный луч)
§1 разрядный конструктор (ползунки) + квиз «цифра в разряде»;
§2 сравнение на числовой прямой + тренажёр округления;
§3 чтение координаты и поиск точки A–D на координатном луче (Math6.numberLine).
Теория-карточки, шпаргалки, подсказки, глоссарий. Тесты: 9/9.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 14:54:28 +03:00
Maxim Dolgolyov 1d95f72d45 feat(math6): Phase 0 — инфраструктура учебника «Математика 6»
Хаб + 6 каркасов глав на общем движке math6_engine.js (плумбинг:
прогресс/XP/ачивки/навигация/сайдбар/поиск/глоссарий + хелперы),
math6_svg.js (window.Math6: numberLine, plane), math6.css (фреймворк
по образцу Алгебры 7). Миграция 049: хаб math-6 + math-6-ch1..ch6.
Секции глав генерируются движком из M6.paras; § без билдера → заглушка.
Тест math6-page.test.js: 8/8 (хаб 6 карточек, 6 глав, навигация, прогресс).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 14:47:21 +03:00