Files
Learn_System/plans/lab-content-engine/phase-1-migrate-all.md
T
Maxim Dolgolyov 410eb8a862 fix(biochem 3D): корректная глубина + объёмные связи-цилиндры
Два дефекта, из-за которых 3D читался как плоская диаграмма:
- painter-сортировка была по возрастанию z (ближние первыми) — дальние
  атомы рисовались поверх ближних. Теперь единый список примитивов
  (атомы + половинки связей) сортируется по убыванию z (дальние первыми).
- связи были тонкими плоскими линиями. Теперь — затенённые «цилиндры»:
  толстый штрих с поперечным градиентом (центр светлее, края темнее),
  двухцветные (каждая половина под цвет своего атома) — фирменный вид
  ball-and-stick. Ширина зависит от перспективы (ближе — толще).
- усилена перспектива (fov 900→700), добавлен тёмный ободок сфер для объёма.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 12:58:39 +03:00

2.6 KiB

Phase 1: Миграция всех симуляций на манифесты

Status: Not Started Parent plan: PLAN.md Domain: frontend

Objective

Перевести все ~49 симуляций на сам/регистрацию через LabRegistry. Перенести данные (catalogue meta, preview, theory) и поведение (open/stop/destroy) в манифесты. Удалить legacy-структуры. Сохранить глобальные имена через shim.

Tasks

  • Для каждой симуляции зарегистрировать манифест (метаданные из SIMS, preview из P_*, theory из THEORY, open/stop/destroy из _openXxx + _pauseAllSims/closeSim веток).
  • Удалить массив SIMS (lab-glue.js) и объект THEORY (lab-init.js).
  • Удалить if-цепочку openSim, _pauseAllSims, switch в closeSim, ALL_SIM_BODIES/ALL_CTRL_BARS.
  • lab-init.js усохнуть до generic-логики (openSim/closeSim через реестр).
  • Shim глобальных имён (gSim, pSim, …) — их дёргают deep-link/поиск/инлайн-обработчики.
  • Сохранить обратную совместимость id (magnetic/coulomb→emfield, thinlens/mirrors/refraction→opticsbench, stereo:fig, hydrostatics:arg, molphys:arg, chemistry:arg, dynamics:arg, emfield:mode, opticsbench:mode).

Files to Modify/Create

  • Все frontend/js/labs/*.js симуляции — добавить LabRegistry.register(...).
  • frontend/js/labs/lab-glue.js, frontend/js/labs/lab-init.js — удалить legacy.

Acceptance Criteria

  • Все симуляции открываются/работают как раньше (паритет).
  • Удалены все 6 точек дублирования из CONTEXT.md.
  • Deep-links и алиасы работают.

Notes

  • Мигрировать пачками (по категориям) с проверкой паритета после каждой пачки (Big Bang допускает временную поломку между пачками).
  • Превью с зависимостями (random в P_ELECTROLYSIS) перенести как есть.

Review Checklist

  • Ни одна симуляция не потеряна
  • Глобальные shim'ы на месте
  • Алиасы/deep-links работают
  • Legacy полностью удалён

Handoff to Next Phase