- CesiumJS viewer (token-free, baseLayer:false), Carto dark + EOX Sentinel-2 - clock spans now +/-6h CLAMPED; built-in timeline/animation = the space-time slider - HUD: brand, LIVE/SCRUBBED chip, Data/Photo mode toggle, layer rows, credits - lighting is mode-aware: OFF in Data (high-contrast asset map), ON in Photo (realistic day/night terminator) — refines SPEC 6.1's global-lighting note - main.js defines the layer-factory contract + dynamic loader; layers land next - serve.py now forwards OpenSky X-Rate-Limit-* headers for the aircraft status line Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
1.3 KiB
HTML
37 lines
1.3 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/Build/Cesium/';</script>
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/cesium@1/Build/Cesium/Widgets/widgets.css" />
|
|
<link rel="stylesheet" href="css/style.css" />
|
|
<script src="https://cdn.jsdelivr.net/npm/cesium@1/Build/Cesium/Cesium.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/satellite.js@5/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>
|
|
<footer>
|
|
<div>Public OSINT feeds · Celestrak · OpenSky · EOX Sentinel-2 · CARTO/OSM</div>
|
|
<div class="demo">Ships & 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>
|