Nell'ambito del progetto si sta sviluppando un motore di navigazione scritto interamente in Rust e che utilizza alcune funzionalità del progetto Servo. Il codice è sotto licenza MPL 2.0 (Mozilla Public License). Per il rendering vengono utilizzati legami OpenGL in Rust. La gestione delle finestre e la creazione del contesto OpenGL sono realizzate grazie alla libreria . Per l'analisi di HTML e CSS vengono utilizzati i componenti e , sviluppati dal progetto .
Il codice per lavorare con il DOM è basato su lavori del progetto , che sviluppa una libreria per la manipolazione di HTML/XML. Tra i progetti utilizzati è inoltre menzionato un motore web sperimentale , che è in uno stato semi-abbandonato da circa 5 anni.
Attualmente, è garantito un supporto di base per HTML e un insieme limitato di funzionalità CSS, che non sono ancora sufficienti per visualizzare la maggior parte delle pagine moderne. Tuttavia basate su div con CSS vengono renderizzate correttamente. Il progetto è stato originariamente fondato un anno fa per insegnare il processo di sviluppo di motori di navigazione, ma ora cerca di trovare nuove nicchie applicative.
Cosa è già stato realizzato:
- Analisi HTML, un sottoinsieme di CSS, CSS a cascata, modello DOM.
- Rendering della pagina, layout a blocchi del contenuto.
- Supporto parziale per una e proprietà ««.
- Creazione di dump di debug con l'albero degli elementi visualizzati.
- Supporto per fattori di scala arbitrari per schermi High-DPI.
- Rendering del testo tramite la libreria FreeType.
- Supporto , formattazione e rendering inline dipendenti dal contesto.
Fonte: opennet.ru
