docs/reference/public-api
参考 · Surface map

公开 API 参考

快速判断一个能力应该从 ui 顶层还是子命名空间获取。

预计阅读 6 分钟

src/ui/ui.zig 就是完整的公开 API:应用只使用 ui.* 与 ui.<group>.*,破坏其中任何一个名字都算 API break。

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

每个应用都会用到的顶层名字,按用途分组。前五组覆盖大多数界面文件;最后一组面向自定义绘制与框架宿主。

Runtime
上下文、节点与生命周期
Cx · Node · Scope · Style · BoxStyle · HandlerRef
Builders
节点构造
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNode
Styled
主题安全构造与样式系统
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorScheme
Layout
布局值类型
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyle
Paint
颜色与绘制效果
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurface
Text
文本属性与折行产物
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelection
Media & cursor
图像、图标与光标
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDesc
Reactive
响应式基础(完整面在 ui.reactive)
Signal · Memo · createEffect · createMemo
Control flow
条件与列表(也在 ui.control_flow)
Show · For · Match
A11y
无障碍属性
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRange
Components
受控 / 非受控 prop
ControlledProp
Advanced
自定义绘制、布局回调与分片任务
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frame

Tier 2 · ui.<group>.X

按关注点分组。需要超出基础能力时再使用。

命名空间能力
ui.widgets完整组件库:Button、Input、Modal、Tabs、VirtualList、Calendar、Notifier、FormOf…
ui.fx动画(Tween、Spring、Timeline)、物理、Transition / SnapshotTransition、Router
ui.events完整 Event 与 EventResult,键鼠、滚轮、拖放、IME(ImePreeditEvent / ImeCommitEvent)payload
ui.hooksuseHover、useFocusRing、useHoverHighlight、useAnimatedBackground、onMount / onCleanup
ui.reactive完整响应式系统:Scope、Context、StoreOf、SignalOwner、eqlValue
ui.control_flowShow / For / Match 及其选项类型
ui.focusFocusManager、FocusScopeConfig、tab order
ui.actionsAction、KeyBinding、CommandBinding、ActionDispatcher
ui.themeThemeTokens、ColorTokens 与内置 light / dark / high_contrast
ui.icons所选 provider 的完整图标目录(get、all)
ui.system_icons与 provider 无关的语义图标角色
ui.assetsSVG Asset 类型与 common 兼容图标
ui.interactionRangeHoverRegistry、drag 等交互原语
ui.select_headlessSelect 的 headless 状态机(step、commitSelection)
ui.gesture手势识别与仲裁(Recognizer、GestureArena)
ui.hit / ui.path命中测试(HitQuery、HitBehavior…)与路径几何(PathCommand、Transform2D…)
ui.platform_services剪贴板与文件对话框,参数为 cx.system_sdk
ui.text_shaping字体解析与测量钩子(setShapeFontResolver…)
ui.consoleper-Cx 日志:Console、ScopedConsole、Level、Config、Snapshot
ui.devtoolsoverlay(窗口内检查)、mountPanel(独立面板)、trace、source_link

组件的 props 与结果类型见组件站;图标清单见 Icon Gallery。ui.a11y 只用于平台运行时接线,应用作者不需要它——组件的无障碍信息写在节点的 A11yProps 上。

zenit_app

zenit_app.App 是单窗口运行时助手,负责平台 / GPU / 字体初始化与事件循环;zenit_app.MultiWindowApp 管理多个独立原生窗口(上限 16 个,超出返回 error.TooManyWindows)。同一模块还导出 WindowConfig、MultiWindowConfig、FontConfig 与 ResourcePath。高级宿主可以使用更低层的接口,但普通应用应从这里开始。

边界

zenit · 双授权开源项目可按 GPL-3.0-only 免费使用;闭源或商业产品需要商业授权。可联系作者:zongyi.xzy#gmail.com(# 换成 @)zenit 5f9add5+wip 2026-09-30