Przejdź do treści
← Realizacje

Przeglądarka DWG, której plik nigdy nie opuszcza

Klient
Moonforge Labs (produkt własny)
Wdrożenie
wrzesień 2026
  • Astro
  • TypeScript
  • WebAssembly
  • three.js
  • Cloudflare Pages
  • launchd

Zadanie

Pliki DWG krążą między architektem, instalatorem i inwestorem, a oficjalne darmowe sposoby, żeby je obejrzeć, to program tylko na Windowsa albo przeglądarka online, która wymaga konta i wysłania rysunku na cudzy serwer. Na Macu, na Linuksie i na telefonie zostaje w praktyce ta druga droga: plany cudzego domu lądują na zewnętrznym serwerze.

dwg.moonforge.tech robi to inaczej. Rysunek czyta GNU LibreDWG skompilowany do WebAssembly, w karcie przeglądarki. Nie ma serwera, który przyjmuje pliki, więc nie ma czego wyciec ani czego przechowywać. Kod jest otwarty na licencji GPL-3.0, na GitHubie.

Co zrobiliśmy

Przeglądarka. Silnik wczytuje się dopiero przy otwarciu pliku, więc strona startuje lekko. Prawdziwy detal architektoniczny w DWG 2004, 2,6 MB, otwiera się w 3,4 s na komputerze i w 2,3 s w widoku telefonu. Rzut instalacji w DWG 2018 z 88 wymiarami, blokami dynamicznymi i zamrożonymi warstwami: 3,5 s, bez błędów. Teksty składa wolny font, bo repozytorium fontów silnika zawiera fonty, których licencja nie pozwala ich publikować. Szerokość dobraliśmy na podstawie 155 tekstów zapisanych przez AutoCADa.

Wydruk do PDF, bez biblioteki. Wektor, nie zrzut ekranu: cały rysunek, widok albo zaznaczone okno, arkusz od A4 do A0, skala od 1:1 do 1:1000. Geometrię odczytujemy z paczek obiektów renderera. Linie przerywane przechodzą z shadera na wzorzec kresek w PDF, a kreskowania są odtwarzane z parametrów wzoru. Tekst trafia do pliku jako kontury, więc żaden font nie jest w nim zaszyty.

Pomiar, który trafia w geometrię. Klikasz punkty i dostajesz długość, kąt, sumę i pole obrysu. Każdy punkt przyciąga się do końca linii, przecięcia albo środka, bo pomiar „mniej więcej tam” na ścianie jest nic niewart. Indeks przyciągania powstaje z tej samej geometrii co PDF: 102 tysiące odcinków w około 10 ms.

Strony pod intencje. Osobna strona na każde pytanie, po polsku i po angielsku: jak otworzyć DWG bez AutoCADa, DWG na PDF, przeglądarka DXF, pomiar, poradniki. Wszystko jako statyczny HTML, żeby wyszukiwarka nie oglądała pustej aplikacji.

Potok treści, który publikuje sam. Ten sam mechanizm co na pdf.techsource.pro, z poprawkami wyciągniętymi z tamtego serwisu. Od połowy października dwa razy w tygodniu agent pisze poradnik z kuratorowanej mapy tematów, najpierw po polsku, potem po angielsku, i wdraża go bez udziału człowieka. Skoro nikt nie czyta tekstu przed publikacją, wszystko, co da się sprawdzić, model dostaje jako dane, zamiast to wymyślać:

  • inny produkt może nazwać tylko przez fakt z pliku faktów, a każdy fakt ma dosłowny cytat ze źródła i datę sprawdzenia; sekcję źródeł dokleja szablon,
  • liczbę z jednostką może podać tylko wtedy, gdy ją zmierzyliśmy,
  • linkuje wyłącznie do stron, które istnieją w serwisie,
  • nie obieca funkcji, której przeglądarka nie ma.

Szkic, który łamie którąkolwiek regułę, wraca do poprawki z podanym powodem, a drugi raz do kosza. Generator nie rusza też, dopóki strona główna nie jest w indeksie Google: na serwisie PDF nowe strony trafiały w próżnię, bo domena nie miała jeszcze żadnych linków.

Czego nauczyliśmy się po drodze

Safari wieszał się na zawsze. Chrome przemielał jeden błąd parsera tekstu w ~2,5 s, WebKit zawieszał na nim wątek na stałe, a wszystkie teksty za nim zostawały puste. Do tego dwie inne przyczyny: przeglądarka dostawała stary kod po wdrożeniu, a polityka bezpieczeństwa strony obejmowała też workery. Wszystkie trzy naprawione, a błąd parsera zgłoszony autorom silnika z reprodukcją i poprawką.

Plik kłamie o swoich jednostkach. W dwóch z trzech prawdziwych rysunków, na których testowaliśmy, jednostka w nagłówku pliku była błędna. Nikt nie musi jej ustawiać, żeby rysować, więc zostaje z szablonu. Dlatego przeglądarka pokazuje jednostkę z pliku, ale pozwala ją zmienić, a strony mówią wprost, jak sprawdzić ją na znanym wymiarze.

Fakty o cudzych produktach starzeją się same. Cztery dni po starcie nasz poradnik wciąż cytował opis biblioteki, który jej autorzy zdążyli przepisać. Wyszło przy budowie pliku faktów. Od tamtej pory skrypt co miesiąc otwiera każde źródło i sprawdza, czy cytat nadal tam jest.

Wynik

Przeglądarka działa na każdym urządzeniu z aktualną przeglądarką, bez konta i bez instalacji, a plik zostaje u właściciela. Serwis już dziś sam zbiera frazy, pilnuje produkcji, co tydzień raportuje stan w wyszukiwarce i co miesiąc sprawdza swoje źródła. Od połowy października sam też pisze i publikuje.

Ruch organiczny dopiero rusza, więc liczb o nim tu nie ma. Działa za to to, co da się obejrzeć już dziś: przeglądarka, poradniki i kod, który każdy może sprawdzić.