feat(chemistry7): визуал V1 — анимация §10 (признаки реакции) и §11 (осадок)
chem7_anim.js: CSS-хелперы (jsdom-safe, без canvas) — bubbleField (пузырьки газа), precipField (падающий осадок + слой), flameBox (мерцающее пламя+искры), colorBlock (плавная смена цвета вещества). §10/ЛО1: «Провести опыт» проигрывает анимацию по типу опыта (малахит зеленеет→чернеет, голубой осадок CuSO4+NaOH, синее пламя серы, пузырьки CO2). §11: при «Смешать» формируется осадок Cu(OH)2, весы остаются ровными. Тесты chem7: 16/16 pass; полный прогон 162/165 (3 — baseline Auth). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -111,6 +111,14 @@ test('ch1 V-пилот: 3D-молекулы §5/§6 + анимация разд
|
||||
assert.ok(btn, 'кнопка верного метода §2 найдена');
|
||||
btn.dispatchEvent(new doc.defaultView.Event('click', { bubbles: true })); await wait(50);
|
||||
assert.ok(doc.querySelector('#p2-sep-anim canvas'), 'сцена разделения §2 (canvas)');
|
||||
// §10: анимация признаков реакции после «Провести опыт»
|
||||
doc.defaultView.goTo('p10'); await wait(120);
|
||||
doc.getElementById('p10-signs-go').dispatchEvent(new doc.defaultView.Event('click', { bubbles: true })); await wait(40);
|
||||
assert.ok(doc.querySelector('#p10-signs-stage div'), 'анимация признаков реакции §10');
|
||||
// §11: осадок появляется при «Смешать»
|
||||
doc.defaultView.goTo('p11'); await wait(120);
|
||||
doc.getElementById('p11-mix').dispatchEvent(new doc.defaultView.Event('click', { bubbles: true })); await wait(40);
|
||||
assert.ok(doc.querySelector('#p11-stage div'), 'анимация осадка §11');
|
||||
assert.deepEqual(errors, [], 'нет ошибок: ' + errors.join(' | '));
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user