fix: globe rendering, CPU sizing, manual location support

- Fix globe destroyed on re-render by preserving canvas DOM node across
  renderLocationCard() calls instead of recreating from scratch
- Reduce globe.gl camera minDistance (180->120) so globe is visible in
  200px container
- Clear stale globeInstance ref when canvas is gone
- Enlarge CPU gauge (90->110px), percentage label (18->22px), core bars
  (24->48px height), and detail text (11->12px)
- JS fetchLocation() now supplements server response with client-side
  ObserverLocation.getShared() from localStorage when server returns
  'default' or 'none', picking up manual coordinates from settings modal
- Location priority: GPS > config env vars > manual (localStorage) > default

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Smittix
2026-02-27 00:00:51 +00:00
parent 4b31474080
commit f679433ac0
2 changed files with 50 additions and 18 deletions

View File

@@ -134,8 +134,8 @@
.sys-gauge-arc {
position: relative;
width: 90px;
height: 90px;
width: 110px;
height: 110px;
flex-shrink: 0;
}
@@ -168,7 +168,7 @@
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 18px;
font-size: 22px;
font-weight: 700;
font-family: var(--font-mono, 'JetBrains Mono', monospace);
color: var(--text-primary, #e0e0ff);
@@ -176,25 +176,25 @@
.sys-gauge-details {
flex: 1;
font-size: 11px;
font-size: 12px;
}
/* Per-core bars */
.sys-core-bars {
display: flex;
gap: 3px;
gap: 4px;
align-items: flex-end;
height: 24px;
margin-top: 8px;
height: 48px;
margin-top: 12px;
}
.sys-core-bar {
flex: 1;
background: var(--bg-primary, #0d0d1a);
border-radius: 2px;
border-radius: 3px;
position: relative;
min-width: 4px;
max-width: 16px;
min-width: 6px;
max-width: 32px;
height: 100%;
}