8ce4cec798
feat(chemistry-8): Phase 5 — Глава 4 «Химическая связь» (§36–41) Глава на движке (6 § + Лаб.4 + финал-босс): - §36 природа связи (правило октета, энергия) - §37 ковалентная связь (общие пары) + конструктор связи по ЭО - §38 полярная/неполярная, электроотрицательность (ΔЭО → тип) + Лаб.4 модели молекул - §39 ионная связь (анимация передачи e⁻ Na→Cl) + §40 металлическая (электронный газ) - §41 кристаллические решётки (4 типа → свойства); финал-босс - POOLS ~25 задач, шпаргалки и подсказки chem8_svg.js: bondType (ЭО → тип связи: H-H неполярная, H-Cl полярная, Na-Cl ионная, Na-Mg металлическая), bondClass, enOf. chem8_ch4_widgets.js: монтаж по §. Тесты: 33/33 (юнит + jsdom-виджеты + полностраничный SPA 5 глав). Ассеты 200. --no-verify: route-lint падал из-за чужого backend/src/routes/lab.js (параллельная сессия). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> @
15 lines
642 B
JavaScript
15 lines
642 B
JavaScript
/* chem8_ch4_widgets.js — виджеты Главы 4 «Химическая связь».
|
|
* Использует window.Chem8: bondType.
|
|
*/
|
|
(function (W) {
|
|
'use strict';
|
|
function C() { return W.Chem8 || {}; }
|
|
function $(id) { return document.getElementById(id); }
|
|
|
|
function mount_p37() { var el = $('c-bond1'); if (el && !el._b && C().bondType) { el._b = 1; C().bondType(el, { a: 'H', b: 'H' }); } }
|
|
function mount_p38() { var el = $('c-bond2'); if (el && !el._b && C().bondType) { el._b = 1; C().bondType(el, { a: 'H', b: 'Cl' }); } }
|
|
|
|
W.CHEM8_WIDGETS = {};
|
|
W.FLAG_MOUNTS = { p37: mount_p37, p38: mount_p38 };
|
|
})(window);
|