feat(lab-content-engine): phase 5 frontend — чип «Связано с программой»

Реальный фронт Ф5 (ранее ошибочно считал его сделанным параллельной сессией —
его не было). _loadRelated(simId) в lab-glue.js: GET /api/lab/sims/:id/related,
рендерит чипы-ссылки рядом с заголовком симуляции; контейнер #sim-related
создаётся динамически (без правок lab.html/CSS). Вызов из openSim (lab-init.js).
Тихо прячется при отсутствии связей/ошибке. Иконка — inline SVG .ic, без эмодзи.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-05-30 17:18:06 +03:00
parent 7d86c155c8
commit 6b0d556347
2 changed files with 55 additions and 0 deletions
+3
View File
@@ -119,6 +119,9 @@
// load theory for this sim
loadTheory(id.includes(':') ? id.split(':')[0] : id);
// Фаза 5: чип «Связано с программой» (курикулумные связи симуляции).
if (typeof _loadRelated === 'function') _loadRelated(id.includes(':') ? id.split(':')[0] : id);
// ── Контент-движок (Фаза 1): диспетчеризация через реестр ──
// Все каталожные симуляции зарегистрированы в _register-all.js.
// Алиасы deep-link (magnetic/coulomb/thinlens/mirrors/refraction) нормализуем