Kosmonaut browser engine written in Rust introduced

The project cosmonaut a browser engine is being developed, written entirely in the Rust language and using some of the achievements of the Servo project. Code spreads licensed under MPL 2.0 (Mozilla Public License). Rendering uses OpenGL bindings gl-rs in Rust. Window management and OpenGL context creation implemented by the library gluten. Components are used to parse HTML and CSS html5ever ΠΈ cssparserdeveloped by the project Servo.
The code for working with the DOM is based on the developments of the project Kuchikideveloping a library for manipulating HTML/XML. Among the projects used, an experimental web engine is also mentioned. Robinson, which has been in a semi-abandoned state for about 5 years.

At the current stage of development, basic HTML support and a limited set of CSS features are provided, which are not yet enough to view most modern pages. Nevertheless simple pages on divs with CSS are rendered correctly. Initially, the project was founded a year ago to teach the process of developing browser engines, but now it is trying to find new niches of application.

What has already been implemented:

  • HTML parsing, CSS subset, cascading CSS, DOM.
  • Page rendering, content block layout.
  • Partial support for abstract box models and properties "let's go toΒ«.
  • Formation of debug dumps with a tree of displayed elements.
  • Support for arbitrary scaling factors for High-DPI screens.
  • Text rendering using the FreeType library.
  • Support Flow Layout, context-sensitive inline formatting and rendering.

Source: opennet.ru

Add a comment