docs/reference/public-api
Référence · Surface map

API publique

Voyez d’un coup d’œil si une fonctionnalité se trouve au niveau supérieur de ui ou dans un sous-namespace.

6 min de lecture

src/ui/ui.zig constitue toute l’API publique : les apps n’utilisent que ui.* et ui.<group>.*, et casser un nom de l’un ou de l’autre compte comme une rupture d’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

Les noms de premier niveau qu’utilise toute app, regroupés par usage. Les cinq premiers groupes couvrent la plupart des fichiers d’UI ; le dernier sert au dessin personnalisé et aux hôtes du framework.

Runtime
Contexte, nœuds et durée de vie
Cx · Node · Scope · Style · BoxStyle · HandlerRef
Builders
Constructeurs de nœuds
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNode
Styled
Builders compatibles avec le thème et styles
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorScheme
Layout
Types de valeur de layout
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyle
Paint
Couleur et effets de peinture
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurface
Text
Props de texte et résultat de mise en page
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelection
Media & cursor
Images, icônes et curseurs
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDesc
Reactive
L’essentiel réactif (tout dans ui.reactive)
Signal · Memo · createEffect · createMemo
Control flow
Conditions et listes (aussi ui.control_flow)
Show · For · Match
A11y
Propriétés d’accessibilité
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRange
Components
Props contrôlées / non contrôlées
ControlledProp
Advanced
Dessin personnalisé, callbacks de layout et tâches découpées
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frame

Tier 2 · ui.<group>.X

Regroupés par domaine. Utilisez-les quand vous avez besoin de plus que l’essentiel.

NamespaceContenu
ui.widgetsLa bibliothèque de composants : Button, Input, Modal, Tabs, VirtualList, Calendar, Notifier, FormOf…
ui.fxAnimation (Tween, Spring, Timeline), physique, Transition / SnapshotTransition, Router
ui.eventsEvent et EventResult complets, plus les payloads clavier, souris, défilement, glisser et IME (ImePreeditEvent / ImeCommitEvent)
ui.hooksuseHover, useFocusRing, useHoverHighlight, useAnimatedBackground, onMount / onCleanup
ui.reactiveLe système réactif complet : Scope, Context, StoreOf, SignalOwner, eqlValue
ui.control_flowShow / For / Match et leurs types d’options
ui.focusFocusManager, FocusScopeConfig, ordre de tabulation
ui.actionsAction, KeyBinding, CommandBinding, ActionDispatcher
ui.themeThemeTokens, ColorTokens et les thèmes intégrés light / dark / high_contrast
ui.iconsLe catalogue d’icônes complet du provider choisi (get, all)
ui.system_iconsRôles d’icônes sémantiques indépendants du provider
ui.assetsLe type SVG Asset et les icônes héritées de common
ui.interactionPrimitives d’interaction comme RangeHoverRegistry et drag
ui.select_headlessMachine à états headless de Select (step, commitSelection)
ui.gestureReconnaissance et arbitrage des gestes (Recognizer, GestureArena)
ui.hit / ui.pathHit testing (HitQuery, HitBehavior…) et géométrie des tracés (PathCommand, Transform2D…)
ui.platform_servicesPresse-papiers et dialogues de fichiers, prenant cx.system_sdk
ui.text_shapingHooks de résolution et de mesure des polices (setShapeFontResolver…)
ui.consoleJournalisation par Cx : Console, ScopedConsole, Level, Config, Snapshot
ui.devtoolsoverlay (inspecteur dans la fenêtre), mountPanel (panneau autonome), trace, source_link

Les props et types de résultat des composants se trouvent sur le site des composants ; la liste des icônes est dans l’Icon Gallery. ui.a11y ne sert qu’au câblage du runtime de la plateforme et ne s’adresse pas aux auteurs d’apps — l’accessibilité d’un composant se définit dans les A11yProps d’un nœud.

zenit_app

zenit_app.App est le helper de runtime mono-fenêtre — initialisation de la plateforme, du GPU et des polices, plus la boucle d’événements ; zenit_app.MultiWindowApp gère plusieurs fenêtres natives indépendantes (16 au maximum ; au-delà, vous obtenez error.TooManyWindows). Le module exporte aussi WindowConfig, MultiWindowConfig, FontConfig et ResourcePath. Les hôtes avancés peuvent descendre plus bas, mais les apps ordinaires devraient commencer ici.

Frontière

zenit · Double licenceGratuit pour les projets open source sous GPL-3.0-only ; les produits propriétaires ou commerciaux nécessitent une licence commerciale.Contacter l’auteur : zongyi.xzy#gmail.com (remplacez # par @)zenit 5f9add5+wip 2026-09-30