Un nouveau navigateur web console, Carbonyl, basé sur le moteur Chromium, capable d'afficher n'importe quel site dans le terminal, y compris YouTube, a été présenté. Le navigateur supporte presque toutes les API Web, y compris WebGL, WebGPU et des outils pour la lecture vidéo, audio et d'animation. Il fonctionne à la fois en lancement direct depuis le terminal et via SSH. L'interface autour du moteur Chromium est écrite en TypeScript, C++ et Rust.
Le projet continue le développement de l'outil html2svg, initialement conçu pour convertir HTML et en images vectorielles (SVG, PDF) ou matricielles (PNG, JPEG, WebP), et qui est maintenant utilisé comme base pour le rendu dans le terminal. Pour afficher les graphiques, les capacités des terminaux tels que xterm-256 sont exploitée, affichant les caractères unicode en couleur — le caractère U+2584 («▄») est utilisé comme pixel virtuel. Étant donné que le rapport d'aspect de ce caractère est de 1:2, il est possible d'afficher deux pixels carrés à partir de celui-ci, le supérieur désignant la couleur d'arrière-plan et le inférieur celle de premier plan.
Pour suivre le mouvement de la souris, le déplacement du curseur et le changement de couleur du texte, des séquences d'échappement xterm sont utilisées. Pour le terminal xterm, une palette RGB 6x6x6 peut être utilisée, et en installant le mode COLORTERM, une palette RGB pleine couleur de 24 bits. Le texte est rendu dans une taille fixe, séparément des images. Pour intercepter le texte dans la bibliothèque Skia, un gestionnaire séparé est connecté. Le code de rendu est optimisé pour fonctionner dans le terminal et permet d'afficher des graphiques avec un taux de rafraîchissement pouvant atteindre 60 FPS avec une charge CPU minimale.



Source : opennet.ru
