Rust-kielellä kirjoitettu Kosmonaut-selainmoottori esiteltiin

Projektin rajoissa kosmonautti Kehitetään selainmoottoria, joka on kirjoitettu kokonaan Rust-kielellä ja jossa hyödynnetään joitain Servo-projektin kehityssuuntia. Koodi jakelija lisensoitu MPL 2.0:lla (Mozilla Public License). Renderöintiin käytetään OpenGL-sidoksia gl-rs ruosteen kielellä. Kirjasto toteuttaa ikkunoiden hallinnan ja OpenGL-kontekstin luomisen Glutiini. Komponentteja käytetään HTML:n ja CSS:n jäsentämiseen html5 koskaan и cssparserhankkeen kehittämä Servo.
DOM:n kanssa työskentelyn koodi perustuu projektin kehitykseen Kuchiki, joka kehittää kirjaston HTML/XML:n käsittelyä varten. Käytettyjen hankkeiden joukossa mainitaan myös kokeellinen verkkomoottori Robinson, joka on ollut puoliksi hylätyssä tilassa noin 5 vuotta.

Nykyisessä kehitysvaiheessa tarjotaan perusHTML-tuki ja rajoitettu joukko CSS-ominaisuuksia, jotka eivät vielä riitä useimpien nykyaikaisten sivujen katseluun. tästä huolimatta yksinkertaiset sivut CSS:llä varustetut div-tiedostot on piirretty oikein. Projekti perustettiin alun perin vuosi sitten opettamaan selainmoottorien kehitysprosessia, mutta nyt se yrittää löytää uusia sovellusrakoja.

Mitä on jo toteutettu:

  • HTML-jäsennys, CSS-alijoukko, peräkkäinen CSS, DOM.
  • Sivun renderöinti, estää sisällön asettelu.
  • Osittainen tuki abstraktille laatikkomalleja ja ominaisuudet"suunta".
  • Luodaan virheenkorjausvedoksia näytettyjen elementtien puun avulla.
  • Tukee mielivaltaisia ​​skaalaustekijöitä High-DPI-näytöille.
  • Tekstin renderöiminen FreeType-kirjaston avulla.
  • Tukea Flow Layout, kontekstikohtainen upotettu muotoilu ja renderöinti.

Lähde: opennet.ru

Lisää kommentti