GODSIGH/index.html
monsterrobotparty d06ebf07cb 🪐 portal: the orrery gets a door — 🪐 SOLARGOD button deep-links at GODSIGH's scrubbed moment
Reciprocal to SOLARGOD's Earth-card link into GODSIGH. A subtle HUD pill
(above the footer, styled to the mode-button family) opens the orrery in a
new tab. The href is rebuilt fresh at click time from viewer.clock.currentTime
via the shared `#t=@<unixMs>` convention, so scrubbing GODSIGH's clock carries
straight through to SOLARGOD's sim time.

- index.html: <a#solargod-link.portal-link> between #layers and footer
- css: .portal-link (matches .modes button; accent on hover)
- ui.js: wireSolargodLink(getMs) — rebuilds href on pointerdown+click
  (covers ⌘/middle-click new-tab); Cesium stays out of the DOM module
- main.js: wire it with a getMs closure over viewer.clock

Verified in-browser: button renders, zero console errors, all layers boot;
live click → href tracks the clock; scrub -3h → href exactly 3h behind now +
chip flips SCRUBBED + live layers pause; opening the link launches SOLARGOD
in SCRUBBED state at the passed epoch (its hash echoes the exact ms).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 09:45:48 +10:00

39 lines
1.5 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>GODSIGH ▸ World View</title>
<script>window.CESIUM_BASE_URL = 'https://cdn.jsdelivr.net/npm/cesium@1.143.0/Build/Cesium/';</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/cesium@1.143.0/Build/Cesium/Widgets/widgets.css" />
<link rel="stylesheet" href="css/style.css" />
<script src="https://cdn.jsdelivr.net/npm/cesium@1.143.0/Build/Cesium/Cesium.js"></script>
<script src="https://cdn.jsdelivr.net/npm/satellite.js@5.0.0/dist/satellite.min.js"></script>
</head>
<body>
<div id="cesiumContainer"></div>
<aside id="hud">
<header>
<div class="brand">GODSIGH <span>▸ WORLD VIEW</span></div>
<div id="live-chip" data-state="live">LIVE</div>
</header>
<div class="modes">
<button id="mode-data" class="active" type="button">Data</button>
<button id="mode-photo" type="button">Photo</button>
</div>
<div id="layers"></div>
<a id="solargod-link" class="portal-link" href="http://127.0.0.1:8147/"
target="_blank" rel="noopener" title="Open SOLARGOD at this moment">🪐 SOLARGOD</a>
<footer>
<div>Public OSINT feeds · Celestrak · OpenSky · EOX Sentinel-2 · CARTO/OSM</div>
<div class="demo">Ships &amp; events are <b>[DEMO]</b> data</div>
</footer>
</aside>
<div id="pick-overlay" hidden></div>
<script type="module" src="js/main.js"></script>
</body>
</html>