# GODSIGH vs. the open-sourced God's Eye View *2026-08-25 β€” Bilawal Sidhu open-sourced the real [God's Eye View](https://github.com/bilawalsidhu/gods-eye-view) (vendored here at `gods-eye-view-main/`, gitignored). GODSIGH was our guess at it, built from the YouTube videos alone. This is the honest side-by-side, and the record of what we ported in Wave 4.* ## Architecture β€” two different bets | | GODSIGH (ours) | God's Eye View (theirs) | |---|---|---| | Size | ~2,400 lines, 12 modules | ~300 modules + per-module test files | | Build | none β€” ES modules + 2 CDN globals | Vite, Node 24/26 enforced | | Globe | CARTO dark / EOX Sentinel-2 raster (keyless) | **Google Photorealistic 3D Tiles** (metered πŸ”΄ key required) | | Entry fee | $0, zero keys | Google Maps key mandatory; OpenAI key for voice | | Server | stdlib `serve.py` proxy + shared OpenSky cache | Vite dev server + key-brokering proxies, rate limits | | Testing | none | huge `.test.mjs` suite + QA screenshot scripts | | Focus | **one theater, one timeline** (Persian Gulf OSINT, scrubbable Β±6h) | **the whole planet as a place** (photoreal, cinematic, voice-driven) | The big divergence: we guessed "OSINT analysis console" (time scrubbing, replay, choke points, dark vessels); the real one is an "experience" (cockpit rides, voice agent, sensor skins, cinematic scenes). Their README even concedes our corner: *"the moment you try to go back in time… the data gets expensive"* β€” our timeline/replay/record.py stack is the thing they explicitly didn't build. ## Feature matrix | Feature | Theirs | Ours before | Ours now (Wave 4) | |---|---|---|---| | Live aircraft (OpenSky + adsb.lol) | βœ… | βœ… | βœ… | | Military ADS-B | βœ… | βœ… | βœ… | | Satellites (SGP4) | ~840 + Starlink chip | ~97 curated recon/EO | unchanged (curated > bulk for our theater) | | Earthquakes / fires / launches | βœ… | βœ… (+GDACS, NWS, RFS they lack) | βœ… | | **Timeline scrub + aircraft replay** | ❌ | βœ… | βœ… β€” still our moat | | Demo ship analytics (AIS-gap, toll route) | live AIS only | βœ… | βœ… | | **Smooth motion between polls** | βœ… interpolation | ❌ planes teleported every 90 s | βœ… dead reckoning, aircraft + military | | **Sensor styles (NVG/FLIR/CRT GLSL)** | βœ… 6 styles + uniforms | ❌ | βœ… 3 compact post-process styles, keys `1–4`, in share links | | **Submarine cables** | βœ… bundled TeleGeography | ❌ | βœ… 712 cables + 1,917 landings | | **Datacenters / dams** | βœ… bundled OSM | ❌ | βœ… 4,351 + 704 as registry layers | | Voice agent (28 tools) | βœ… OpenAI Realtime πŸ”΄ | ❌ | skipped β€” needs paid key, against our zero-key rule | | Cockpit / contacts / 3D hangar | βœ… | ❌ | skipped β€” built on Google 3D tiles πŸ”΄ | | CCTV projected into 3D | βœ… | ❌ | skipped β€” same reason; flat raster has nothing to project onto | | Traffic (TomTom), radio tuner, bikeshare | βœ… | ❌ | skipped/deferred β€” off-theater or key-gated | | Detection overlay / military HUD | βœ… | ❌ | skipped β€” cosmetic without their photoreal globe | ## What Wave 4 ported (all keyless, no build step) 1. **Submarine cables** β€” their bundled TeleGeography GeoJSON, rendered by a new [`js/layers/cables.js`](js/layers/cables.js). Β© TeleGeography, CC BY-NC-SA 3.0 β€” non-commercial only, see [`assets/README.md`](assets/README.md). 2. **Datacenters + dams** β€” their OSM/Open Infrastructure Map snapshots, collapsed to centroid points and dropped into the layer registry as two data entries (ODbL, attributed). Off by default. 3. **Sensor styles** β€” NVG / FLIR-Ironbow / CRT as Cesium `PostProcessStage` GLSL in [`js/styles.js`](js/styles.js), compacted from their style system. Hotkeys `1–4`; serialized into share links as `s=`. 4. **Smooth motion** β€” their "render behind, interpolate" idea, done the lazy way: `lib.deadReckon()` advances every billboard along its reported course at 10 Hz between polls, live-only, capped at 5 min extrapolation. ## Worth stealing later - **Trace-history backfill** β€” click a military contact, see its last ~24 h as 3D loops. Feasible keyless via OpenSky `/tracks` through `serve.py`. - **First-run missions** β€” their staged "first five minutes" onboarding card. - **Their test culture** β€” per-module `.test.mjs`; ours has none. - **Radio layer** β€” Radio Browser API is keyless and geolocated; audio-in- InfoBox needs a spike. - Natural Earth named-region polygons (public domain) if we ever want "outline the Strait of Hormuz"-style annotation.