Связи (test 12.06): центр-орб крупнее (FOCUS_SCALE 1.78) + шире ореол центра (glowSpread 7)
Рычаг 1: glowSpread центра 4.5→7 (мягче/шире свечение), спутники без изменений. Рычаг 2: FOCUS_SCALE 1.5→1.78 (иерархия). Версия 1.2.160. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
652ddc9d88
commit
0b4374141e
@ -1,2 +1,2 @@
|
||||
client.version=1.2.159
|
||||
server.version=1.2.143
|
||||
client.version=1.2.160
|
||||
server.version=1.2.144
|
||||
|
||||
@ -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
|
||||
+ '<radialGradient id="sd' + u + '" cx="50%" cy="60%" r="55%"><stop offset="58%" stop-color="#000000" stop-opacity="0"/><stop offset="100%" stop-color="#02060d" stop-opacity="0.4"/></radialGradient>'
|
||||
+ '<linearGradient id="sp' + u + '" x1="0" y1="0" x2="1" y2="1"><stop offset="0%" stop-color="#ffffff" stop-opacity="0.85"/><stop offset="100%" stop-color="#ffffff" stop-opacity="0"/></linearGradient>'
|
||||
+ '<filter id="so' + u + '" x="-40%" y="-40%" width="180%" height="180%"><feGaussianBlur stdDeviation="1.3"/></filter>'
|
||||
+ '<filter id="gl' + u + '" x="-70%" y="-70%" width="240%" height="240%"><feGaussianBlur stdDeviation="4.5"/></filter>'
|
||||
+ '<filter id="gl' + u + '" x="-70%" y="-70%" width="240%" height="240%"><feGaussianBlur stdDeviation="' + glowSpread + '"/></filter>'
|
||||
+ '</defs>'
|
||||
+ '<circle cx="50" cy="50" r="42" fill="#5facd4" opacity="' + glowOp + '" filter="url(#gl' + u + ')"/>'
|
||||
+ '<circle cx="50" cy="50" r="42" fill="#0a1626" opacity="0.38"/>'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user