Esitleme uut konsoolipõhist veebibrauserit Carbonyl, mis põhineb Chromiumi mootoril ja suudab kuvada terminalis mis tahes saite, sealhulgas YouTube'i. Brauser toetab peaaegu kõiki Web API-sid, sealhulgas WebGL-i, WebGPU-d ning vahendeid videote, heli ja animatsioonide esitamiseks. Töö on võimalik nii otse terminali avamisel kui ka SSH kaudu ühendamisel. Chromiumi mootori ümberminek on kirjutatud TypeScripti, C++ ja Rusti keeles.
Projekt jätkab html2svg utiliidi arendamist, mis alustas HTML-i ja vektorgraafikaks (SVG, PDF) või rasterpiltideks (PNG, JPEG, WebP) konvertimise eesmärgil ja on nüüd kasutusele võetud terminali joonistamise aluseks. Graafika väljundis kasutatakse terminalide võimalusi, nagu xterm-256, et kuvada unicode märke värviga — virtuaalseks piksliks on U+2584 („▄“) märk. Arvestades, et selle märgi pikkuse ja kõrguse suhe on 1:2, on võimalik selle põhjal kuvada kahte ruudukujulist pikslit, millest ülemine määrab taustavärvi ja alumine esiplaanivärvi.
Hiire jälgimiseks, kursori liikumiseks ja teksti värvi muutmiseks kasutatakse xterm escape-järjestusi. Xterm terminalis on võimalik kasutada 6x6x6 RGB värvipaletti ning COLORTERM režiimi korral 24-bitist täisvärvipaletti RGB. Tekst kuvatakse fikseeritud suuruses, eraldi piltidest. Teksti katkemiseks kasutatakse Skia raamatukogus eraldi töötlejat. Joonistusõhk on optimeeritud terminalis töötamiseks ning võimaldab graafikat kuvada 60 FPS värskendussagedusega, minimeerides CPU koormust.



Allikas: opennet.ru
