LavaUI docs

LavaUI documentation

LavaUI is a declarative UI framework in Swift that draws with Vulkan. Views are written the way SwiftUI writes them; underneath, Yoga lays them out, HarfBuzz shapes the text and one pipeline draws everything, in a window of its own or as a client of the Lava compositor.

New here? Start with Getting started, then the API guide. The reference below is generated from the source's /// comments.

LavaUI

Views, state, layout, drawing, input and the app loop.

2261 declarations · 882 documented

LavaHost

Opens an app as a window or as a compositor client, chosen at run time.

6 declarations · 5 documented

LavaClient

Runs an app as a client of the Lava compositor, with no GPU of its own.

88 declarations · 70 documented

LavaText

Text editing without a GPU: cursors, selection, undo, search, wrapping.

142 declarations · 65 documented

LavaMenu

Application menus as data, for whatever draws them.

118 declarations · 26 documented

Control plane

The compositor's control plane: fonts, images, surfaces, present and input.

327 declarations · 199 documented

Articles

  • How LavaUI draws

    A Swift UI framework for a Wayland desktop where applications have no renderer at all. They write draw commands into shared memory and stop. One process owns the GPU for the whole desktop.

Guides