Guinevere logo
Foundation · GUI

Guinevere

A GPU-native, immediate-mode UI toolkit — the layer that draws every interface in the MEGA4 stack.

Direction, not a release. Guinevere is at an early, formative stage. This page describes what it's for and where it's going, not a finished library.

Modern UI stacks are deep. A window with a few buttons and some text often sits on millions of lines of framework code. Guinevere is our attempt to keep the interface layer small, fast, and understandable — close enough to the GPU that you can reason about what every frame costs.

The plan: a Zig fork of DVUI

Guinevere began as a from-scratch C# experiment. With the move to Zig, the most sensible path is to build on DVUI, a mature immediate-mode GUI library for Zig, rather than reinvent it. Guinevere will be a fork tuned for the needs of the rest of the stack — primarily Gaya and the Turian editor.

That means we inherit a working foundation and focus our effort where it's specific to MEGA4, instead of re-solving problems the Zig GUI community has already solved well.

What we're aiming for

  • Immediate-mode first. UI code lives next to the data it represents, with an optional retained layer on top when it helps.
  • GPU rendering. Shapes, text, and effects resolved on the graphics card.
  • Small and embeddable. The job is turning input into a list of draw commands, so it can slot into any rendering pipeline — including a game engine's.
  • Code-driven. No separate markup or stylesheet files; the API is the interface.

Where it fits

Guinevere is the bottom of the MEGA4 stack. Gaya is built on it, the Turian editor renders through it, and Mystery exercises it in a shipping game. Building the toolkit and its consumers together is the point — it keeps the API grounded in real use.


Guinevere is part of the MEGA4 initiative by MASS4.