Foi lançado o novo navegador web de console Carbonyl, baseado no motor Chromium e capaz de exibir qualquer site no terminal, incluindo o YouTube. O navegador suporta quase todas as APIs da Web, incluindo WebGL, WebGPU e ferramentas para reprodução de vídeo, áudio e animações. O funcionamento é possível tanto através da execução direta no terminal quanto via conexão SSH. A interface em cima do motor Chromium foi escrita nas linguagens TypeScript, C++ e Rust.
O projeto continua a desenvolver a ferramenta html2svg, que foi inicialmente criada para converter HTML e <canvas> em imagens vetoriais (SVG, PDF) ou rasterizadas (PNG, JPEG, WebP), e agora está sendo usada como base para renderização no terminal. Para exibição gráfica, são utilizadas as capacidades de terminais como xterm-256, que permitem exibir caracteres Unicode coloridos – o símbolo U+2584 ('▄') é utilizado como um pixel virtual. Aproveitando que a proporção da largura do símbolo é de 1:2, é possível exibir baseado nele dois pixels quadrados, onde o superior define a cor de fundo e o inferior a cor do primeiro plano.
Para rastrear o movimento do mouse, o movimento do cursor e a alteração da cor do texto, são utilizadas sequências de escape xterm. Para o terminal xterm, é possível utilizar uma paleta RGB de 6x6x6, e ao ativar o modo COLORTERM, uma paleta RGB de 24 bits. O texto é renderizado em um tamanho fixo, separadamente das imagens. Para capturar texto, um manipulador separado é conectado à biblioteca Skia. O código de renderização é otimizado para funcionar no terminal e permite exibir gráficos a uma taxa de atualização de até 60 FPS com carga mínima na CPU.



Fonte: opennet.ru
