Zeppelin

Zeppelin is a cross-platform 2D graphics and window library in pure zig*. It features:

Zeppelin running the nanovg demo:

nanovg-demo

While zeppelin was written to enable pure-Zig GUI development, it is also suitable for:

Zeppelin tries to be as self-contained as possible to keep complexity low and to prepare for a future free from C and C++. Therefore, it does not have any hard dependency on C/C++ libraries besides libc. No sdl, glfw, libwayland, or libxkbcommon. At the same time, this is also the reason why zeppelin can't just give you an OpenGL or Vulkan graphics context, as both EGL and Vulkan depend on libwayland.

Currently, Linux (Wayland) and Windows are supported. Android support is planned. MacOS/iOS support is not planned at the moment but contributions in that direction are welcome!

Zeppelin is in an alpha stage but with a decent feature set. API will change.


*Libc is currently required to load a vulkan driver; optionally depends on harfbuzz for non-latin text shaping.


Code

Docs