- Граф «Связи»: обновлён до финальной версии поверх PR #3 «pixel-связи»
(орбы 12/13.06, единый PNG-оверлей орбов, мягкий край, вибрация выключена).
- «Личные»: редизайн списка как формы «Связей» — фото-аватары/инициалы,
золотая галочка подтверждения у имени, значок-цепочка связи с попапом пути
(Ты → посредники → цель) и переходом в профиль, граница карточки по типу
связи, шапка «Shine». Данные пока мок-плейсхолдер (реальные relations/чаты —
отдельная задача с бэкендом).
- Чистый прод: сняты обе демо-лаборатории (граф/ЛС), demo-чат, гость-обвязка
ЛС и demo-avatars; экран «Личные» под логином.
- Сохранена работа агента в main (DM-ревизии/редактирование, wallet/pairing, esp32).
- VERSION: client 1.2.217 (server 1.2.204 без изменений).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- toolbar.js: data-driven иконки (iconImg/glow/hero); все 5 вкладок → <img> неон-PNG;
«Связи» помечена hero.
- components.css: единый размер (--tab-icon-size 27px), «Связи» крупнее ВИЗУАЛЬНО через
transform: scale (без сдвига раскладки — иконки на одной линии); active/tap-состояния;
у «Связи» убран лишний drop-shadow-ореол (светится сама PNG); глобально
-webkit-tap-highlight-color: transparent (нет синего tap-квадрата нигде).
- assets: icon_lichnye/kanaly/svyazi/uvedomleniya/profil.png. Иконка «Уведомления»
приведена к прозрачному фону (была без альфы) и обрезана до ~92% заполнения, как у других.
Версия 1.2.166.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Решение по ауре финальное — не возвращаем. Удалён закомментированный «ТЕСТ»-блок
box-shadow по категориям; оставлено явное box-shadow:none для сияющих/фокуса.
Версия 1.2.165.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- растушёвка края фото радиальной маской (--feather-full 62% / --feather-edge 78%):
фото сливается со стеклом без жёсткого ободка; параметры для подкрутки.
- убран фон-градиент категории на .node-dot (просвечивал через прозрачный центр
стекла → читался как цветная «обводка»): селектор поднят до (0,4,0), чтобы
перебить правила категории. Цвет категории остаётся на линиях.
- кластерная аура (box-shadow по категории) отключена.
Не тронуто: кромка PNG, свечение сияющих/фокуса/common, линии.
Версия 1.2.164.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- glass_overlay_faithful.png в assets; орбы = фото (низ, круглая маска 78%) +
стеклянный PNG (верх, бокс 119% от node-dot, контакт линий от ORB_R).
- PNG-оверлей применён ко ВСЕМ полным орбам (центр + спутники); tier-3 точки без изменений.
- ретайр мёртвого векторного стекла: удалён buildGlassOrb (+orbSeq) и CSS .fg-orb-svg,
снят остаточный border .node-dot (синее кольцо) у PNG-хостов.
Версия 1.2.163.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Орбы:
- материал «хрусталь»: чистое лицо (виньетка 0.5→0.22), диффузный блик окна
вместо «капли» (+мягкий blur sf), стекло прозрачнее (тело 0.38→0.3),
полупрозрачная преломляющая кромка (blur + opacity 0.25→0.2).
- размер +11.5% (node-dot 52→58px); единый ORB_R=29 как источник радиуса.
- убран значок * у общих узлов (логика is-common цела).
Линии:
- цвет по категории на ВСЕХ рёбрах; плазма только сияющим.
- общий узел наследует сияние исходного человека (не серый).
- контакт линий ровно на кромке сферы орба (ORB_R), без зазора, все уровни.
Навигация:
- констелляция (паутина 2-3 уровней) — постоянный режим; кнопка «Вселенная»
убрана; Семья/Друзья/Сияющие остаются фильтрами. Чистка осиротевшего CSS.
Версия 1.2.161.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Аватары → SVG GlassOrb (фото в стеклянной сфере, блик, rim, свечение). Линии глубоких связей (tier-2/3) — в цвете типа (друзья/семья/...), сияющие связи светятся (голубой ореол + ядро). Версия 1.2.159.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Промежуточные итерации линий схлопнуты в один коммит. Убран мёртвый фильтр fg-plasma-turb. Лаборатория (/network-view/lab) и автотесты сохранены. Версия 1.2.158.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Вариант 2 (всё в лаборатории, реальный путь /network-view не трогаем).
- Общие связи: среди друзей человека один помечен как «общий» (он и твой друг тоже) — золотой ободок
+ ★ (CSS .fg-node.is-common). В лаб-генерации addDeepLevels подставляет узнаваемого друга Ивана.
- Доступность: визуально скрытый (sr-only) текстовый список графа .fg-a11y (центр + связи 1-го уровня)
для скринридеров; обновляется в updateA11y при перестроении (role=region, aria-label).
Автопроверки расширены до 19 ассертов (добавлены «общие связи ★» и sr-only список) — прогон 19/19 PASS.
Бамп client.version → 1.2.150.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Всё в лаборатории (вариант 2: реальный путь /network-view не трогаем).
- Поиск + телепорт: строка .fg-search; Enter → graph.findNode(имя) → камера летит к узлу
(dive в «Вселенной», иначе перецентр).
- Хлебные крошки: .fg-breadcrumb «Иван › Нина › Ада» (движок шлёт onDiveChange(path), API getDivePath);
клик по корню — полный сброс, по предку — навигация на его уровень.
- Бейдж числа связей: .fg-node-badge (degreeById → updateBadges; у центра — число связей 1-го уровня).
- Цветовые кластеры: мягкая аура узла по типу связи (CSS is-family/friend/business/contact).
Автопроверки расширены до 17 ассертов (добавлены поиск/крошки/бейдж) — прогон 17/17 PASS.
Фикс: TDZ breadcrumbEl (объявлен до createForceGraph, т.к. onDiveChange вызывается при монтировании).
Бамп client.version → 1.2.149.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Исправлены замечания по видео (режим «Вселенная», только лаборатория):
1. «Невидимые друзья» (узлы 2-го уровня). Раньше — тусклые пустые кружки с инициалом.
Теперь tier-2 — полноценные аватарки: фото-лицо (pravatar) + имя, DEEP2_SCALE 0.5→0.62
(≈radius 16px), DEEP2_OPACITY 0.4→0.85; читаемый ободок и подпись (CSS).
2. Мусорный «прицел» (пунктирное кольцо у центра). Полностью удалён из движка:
элемент .fg-reticle, updateReticle/pulseReticle и все их вызовы, CSS .fg-reticle*.
На экране только аватарки и линии связей.
3. Логика toggle + spotlight:
- Повторный клик по раскрытому узлу теперь СВОРАЧИВАЕТ его (isOpen = pinned || expandP>0.5
→ сброс pinned+hovered) — работает, даже если ветка была раскрыта ховером.
- Spotlight: при закреплённой ветке остальные тускнеют до 0.25 (узлы и линии), фокус и
закреплённая/наведённая ветка — 100%; плавно через spotCur (lerp, см. spotTargetOf).
- Клик по центру (Иван) — collapseAll + возврат всему графу 100% яркости.
Реальный путь /network-view не затронут (deep-код под tier≥2/hasDeep). Ветка экспериментальная.
Бамп client.version → 1.2.145.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Доработка режима «Интерактивная паутина» (только лаборатория, deep-режим «Вселенная»):
Взаимодействие (по запросу): наведение ≠ клик.
- Hover-превью: навёл мышь/палец на узел — его ветка ВРЕМЕННО выплывает; убрал — втягивается.
(pointerover/out для мыши, pointerdown/up для пальца → onNodeHover → graph.setHover; флаг hovered).
- Фиксация кликом: тап/клик → graph.toggleExpand ставит pinned — ветка остаётся раскрытой и
после ухода курсора; повторный тап снимает фиксацию. Эффект = pinned || hovered (expandTargetOf).
Этап 2 «Мегамасштаб»:
- Collision-расталкивание: раскрытая ветка усиливает отталкивание соседей 1-го уровня
пропорционально expandP (EXPAND_REPULSION=2.4) — кластеры разъезжаются, не накладываясь.
- Свободный зум: колесо мыши (onWheel) + щипок двумя пальцами (activePointers/pinching),
zoom 0.55–2.6 «к точке»; мир — CSS-scale, линии (SVG) пересчитываются в экранных координатах × zoom.
- Камера-доводчик: при фиксации ветки, если её веер упирается в край, камера мягко дотягивается
(glideCameraTo → camTargetX/Y, lerp CAM_GLIDE_K в tick); любой жест отменяет доводчик.
- Синхро-пульс: сияющие/трековые «световоды» дышат толщиной/размытием 3.6с в такт ободку узла.
Реальный путь /network-view не затронут: deep-код под tier≥2/hasDeep, hover-колбэк даёт только
лаборатория. Ветка экспериментальная (отдельно от pixel-08.06/PR). Бамп client.version → 1.2.144.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Этап 1 mind-map (только лаборатория, deep-режим «Вселенная»):
- Отмена прыжков в центр: тап по периферийному узлу больше НЕ перецентрирует — он остаётся
на орбите, а из него раскрывается/сворачивается (toggle) его ветка дальних связей НА МЕСТЕ.
- Глобальный сброс: тап по корню (Иван) рекурсивно сворачивает все раскрытые ветки (collapseAll).
- Глубина скрыта по умолчанию; ветка плавно выплывает (expandP, ~400мс) и втягивается по повтору.
- Мерцающие звёзды 3-го уровня (CSS box-shadow/brightness, десинхрон по узлам) — «созвездие».
- Тактильный отклик navigator.vibrate(): клик при нажатии, серия импульсов на bloom-раскрытие,
щелчок «гитарной струны» при сильном натяжении нитей свайпом.
- Движок: API toggleExpand/collapseAll; убрана press/hover-логика раскрытия (заменена тапом).
Ветка экспериментальная (отдельно от pixel-08.06/PR), бамп client.version → 1.2.143.
Ещё не сделано (следующие этапы): collision-расталкивание веток, камера-доводчик, zoom,
синхро-пульс линий к сияющим.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Фиксирую накопленные черновики как точку отката перед режимом «Интерактивная паутина»:
- press/pan-bend (резиновые нити при свайпе, тактильное «вдавливание» узла);
- глубина 2-3 уровней (прототип «Вселенная», переключатель в лаборатории);
- прогрессивное раскрытие (глубина скрыта, выплывает по нажатию/наведению).
Ветка pixel-web — экспериментальная (отдельно от pixel-08.06/PR), чтобы можно было откатиться.
Бамп client.version → 1.2.142.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>