È stato presentato il nuovo browser web console Carbonyl, basato sul motore Chromium e in grado di visualizzare nel terminale qualsiasi sito, incluso YouTube. Il browser supporta quasi tutte le Web API, inclusi WebGL, WebGPU e strumenti per la riproduzione di video, audio e animazioni. Funziona sia con l'avvio diretto del terminale che con la connessione via SSH. Il wrapper attorno al motore Chromium è scritto in TypeScript, C++ e Rust.
Il progetto continua lo sviluppo dell'utilità html2svg, originariamente progettata per convertire HTML e in immagini vettoriali (SVG, PDF) o raster (PNG, JPEG, WebP), e ora utilizzata come base per il rendering nel terminale. Per l'output grafico vengono utilizzate le capacità dei terminali, come xterm-256, per visualizzare simboli unicode a colori; il simbolo U+2584 ('▄') è utilizzato come pixel virtuale. Approfittando del fatto che il rapporto d'aspetto di questo simbolo è 1:2, è possibile visualizzare su questa base due pixel quadrati, il superiore determina il colore di sfondo e quello inferiore il colore del primo piano.
Per il tracciamento del movimento del mouse, dello spostamento del cursore e della modifica del colore del testo vengono utilizzate sequenze di escape xterm. Per il terminale xterm è possibile utilizzare una palette RGB 6x6x6, mentre attivando la modalità COLORTERM si può utilizzare una palette RGB a 24 bit. Il testo è renderizzato in dimensioni fisse, separato dalle immagini. Per l'intercettazione del testo, nella libreria Skia viene collegato un gestore separato. Il codice di rendering è ottimizzato per funzionare nel terminale e consente di visualizzare la grafica con una frequenza di aggiornamento fino a 60 FPS con un carico minimo sulla CPU.



Fonte: opennet.ru
