Wprowadzono silnik przeglądarki Kosmonaut napisany w języku Rust

W granicach projektu kosmonauta Trwają prace nad silnikiem przeglądarki, napisanym w całości w języku Rust i wykorzystującym niektóre rozwiązania projektu Servo. Kod dystrybuowane przez licencjonowany w ramach MPL 2.0 (publiczna licencja Mozilla). Do renderowania używane są powiązania OpenGL gl-rs w języku Rusta. Zarządzanie oknami i tworzenie kontekstu OpenGL są realizowane przez bibliotekę Glutyna. Komponenty służą do analizowania HTML i CSS html5 kiedykolwiek и cssparseropracowane w ramach projektu Servo.
Kod do pracy z DOM opiera się na opracowaniach projektu Kucziki, która rozwija bibliotekę do manipulowania HTML/XML. Wśród wykorzystanych projektów wymienia się także eksperymentalny silnik sieciowy Robinson, który od około 5 lat znajduje się w stanie częściowo opuszczonym.

Na obecnym etapie rozwoju zapewniona jest podstawowa obsługa HTML i ograniczony zestaw możliwości CSS, które nie są jeszcze wystarczające do przeglądania większości współczesnych stron. Niemniej jednak proste strony na divach z CSS są rysowane poprawnie. Projekt powstał rok temu, aby uczyć procesu tworzenia silników przeglądarek, ale obecnie próbuje znaleźć nowe nisze zastosowań.

Co zostało już wdrożone:

  • Parsowanie HTML, podzbiór CSS, kaskadowy CSS, DOM.
  • Renderowanie strony, układ treści bloku.
  • Częściowe wsparcie dla abstrakcji modele pudełkowe i właściwości”kierunek".
  • Generowanie zrzutów debugowania z drzewem wyświetlanych elementów.
  • Obsługuje dowolne współczynniki skalowania dla ekranów o wysokiej rozdzielczości.
  • Renderowanie tekstu przy użyciu biblioteki FreeType.
  • Wsparcie Układ przepływu, kontekstowe formatowanie i renderowanie wbudowane.

Źródło: opennet.ru

Dodaj komentarz