Enjin pelayar Kosmonaut, yang ditulis dalam Rust, telah diperkenalkan

Dalam sempadan projek angkasawan Enjin penyemak imbas sedang dibangunkan, ditulis sepenuhnya dalam bahasa Rust dan menggunakan beberapa perkembangan projek Servo. Kod diedarkan oleh berlesen di bawah MPL 2.0 (Lesen Awam Mozilla). Pengikatan OpenGL digunakan untuk rendering gl-rs dalam bahasa Rust. Pengurusan tetingkap dan penciptaan konteks OpenGL dilaksanakan oleh perpustakaan Glutin. Komponen digunakan untuk menghuraikan HTML dan CSS html5ever ΠΈ cssparserdibangunkan oleh projek tersebut Servo.
Kod untuk bekerja dengan DOM adalah berdasarkan perkembangan projek Kuchiki, yang membangunkan perpustakaan untuk memanipulasi HTML/XML. Antara projek yang digunakan, enjin web eksperimen juga disebut Robinson, yang telah berada dalam keadaan separuh terbiar selama kira-kira 5 tahun.

Pada peringkat pembangunan semasa, sokongan HTML asas dan set terhad keupayaan CSS disediakan, yang belum lagi mencukupi untuk melihat kebanyakan halaman moden. Namun begitu halaman mudah pada div dengan CSS dilukis dengan betul. Projek ini pada asalnya diasaskan setahun yang lalu untuk mengajar proses membangunkan enjin penyemak imbas, tetapi kini cuba mencari niche aplikasi baharu.

Apa yang telah dilaksanakan:

  • Penghuraian HTML, subset CSS, CSS berlatarkan, DOM.
  • Paparan halaman, susun atur kandungan sekat.
  • Sokongan separa untuk abstrak model kotak dan harta benda"arah".
  • Menjana pembuangan nyahpepijat dengan pokok unsur yang dipaparkan.
  • Menyokong faktor penskalaan sewenang-wenang untuk skrin DPI Tinggi.
  • Memaparkan teks menggunakan perpustakaan FreeType.
  • Sokongan Reka Letak Aliran, pemformatan dan pemaparan sebaris sensitif konteks.

Sumber: opennet.ru

Tambah komen