NATUS WHEEL: tick lines + dual conjunction tooltip — TDD
- _computeConjunctions(planets, threshold=8) detects conjunct pairs - Tick lines (nw-planet-tick) radiate from each planet circle outward past the zodiac ring; animated via attrTween; styled with --pri* colours - planetEl.raise() on mouseover puts hovered planet on top in SVG z-order - Dual tooltip: hovering a conjunct planet shows #id_natus_tooltip_2 beside the primary, populated with the hidden partner's sign/degree/retrograde data - #id_natus_tooltip_2 added to home.html, sky.html, room.html - _natus.scss: tick line rules + both tooltip IDs share all selectors; #id_natus_confirm gets position:relative/z-index:1 to fix click intercept - NatusWheelSpec.js: T7 (tick extends past zodiac), T8 (raise to front), T9j (conjunction dual tooltip) in new conjunction describe block - FT T3 trimmed to element-ring hover only; planet/conjunction hover delegated to Jasmine (ActionChains planet-circle hover unreliable in Firefox) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -438,6 +438,24 @@ html.natus-open .natus-modal-wrap {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
// ── Planet tick lines ─────────────────────────────────────────────────────────
|
||||
.nw-planet-tick {
|
||||
fill: none;
|
||||
stroke-width: 3px;
|
||||
stroke-opacity: 0.5;
|
||||
stroke-linecap: round;
|
||||
}
|
||||
.nw-planet-tick--au { stroke: rgba(var(--priAu), 1); }
|
||||
.nw-planet-tick--ag { stroke: rgba(var(--priAg), 1); }
|
||||
.nw-planet-tick--hg { stroke: rgba(var(--priHg), 1); }
|
||||
.nw-planet-tick--cu { stroke: rgba(var(--priCu), 1); }
|
||||
.nw-planet-tick--fe { stroke: rgba(var(--priFe), 1); }
|
||||
.nw-planet-tick--sn { stroke: rgba(var(--priSn), 1); }
|
||||
.nw-planet-tick--pb { stroke: rgba(var(--priPb), 1); }
|
||||
.nw-planet-tick--u { stroke: rgba(var(--priU), 1); }
|
||||
.nw-planet-tick--np { stroke: rgba(var(--priNp), 1); }
|
||||
.nw-planet-tick--pu { stroke: rgba(var(--priPu), 1); }
|
||||
|
||||
// Aspects
|
||||
.nw-aspects { opacity: 0.8; }
|
||||
|
||||
@@ -453,7 +471,8 @@ html.natus-open .natus-modal-wrap {
|
||||
// container-type (both break position:fixed). Placed as a direct sibling of
|
||||
// .natus-overlay in room.html; alongside #id_tooltip_portal in home.html. ──
|
||||
|
||||
#id_natus_tooltip {
|
||||
#id_natus_tooltip,
|
||||
#id_natus_tooltip_2 {
|
||||
position: fixed;
|
||||
z-index: 200;
|
||||
pointer-events: none;
|
||||
@@ -477,7 +496,8 @@ html.natus-open .natus-modal-wrap {
|
||||
}
|
||||
|
||||
// Element title colors — primary tier on dark palettes
|
||||
#id_natus_tooltip {
|
||||
#id_natus_tooltip,
|
||||
#id_natus_tooltip_2 {
|
||||
.tt-title--el-fire { color: rgba(var(--priRd), 1); }
|
||||
.tt-title--el-stone { color: rgba(var(--priFs), 1); }
|
||||
.tt-title--el-time { color: rgba(var(--priYl), 1); }
|
||||
@@ -487,7 +507,8 @@ html.natus-open .natus-modal-wrap {
|
||||
}
|
||||
|
||||
// On light palettes — switch to tertiary tier for legibility
|
||||
body[class*="-light"] #id_natus_tooltip {
|
||||
body[class*="-light"] #id_natus_tooltip,
|
||||
body[class*="-light"] #id_natus_tooltip_2 {
|
||||
.tt-title--el-fire { color: rgba(var(--terRd), 1); }
|
||||
.tt-title--el-stone { color: rgba(var(--terFs), 1); }
|
||||
.tt-title--el-time { color: rgba(var(--terYl), 1); }
|
||||
@@ -497,7 +518,8 @@ body[class*="-light"] #id_natus_tooltip {
|
||||
}
|
||||
|
||||
// On light palettes — switch to primary (darkest) tier for legibility
|
||||
body[class*="-light"] #id_natus_tooltip {
|
||||
body[class*="-light"] #id_natus_tooltip,
|
||||
body[class*="-light"] #id_natus_tooltip_2 {
|
||||
.tt-title--au { color: rgba(var(--priAu), 1); }
|
||||
.tt-title--ag { color: rgba(var(--priAg), 1); }
|
||||
.tt-title--hg { color: rgba(var(--priHg), 1); }
|
||||
@@ -538,6 +560,8 @@ body[class*="-light"] #id_natus_tooltip {
|
||||
#id_natus_confirm {
|
||||
margin-top: -1.5rem;
|
||||
align-self: center;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user