Der neue Konsolen-Webbrowser Carbonyl, basierend auf der Chromium-Engine, kann beliebige Websites, einschließlich YouTube, im Terminal anzeigen. Der Browser unterstützt fast alle Web-APIs, einschließlich WebGL, WebGPU sowie Mittel zur Wiedergabe von Video, Ton und Animation. Die Nutzung ist sowohl direkt im Terminal als auch über SSH möglich. Die Wrapper um die Chromium-Engine sind in TypeScript, C++ und Rust geschrieben.
Das Projekt entwickelt weiterhin das Tool html2svg, das ursprünglich zur Umwandlung von HTML und in Vektor- (SVG, PDF) oder Rasterbilder (PNG, JPEG, WebP) entwickelt wurde und jetzt als Basis für die Darstellung im Terminal dient. Für die Ausgabe von Grafiken werden die Möglichkeiten von Terminalen wie xterm-256 genutzt, um Unicode-Zeichen in Farbe auszugeben – als virtuellen Pixel wird das Zeichen U+2584 („▄“) verwendet. Aufgrund des 1:2-Seitenverhältnisses dieses Zeichens können basierend darauf zwei quadratische Pixel dargestellt werden, wobei das obere den Hintergrund und das untere die Vordergrundfarbe definiert.
Für die Verfolgung der Mausbewegungen, der Cursorbewegungen und der Änderung der Textfarbe werden Escape-Sequenzen von xterm verwendet. Für das xterm-Terminal kann die RGB-Palette 6x6x6 aktiviert werden, und im COLORTERM-Modus wird eine 24-Bit-Full-Color RGB-Palette eingesetzt. Der Text wird in einer festen Größe gezeichnet, getrennt von den Bildern. Zum Abfangen von Text wird in der Skia-Bibliothek ein separater Handler angeschlossen. Der Rendering-Code ist für die Verwendung im Terminal optimiert und ermöglicht die Ausgabe von Grafiken mit einer Bildwiederholrate von bis zu 60 FPS bei minimaler CPU-Belastung.



Quelle: opennet.ru
