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

どのアプリでも使うトップレベルの名前を用途別にまとめています。最初の 5 グループでほとんどの UI ファイルをカバーでき、最後のグループはカスタム描画とフレームワークのホスト向けです。

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、タブ順序
ui.actionsAction、KeyBinding、CommandBinding、ActionDispatcher
ui.themeThemeTokens、ColorTokens と組み込みの light / dark / high_contrast
ui.icons選択した provider の完全なアイコンカタログ(get、all)
ui.system_iconsprovider に依存しないセマンティックアイコンロール
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.consoleCx ごとのログ: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