Skyrails odbudowany ze zrzutów ekranu

1 października 2026·
Clément Godbarge
Clément Godbarge
· 5 min czytania
Postaci Nędzników w odbudowanym Skyrails, z Kozetą na pierwszym planie
post Notatki

Około 2007 roku Yose Widjaja, wówczas student University of New South Wales, stworzył Skyrails – niezwykły program do eksplorowania sieci w trzech wymiarach. Podróżowało się po samej sieci, od węzła do węzła, wzdłuż świetlistych szyn, jak gdyby było się wewnątrz danych. Program wyglądał jak gra wideo w czasach, gdy większość narzędzi badawczych była płaska i szara. Za efektowną oprawą kryła się prawdziwa głębia: Skyrails miał własny język skryptowy do stylizowania i analizy grafów, a w tym języku napisano menu, dzięki którym mogli z niego korzystać także ci, którzy nie umieli programować. Wszystko to było dziełem jednego studenta. Przed laty zobaczyłem na YouTubie jego demonstrację i nigdy jej nie zapomniałem.

Program, który przepadł

Skyrails nigdy nie był utrzymywany. Działał pod Windows, jego strona domowa na uniwersytecie zniknęła, a każdy link, w który klikałem, okazywał się martwy. Przetrwały za to ślady: album zrzutów ekranu na Flickrze i garść wpisów blogowych z 2007 roku – na FlowingData, na blogu Tima Lamberta Deltoid i na InfoVis Wiki.

Zrzuty ekranu mówią zaskakująco wiele. Widać na nich nocny błękit nieba poprzecinany smugami chmur, krawędzie rysowane jako animowane szewrony, węzły w postaci ikon lub wykresów kołowych i menu radialne, które rozwija się wokół węzła, gdy przytrzyma się prawy przycisk myszy. Widać nazwy skryptów, które napędzały poszczególne demonstracje (labs.van, macaque.van, worldtrade.van), menu tworzone przez te skrypty i cztery motywy: normal, desert, valley i openspace. Jeden ze zrzutów zachował nawet pojedynczą linijkę języka skryptowego, wpisaną do konsoli u góry ekranu:

with all nodes do nodeplane x 1 -1 end

Rekonstrukcja z poszlak

Na tej podstawie Claude odbudował Skyrails w ciągu jednej nocy. Nowa wersja, oparta na Three.js, uruchamia się w przeglądarce i teoretycznie powinna działać także w goglach wirtualnej rzeczywistości. Odwzorowuje niebo, szewronowe szyny, świecące węzły z ich ikonami, wykresami kołowymi i pierścieniami, dużą etykietę węzła pod kursorem, menu radialne i cztery motywy. Ma też niewielki język skryptowy, zbudowany wokół tej jednej linijki, którą zachowały zrzuty, tak że instrukcje with … do … end nadają grafowi styl i definiują menu.

Do testów wczytałem trzy klasyczne zbiory danych: sieć florenckich rodów Johna Padgetta, z ich powiązaniami małżeńskimi i handlowymi; klub karate Wayne’a Zachary’ego; wreszcie sieć postaci Nędzników Donalda Knutha, w której dwie postaci są połączone, jeśli występują w tym samym rozdziale. Poniższe nagranie przemierza tę ostatnią, od Valjeana do Javerta, Fantyny, Kozety i Mariusza. Każda szyna rozbłyska, gdy sunie wzdłuż niej kamera.

Wynik był tak bliski zrzutom ekranu, że od razu zacząłem podejrzewać, iż model wchłonął w trakcie treningu ślady oryginalnego kodu.

Odnajduje się oryginał

Wtedy nastąpił zwrot akcji. Już po rekonstrukcji znalazłem oryginalny program na GitHubie. Pewien badacz udostępnił go w 2015 roku, za zgodą Yose Widjai, wraz z kodem do wystąpienia o wizualizacji danych na konferencji poświęconej bezpieczeństwu ShmooCon (RITHoneynet/DataVisualization, kopia również w Light0617/3D_UIUX). Repozytorium zawiera pliki wykonywalne dla Windows, dane, shadery i oryginalne skrypty, ale nie kod źródłowy głównego silnika.

Mogliśmy więc zestawić obie wersje. Rekonstrukcja zbliżyła się do oryginału wyglądem i charakterem, ale jej język skryptowy i shadery bardzo się od niego różnią. Oryginalne skrypty wyglądają tak:

with all edges do (
   if(#marriage == 1) then (
      linkorigin <- marriage -> linktarget;
   ) end;
) end;

Podprogramy definiuje się w nich za pomocą sub, menu za pomocą menudef i menulink, kolory zapisem rgb: 130 0 0, a typy połączeń – strzałkami. Nic z tego nie pojawia się w rekonstrukcji, która ma z oryginałem wspólną jedynie formę with … do … end, widoczną na zrzucie ekranu. Oryginalne shadery, noszące nazwy takie jak BloomFX i RetinalBurnFX, również nie mają nic wspólnego z nowymi.

Nie rozstrzyga to kwestii zapamiętywania. Oryginalne skrypty są publicznie dostępne od 2015 roku i całkiem możliwe, że trafiły do danych treningowych modelu, a nikt, łącznie z samym modelem, nie potrafi z pewnością powiedzieć, co ten widział. Gdyby jednak model zapamiętał Skyrails, spodziewałbym się, że odtworzyłby przynajmniej język. Różnice sugerują, że Claude oparł się na tym, co dało się wyczytać ze zrzutów ekranu.

Archeologia cyfrowa i trwałość oprogramowania

Traktuję ten eksperyment jako formę archeologii cyfrowej: odbudowuje się utracony przedmiot ze śladów, które po sobie zostawił, a potem odnajduje oryginał i mierzy, jak blisko udało się podejść. Jak każda rekonstrukcja, nowy Skyrails jest interpretacją. Jego wygląd i zachowanie opierają się na świadectwach, wszystko pod spodem jest natomiast nowe.

To także kwestia trwałości. Oprogramowanie starzeje się znacznie szybciej niż dane, do których odczytywania powstało. Kiedy program umiera, utworzone w nim pliki, skrypty i wizualizacje stają się trudne do otwarcia, nawet jeśli przetrwały. Znaczna część oprogramowania z lat dwutysięcznych istnieje dziś już tylko w postaci zrzutów ekranu, nagrań wideo i starych plików binarnych, które da się uruchomić na coraz mniejszej liczbie maszyn. Oryginalny Skyrails być może wciąż uruchomi się na komputerze z Windows albo w emulatorze, ale nie da się go już utrzymywać, dostosowywać ani przenosić na inne platformy, bo jego kod źródłowy przepadł.

Jak przewidywałem kilka lat temu, AI staje się praktycznym narzędziem w walce z tego rodzaju starzeniem się. Potrafi zrekonstruować utracone narzędzie z jego śladów i odbudować programy do odczytu, dzięki którym stare dane pozostają użyteczne. Oczywistym następnym krokiem w tym projekcie jest nauczenie nowego silnika czytania oryginalnych skryptów .van i plików danych, tak by demonstracje, które Yose Widjaja napisał w 2007 roku, mogły znów działać. Dla każdego, komu zależy na trwałości danych – w badaniach naukowych, w archiwach czy w humanistyce cyfrowej – to sprawa warta uwagi.

Skyrails wyprzedzał swoje czasy i prawie dwadzieścia lat później wciąż robi wrażenie. Wszelkie zasługi za pomysł i projekt należą się Yose Widjai i mam nadzieję, że ten tekst do niego dotrze.

Clément Godbarge
Authors
Wykładowca humanistyki cyfrowej
Clément Godbarge jest wykładowcą humanistyki cyfrowej na University of St Andrews. Jego badania dotyczą nauki i sztuki rządzenia w Europie wczesnonowożytnej. W przygotowywanej książce analizuje, w jaki sposób lekarze związani z dworami Francji i Włoch XVI wieku przedstawiali się jako eksperci polityczni nowego typu. Jego badania wspierały Fundacja Andrew W. Mellona, Komisja Fulbrighta, Renaissance Society of America oraz Uniwersytet Harvarda.