API pública
Distingue de un vistazo si una capacidad está en el nivel superior de ui o en un subnamespace.
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.
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.
Contexto, nodos y ciclo de vida
Cx · Node · Scope · Style · BoxStyle · HandlerRefConstructores de nodos
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNodeBuilders seguros con el tema y estilos
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorSchemeTipos de valor de layout
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyleColor y efectos de pintado
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurfaceProps de texto y resultado del layout
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelectionImágenes, iconos y cursores
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDescLo esencial reactivo (todo en ui.reactive)
Signal · Memo · createEffect · createMemoCondicionales y listas (también ui.control_flow)
Show · For · MatchPropiedades de accesibilidad
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRangeProps controladas / no controladas
ControlledPropDibujo propio, callbacks de layout y tareas fraccionadas
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frameTier 2 · ui.<group>.X
Agrupados por área. Recurre a ellos cuando necesites más que lo básico.
ui.widgetsLa biblioteca de componentes: Button, Input, Modal, Tabs, VirtualList, Calendar, Notifier, FormOf…ui.fxAnimación (Tween, Spring, Timeline), física, Transition / SnapshotTransition, Routerui.eventsEvent y EventResult completos, más payloads de teclado, ratón, scroll, arrastre e IME (ImePreeditEvent / ImeCommitEvent)ui.hooksuseHover, useFocusRing, useHoverHighlight, useAnimatedBackground, onMount / onCleanupui.reactiveEl sistema reactivo completo: Scope, Context, StoreOf, SignalOwner, eqlValueui.control_flowShow / For / Match y sus tipos de opcionesui.focusFocusManager, FocusScopeConfig, orden de tabulaciónui.actionsAction, KeyBinding, CommandBinding, ActionDispatcherui.themeThemeTokens, ColorTokens y los temas integrados light / dark / high_contrastui.iconsEl catálogo completo de iconos del provider elegido (get, all)ui.system_iconsRoles de iconos semánticos independientes del providerui.assetsEl tipo SVG Asset y los iconos heredados de commonui.interactionPrimitivas de interacción como RangeHoverRegistry y dragui.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_sdkui.text_shapingHooks de resolución y medición de fuentes (setShapeFontResolver…)ui.consoleLogging por Cx: Console, ScopedConsole, Level, Config, Snapshotui.devtoolsoverlay (inspector en la ventana), mountPanel (panel independiente), trace, source_linkLas 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í.