Представлено браузерний двигун Kosmonaut, написаний на мові Rust

В рамках проекту космонавт розвивається браузерний двигун, написаний цілком мовою Rust і використовує деякі напрацювання проекту Servo. Код поширюється під ліцензією MPL 2.0 (Mozilla Public License). Для малювання використовуються OpenGL-прив'язки gl-rs мовою Rust. Управління вікнами та створення контексту OpenGL реалізовано силами бібліотеки Glutin. Для аналізу HTML і CSS застосовуються компоненти html5ever и cssparser, що розвиваються проектом Сервопривід.
Код для роботи з DOM базується на напрацюваннях проекту Кучики, що розвиває бібліотеку для маніпуляцій з HTML/XML Серед проектів також згадується експериментальний web-движок Робінсон, який близько 5 років перебуває у напівзанедбаному стані.

На поточному етапі розвитку забезпечено базову підтримку HTML і обмежений набір можливостей CSS, яких поки що недостатньо для перегляду більшості сучасних сторінок. Проте прості сторінки на div-ах із CSS малюються коректно. Спочатку проект був заснований рік тому для навчання процесу розробки браузерних двигунів, але тепер намагається знайти нові ніші застосування.

Що вже реалізовано:

  • Розбір HTML, підмножина CSS, каскадні CSS, модель DOM.
  • Малювання сторінки, блокове компонування вмісту.
  • Часткова підтримка абстрактної box-моделі та властивостей «напрям".
  • Формування налагоджувальних дампів з деревом відображуваних елементів.
  • Підтримує довільні коефіцієнти масштабування для екранів High-DPI.
  • Відображення тексту за допомогою бібліотеки FreeType.
  • Підтримка Макет потоку, контекстно залежного inline-форматування та відтворення.

Джерело: opennet.ru

Додати коментар або відгук