docs/reference/public-api
Referenz · Surface map

Öffentliche API

Erkennen Sie auf einen Blick, ob eine Fähigkeit auf der obersten Ebene von ui oder in einem Unter-Namespace liegt.

6 Min. Lesezeit

src/ui/ui.zig ist die gesamte öffentliche API: Apps verwenden nur ui.* und ui.<group>.*, und jede Änderung, die einen dieser Namen bricht, gilt als API-Bruch.

imports.zig
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

Die Top-Level-Namen, die jede App braucht, nach Zweck gruppiert. Die ersten fünf Gruppen decken die meisten UI-Dateien ab; die letzte ist für eigenes Zeichnen und Framework-Hosts.

Runtime
Kontext, Knoten und Lebensdauer
Cx · Node · Scope · Style · BoxStyle · HandlerRef
Builders
Knoten-Konstruktoren
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNode
Styled
Theme-sichere Builder und Styling
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorScheme
Layout
Layout-Werttypen
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyle
Paint
Farbe und Zeicheneffekte
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurface
Text
Text-Props und Layout-Ergebnis
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelection
Media & cursor
Bilder, Icons und Cursor
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDesc
Reactive
Reaktive Grundlagen (vollständig in ui.reactive)
Signal · Memo · createEffect · createMemo
Control flow
Bedingungen und Listen (auch ui.control_flow)
Show · For · Match
A11y
Barrierefreiheits-Eigenschaften
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRange
Components
Kontrollierte / unkontrollierte Props
ControlledProp
Advanced
Eigenes Zeichnen, Layout-Callbacks und aufgeteilte Tasks
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frame

Tier 2 · ui.<group>.X

Nach Themen gruppiert. Greifen Sie darauf zurück, wenn Sie mehr als die Grundlagen brauchen.

NamespaceInhalt
ui.widgetsDie Komponentenbibliothek: Button, Input, Modal, Tabs, VirtualList, Calendar, Notifier, FormOf…
ui.fxAnimation (Tween, Spring, Timeline), Physik, Transition / SnapshotTransition, Router
ui.eventsVollständiges Event und EventResult plus Payloads für Tastatur, Maus, Scrollen, Drag und IME (ImePreeditEvent / ImeCommitEvent)
ui.hooksuseHover, useFocusRing, useHoverHighlight, useAnimatedBackground, onMount / onCleanup
ui.reactiveDas vollständige reaktive System: Scope, Context, StoreOf, SignalOwner, eqlValue
ui.control_flowShow / For / Match und ihre Optionstypen
ui.focusFocusManager, FocusScopeConfig, Tab-Reihenfolge
ui.actionsAction, KeyBinding, CommandBinding, ActionDispatcher
ui.themeThemeTokens, ColorTokens und die eingebauten light / dark / high_contrast
ui.iconsDer vollständige Icon-Katalog des gewählten Providers (get, all)
ui.system_iconsProviderneutrale semantische Icon-Rollen
ui.assetsDer SVG-Asset-Typ und die Legacy-Icons in common
ui.interactionInteraktionsprimitive wie RangeHoverRegistry und drag
ui.select_headlessHeadless-Zustandsautomat für Select (step, commitSelection)
ui.gestureGestenerkennung und -arbitrierung (Recognizer, GestureArena)
ui.hit / ui.pathHit-Testing (HitQuery, HitBehavior…) und Pfadgeometrie (PathCommand, Transform2D…)
ui.platform_servicesZwischenablage und Dateidialoge, mit cx.system_sdk als Argument
ui.text_shapingHooks für Schriftauflösung und -messung (setShapeFontResolver…)
ui.consoleLogging pro Cx: Console, ScopedConsole, Level, Config, Snapshot
ui.devtoolsoverlay (Inspektor im Fenster), mountPanel (eigenständiges Panel), trace, source_link

Props und Ergebnistypen der Komponenten finden Sie auf der Komponenten-Website; die Icon-Liste steht in der Icon Gallery. ui.a11y dient nur der Anbindung der Plattform-Runtime und ist nicht für App-Autoren gedacht — die Barrierefreiheit einer Komponente steckt in den A11yProps eines Knotens.

zenit_app

zenit_app.App ist der Runtime-Helper für ein Fenster — Plattform-, GPU- und Schrift-Setup plus Event-Loop; zenit_app.MultiWindowApp verwaltet mehrere unabhängige native Fenster (höchstens 16; darüber hinaus erhalten Sie error.TooManyWindows). Das Modul exportiert außerdem WindowConfig, MultiWindowConfig, FontConfig und ResourcePath. Fortgeschrittene Hosts können tiefer ansetzen, gewöhnliche Apps sollten aber hier beginnen.

Grenze

zenit · DoppellizenzKostenlos für Open-Source-Projekte unter GPL-3.0-only; Closed-Source- oder kommerzielle Produkte benötigen eine kommerzielle Lizenz.Kontakt zum Autor: zongyi.xzy#gmail.com (# durch @ ersetzen)zenit 5f9add5+wip 2026-09-30