SHiNE-server/shine-UI/js/pages/network
Pixel 9a49cc67f0 Связи (pixel-aquarium, 10.06): партия 1 (полиш) + автопроверки графа
Усиления (движок-полиш) с детерминированной самопроверкой:
- Веер детей — полукругом «наружу» (DEEP_FAN, по sibIndex от направления деда→родитель): не перекрывает
  нить-крошку и родителя; равномерное распределение.
- LOD с гистерезисом (LOD_ZOOM_UP=1.6 / DOWN=1.4) — точки 3-го уровня ↔ аватарки без «мигания» у порога.
- Двойной тап по пустому фону и сильный pinch-out на минимальном зуме = быстрый выход из погружения.
- Префетч аватарок детей при наведении/нырке (prefetchChildren) — лица в кэше до раскрытия.

Автопроверки (dev-only, ТОЛЬКО при ?fgtest):
- js/pages/network/selftest.js — 14 ассертов: камера-центровка, collision (нет слипания), полукруг,
  spotlight (путь 1.0 / фон 0.25 / сброс при переключении / 100% на выходе), LOD, возврат зума.
- Движок: read-only graph.debugState() + graph.pumpForTest() (синхронно докручивает кадры до покоя,
  не зависит от троттлинга rAF в фоне). Граф как window.__fg — тоже только при ?fgtest.
- Прогон: 14/14 PASS (offset 0px, мин.дистанция детей 89px, веер ±99°, LOD 4/4).

В обычной работе тест-хелперы не активны. Реальный путь /network-view не затронут. Бамп client → 1.2.148.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 00:25:57 +03:00
..
adapter.js Связи: интерактивная карта связей (force-directed graph) 2026-06-09 21:23:16 +03:00
force-graph.js Связи (pixel-aquarium, 10.06): партия 1 (полиш) + автопроверки графа 2026-06-10 00:25:57 +03:00
lab.js Связи (pixel-aquarium, 10.06): партия 1 (полиш) + автопроверки графа 2026-06-10 00:25:57 +03:00
node-menu.js Связи: интерактивная карта связей (force-directed graph) 2026-06-09 21:23:16 +03:00
selftest.js Связи (pixel-aquarium, 10.06): партия 1 (полиш) + автопроверки графа 2026-06-10 00:25:57 +03:00