diff --git a/VERSION.properties b/VERSION.properties index 3e565e0..0954584 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.159 -server.version=1.2.143 +client.version=1.2.160 +server.version=1.2.144 diff --git a/shine-UI/js/pages/network/force-graph.js b/shine-UI/js/pages/network/force-graph.js index 6dde968..ae876f8 100644 --- a/shine-UI/js/pages/network/force-graph.js +++ b/shine-UI/js/pages/network/force-graph.js @@ -35,7 +35,7 @@ const PAN_FRICTION = 0.93; // трение инерционного скр const TWEEN_MS = 560; // длительность анимации центрирования (фильтр/фолбэк) const BLOOM_MS = 900; // длительность разлёта узлов из центра (физика выключена → ноль тряски) const BLOOM_STAGGER = 40; // задержка между «выстреливанием» соседних узлов (волна), мс -const FOCUS_SCALE = 1.5; // базовый масштаб фокуса (CSS-дыхание колеблет ±~1.3% → 1.48–1.52x) +const FOCUS_SCALE = 1.78; // базовый масштаб фокуса — центр крупнее (иерархия, рычаг 2; ±дыхание) const PRIMARY_SCALE = 1.0; // масштаб обычного узла 1-го уровня const SECONDARY_SCALE = 0.72; // масштаб узлов 2-го уровня (друзья друзей) const PAN_THRESHOLD = 8; // порог смещения (px), после которого жест считается pan, а не tap @@ -427,6 +427,7 @@ export function createForceGraph({ stage, model, onCenterTap, onNodeTap, onNodeL const o = opts || {}; const u = 'o' + (orbSeq += 1); const glowOp = o.isFocus ? 0.34 : 0.28; + const glowSpread = o.isFocus ? 7 : 4.5; // центр — шире/мягче ореол (рычаг 1); спутники без изменений const imgFilter = o.isFocus ? 'grayscale(0.9) contrast(1.04)' : 'saturate(0.85) brightness(0.97)'; const init = String(o.initials || '').slice(0, 2); const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); @@ -440,7 +441,7 @@ export function createForceGraph({ stage, model, onCenterTap, onNodeTap, onNodeL + '' + '' + '' - + '' + + '' + '' + '' + ''