Sobre o projeto

2dog é um projeto que inverte a relação usual entre Godot e .NET: em vez de o Godot carregar o .NET, uma aplicação .NET hospeda o Godot. Ele empacota uma libgodot levemente modificada como uma biblioteca que aplicações .NET podem embutir, de modo que o runtime .NET fica encarregado do processo. Como o .NET conduz a aplicação, os desenvolvedores obtêm publicação para navegador via browser-wasm, ferramentas dotnet comuns e automação como testes unitários. Bibliotecas nativas pré-compiladas são distribuídas, então os usuários não precisam compilar o Godot por conta própria. Um resultado notável é a capacidade de exportar projetos Godot C# para a web. Opções para começar: - Para um projeto Godot existente, execute `dnx 2dog add` dentro do diretório do projeto para adicionar hosts .NET aninhados, depois `dotnet run --project MyGame.2dog`. Executar o comando novamente adiciona outro host. - Para um novo projeto, execute `dnx 2dog new MyGame`, depois `dotnet run --project MyGame.2dog`. Um template `dotnet new` também é fornecido via `dotnet new install 2dog && dotnet new 2dog -n MyGame`. - O fluxo de trabalho familiar do editor Godot continua funcionando para edição visual de cenas. Exportação web: publique a aplicação .NET gerada para browser-wasm usando o workload wasm-tools, depois sirva o diretório AppBundle com dotnet-serve. O site de documentação cobre o ciclo de desenvolvimento, opções de implantação e limitações atuais. Estrutura do projeto: 2dog adiciona subdiretórios contendo "hosts" que executam o projeto Godot usando libgodot em vez de templates de exportação ou o executável do editor. Um layout típico inclui a raiz do projeto Godot com project.godot e o assembly C# do jogo, além de um host .NET desktop, um host WebAssembly para navegador e um host de testes xUnit headless. Cada host aninhado carrega um .gdignore para que o Godot o ignore, mantendo o projeto de jogo original inalterado enquanto cada host tem seu próprio ponto de entrada e dependências. Requisitos e status: - .NET SDK 10.0 ou posterior com o workload wasm-tools - Editor Godot 4.7.x oficial .NET apenas quando a edição visual de cenas for desejada - Plataformas de build suportadas: win-x64, linux-x64, osx-arm64 - RIDs suportados para builds publicados: win-x64, linux-x64, osx-arm64, browser-wasm - Pacotes disponíveis no NuGet e nas releases do GitHub Desenvolvimento do próprio 2dog: clone com submódulos e compile os pacotes nativos e .NET usando a tarefa poe fornecida. Uma demonstração showcase e uma suíte de testes estão incluídas. O projeto documenta seu uso de LLMs em diferentes partes da base de código, incluindo gate de revisão e releases assinadas por humanos via Trusted Publishing.