È stato presentato il nuovo browser web console Carbonyl, basato sul motore Chromium e capace di visualizzare qualsiasi sito nel terminale, incluso YouTube. Il browser supporta quasi tutte le API Web, comprese WebGL, WebGPU e strumenti per la riproduzione di video, audio e animazioni. L'operatività è possibile sia con l'avvio diretto del terminale che tramite connessione SSH. La wrapper attorno al motore Chromium è scritta in TypeScript, C++ e Rust.
Il progetto continua lo sviluppo dell'utilità html2svg, originariamente progettata per convertire HTML e <canvas> in immagini vettoriali (SVG, PDF) o raster (PNG, JPEG, WebP), e ora utilizzata come base per il rendering nel terminale. Per la visualizzazione della grafica vengono sfruttate le capacità dei terminali, come xterm-256, per visualizzare caratteri unicode a colori — viene utilizzato il carattere U+2584 («▄») come pixel virtuale. Approfittando del fatto che il rapporto d'aspetto di questo simbolo è 1:2, è possibile visualizzare su questa base due pixel quadrati, di cui quello superiore definisce il colore di sfondo e quello inferiore il colore in primo piano.
Per tracciare il movimento del mouse, il posizionamento del cursore e il cambiamento del colore del testo vengono utilizzate le sequenze di escape xterm. Per il terminale xterm è possibile utilizzare la palette RGB 6x6x6, mentre impostando la modalità COLORTERM si può avere la palette RGB a 24 bit. Il testo viene disegnato in una dimensione fissa, separatamente dalle immagini. Per l'intercettazione del testo nella libreria Skia viene collegato un gestore separato. Il codice di rendering è ottimizzato per l'uso nel terminale e consente di visualizzare la grafica con un'frequenza di aggiornamento di 60 FPS con un carico minimo sulla CPU.



Fonte: opennet.ru
