Sheet 8/10 — UI Library
zui3d
A retained-immediate-mode 2D/3D UI layout library in pure C.
| Layer | UI Library |
|---|---|
| Language | C · GLSL |
| Targets | X11 · Win32 · MoltenVK · mzOS2 (headless) |
| Depends on | mzVKI · mzWin |
| Organization | microZeus |
| Source | Private alpha — opens with a change order on this site’s log |
General notes
zui3d is an immediate-mode UI library with a retained core: a single time-stream, event-driven engine with recording and playback, rendering through Vulkan via mzVKI and windowing via mzWin. Layouts are trees of layers — 2D elements, 3D assets, 3D UI elements, and bitmap text — with inheritance, responsive sizing, and post-processing effects.
The engineering discipline shows in the details: tests run with no dynamic memory allocation using on-stack type trees, rendered frames can be captured to PPM for pixel-level verification, and the event system’s record/playback makes UI behavior reproducible from a file buffer.
Bill of materials — what’s in the box
- UI2D, 3D, UI3D, and Text layers in one layer hierarchy
- Event system with recording/playback to file buffers
- Allocation-free tests with on-stack type trees
- Frame capture to PPM for verification
- Vulkan rendering via mzVKI, windows via mzWin, macOS via MoltenVK
- Runs on mzOS2 — its UI renders through mzVKI → mzVolk and appears as a real 640×480 window on the mzwm desktop; the whole mz graphics stack on its own OS, no X11/Wayland