Zaprezentowano nową konsolową przeglądarkę internetową Carbonyl, opartą na silniku Chromium, która potrafi wyświetlać w terminalu dowolne strony internetowe, w tym YouTube. Przeglądarka obsługuje prawie wszystkie Web API, w tym WebGL, WebGPU oraz narzędzia do odtwarzania wideo, dźwięku i animacji. Działa zarówno przy bezpośrednim uruchomieniu terminala, jak i przy połączeniu przez SSH. Owijka wokół silnika Chromium została napisana w językach TypeScript, C++ i Rust.
Projekt kontynuuje rozwój narzędzia html2svg, które pierwotnie zostało stworzone do konwersji HTML i <canvas> na obrazy wektorowe (SVG, PDF) lub rastrowe (PNG, JPEG, WebP), a teraz jest wykorzystywane jako podstawa do renderowania w terminalu. Wykorzystuje możliwości terminali, takich jak xterm-256, aby wyświetlać znaki unicode w kolorze — jako wirtualny piksel używany jest symbol U+2584 („▄”). Korzystając z faktu, że proporcje w tym symbolu wynoszą 1:2, możliwe jest wyświetlenie na jego podstawie dwóch kwadratowych pikseli, z których górny ustawia kolor tła, a dolny — kolor pierwszego planu.
Do śledzenia ruchu myszy, przesuwania kursora i zmiany koloru tekstu wykorzystywane są sekwencje escape xterm. Dla terminala xterm możliwe jest użycie palety RGB 6x6x6, a po ustawieniu trybu COLORTERM — palety RGB w 24-bitowym pełnym kolorze. Tekst jest wyświetlany w stałym rozmiarze, oddzielnie od obrazów. Do przechwytywania tekstu w bibliotece Skia dołączany jest oddzielny handler. Kod renderujący został zoptymalizowany do pracy w terminalu i pozwala na wyświetlanie grafiki z częstotliwością odświeżania na poziomie 60 FPS przy minimalnym obciążeniu CPU.



Źródło: opennet.ru
