Об этом проекте

2dog — это проект, который переворачивает обычное соотношение между Godot и .NET: вместо того чтобы Godot загружал .NET, .NET-приложение принимает Godot как хост. Он упаковывает слегка изменённый libgodot как библиотеку, которую .NET-приложения могут встраивать, так что средой выполнения процесса управляет .NET. Поскольку приложением управляет .NET, разработчики получают публикацию в браузере через browser-wasm, обычные инструменты dotnet и автоматизацию, например модульные тесты. Поставляются предварительно собранные нативные библиотеки, поэтому пользователям не нужно самостоятельно компилировать Godot. Примечательный результат — возможность экспортировать C#-проекты Godot в веб. Варианты начала работы: - Для существующего проекта Godot выполните `dnx 2dog add` в каталоге проекта, чтобы добавить вложенные .NET-хосты, затем `dotnet run --project MyGame.2dog`. Повторный запуск команды добавляет ещё один хост. - Для нового проекта выполните `dnx 2dog new MyGame`, затем `dotnet run --project MyGame.2dog`. Также предоставляется шаблон `dotnet new` через `dotnet new install 2dog && dotnet new 2dog -n MyGame`. - Привычный рабочий процесс в редакторе Godot по-прежнему работает для визуального редактирования сцен. Веб-экспорт: опубликуйте сгенерированное .NET-приложение в browser-wasm с помощью рабочей нагрузки wasm-tools, затем раздайте каталог AppBundle через dotnet-serve. Сайт документации охватывает цикл разработки, варианты развёртывания и текущие ограничения. Структура проекта: 2dog добавляет подкаталоги, содержащие «хосты», которые запускают проект Godot с помощью libgodot, а не шаблонов экспорта или исполняемого файла редактора. Типичная структура включает корень проекта Godot с project.godot и C#-сборкой игры, а также настольный .NET-хост, браузерный хост WebAssembly и headless-хост тестов xUnit. Каждый вложенный хост содержит .gdignore, чтобы Godot его игнорировал, сохраняя исходный проект игры неизменным, при этом у каждого хоста есть собственная точка входа и зависимости. Требования и статус: - .NET SDK 10.0 или новее с рабочей нагрузкой wasm-tools - Официальный .NET-редактор Godot 4.7.x только когда требуется визуальное редактирование сцен - Поддерживаемые платформы сборки: win-x64, linux-x64, osx-arm64 - Поддерживаемые RID для опубликованных сборок: win-x64, linux-x64, osx-arm64, browser-wasm - Пакеты доступны на NuGet и в релизах GitHub Разработка самого 2dog: клонируйте с подмодулями и собирайте нативные пакеты и пакеты .NET с помощью предоставленной задачи poe. Включены демонстрационный пример и набор тестов. Проект документирует использование LLM в разных частях кодовой базы, включая контроль на этапе ревью и релизы, подписанные человеком, через Trusted Publishing.