Em um feito que desafia as expectativas, um desenvolvedor conseguiu executar o icônico jogo DOOM dentro de um compilador TypeScript, utilizando um runtime WASM criado especificamente para este propósito. Este projeto não apenas destaca a flexibilidade do TypeScript, mas também redefine os limites do que é possível em programação.
Como Foi Possível?
Dimitri Mitropoulos, o desenvolvedor por trás deste projeto, passou um ano trabalhando para criar uma máquina virtual WASM totalmente funcional dentro do sistema de tipos TypeScript. Esse processo envolveu a implementação de 116 instruções de WebAssembly, desde operações aritméticas até o gerenciamento dinâmico de chamadas, além do controle de memória e processamento de números binários em literais de string.
Desafios e Conquistas
A complexidade do projeto é evidente: foram criados 20 milhões de tipos específicos por segundo no compilador, resultando em um tempo de renderização do primeiro quadro de DOOM de 12 dias. O tamanho final do projeto alcançou impressionantes 177 TB, equivalentes a 3,5 trilhões de linhas de tipos TypeScript.
O Impacto da Inovação
A execução de DOOM dentro do compilador TypeScript é mais do que uma curiosidade técnica; é uma demonstração de habilidades avançadas em TypeScript, WebAssembly, máquinas virtuais, e o próprio funcionamento interno do compilador TypeScript. Esse feito também destaca a robustez e versatilidade de DOOM como plataforma de teste para inovações tecnológicas.