-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Description
The current package structure includes platform-specific implementations and rendering backends within the same distribution, which increases dependency scope and reduces modularity.
This issue proposes separating platform layers (e.g., Win32, macOS, Linux) from rendering backends (e.g., GDI, Direct2D, OpenGL) into independent packages. This will allow consumers to reference only the components they need, resulting in a lighter dependency graph and improved maintainability.
Goals
- Reduce unnecessary dependencies and improve modularity
- Enable flexible platform and backend selection
- Optimize NativeAOT compatibility, trimming efficiency, and final binary size
Aprillz.MewUI // Core abstractions, controls, theming, layout
Aprillz.MewUI.Platform.Win32 // Win32 windowing, input, native interop
Aprillz.MewUI.Platform.Linux
Aprillz.MewUI.Platform.macOS
Aprillz.MewUI.Backend.Gdi // Lightweight default backend for Windows
Aprillz.MewUI.Backend.Direct2D
Aprillz.MewUI.Backend.OpenGL.Win32
Aprillz.MewUI.Backend.OpenGL.X11
Aprillz.MewUI.Backend.Metal // macOS
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
In Progress