Ang Kosmonaut browser engine, nga gisulat sa Rust, gipaila

Sa mga utlanan sa proyekto kosmonaut Ang usa ka browser engine gipalambo, gisulat sa hingpit sa Rust nga pinulongan ug naggamit sa pipila ka mga kalamboan sa Servo nga proyekto. Code giapod-apod sa lisensyado ubos sa MPL 2.0 (Mozilla Public License). Ang mga pagbugkos sa OpenGL gigamit alang sa paghubad gl-rs sa Rust nga pinulongan. Ang pagdumala sa bintana ug paghimo sa konteksto sa OpenGL gipatuman sa librarya Glutin. Ang mga sangkap gigamit sa pag-parse sa HTML ug CSS html5 kanunay ΠΈ cssparsergipalambo sa proyekto servo.
Ang code sa pagtrabaho uban sa DOM gibase sa mga kalamboan sa proyekto Kuchiki, nga naghimo ug librarya para sa pagmaniobra sa HTML/XML. Lakip sa mga proyekto nga gigamit, usa ka eksperimento nga web engine ang gihisgutan usab Robinson, nga anaa sa usa ka semi-abandonado nga estado sulod sa mga 5 ka tuig.

Sa kasamtangan nga yugto sa pag-uswag, ang batakang suporta sa HTML ug limitado nga hugpong sa mga kapabilidad sa CSS gihatag, nga dili pa igo aron makita ang kadaghanan sa modernong mga panid. bisan pa niana yano nga mga panid sa mga div nga adunay CSS husto nga pagkadrowing. Ang proyekto orihinal nga gitukod usa ka tuig na ang milabay aron itudlo ang proseso sa pagpalambo sa mga makina sa browser, apan karon naningkamot sa pagpangita og bag-ong mga niches sa aplikasyon.

Unsa na ang gipatuman:

  • HTML parsing, CSS subset, cascading CSS, DOM.
  • Pag-render sa panid, pag-block sa layout sa sulud.
  • Partial nga suporta alang sa abstract mga modelo sa kahon ug mga kabtangan"direksyon".
  • Pagmugna og mga debug dump nga adunay usa ka kahoy nga gipakita nga mga elemento.
  • Nagsuporta sa arbitraryong mga hinungdan sa scaling alang sa High-DPI screens.
  • Pag-render sa teksto gamit ang FreeType library.
  • suporta Layout sa Pag-agos, inline nga pag-format ug paghubad nga sensitibo sa konteksto.

Source: opennet.ru

Idugang sa usa ka comment