How to use

Map and object controls — desktop and mobile devices
Non-commercial project Free, non-profit, made for educational and hobby purposes. Uses publicly available flight data from The OpenSky Network, satellite imagery from Esri, Maxar, Earthstar Geographics, and map data from OpenStreetMap contributors.

🖱 Mouse — main map

Left button + drag Rotate the globe / change viewing angle
Scroll wheel Zoom in / out (switches zoom 3 → 5 → 8 → 10)
Shift + wheel Slow zoom — fine-tuning camera distance
Shift + drag Slow rotation — precise aiming
Click on an aircraft Select aircraft — shows its track for the last N hours
Right-click on aircraft / ISS Chase mode — camera locks onto the object
Right-click on an airport Airport mode — hi-res imagery and orbit around the point
Right-click on empty space Free look — look around without rotating the planet
Click on the same aircraft again Deselect and remove its track

🔍 Camera & Zoom buttons

Zoom 3 / 5 / 8 buttons Instantly jump to a specific altitude (Global, Regional, Detailed) over the center of your screen.
Mode reset Clicking any Zoom button automatically exits Chase mode, Airport mode, or Free Look.
Fast navigation: If you get lost or want to quickly switch from a close-up view to a global overview, use the Zoom 3 / 5 / 8 buttons in the control panel.

🎯 Chase mode — following an aircraft

Hold left + drag Orbit the aircraft — fly around it with the camera
Scroll wheel Change distance to the aircraft — zoom in / out
Shift + drag Fine orbit control
Esc Exit chase and return to global view
Right-click on empty space Also exits chase
Aircraft label: while chasing, a purple info panel appears next to the aircraft showing callsign, altitude, speed, heading and type. The label follows the aircraft automatically.

Drag the label: hold the left mouse button on the panel and move it anywhere on the screen — it stays attached to the aircraft with your chosen offset.

🛬 Airport mode

Right-click on an airport dot Enter airport mode — camera flies to the airport
Hold left + drag Orbit around the airport — rotate and tilt the view
Scroll wheel Change altitude / distance above the airport
Esc Exit airport mode and return to the global view
Airport mode loads a high-resolution zoom-14 tile block and lifts the terrain under the runway slightly, so the runway sits flush on the surface.

📼 Replay & Incidents

Toggle Replay / Incidents Switch between recorded sessions and historical emergency situations (Squawk 7700)
Click a session/incident entry Select a recording or incident — the Play button becomes active
Click ▶ Play Start playback. (For incidents, the camera automatically flies to the start of the trajectory)
Click ⬇ Export Save the selected session or incident as a file on your computer
Click ⬆ Import Open a previously saved file — playback starts automatically
Drag & drop a file onto the map Same as Import — just drop the file onto the globe
Speed slider Playback speed (0.2× – 10×)
Seek slider Jump to any point in the recording
Stop Stop playback and return to live mode
Export format: the file is gzip-compressed JSON (.json.gz) — it contains all aircraft positions, plus the ISS track for the same period. A 1-hour session typically fits into 2–5 MB, a 10-hour session into 20–35 MB.
Everything stays on your computer. Export builds the file locally in your browser — no data is uploaded to any server. Import reads the file directly from your disk. Session recordings can be replayed offline without connecting to OpenSky.

⌨ Keyboard

Shift (hold) Slow down any rotation or zoom — precise control
Esc Reset view — return to whole-planet overview and exit all modes
Tip: if the camera flew away or you got lost in the UI — press Esc. It exits any mode (chase, airport, free look) and returns to the default viewpoint.

✈ Quick actions

Find an aircraft Type ICAO or callsign in the search box → Enter
Chase Right-click on an aircraft — camera follows it
Orbit While chasing, hold the left button and drag — orbit the object
Exit chase Esc or right-click on empty space
Save a recording Select a session → click ⬇ Export
Watch a saved replay ⬆ Import or drag a .json.gz file onto the map

👆 Gestures — main map

1 finger + drag Rotate the globe / change viewing angle
2 fingers Zoom: pinch in to zoom in, spread to zoom out
Tap on an aircraft Select aircraft — shows track and highlights it
Tap on the ISS Select the ISS — shows its orbit and highlights it
Long press on aircraft Chase mode — camera follows the aircraft
Long press on airport Airport mode — detailed imagery and orbit
Double tap Zoom in to the point (quick zoom-in)
Long press — hold your finger on the object for about 0.5 seconds until haptic feedback triggers (if supported by the device).

🔍 Camera & Zoom buttons

Zoom 3 / 5 / 8 buttons Instantly jump to a specific altitude (Global, Regional, Detailed) over the center of your screen.
Mode reset Clicking any Zoom button automatically exits Chase mode, Airport mode, or Free Look.

🎯 Chase mode — following an aircraft

1 finger + drag Orbit around the aircraft — fly around with the camera
2 fingers Change distance to the aircraft — zoom in / out
✕ Exit button (top of screen) Exit chase and return to the global view
Tap on empty map space Also exits chase
Aircraft label: while chasing, a purple info panel appears next to the aircraft showing callsign, altitude, speed, heading and type. The label follows the aircraft automatically.

Move the label: press and hold the panel with one finger, drag it anywhere on the screen — it stays attached to the aircraft with your chosen offset.

🛬 Airport mode

1 finger + drag Orbit around the airport — rotate and tilt the view
2 fingers Change altitude / distance above the airport
✕ Exit button (top of screen) Exit airport mode and return to the global view
The airport name label is shown near the airport point while in this mode. Tap the ✕ Exit button at the top to leave.

📼 Replay & Incidents

Toggle Replay / Incidents Switch between recorded sessions and historical emergency situations (Squawk 7700)
Tap a session/incident entry Select a recording or incident — the Play button becomes active
Tap ▶ Play Start playback. (For incidents, the camera automatically flies to the start of the trajectory)
Tap ⬇ Export Save the selected session or incident as a file on your device
Tap ⬆ Import Open a previously saved file — playback starts automatically
Speed slider Playback speed (0.2× – 10×)
Seek slider Jump to any point in the recording
Stop Stop playback and return to live mode
File size: a 1-hour session fits into 2–5 MB even with several thousand aircraft. Long sessions (8+ hours) may produce large files — on older phones avoid importing files larger than 30–50 MB to keep the browser responsive.
Everything stays on your device. The file is created and opened locally in your browser — nothing is uploaded to any server. You can watch a saved replay offline.

🎛 Control panel

Tap the ▶ / ◀ handle Expand / collapse the settings panel
Swipe up on the handle Expand a collapsed panel (alternative to tapping)
Tap a session entry Select a session for playback, then tap Play
Speed slider Replay playback speed (0.2× – 10×)
Seek slider Jump to any point in the recording
Size model slider Size of the 3D aircraft models (0.2× – 3×)
Track slider Track depth for the selected aircraft (1 – 24 hours)
The panel is collapsed by default on mobile. Tap the small handle at the top of the panel to expand it. The list of sessions is scrollable — swipe up/down inside it.

✈ Quick actions

Find an aircraft Type ICAO in the search box → tap 🔍
Exit chase / airport Tap the ✕ Exit button at the top, or tap on empty map
Replay Select session → Play → adjust Speed / Seek
Save a recording Select session → tap ⬇ Export
Open a replay file Tap ⬆ Import → pick a .json.gz file
Toggle layers Earth / Airports / Aircraft / ISS buttons in the panel

💡 Useful tips

Slow down on desktop Hold Shift — all movements become 10× more precise
Precise zoom on desktop Shift + wheel for smooth transitions between zoom levels
Precise zoom on mobile At high zoom levels pinch sensitivity is automatically reduced — move your fingers gently
Finding an aircraft Only know the callsign? Type it — search matches both ICAO and callsign
ISS in search Type ISS — the ISS layer turns on and the camera flies to the station
Aircraft disappeared? Open the panel → check Status. If OFFLINE — OpenSky data is temporarily unavailable, aircraft will reappear on their own
Session list is empty? There are no recordings for the last 24 hours. Check Status — it should read ONLINE
Widgets hidden? Tap the panel handle to expand it. All settings are inside

🚨 Incident Mode (Squawk 7700)

The Incidents tab contains a dataset of historical emergency situations where aircraft squawked 7700. This allows you to replay real-world anomalies.

Camera auto-fly: When you press Play for an incident, the camera automatically moves to the starting point of the trajectory, waits for the terrain to load, and then locks onto the aircraft in Chase Mode.
Exporting incidents: You can export an incident trajectory just like a regular replay session. The file will include incident metadata (callsign, origin, destination, and the problem description).

🎨 Display modes

Earth Show/hide the planet. Useful when you want to inspect aircraft without the background
Texture Realistic satellite texture vs. flat tiles
Schematic Schematic view (OSM tiles) instead of satellite imagery
Airports Airport layer — points with names. Click / long press for airport mode
Relief / Relief x1 / Relief x5 Cycle through relief modes: off → realistic (×1) → exaggerated (×5). When relief is off, terrain tiles are not downloaded at all — only textures — so the map loads faster.
Rotation Automatic Earth rotation. Repeated taps cycle ×1 → ×2 → ×3 → off
Aircraft Show/hide live aircraft
Solo Keep only the selected aircraft visible, hide the rest
ISS Show the International Space Station
Relief off by default: the map loads much faster without terrain tiles. Turn Relief on only when you want to see mountains and valleys.

💾 Saving and sharing replays

Any recorded session or incident can be exported as a single portable file and imported back later — on the same device or on another one. This is useful for archiving, sharing, or simply watching a replay offline.

How to export: in the panel, tap a session in the list to select it, then press ⬇ Export. The button will pulse while the file is being prepared. When the status shows ✔ Exported: …, the file is in your browser's download folder.
How to import: press ⬆ Import and pick a .json.gz file, or simply drag the file onto the map on desktop. Playback starts automatically.
100% local. Export and import never touch any server — the file is built and read entirely inside your browser. Your recordings stay private.

🌍 Astronomy

Sun position, Moon position, and the day/night terminator are computed in real time from the current date. In replay mode — from the recording time.

The Sun field in the panel shows the solar altitude above the horizon at the point you are looking at: High / Medium / Low / Twilight / Night.

🚀 Performance notes

At zoom level 8 the app loads detailed terrain and satellite texture. The system prioritizes textures first, then loads terrain — so the picture appears fast and relief fills in a moment later.

Loading spinner: a small spinner appears in the center of the screen while tiles are downloading. It disappears when all visible tiles are ready.
If the scene feels slow, try zooming out one level (wheel down / pinch out) — fewer tiles and terrain features will be visible, keeping performance smooth.