Skip to content

dimohy/Duxel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Duxel

Duxel logo

Immediate-mode GUI framework for .NET 10, using a Vulkan renderer with a Windows-native platform backend.

Current package version: 0.1.15-preview

NuGet License: MIT

What it provides

  • Immediate-mode widget API (UiImmediateContext) with UiScreen.Render(...) lifecycle.
  • Vulkan backend with profile-based defaults (Display / Render) and configurable MSAA.
  • Windows-native window/input backend (keyboard, mouse, wheel, IME, clipboard).
  • NativeAOT-friendly runtime patterns.
  • UI DSL (.ui) parser/runtime and source-generator path.

Packages

Package Purpose
Duxel.App Core app facade and shared runtime pipeline
Duxel.Windows.App Windows platform runner package (DuxelWindowsApp.Run)

Quick start (FBA, Windows)

Create hello.cs:

#:property TargetFramework=net10.0
#:property platform=windows
#:package Duxel.$(platform).App@*-*

using Duxel.App;
using Duxel.Core;
using Duxel.Windows.App;

DuxelWindowsApp.Run(new DuxelAppOptions
{
    Window = new DuxelWindowOptions { Title = "Hello Duxel" },
    Screen = new HelloScreen()
});

public sealed class HelloScreen : UiScreen
{
    public override void Render(UiImmediateContext ui)
    {
        ui.BeginWindow("Hello");
        ui.Text("Hello, Duxel!");
        ui.EndWindow();
    }
}

Run:

dotnet run hello.cs

Samples

  • Project sample: samples/Duxel.Sample
    • dotnet run --project samples/Duxel.Sample/
  • FBA samples: samples/fba/*.cs
    • dotnet run samples/fba/all_features.cs
    • ./run-fba.ps1 samples/fba/all_features.cs (local project reference; NativeAOT by default)

DSL

Duxel supports declarative .ui files (indent-based tree) and runtime/state bindings.

Build

dotnet build Duxel.slnx -c Release

License

MIT

About

.NET cross-platform, ImGui-style immediate mode GUI framework, which now uses Vulkan with NativeAOT to produce a very small executable.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors