Sobre o projeto
Ruffle é um emulador de código aberto para o Adobe Flash Player, implementado em Rust. Ele roda tanto como aplicativo de desktop quanto no navegador via WebAssembly, e tem como objetivo manter o conteúdo Flash legado (arquivos SWF) reproduzível após o Flash Player oficial ter sido descontinuado.
O que ele oferece:
- Suporte a ActionScript 1, 2 e 3, descrito pelo projeto como bastante completo, mas ainda em desenvolvimento.
- Um demo web onde os usuários podem carregar um arquivo SWF local diretamente no navegador.
- Builds noturnos para plataformas desktop e web.
- Extensões de navegador para Firefox e Chrome, um pacote Flathub, um pacote npm e um pacote AUR.
- Um cliente desktop construído sobre wgpu-rs, com recursos opcionais de perfilamento (Tracy) e rótulos de debug de renderização.
- Um utilitário scanner para análise em lote de coleções de arquivos SWF e relato de sucesso de análise.
- Um utilitário exportador que renderiza capturas de tela PNG de um SWF, opcionalmente em vários quadros, e pode ser executado sem interface gráfica (headless).
Destaques da arquitetura do README:
- core: emulador principal e código comum
- swf: parser de SWF e ActionScript
- desktop: cliente desktop
- web: cliente web e extensão de navegador
- render: backends de renderização para desktop e web
- video: backends de decodificação de vídeo
- flv: decodificador de Flash Video
- wstr: implementação de string compatível com Flash
- scanner e exporter: utilitários de linha de comando
Compilar a partir do código-fonte requer uma toolchain estável recente do Rust e Java no PATH (para as classes ActionScript 3 embutidas). Usuários Linux precisam de pacotes de desenvolvimento típicos, como ALSA, udev, fontconfig, freetype e cabeçalhos OpenSSL. Builds desktop são executados via cargo, e um SWF específico pode ser passado como argumento. Usuários macOS podem instalar um build HEAD através do tap Homebrew do projeto. Builds web e de extensão seguem as instruções no diretório web, e o aplicativo Android fica em um repositório separado ruffle-android.
O licenciamento é duplo Apache-2.0 / MIT, e as contribuições são aceitas sob os mesmos termos. O projeto publica um código de conduta e recebe contribuições da comunidade.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.