Sobre el proyecto

2dog es un proyecto que invierte la relación habitual entre Godot y .NET: en lugar de que Godot cargue .NET, una aplicación .NET aloja a Godot. Empaqueta una versión ligeramente modificada de libgodot como una biblioteca que las aplicaciones .NET pueden integrar, de modo que el runtime de .NET controla el proceso. Como .NET impulsa la aplicación, los desarrolladores obtienen publicación en navegador mediante browser-wasm, herramientas dotnet habituales y automatización como pruebas unitarias. Se distribuyen bibliotecas nativas precompiladas, por lo que los usuarios no necesitan compilar Godot por sí mismos. Un resultado destacable es la capacidad de exportar proyectos C# de Godot a la web. Opciones para empezar: - Para un proyecto de Godot existente, ejecuta `dnx 2dog add` dentro del directorio del proyecto para añadir hosts .NET anidados, luego `dotnet run --project MyGame.2dog`. Ejecutar el comando de nuevo añade otro host. - Para un proyecto nuevo, ejecuta `dnx 2dog new MyGame`, luego `dotnet run --project MyGame.2dog`. También se proporciona una plantilla de `dotnet new` mediante `dotnet new install 2dog && dotnet new 2dog -n MyGame`. - El flujo de trabajo familiar del editor de Godot sigue funcionando para la edición visual de escenas. Exportación web: publica la aplicación .NET generada a browser-wasm usando el workload wasm-tools, luego sirve el directorio AppBundle con dotnet-serve. El sitio de documentación cubre el ciclo de desarrollo, las opciones de despliegue y las limitaciones actuales. Estructura del proyecto: 2dog añade subdirectorios que contienen "hosts" que ejecutan el proyecto de Godot usando libgodot en lugar de plantillas de exportación o el ejecutable del editor. Una estructura típica incluye la raíz del proyecto de Godot con project.godot y el ensamblado C# del juego, además de un host .NET de escritorio, un host WebAssembly de navegador y un host de pruebas xUnit sin interfaz. Cada host anidado lleva un .gdignore para que Godot lo ignore, manteniendo el proyecto de juego original sin cambios mientras cada host tiene su propio punto de entrada y dependencias. Requisitos y estado: - .NET SDK 10.0 o posterior con el workload wasm-tools - Editor .NET oficial de Godot 4.7.x solo cuando se desee edición visual de escenas - Plataformas de compilación compatibles: win-x64, linux-x64, osx-arm64 - RIDs compatibles para compilaciones publicadas: win-x64, linux-x64, osx-arm64, browser-wasm - Paquetes disponibles en NuGet y en las versiones de GitHub Desarrollo de 2dog en sí: clona con submódulos y compila los paquetes nativos y .NET usando la tarea poe proporcionada. Se incluyen una demo de exhibición y una suite de pruebas. El proyecto documenta su uso de LLMs en diferentes partes del código base, incluyendo la revisión con compuertas y las versiones firmadas por humanos mediante Trusted Publishing.