feat(math6): ещё 2 canvas-демо — прыжки по прямой (±) и машинка+график

Math6Anim расширен: numberLineWalk (анимированные стрелки-шаги a→b на
числовой прямой для сложения рациональных) и carGraph (машина едет по
дороге, а график «путь–время» вычерчивается синхронно; горизонталь = стоянка).
Вшито: Гл.4 §4 (прыжки, ползунки a,b) и Гл.5 §2 (машинка+график).
Headless-safe. Тесты math6: 19/19 (анимации в Гл.1/4/5/6 монтируются).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-02 21:29:03 +03:00
parent 6b734957e9
commit 61de12e2de
4 changed files with 83 additions and 3 deletions
+10
View File
@@ -180,6 +180,16 @@ test('анимации: canvas-демо монтируются (headless-safe)',
r1.doc.defaultView.goTo('p6'); await wait(100);
assert.ok(r1.doc.querySelector('#p6-area canvas'), 'canvas «площадная модель» §1.6');
assert.deepEqual(r1.errors, [], 'ch1 без ошибок: ' + r1.errors.join(' | '));
// Глава 4 §4: прыжки по числовой прямой
const r4 = await loadDom('math_6_ch4.html');
r4.doc.defaultView.goTo('p4'); await wait(100);
assert.ok(r4.doc.querySelector('#p4-walk canvas'), 'canvas «прыжки по прямой» §4.4');
assert.deepEqual(r4.errors, [], 'ch4 без ошибок: ' + r4.errors.join(' | '));
// Глава 5 §2: машинка + график
const r5 = await loadDom('math_6_ch5.html');
r5.doc.defaultView.goTo('p2'); await wait(100);
assert.ok(r5.doc.querySelector('#p2-car canvas'), 'canvas «машинка + график» §5.2');
assert.deepEqual(r5.errors, [], 'ch5 без ошибок: ' + r5.errors.join(' | '));
});
test('hub: 6 карточек глав + курсовой финал', async () => {