orb: единый PNG-оверлей на все узлы + ретайр вектора

- 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>
This commit is contained in:
Pixel
2026-06-13 20:21:56 +03:00
co-authored by Claude Opus 4.8
parent e3bebff618
commit 69f0fdf120
4 changed files with 69 additions and 46 deletions
+36 -6
View File
@@ -137,15 +137,45 @@
overflow: visible; /* не срезать внешнее свечение орба */
box-shadow: none;
}
.fg-orb-svg {
/* A/B PNG-оверлей орба (ветка glass-png-overlay): фото снизу + запечённый стеклянный PNG сверху.
Бокс = 119% от .node-dot (как .fg-orb-svg → сфера ≈ кромке node-dot, контакт линий от ORB_R сохраняется). */
/* Специфичность `.fg-orb-host …` бьёт глобальное `.node-dot img` (иначе оно гасит opacity→0
и форсит размер 100%). Поэтому opacity/размеры/радиус задаём здесь явно. */
/* Кромку даёт сам glass_overlay.png → убираем остаточный border .node-dot (синее кольцо
старого векторного орба). Только у PNG-хоста; вектор и свечение/box-shadow не трогаем. */
.fg-orb-host:has(.fg-pngorb) {
border: none;
}
.fg-orb-host .fg-pngorb {
position: absolute;
width: 119%;
height: 119%;
left: 50%;
top: 50%;
left: 50%; top: 50%;
width: 119%; height: 119%;
transform: translate(-50%, -50%);
}
.fg-orb-host .fg-pngorb-glass {
position: absolute;
left: 50%; top: 50%;
width: 100%; height: 100%;
transform: translate(-50%, -50%);
opacity: 1;
border-radius: 0;
object-fit: contain;
display: block;
overflow: visible;
pointer-events: none;
}
.fg-orb-host .fg-pngorb-photo {
position: absolute;
left: 50%; top: 50%;
width: 78%; height: 78%; /* ~78% от бокса оверлея — сидит внутри стеклянной кромки */
transform: translate(-50%, -50%);
opacity: 1;
border-radius: 50%;
object-fit: cover;
display: block;
}
.fg-orb-host .fg-pngorb-init {
display: flex; align-items: center; justify-content: center;
background: #26344a; color: #cfe0ff; font-weight: 600; font-size: 20px;
}
.fg-node.is-family .node-dot {