docs/reference/public-api
Referencia · Surface map

API pública

Distingue de un vistazo si una capacidad está en el nivel superior de ui o en un subnamespace.

6 min de lectura

src/ui/ui.zig es toda la API pública: las apps solo usan ui.* y ui.<group>.*, y romper cualquier nombre de ambos cuenta como una ruptura de API.

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

Los nombres de nivel superior que usa cualquier app, agrupados por propósito. Los cinco primeros grupos cubren la mayoría de los archivos de UI; el último es para dibujo propio y hosts del framework.

Runtime
Contexto, nodos y ciclo de vida
Cx · Node · Scope · Style · BoxStyle · HandlerRef
Builders
Constructores de nodos
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNode
Styled
Builders seguros con el tema y estilos
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorScheme
Layout
Tipos de valor de layout
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyle
Paint
Color y efectos de pintado
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurface
Text
Props de texto y resultado del layout
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelection
Media & cursor
Imágenes, iconos y cursores
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDesc
Reactive
Lo esencial reactivo (todo en ui.reactive)
Signal · Memo · createEffect · createMemo
Control flow
Condicionales y listas (también ui.control_flow)
Show · For · Match
A11y
Propiedades de accesibilidad
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRange
Components
Props controladas / no controladas
ControlledProp
Advanced
Dibujo propio, callbacks de layout y tareas fraccionadas
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frame

Tier 2 · ui.<group>.X

Agrupados por área. Recurre a ellos cuando necesites más que lo básico.

NamespaceContenido
ui.widgetsLa biblioteca de componentes: Button, Input, Modal, Tabs, VirtualList, Calendar, Notifier, FormOf…
ui.fxAnimación (Tween, Spring, Timeline), física, Transition / SnapshotTransition, Router
ui.eventsEvent y EventResult completos, más payloads de teclado, ratón, scroll, arrastre e IME (ImePreeditEvent / ImeCommitEvent)
ui.hooksuseHover, useFocusRing, useHoverHighlight, useAnimatedBackground, onMount / onCleanup
ui.reactiveEl sistema reactivo completo: Scope, Context, StoreOf, SignalOwner, eqlValue
ui.control_flowShow / For / Match y sus tipos de opciones
ui.focusFocusManager, FocusScopeConfig, orden de tabulación
ui.actionsAction, KeyBinding, CommandBinding, ActionDispatcher
ui.themeThemeTokens, ColorTokens y los temas integrados light / dark / high_contrast
ui.iconsEl catálogo completo de iconos del provider elegido (get, all)
ui.system_iconsRoles de iconos semánticos independientes del provider
ui.assetsEl tipo SVG Asset y los iconos heredados de common
ui.interactionPrimitivas de interacción como RangeHoverRegistry y drag
ui.select_headlessMáquina de estados headless de Select (step, commitSelection)
ui.gestureReconocimiento y arbitraje de gestos (Recognizer, GestureArena)
ui.hit / ui.pathHit testing (HitQuery, HitBehavior…) y geometría de trazados (PathCommand, Transform2D…)
ui.platform_servicesPortapapeles y diálogos de archivo, reciben cx.system_sdk
ui.text_shapingHooks de resolución y medición de fuentes (setShapeFontResolver…)
ui.consoleLogging por Cx: Console, ScopedConsole, Level, Config, Snapshot
ui.devtoolsoverlay (inspector en la ventana), mountPanel (panel independiente), trace, source_link

Las props y tipos de resultado de los componentes están en el sitio de componentes; la lista de iconos está en la Icon Gallery. ui.a11y solo existe para el cableado del runtime de la plataforma y no es para autores de apps: la accesibilidad de un componente vive en los A11yProps de un nodo.

zenit_app

zenit_app.App es el helper de runtime de una sola ventana: inicialización de plataforma, GPU y fuentes más el bucle de eventos; zenit_app.MultiWindowApp gestiona varias ventanas nativas independientes (como máximo 16; más allá obtienes error.TooManyWindows). El módulo también exporta WindowConfig, MultiWindowConfig, FontConfig y ResourcePath. Los hosts avanzados pueden bajar de nivel, pero las apps normales deberían empezar aquí.

Límites

zenit · Doble licenciaGratis para proyectos de código abierto bajo GPL-3.0-only; los productos cerrados o comerciales necesitan una licencia comercial.Contacta con el autor: zongyi.xzy#gmail.com (cambia # por @)zenit 5f9add5+wip 2026-09-30