Public API
Tell at a glance whether a capability lives at the ui top level or in a sub-namespace.
src/ui/ui.zig is the entire public API: apps use only ui.* and ui.<group>.*, and breaking any name in either counts as an API break.
const ui = @import("ui");
const zenit_app = @import("zenit_app");
// Tier 1: straight off ui
const title = try ui.text(cx, "Hello", .{});
// Tier 2: through the group
const theme = &ui.theme.dark;
const Router = ui.fx.Router;Tier 1 · ui.X
The top-level names every app reaches for, grouped by purpose. The first five groups cover most UI files; the last one is for custom drawing and framework hosts.
Context, nodes and lifetime
Cx · Node · Scope · Style · BoxStyle · HandlerRefNode constructors
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNodeTheme-safe builders and styling
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorSchemeLayout value types
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyleColor and paint effects
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurfaceText props and layout output
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelectionImages, icons and cursors
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDescReactive essentials (full set in ui.reactive)
Signal · Memo · createEffect · createMemoConditionals and lists (also ui.control_flow)
Show · For · MatchAccessibility properties
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRangeControlled / uncontrolled props
ControlledPropCustom drawing, layout callbacks and sliced tasks
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frameTier 2 · ui.<group>.X
Grouped by concern. Reach for these when you need more than the basics.
ui.widgetsThe component library: Button, Input, Modal, Tabs, VirtualList, Calendar, Notifier, FormOf…ui.fxAnimation (Tween, Spring, Timeline), physics, Transition / SnapshotTransition, Routerui.eventsThe full Event and EventResult plus key, mouse, scroll, drag and IME (ImePreeditEvent / ImeCommitEvent) payloadsui.hooksuseHover, useFocusRing, useHoverHighlight, useAnimatedBackground, onMount / onCleanupui.reactiveThe full reactive system: Scope, Context, StoreOf, SignalOwner, eqlValueui.control_flowShow / For / Match and their option typesui.focusFocusManager, FocusScopeConfig, tab orderui.actionsAction, KeyBinding, CommandBinding, ActionDispatcherui.themeThemeTokens, ColorTokens and the built-in light / dark / high_contrastui.iconsThe selected provider’s full icon catalog (get, all)ui.system_iconsProvider-neutral semantic icon rolesui.assetsThe SVG Asset type and legacy common iconsui.interactionInteraction primitives such as RangeHoverRegistry and dragui.select_headlessHeadless Select state machine (step, commitSelection)ui.gestureGesture recognition and arbitration (Recognizer, GestureArena)ui.hit / ui.pathHit testing (HitQuery, HitBehavior…) and path geometry (PathCommand, Transform2D…)ui.platform_servicesClipboard and file dialogs, taking cx.system_sdkui.text_shapingFont resolution and measurement hooks (setShapeFontResolver…)ui.consolePer-Cx logging: Console, ScopedConsole, Level, Config, Snapshotui.devtoolsoverlay (in-window inspector), mountPanel (standalone panel), trace, source_linkComponent props and result types are on the component site; the icon list is in the Icon Gallery. ui.a11y exists only for platform runtime wiring and isn’t for app authors. Component accessibility lives in a node’s A11yProps.
zenit_app
zenit_app.App is the single-window runtime helper: platform, GPU and font setup plus the event loop. zenit_app.MultiWindowApp manages several independent native windows (at most 16; beyond that you get error.TooManyWindows). The module also exports WindowConfig, MultiWindowConfig, FontConfig and ResourcePath. Advanced hosts can go lower, but ordinary apps should start here.