1pub mod column_resize;
4pub mod component;
5pub mod component_styles;
6pub mod context;
7pub mod date;
8pub mod dependency;
9pub mod devtools;
10pub mod diagnostic;
11pub mod document;
12pub mod document_view;
13pub mod drag_drop;
14pub mod draggable;
15pub mod effect;
16pub mod element_ref;
17pub mod engine;
18mod environment_dependency;
19pub mod event;
20pub mod font;
21pub mod geometry;
22pub mod host_slot;
23pub mod inline_svg;
24mod interaction;
25mod invocation;
26pub mod lifecycle;
27pub mod locale;
28pub mod native_collection;
29pub mod native_handler;
30pub mod node;
31pub mod overlay;
32mod overlay_element;
33pub mod pan_zoom;
34pub mod primitive;
35pub mod range_input;
36pub mod range_slider;
37mod read_dependency;
38pub mod reload;
39pub mod renderer;
40pub mod resizable;
41pub mod responsive;
42pub mod retained;
43pub mod rotatable;
44pub mod schema;
45mod script_lint;
46pub mod script_source;
47pub mod scrollbar;
48pub mod selection_area;
49pub mod signal;
50mod slot_runtime;
51pub mod sortable;
52pub mod source;
53pub mod split_resize;
54pub mod state;
55pub mod store;
56pub mod style;
57mod table_layout;
58pub mod text_area;
59mod text_edit;
60pub mod text_input;
61pub mod theme;
62pub mod timer;
63pub mod value;
64pub mod virtual_list;
65mod virtual_list_element;
66pub mod window;
67
68#[cfg(feature = "charts")]
69pub mod chart;
70
71pub mod accessibility;
72pub mod action;
73pub mod app;
74pub mod asset;
75pub mod async_runtime;
76pub mod automation;
77mod backend;
78pub mod budget;
79pub mod canvas;
80pub mod capability;
81pub mod clock;
82mod collection_projection;
83pub mod motion;
84
85pub use gpui;
86pub use gpui_platform;
87
88pub use accessibility::{
89 AccessibilityError, AccessibilityNode, AccessibilityTree, CommittedSemanticFrame,
90};
91pub use action::{
92 ActionError, ActionId, ActionInvocation, ActionRegistry, DispatchScriptAction, KeyBindingSpec,
93};
94pub use app::{
95 EmbeddedScriptView, FileScriptView, PreparedScriptView, ScriptApplication, ScriptViewConfig,
96 ScriptViewError, ScriptViewExtension, ScriptViewHandle, ScriptViewHost,
97 ScriptViewPerformanceSnapshot, ScriptViewState, ThemeHandle, install,
98};
99pub use asset::{
100 AssetData, AssetError, AssetId, AssetProvider, AssetRegistry, DirectoryAssetProvider,
101 ImageDecodeHandle, ImageHandle, InMemoryAssetProvider, SvgCacheStats,
102};
103pub use async_runtime::{
104 AsyncDelivery, AsyncRuntimeError, AsyncScope, SubscriptionCloseReason,
105 SubscriptionDeliveryPolicy, SubscriptionEmitter, SubscriptionHandle, SubscriptionOptions,
106 SubscriptionRegistration, SubscriptionRegistry, TaskCancellation, TaskHandle, TaskRegistry,
107};
108pub use automation::{
109 AutomationBounds, AutomationCommand, AutomationDispatchReport, AutomationError,
110 AutomationFailure, AutomationLocator, AutomationNode, AutomationRequest, AutomationResponse,
111 AutomationResult, AutomationSnapshot, handle_automation_json_line, run_automation_json_lines,
112};
113pub use budget::{RuntimeBudgetError, RuntimeBudgets};
114pub use canvas::{
115 CanvasClipRect, CanvasCommand, CanvasError, CanvasFill, CanvasPathSample, CanvasPathSegment,
116 CanvasScene, CanvasTransform,
117};
118pub use capability::{
119 AppManifest, AsyncCapabilityHandler, CapabilityDescriptor, CapabilityError, CapabilityHandler,
120 CapabilityId, CapabilityMethod, CapabilityRegistry, SubscriptionCapabilityHandler,
121 SubscriptionWork, TaskWork,
122};
123#[cfg(feature = "charts")]
124pub use chart::*;
125pub use clock::{ManualRuntimeClock, RuntimeClock, RuntimeClockSource};
126pub use column_resize::{ColumnResizePrimitiveHandler, column_resize_primitive_descriptor};
127pub use component::{
128 ComponentDefinition, ComponentError, ComponentExportCollector, ComponentExportError,
129 ComponentHeaderError, ComponentInvocation, ComponentMetadata, ComponentPropConversionError,
130 ComponentPropValue, ComponentProps, ComponentRegistry, ComponentRegistryError, ComponentSchema,
131 EventSchema, RuntimeApiRange, SlotSchema, parse_component_header,
132};
133pub use component_styles::{ComponentStyleError, ComponentStyleSheet, load_component_styles};
134pub use context::{
135 ComponentIncarnation, ExecutionPhase, PendingEvent, UiContext, UiContextError, UiMutationBatch,
136 UiRuntimeState, UiStateSnapshot, UiTransactionError,
137};
138pub use date::{CalendarClock, CalendarClockSource, DateError, GregorianDate, Weekday};
139pub use dependency::{
140 DependencyError, ModuleCompileCache, ModuleDependencyGraph, ModuleRefreshReport,
141 extract_imports,
142};
143#[cfg(feature = "dev-reload")]
144pub use dependency::{FileChangeBatch, FileWatcher, WatcherError};
145pub use devtools::{
146 InspectorComponent, InspectorEffect, InspectorElementRef, InspectorMotion, InspectorNode,
147 InspectorSignal, InspectorSnapshot, InspectorTimeline, InspectorTimer, RuntimeTrace,
148 RuntimeTraceKind, TraceBuffer,
149};
150pub use diagnostic::{
151 Diagnostic, DiagnosticCode, DiagnosticContext, DiagnosticContextError, DiagnosticErrorKind,
152 DiagnosticExecutionTiming, DiagnosticFrame, DiagnosticOperationBudget, DiagnosticSeverity,
153 DiagnosticStateSnapshot,
154};
155pub use document::{
156 DiffAlignedRow, DiffDisplayRow, DiffRowKind, DiffViewMode, DiffWhitespace, DocumentDescriptor,
157 DocumentError, DocumentLimits, DocumentLine, DocumentRuntimeConfig, DocumentSource,
158 DocumentWrap, NativeTextDocument, NativeTextDocumentRegistry, PreparedDiff, PreparedDocument,
159 SyntaxRegistry, SyntaxSpan, SyntaxTokenKind, prepare_diff, prepare_diff_with_limits,
160 prepare_document, prepare_document_with_limits,
161};
162pub use document_view::{
163 CodeViewerPrimitiveHandler, DiffSide, DiffViewerPrimitiveHandler, RevealDocumentLine,
164 code_viewer_primitive_descriptor, diff_viewer_primitive_descriptor, init_document_view,
165};
166pub use drag_drop::{
167 DragSourcePrimitiveHandler, DropZonePrimitiveHandler, drag_source_primitive_descriptor,
168 drop_zone_primitive_descriptor,
169};
170pub use draggable::{DraggablePrimitiveHandler, draggable_primitive_descriptor};
171pub use effect::{EffectDescriptor, EffectError, EffectId, EffectRegistry};
172pub use element_ref::{ElementRef, ElementRefError, ElementRefId, ElementRefRegistry};
173pub use engine::{
174 CompiledUi, ComponentInvocationRecipe, DEFAULT_SCRIPT_OPERATION_LIMIT, ExecutionOperation,
175 ExecutionTiming, OPERATION_SEMANTICS_VERSION, RuntimeEngine, RuntimeError, ScriptCallback,
176 ScriptCallbackDefinitionError, ScriptGeneration,
177};
178pub use event::{
179 EventDispatchReport, EventModifiers, EventPhase, EventPropagation, EventResponse, EventRouter,
180 HostCallback, LogicalPoint, PointerCaptureDirective, PointerCaptureRegistry, PointerEventData,
181 PropagationControl, UiEvent, UiEventBinding, UiEventHandler, WheelEventData,
182};
183pub use font::{FontError, FontSource, validate_font_sources};
184pub use geometry::{
185 Affine2D, ElementGeometry, GeometryBounds, GeometryError, GeometryRegistry, PresentedGeometry,
186};
187pub use host_slot::{HostSlotError, HostSlotRegistry};
188pub use inline_svg::{InlineSvg, InlineSvgError};
189pub use lifecycle::{LifecycleError, LifecycleState, ScriptLifecycle};
190pub use locale::{
191 CalendarMetadata, CalendarNames, DatePatterns, DateStyle, LocaleBundle, LocaleError,
192 LocaleManager, NumberFormatOptions, NumberMetadata, TextDirection, format_date_with_metadata,
193 format_integer_with_metadata, format_number_with_metadata, load_locale_source,
194};
195pub use motion::{
196 MotionEasing, MotionError, MotionFrame, MotionHandle, MotionInertia, MotionIntent, MotionKey,
197 MotionKeyframe, MotionKeyframes, MotionPlaybackState, MotionPreference, MotionProgressBinding,
198 MotionProgressDriver, MotionProperty, MotionQuality, MotionResourceUsage, MotionRuntime,
199 MotionSnapshot, MotionSource, MotionSpring, MotionTimeline, MotionTimelineEvent,
200 MotionTimelineEventKind, MotionTimelineSnapshot, MotionTimelineStep, MotionTrack,
201 MotionTransition,
202};
203pub use native_collection::{
204 NativeCollection, NativeCollectionError, NativeCollectionRegistry, VirtualCollectionData,
205};
206pub use native_handler::{
207 NativeEvent, NativeHandlerDescriptor, NativeHandlerError, NativeHandlerId, NativeHandlerRef,
208 NativeHandlerRegistry,
209};
210pub use node::{
211 ImageSourceSpec, LayerNodeSpec, LayerPlacement, NodeKey, OverlayDismissPolicy,
212 OverlayInitialFocus, OverlayNodeSpec, OverlayWidthPolicy, SourceLocation, Span, TooltipDelays,
213 UiNode, UiNodeKind, UiNodeKindTag,
214};
215pub use overlay::{
216 DismissReport, FocusToken, OverlayBounds, OverlayError, OverlayId, OverlayKind, OverlayManager,
217 OverlayPlacement, OverlaySpec, PlacementResult, TooltipScheduler, TooltipTransition,
218};
219pub use pan_zoom::{PanZoomPrimitiveHandler, pan_zoom_primitive_descriptor};
220pub use primitive::{
221 EffectPrimitiveDescriptor, PrimitiveAccessibilityProjection, PrimitiveContext,
222 PrimitiveDescriptor, PrimitiveError, PrimitiveHandler, PrimitiveId, PrimitiveInstance,
223 PrimitiveInstanceId, PrimitiveNode, PrimitivePlatform, PrimitiveProps, PrimitiveRegistry,
224 PrimitiveResourceError, PrimitiveResourceHandle, PrimitiveResourceScope,
225 PrimitiveSemanticProposal, PrimitiveTheme, PrimitiveValue,
226};
227pub use range_input::{RangeInputPrimitiveHandler, range_input_primitive_descriptor};
228pub use range_slider::{RangeSliderPrimitiveHandler, range_slider_primitive_descriptor};
229pub use reload::{LiveScript, ReloadOutcome};
230pub use renderer::{
231 ColorResolver, GpuiNodeRenderer, LiteralColorResolver, NodeEventDispatcher, StaticUiView,
232 StaticUiViewError,
233};
234pub use resizable::{ResizablePrimitiveHandler, resizable_primitive_descriptor};
235pub use responsive::{ResponsiveError, ResponsiveRuntime, ViewportBreakpoints, ViewportClass};
236pub use retained::{
237 NodeId, ReconcileError, ReconcileMetrics, ReconcileReport, RetainedChildLink, RetainedNode,
238 RetainedUiTree,
239};
240pub use rotatable::{RotatablePrimitiveHandler, rotatable_primitive_descriptor};
241pub use schema::{
242 ObjectField, SchemaDefinitionError, SchemaIssue, SchemaValidationError, ValueSchema,
243};
244pub use script_lint::{KnownCallDiagnostic, KnownCallLintError};
245pub use script_source::{
246 EmbeddedScriptSource, FileScriptSource, ScriptAsset, ScriptSource, ScriptSourceError,
247};
248pub use scrollbar::{ScrollbarSpec, ScrollbarVisibility};
249pub use selection_area::{SelectionAreaPrimitiveHandler, selection_area_primitive_descriptor};
250pub use signal::{
251 NativeSignal, SignalError, SignalId, SignalKind, SignalProperty, SignalRegistry,
252 SignalSnapshot, SignalValue, SignalWriter,
253};
254pub use sortable::{SortablePrimitiveHandler, sortable_primitive_descriptor};
255pub use source::{ModuleId, ModuleIdError, RestrictedModuleResolver};
256pub use split_resize::{SplitResizePrimitiveHandler, split_resize_primitive_descriptor};
257pub use state::{
258 ComponentInstancePath, ComponentStateSchema, RenderStateTransaction, StateError, StateField,
259 StateInstanceSnapshot, StateReconcileReport, StateStore, StateValueSnapshot,
260};
261pub use store::{StoreError, StoreId, StoreReadSession, StoreRegistry, StoreScope, StoreSnapshot};
262pub use style::{
263 Align, AutoLength, BorderLineStyle, ColorParseError, ColorValue, CornerLengths, CursorKind,
264 DisplayMode, EdgeLengths, FlexDirection, FlexWrapMode, FontSlant, HitTestBehavior,
265 InteractionState, Justify, LayoutEdgeLengths, LayoutLength, Length, LengthError,
266 LinearGradientSpec, OverflowMode, PositionMode, PseudoState, RadiusToken, Rgba8, ShadowSpec,
267 SignedLength, SpacingToken, Style, StyleProperties, StyleValueError, TextAlignMode,
268 WhiteSpaceMode,
269};
270pub use text_area::{TextAreaPrimitiveHandler, init_text_area, text_area_primitive_descriptor};
271pub use text_input::{
272 TextBuffer, TextInputPrimitiveHandler, init_text_input, text_input_primitive_descriptor,
273};
274pub use theme::{
275 REQUIRED_TYPOGRAPHY, ResolvedTheme, ResolvedTypography, SystemAppearance, ThemeError,
276 ThemeFamily, ThemeManager, ThemeMode, ThemeMotion, ThemeMotionOverrides, ThemeMotionSpring,
277 ThemePreference, ThemeSelection, ThemeSnapshot, ThemeTokenOverrides, ThemeTokenValue,
278 ThemeTokens, ThemeTypography, ThemeTypographyOverrides, ThemeVariant, ThemeVariantInfo,
279 TypographyToken, load_theme_source,
280};
281pub use timer::{TimerDescriptor, TimerError, TimerId, TimerRegistry, TimerSnapshot};
282pub use value::{
283 OpaqueHandle, UiValue, UiValueError, UiValuePath, UiValuePathError, UiValuePathSegment,
284};
285pub use virtual_list::{
286 VariableListSpec, VariableListState, VariableListWindow, VirtualCollectionId,
287 VirtualCollectionMetrics, VirtualCollectionNodeSpec, VirtualListError, VirtualRequestRegistry,
288};
289pub use window::{
290 QueuedWindowCommand, ScriptWindowSpec, WindowCommand, WindowCommandError, WindowCommandPolicy,
291 WindowCommandRegistry,
292};
293
294pub const RUNTIME_API_VERSION: u32 = 2;