SHA256
Связи (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>
This commit is contained in:
@@ -256,6 +256,12 @@ export function renderNetworkLab({ navigate }) {
|
||||
filterBar.append(deepChip);
|
||||
stage.append(filterBar);
|
||||
|
||||
// Автопроверки: ТОЛЬКО при ?fgtest — экспонируем граф и прогоняем self-test (результат в консоль).
|
||||
if (typeof window !== 'undefined' && String(location.search).includes('fgtest')) {
|
||||
window.__fg = graph;
|
||||
import('./selftest.js').then((m) => m.runNetworkSelfTest(graph, deepChip)).catch((e) => console.error('[fg-selftest] не загрузился', e));
|
||||
}
|
||||
|
||||
screen.cleanup = () => {
|
||||
graph.destroy();
|
||||
appScreenEl?.classList.remove('network-scroll-lock');
|
||||
|
||||
Reference in New Issue
Block a user