AstrOS: orbity satelitów w przeglądarce
Katalog satelitów z konsolą danych NASA i NOAA wokół sceny. Całą scenę liczy Twoja karta graficzna.
- Rodzaj
- Nasz projekt własny
- Dla kogo
- Firmy, które pokazują w przeglądarce tysiące obiektów w ruchu
- Rok powstania
- 2026
- Podobny projekt
- Cennik i kontakt studia
W skrócie
Każdy punkt to satelita. Jego drogę po orbicie liczy na żywo karta graficzna Twojego komputera.
50 000 ruchomych obiektów na żywo, bez instalacji
50 000 ruchomych obiektów w każdej klatce liczy karta graficzna, więc przeglądarka je udźwignie.
Całą pracę robi karta graficzna
Raz na starcie
Dane orbit 50 000 obiektów trafiają do pamięci karty.
W każdej klatce
Karta liczy ruch wszystkich obiektów równolegle.
Na ekranie
Karta rysuje pozycje prosto ze swojej pamięci, bez kopiowania.
Konsola telemetrii NASA i NOAA
Cztery widoki: Orbity, Ziemia, Słońce i Silnik. Źródła: NOAA, NASA, Where The ISS At i Launch Library 2.
Ile z 50 000 orbit to prawdziwe satelity
- Wszystkie orbity50 000
- Prawdziwe (CelesTrak)około 16 700
Ile to waży
- Silnik przesyłany łączem221 kB
- Silnik po rozpakowaniu551 kB
- Całe pierwsze wczytanieokoło 1,2 MB
Pozycje są przybliżone, więc scena ilustruje ruch orbit i nie służy do śledzenia satelitów. Potrzebna jest przeglądarka z WebGPU (sprawdzone w Chrome i Chromium); bez niej scenę zastępuje nieruchomy kadr, a dane zostają na żywo.
Dla inżynierów: stos technologiczny
| Warstwa | Wybór | Co to daje |
|---|---|---|
| Język | Rust, kompilowany do WebAssembly | Silnik ma 221 kB przesłany łączem, start zaraz po wejściu na stronę. |
| Grafika | wgpu (WebGPU), vertex pulling | Scenę rysuje karta, pozycje idą z jej pamięci wprost na ekran. |
| Fizyka | Shader compute (WGSL) | Orbity liczą się równolegle, procesor zostaje wolny. |
| Dane | Katalog CelesTrak (SGP4) | Prawdziwe elementy orbitalne dla około 16 700 obiektów. |
| Konsola | HTML, CSS i ścisły TypeScript | Bez frameworka. Natywne okna dialogowe i popovery; jedyne połączenie z silnikiem to jeden ukryty węzeł DOM. |
Pomiar: wstępnie przygotowany katalog wczytuje się około 1100 razy szybciej niż te same dane w JSON (9,2 µs wobec 10,2 ms dla 10 tys. obiektów; benchmark criterion, jeden przebieg na hoście Linux x86-64; JSON to 10 tys. kopii jednego rekordu, ISS). To stosunek, nie czas na Twoim sprzęcie.
Testy na karcie graficznej i przejścia w przeglądarce (Chrome z WebGPU) uruchamiamy ręcznie.
Pełny opis i metody pomiaru
Problem: 50 000 ruchomych obiektów
50 000 ruchomych obiektów w każdej klatce to zadanie dla karty graficznej. Chcieliśmy pokazać, że przeglądarka udźwignie całą populację, gdy obliczenia przejmie karta graficzna: w małej paczce, z żywym licznikiem klatek w nagłówku.
Jak to działa: pełny opis
Raz na starcie: dane orbit 50 000 obiektów trafiają do pamięci karty: około 16 700 z katalogu CelesTrak, reszta jest syntetyczna. W każdej klatce: karta liczy ruch wszystkich obiektów równolegle. Procesor nie dotyka żadnego satelity. Na ekranie: karta rysuje pozycje prosto ze swojej pamięci, bez kopiowania.
Konsola danych NASA i NOAA
Konsola ma cztery widoki: Orbity, Ziemię, Słońce i Silnik. Pierwsza karta, „Dziś w kosmosie”, myśli jak dyżurny lotów: zamiast pięciu tabel dostajesz wniosek, stan w jednym słowie (na przykład „Podwyższony”) i powody, które za nim stoją. Szukaj (klawisz /) znajduje satelitę po nazwie lub numerze NORAD, a jego strona otwiera się obok sceny. Zorza na globusie reaguje na rzeczywisty wskaźnik Kp, miarę burz geomagnetycznych. Na telefonie widoki przechodzą na dolny pasek (sprawdzone w emulacji Chrome przy 390 × 844 px). Źródła: NOAA, NASA, Where The ISS At i Launch Library 2.
Liczby: pełny opis
~16 700 z 50 000 obiektów to prawdziwe satelity z katalogu CelesTrak (16 737 w bieżącym wdrożeniu, tak jak wczytuje je silnik; katalog pobieramy przy każdym wdrożeniu, więc liczba się zmienia). Resztę dopełnia flota syntetyczna. 221 kB waży sam silnik przesyłany łączem (551 kB po rozpakowaniu, brotli). Całe pierwsze wczytanie strony z katalogiem i wywołaniami do NASA to około 1,2 MB w 24 żądaniach. Zmierzone na działającym wdrożeniu: Chrome DevTools Protocol, pierwsze wczytanie przy 1440 × 900.
Opis klatki
Widok Orbity (zrzut z angielską wersją interfejsu): po lewej dzisiejsza sytuacja, pośrodku scena na żywo, po prawej liczba orbit i najbliższe asteroidy.
