zaxis 0.1.0

zaxis

An event-driven immediate mode GUI for desktop tools, written in Rust.

Build the UI on each redraw. Application values live in your App; zaxis retains window geometry, focus, pointer capture, and CPU/GPU caches. The event loop sleeps between input, native redraws, and requested deadlines.

Find a task

TaskPage
Add zaxis to a projectInstallation
Open a window and handle a buttonFirst application
Run the demo or settings exampleExamples
Change the native window or exitDesktop runner
Arrange controls in rowsLayout
Repeat captions or change a titleIDs and retained state
Use buttons, checkboxes, or slidersComponents
Change colors, spacing, or fontsStyle, Text
Draw rectangles, circles, or linesDrawing
Update from a timer or workerRepaint scheduling
Integrate with a winit event loopCustom host
Change presentation or handle GPU failuresRenderer
Produce meshes or write a backendDrawing protocol
Inspect cache activityPerformance
Locate an exported type or methodAPI index
Diagnose a failureTroubleshooting

Current scope

zaxis 0.0.3 Genetic is a development release requiring Rust 1.90 or newer. Public APIs may change between development releases. It uses Rust 2021, winit, wgpu, and a shaping/rasterization engine based on cosmic-text. Both desktop backends are always included. The built-in runner drives one or several native windows, each with its own Context and surface but sharing one glyph atlas and image cache; multiple zaxis Window panels can share a native window.

Components include windows, text, buttons, checkboxes, sliders, TextEdit with IME, ComboBox/Popup, menu bars, toasts, key binding boxes, numeric controls, color pickers, images, ScrollArea, Grid, and Table. The text engine supports complex shaping, bidirectional layout, system font fallback, and bundled color emoji. Widgets are exposed to screen readers through AccessKit on Windows and macOS, and on Linux with the accesskit_unix feature; see Accessibility. See limitations for the supported boundaries.

Report problems through GitHub Issues or contact @nihmadev on Telegram.

Source code is MIT licensed. Bundled Inter (Regular, Medium, SemiBold, Bold) and Noto Color Emoji fonts use the SIL Open Font License; redistribution must include the Inter license and Noto Emoji license.

Edit on GitHub

On this page