github bilawalsidhu/gods-eye-view v0.3.0
v0.3.0 — Street Level, On Your Phone, in Your Language

2 hours ago

v0.3.0 brings God's Eye View down to the street, into your pocket and into three new languages. Open street-level photos from four providers without leaving the globe, use the app on a phone with a layout built for it, and read the interface in Spanish, Russian or Simplified Chinese. Short share links, a rebuilt voice assistant, your own map files, GNSS interference and aircraft emergencies, ten new camera packs and about thirty new bikeshare systems come with it.

Street Level

street-level-panoramax-photo-paris

See the street from the globe (Cameras ▸ Street Level). Coverage lines drape on the terrain and Google 3D tiles; click a street and the nearest photo opens in the panel, flat or 360°, with view cones along its sequence and ‹ › to step through it.

  • Four providers, one at a time: Panoramax and KartaView, which need no key at all, Mapillary with a free client token, and Google Street View on the Google 3D map with your Google Maps key.
  • Every caption names the photo's author and licence and links to the original.
  • Filter by 360° or flat imagery and by capture date; share links remember the provider and filters.
  • Host apps can compose their own provider list, and point Mapillary at a server-side Graph endpoint so no token reaches the page.
street-level-google-nyc

On your phone

combo-phone

On screens 720 px wide and narrower, the globe stays full screen and a bottom tab bar (Layers, Cameras, Context, Search, More) opens one panel sheet at a time. Swipe a sheet down to close it.

  • Pinch zoom is three times as responsive, aircraft and ships are easier to tap, and opening Context shows the aircraft you are tracking.
  • Add it to your home screen: the app ships a web app manifest and icons, so it installs with the God's Eye View mark instead of a blank tile.

In your language

combo-languages

The interface now speaks Spanish, Russian and Simplified Chinese. Pick a language from the globe button in the bottom-right corner, or open the app with ?lang=es, ?lang=ru or ?lang=zh-CN; by default it follows your browser.

  • Each language is one JSON file keyed by the English text, and npm test fails on missing or broken translations, so adding a language is a contained piece of work.

Also in this release

Short share links

  • The share button makes short /share/<code> links. The code is a compact, versioned description of the view, so a link opens the same way on any copy of the app, including your own local install.
  • A link can follow an aircraft, military aircraft or satellite. If it has stopped reporting, the view opens at its last known position and says so.
  • A mistyped link is refused instead of opening the wrong view, and older long #v=2 links keep working.
  • The codec is a package export, so a server can read share links, for example for link previews (format).

Voice

  • Answers you can trust. Voice can turn on and query every data layer by its everyday name ("buses", "hurricanes", "military bases"). It counts up to 250,000 records per layer, says when a layer is off or still loading instead of answering zero, and marks partial answers.
  • Short spoken answers, details on screen. A card above the mic shows captions, the steps of a slow request and the result with its sources.
  • Point and ask. Hold Space with the cursor on an aircraft, ship or place and ask "what's that?" or "track that one".
  • Gemini Live as an alternative to OpenAI Realtime, ChatGPT sign-in for OpenAI voice (experimental), a Voice Preview and Settings panel, and globe rotation.

New on the map

  • Your own files. Import GeoJSON, KML, KMZ and GPX from DISPLAY or drop them on the globe. KML keeps its styles and heights, and the files never leave your device.
  • GNSS Integrity (Events) maps the navigation accuracy aircraft report, which is where GPS interference shows up. It is evidence, not confirmation, and its method and limits are documented. Flights and military flights also highlight emergency squawks and ADS-B emergency statuses.
  • A real sky: the 9,096 stars of the Yale Bright Star Catalogue where they are at the scene's time, over a soft Milky Way.
  • Air quality in the Weather group, starting with Canada's AQHI, and S2 GhostMaps, S2 Underground's public intel products, updated as new editions are published.
  • Scope controls for the HUD, a cloud-filter slider for satellite clouds, offline geo: links in search, and area tools that break results down by airline, country, aircraft type or ship type.

Cameras, bikes and transit

  • Ten new CCTV packs: Taiwan's national freeways (about 1,800 cameras), Hong Kong (about 1,000), Norway's Statens vegvesen (about 850, with live video for about 135), City of Toronto, Catalonia, Washington State's WSDOT and King County, and opt-in packs for Florida FL511, New York City and Lithuania, whose terms or unconfirmed licences require it.
  • Cameras with a known model show its datasheet resolution, night vision and field of view, and live-video cameras are coloured apart from stills.
  • About thirty new bikeshare systems: seven Brazilian Bike Itaú cities, Bogotá and Santiago, Toronto, Detroit, Pittsburgh, Aspen and Kona & Hilo, six Norwegian cities, Barcelona's Bicing and AMBici, and nine more Spanish cities.
  • Nine Ontario transit feeds, including TTC, MiWay, HSR and YRT/Viva, with each city's own names for its vehicles and routes.

Install, performance and security

  • Docker: docker compose up runs the app with no local Node install, with a health check and SELinux support. Pinokio now opens the app in your system browser.
  • Faster rendering: aircraft models skip Cesium's per-model environment map (about 2 ms less GPU time per frame with 150 models in view), turned-off layers release their memory, and hidden tabs stop polling.
  • Hardening: cross-site requests are refused and rates limited on the terrain, traffic, Overpass and bikeshare proxies; the remaining upstream reads are size-capped; and dependency CVEs are patched.
  • Correctness: dozens of fixes for the antimeridian, impossible dates, and values that should read as unknown instead of zero, across satellites, fires, cyclones, ships, launches, directions and the HUD.

See CHANGELOG.md for the full list.

Community

Thank you to everyone who contributed since v0.2.1.

Street Level

  • @asturksever — Street Level and its Mapillary, Google Street View, KartaView and Panoramax providers (#768, #966, #1121, #1134)
  • @gekh — the leaner Street Level rebuild with one provider registry and one photo viewer (#974)

Languages

  • @meirm — the localization foundation and the Spanish translation (#601, #602), with the Russian catalog started from #312
  • @gekh — the Simplified Chinese catalog and its style guide (#1298), and work on the localization foundation (#602)
  • @abiyeenzo and @EDIT-Aeterna — the Simplified Chinese translations the zh-CN catalog is built on (#914, #979)

Phone and app

Voice, agents and tools

Layers and data

Cameras

Bikes and transit

Install and setup

  • @SM-26 — the Docker install path (#208), with @jklaze diagnosing the container-to-host key fix, and @14traits, @PoBruno and @milu70hub testing on Apple silicon, Linux and NAS hosts. #94 by @nitsuah, #55 by @DarshSinghKushwaha and #42 by @samaritan-maxjb covered the same ground first.
  • @14traits — the Docker health check (#1394), requested by @shahab-cl (#1240)
  • @anilguvenc — Docker on SELinux hosts (#1391)
  • @NukeThemAII — Pinokio opens the app in the system browser (#1222)
  • @blowing-a-raspberry and @monwiss — keeping local logs and cache out of the dev server (#948, #761)

Correctness and hardening

Thanks also to @jsawyerdev for the security reports behind several proxy fixes, and to @raysung-2026, @RealBenAnderson, @dawtcalm, @kareemaiman, @amirshahab89 and @BennyBread for reports and requests.

Verification

  • Node 24.14, Node 26.x and Windows onboarding CI passed.
  • Unit suite: 8,794 passed, 0 failed, 1 skipped.
  • Format, module-boundary and changelog checks and the production build passed.
  • Tracking regression: 109 passed, 0 failed.

Existing Pinokio installs can choose Update; terminal and Docker installs can run git pull.

Compare v0.2.1...v0.3.0

Don't miss a new gods-eye-view release

NewReleases is sending notifications on new releases.