SHA256
Связи: полировка карты связей (свечение, прорастание линий, CSS-фильтры)
- Линии: тонкие дуги Безье (градиент неон-центр → цвет роли); связь к «сияющему» монолитно светится статичной тенью drop-shadow (без бегущих импульсов). - Прорастание новых линий из центра: stroke-dasharray/dashoffset синхронно с разлётом узла (кончик трекает аватарку); старые линии исчезают мгновенно. - Ghost-слой: только аватарки (без линий), 1000мс — нет висящих «ошмётков». - CSS-bloom разлёта на компоновщике (устойчив к троттлингу rAF; завершение по таймеру). - Сияющие узлы: мягкая медленная пульсация 3.6с (многослойная box-shadow + SVG-ореол); тестовые фото-аватарки. - Фильтры слоёв в лаборатории + фикс перехвата click сценой (stopPropagation на чипах); фейд скрываемых на месте (opacity 0 + scale 0.8, 300мс), фиксация без физики (ноль тряски). - Бамп client.version → 1.2.137; обновлена документация фичи. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -308,7 +308,16 @@ const NETWORK_NAMES = {
|
||||
ivan: 'Иван', alisa: 'Алиса', pavel: 'Павел', elena: 'Елена', dmitry: 'Дмитрий',
|
||||
oleg: 'Олег', nina: 'Нина', marina: 'Марина', sveta: 'Света', kirill: 'Кирилл',
|
||||
};
|
||||
const NETWORK_SHINING = new Set(['ivan', 'alisa', 'oleg']);
|
||||
const NETWORK_SHINING = new Set(['ivan', 'alisa', 'oleg', 'marina', 'nina']);
|
||||
// Тестовые аватарки-фото (реальные лица по сид-номеру pravatar) — только для лаборатории.
|
||||
// Если сети нет — узлы мягко падают на инициалы (img.onerror).
|
||||
const NETWORK_PHOTOS = {
|
||||
ivan: 'https://i.pravatar.cc/150?img=12', alisa: 'https://i.pravatar.cc/150?img=5',
|
||||
pavel: 'https://i.pravatar.cc/150?img=13', elena: 'https://i.pravatar.cc/150?img=9',
|
||||
dmitry: 'https://i.pravatar.cc/150?img=33', oleg: 'https://i.pravatar.cc/150?img=52',
|
||||
nina: 'https://i.pravatar.cc/150?img=47', marina: 'https://i.pravatar.cc/150?img=44',
|
||||
sveta: 'https://i.pravatar.cc/150?img=24', kirill: 'https://i.pravatar.cc/150?img=60',
|
||||
};
|
||||
|
||||
function networkConn(login, relationType, connectionStrength) {
|
||||
return {
|
||||
@@ -316,6 +325,7 @@ function networkConn(login, relationType, connectionStrength) {
|
||||
login,
|
||||
name: NETWORK_NAMES[login] || login,
|
||||
avatar: null,
|
||||
photo: NETWORK_PHOTOS[login] || null,
|
||||
relationType,
|
||||
connectionStrength,
|
||||
hasOwnConnections: true,
|
||||
@@ -330,6 +340,7 @@ function networkPerson(login, connections) {
|
||||
login,
|
||||
name: NETWORK_NAMES[login] || login,
|
||||
avatar: null,
|
||||
photo: NETWORK_PHOTOS[login] || null,
|
||||
status: NETWORK_SHINING.has(login) ? 'shining' : '',
|
||||
},
|
||||
connections,
|
||||
|
||||
Reference in New Issue
Block a user