Im Rahmen des Projekts entwickelt sich ein browserbasierter Engine, der vollständig in Rust geschrieben ist und einige Entwicklungen des Servo-Projekts nutzt. Der Code steht unter der MPL 2.0-Lizenz (Mozilla Public License). Für das Rendering werden OpenGL-Bindings verwendet, in Rust. Das Fenster-Management und die Erstellung des OpenGL-Kontextes werden durch die Bibliothek realisiert. Für das Parsen von HTML und CSS kommen die Komponenten und , die im Rahmen des .
Projekts entwickelt werden. Der Code für die DOM-Verarbeitung basiert auf den Arbeiten des Projekts , das eine Bibliothek für die Manipulation von HTML/XML entwickelt. Auch wird der experimentelle Web-Engine erwähnt, der sich seit etwa 5 Jahren in einem halben Stillstand befindet.
In der aktuellen Entwicklungsphase wird grundlegende Unterstützung für HTML und eine eingeschränkte Menge an CSS-Funktionalitäten gewährleistet, die jedoch bisher nicht ausreicht, um die meisten modernen Seiten anzuzeigen. Dennoch mit divs und CSS werden korrekt gerendert. Das Projekt wurde ursprünglich vor einem Jahr gegründet, um den Prozess der Entwicklung von Browser-Engines zu erlernen, versucht jedoch jetzt, neue Anwendungsbereiche zu finden.
Was bereits umgesetzt wurde:
- HTML-Parsing, ein Teilmenge von CSS, kaskadierende CSS, DOM-Modell.
- Seitenrendering, Blocklayout von Inhalten.
- Teilunterstützung von abstraktem und Eigenschaften „«.
- Erstellung von Debug-Dumps mit einer Struktur der angezeigten Elemente.
- Unterstützung beliebiger Skalierungsfaktoren für High-DPI-Bildschirme.
- Textrendering mit der FreeType-Bibliothek.
- Support , kontextabhängiger Inline-Formatierung und Rendering.
Quelle: opennet.ru
