Skip to main content

Crate gpui_rhai

Crate gpui_rhai 

Source
Expand description

Runtime foundations for building GPUI applications from Rhai source.

Re-exports§

pub use accessibility::AccessibilityError;
pub use accessibility::AccessibilityNode;
pub use accessibility::AccessibilityTree;
pub use accessibility::CommittedSemanticFrame;
pub use action::ActionError;
pub use action::ActionId;
pub use action::ActionInvocation;
pub use action::ActionRegistry;
pub use action::DispatchScriptAction;
pub use action::KeyBindingSpec;
pub use app::EmbeddedScriptView;
pub use app::FileScriptView;
pub use app::PreparedScriptView;
pub use app::ScriptApplication;
pub use app::ScriptViewConfig;
pub use app::ScriptViewError;
pub use app::ScriptViewExtension;
pub use app::ScriptViewHandle;
pub use app::ScriptViewHost;
pub use app::ScriptViewPerformanceSnapshot;
pub use app::ScriptViewState;
pub use app::ThemeHandle;
pub use app::install;
pub use asset::AssetData;
pub use asset::AssetError;
pub use asset::AssetId;
pub use asset::AssetProvider;
pub use asset::AssetRegistry;
pub use asset::DirectoryAssetProvider;
pub use asset::ImageDecodeHandle;
pub use asset::ImageHandle;
pub use asset::InMemoryAssetProvider;
pub use asset::SvgCacheStats;
pub use async_runtime::AsyncDelivery;
pub use async_runtime::AsyncRuntimeError;
pub use async_runtime::AsyncScope;
pub use async_runtime::SubscriptionCloseReason;
pub use async_runtime::SubscriptionDeliveryPolicy;
pub use async_runtime::SubscriptionEmitter;
pub use async_runtime::SubscriptionHandle;
pub use async_runtime::SubscriptionOptions;
pub use async_runtime::SubscriptionRegistration;
pub use async_runtime::SubscriptionRegistry;
pub use async_runtime::TaskCancellation;
pub use async_runtime::TaskHandle;
pub use async_runtime::TaskRegistry;
pub use automation::AutomationBounds;
pub use automation::AutomationCommand;
pub use automation::AutomationDispatchReport;
pub use automation::AutomationError;
pub use automation::AutomationFailure;
pub use automation::AutomationLocator;
pub use automation::AutomationNode;
pub use automation::AutomationRequest;
pub use automation::AutomationResponse;
pub use automation::AutomationResult;
pub use automation::AutomationSnapshot;
pub use automation::handle_automation_json_line;
pub use automation::run_automation_json_lines;
pub use budget::RuntimeBudgetError;
pub use budget::RuntimeBudgets;
pub use canvas::CanvasClipRect;
pub use canvas::CanvasCommand;
pub use canvas::CanvasError;
pub use canvas::CanvasFill;
pub use canvas::CanvasPathSample;
pub use canvas::CanvasPathSegment;
pub use canvas::CanvasScene;
pub use canvas::CanvasTransform;
pub use capability::AppManifest;
pub use capability::AsyncCapabilityHandler;
pub use capability::CapabilityDescriptor;
pub use capability::CapabilityError;
pub use capability::CapabilityHandler;
pub use capability::CapabilityId;
pub use capability::CapabilityMethod;
pub use capability::CapabilityRegistry;
pub use capability::SubscriptionCapabilityHandler;
pub use capability::SubscriptionWork;
pub use capability::TaskWork;
pub use clock::ManualRuntimeClock;
pub use clock::RuntimeClock;
pub use clock::RuntimeClockSource;
pub use column_resize::ColumnResizePrimitiveHandler;
pub use column_resize::column_resize_primitive_descriptor;
pub use component::ComponentDefinition;
pub use component::ComponentError;
pub use component::ComponentExportCollector;
pub use component::ComponentExportError;
pub use component::ComponentHeaderError;
pub use component::ComponentInvocation;
pub use component::ComponentMetadata;
pub use component::ComponentPropConversionError;
pub use component::ComponentPropValue;
pub use component::ComponentProps;
pub use component::ComponentRegistry;
pub use component::ComponentRegistryError;
pub use component::ComponentSchema;
pub use component::EventSchema;
pub use component::RuntimeApiRange;
pub use component::SlotSchema;
pub use component::parse_component_header;
pub use component_styles::ComponentStyleError;
pub use component_styles::ComponentStyleSheet;
pub use component_styles::load_component_styles;
pub use context::ComponentIncarnation;
pub use context::ExecutionPhase;
pub use context::PendingEvent;
pub use context::UiContext;
pub use context::UiContextError;
pub use context::UiMutationBatch;
pub use context::UiRuntimeState;
pub use context::UiStateSnapshot;
pub use context::UiTransactionError;
pub use date::CalendarClock;
pub use date::CalendarClockSource;
pub use date::DateError;
pub use date::GregorianDate;
pub use date::Weekday;
pub use dependency::DependencyError;
pub use dependency::ModuleCompileCache;
pub use dependency::ModuleDependencyGraph;
pub use dependency::ModuleRefreshReport;
pub use dependency::extract_imports;
pub use devtools::InspectorComponent;
pub use devtools::InspectorEffect;
pub use devtools::InspectorElementRef;
pub use devtools::InspectorMotion;
pub use devtools::InspectorNode;
pub use devtools::InspectorSignal;
pub use devtools::InspectorSnapshot;
pub use devtools::InspectorTimeline;
pub use devtools::InspectorTimer;
pub use devtools::RuntimeTrace;
pub use devtools::RuntimeTraceKind;
pub use devtools::TraceBuffer;
pub use diagnostic::Diagnostic;
pub use diagnostic::DiagnosticCode;
pub use diagnostic::DiagnosticContext;
pub use diagnostic::DiagnosticContextError;
pub use diagnostic::DiagnosticErrorKind;
pub use diagnostic::DiagnosticExecutionTiming;
pub use diagnostic::DiagnosticFrame;
pub use diagnostic::DiagnosticOperationBudget;
pub use diagnostic::DiagnosticSeverity;
pub use diagnostic::DiagnosticStateSnapshot;
pub use document::DiffAlignedRow;
pub use document::DiffDisplayRow;
pub use document::DiffRowKind;
pub use document::DiffViewMode;
pub use document::DiffWhitespace;
pub use document::DocumentDescriptor;
pub use document::DocumentError;
pub use document::DocumentLimits;
pub use document::DocumentLine;
pub use document::DocumentRuntimeConfig;
pub use document::DocumentSource;
pub use document::DocumentWrap;
pub use document::NativeTextDocument;
pub use document::NativeTextDocumentRegistry;
pub use document::PreparedDiff;
pub use document::PreparedDocument;
pub use document::SyntaxRegistry;
pub use document::SyntaxSpan;
pub use document::SyntaxTokenKind;
pub use document::prepare_diff;
pub use document::prepare_diff_with_limits;
pub use document::prepare_document;
pub use document::prepare_document_with_limits;
pub use document_view::CodeViewerPrimitiveHandler;
pub use document_view::DiffSide;
pub use document_view::DiffViewerPrimitiveHandler;
pub use document_view::RevealDocumentLine;
pub use document_view::code_viewer_primitive_descriptor;
pub use document_view::diff_viewer_primitive_descriptor;
pub use document_view::init_document_view;
pub use drag_drop::DragSourcePrimitiveHandler;
pub use drag_drop::DropZonePrimitiveHandler;
pub use drag_drop::drag_source_primitive_descriptor;
pub use drag_drop::drop_zone_primitive_descriptor;
pub use draggable::DraggablePrimitiveHandler;
pub use draggable::draggable_primitive_descriptor;
pub use effect::EffectDescriptor;
pub use effect::EffectError;
pub use effect::EffectId;
pub use effect::EffectRegistry;
pub use element_ref::ElementRef;
pub use element_ref::ElementRefError;
pub use element_ref::ElementRefId;
pub use element_ref::ElementRefRegistry;
pub use engine::CompiledUi;
pub use engine::ComponentInvocationRecipe;
pub use engine::DEFAULT_SCRIPT_OPERATION_LIMIT;
pub use engine::ExecutionOperation;
pub use engine::ExecutionTiming;
pub use engine::OPERATION_SEMANTICS_VERSION;
pub use engine::RuntimeEngine;
pub use engine::RuntimeError;
pub use engine::ScriptCallback;
pub use engine::ScriptCallbackDefinitionError;
pub use engine::ScriptGeneration;
pub use event::EventDispatchReport;
pub use event::EventModifiers;
pub use event::EventPhase;
pub use event::EventPropagation;
pub use event::EventResponse;
pub use event::EventRouter;
pub use event::HostCallback;
pub use event::LogicalPoint;
pub use event::PointerCaptureDirective;
pub use event::PointerCaptureRegistry;
pub use event::PointerEventData;
pub use event::PropagationControl;
pub use event::UiEvent;
pub use event::UiEventBinding;
pub use event::UiEventHandler;
pub use event::WheelEventData;
pub use font::FontError;
pub use font::FontSource;
pub use font::validate_font_sources;
pub use geometry::Affine2D;
pub use geometry::ElementGeometry;
pub use geometry::GeometryBounds;
pub use geometry::GeometryError;
pub use geometry::GeometryRegistry;
pub use geometry::PresentedGeometry;
pub use host_slot::HostSlotError;
pub use host_slot::HostSlotRegistry;
pub use inline_svg::InlineSvg;
pub use inline_svg::InlineSvgError;
pub use lifecycle::LifecycleError;
pub use lifecycle::LifecycleState;
pub use lifecycle::ScriptLifecycle;
pub use locale::CalendarMetadata;
pub use locale::CalendarNames;
pub use locale::DatePatterns;
pub use locale::DateStyle;
pub use locale::LocaleBundle;
pub use locale::LocaleError;
pub use locale::LocaleManager;
pub use locale::NumberFormatOptions;
pub use locale::NumberMetadata;
pub use locale::TextDirection;
pub use locale::format_date_with_metadata;
pub use locale::format_integer_with_metadata;
pub use locale::format_number_with_metadata;
pub use locale::load_locale_source;
pub use motion::MotionEasing;
pub use motion::MotionError;
pub use motion::MotionFrame;
pub use motion::MotionHandle;
pub use motion::MotionInertia;
pub use motion::MotionIntent;
pub use motion::MotionKey;
pub use motion::MotionKeyframe;
pub use motion::MotionKeyframes;
pub use motion::MotionPlaybackState;
pub use motion::MotionPreference;
pub use motion::MotionProgressBinding;
pub use motion::MotionProgressDriver;
pub use motion::MotionProperty;
pub use motion::MotionQuality;
pub use motion::MotionResourceUsage;
pub use motion::MotionRuntime;
pub use motion::MotionSnapshot;
pub use motion::MotionSource;
pub use motion::MotionSpring;
pub use motion::MotionTimeline;
pub use motion::MotionTimelineEvent;
pub use motion::MotionTimelineEventKind;
pub use motion::MotionTimelineSnapshot;
pub use motion::MotionTimelineStep;
pub use motion::MotionTrack;
pub use motion::MotionTransition;
pub use native_collection::NativeCollection;
pub use native_collection::NativeCollectionError;
pub use native_collection::NativeCollectionRegistry;
pub use native_collection::VirtualCollectionData;
pub use native_handler::NativeEvent;
pub use native_handler::NativeHandlerDescriptor;
pub use native_handler::NativeHandlerError;
pub use native_handler::NativeHandlerId;
pub use native_handler::NativeHandlerRef;
pub use native_handler::NativeHandlerRegistry;
pub use node::ImageSourceSpec;
pub use node::LayerNodeSpec;
pub use node::LayerPlacement;
pub use node::NodeKey;
pub use node::OverlayDismissPolicy;
pub use node::OverlayInitialFocus;
pub use node::OverlayNodeSpec;
pub use node::OverlayWidthPolicy;
pub use node::SourceLocation;
pub use node::Span;
pub use node::TooltipDelays;
pub use node::UiNode;
pub use node::UiNodeKind;
pub use node::UiNodeKindTag;
pub use overlay::DismissReport;
pub use overlay::FocusToken;
pub use overlay::OverlayBounds;
pub use overlay::OverlayError;
pub use overlay::OverlayId;
pub use overlay::OverlayKind;
pub use overlay::OverlayManager;
pub use overlay::OverlayPlacement;
pub use overlay::OverlaySpec;
pub use overlay::PlacementResult;
pub use overlay::TooltipScheduler;
pub use overlay::TooltipTransition;
pub use pan_zoom::PanZoomPrimitiveHandler;
pub use pan_zoom::pan_zoom_primitive_descriptor;
pub use primitive::EffectPrimitiveDescriptor;
pub use primitive::PrimitiveAccessibilityProjection;
pub use primitive::PrimitiveContext;
pub use primitive::PrimitiveDescriptor;
pub use primitive::PrimitiveError;
pub use primitive::PrimitiveHandler;
pub use primitive::PrimitiveId;
pub use primitive::PrimitiveInstance;
pub use primitive::PrimitiveInstanceId;
pub use primitive::PrimitiveNode;
pub use primitive::PrimitivePlatform;
pub use primitive::PrimitiveProps;
pub use primitive::PrimitiveRegistry;
pub use primitive::PrimitiveResourceError;
pub use primitive::PrimitiveResourceHandle;
pub use primitive::PrimitiveResourceScope;
pub use primitive::PrimitiveSemanticProposal;
pub use primitive::PrimitiveTheme;
pub use primitive::PrimitiveValue;
pub use range_input::RangeInputPrimitiveHandler;
pub use range_input::range_input_primitive_descriptor;
pub use range_slider::RangeSliderPrimitiveHandler;
pub use range_slider::range_slider_primitive_descriptor;
pub use reload::LiveScript;
pub use reload::ReloadOutcome;
pub use renderer::ColorResolver;
pub use renderer::GpuiNodeRenderer;
pub use renderer::LiteralColorResolver;
pub use renderer::NodeEventDispatcher;
pub use renderer::StaticUiView;
pub use renderer::StaticUiViewError;
pub use resizable::ResizablePrimitiveHandler;
pub use resizable::resizable_primitive_descriptor;
pub use responsive::ResponsiveError;
pub use responsive::ResponsiveRuntime;
pub use responsive::ViewportBreakpoints;
pub use responsive::ViewportClass;
pub use retained::NodeId;
pub use retained::ReconcileError;
pub use retained::ReconcileMetrics;
pub use retained::ReconcileReport;
pub use retained::RetainedNode;
pub use retained::RetainedUiTree;
pub use rotatable::RotatablePrimitiveHandler;
pub use rotatable::rotatable_primitive_descriptor;
pub use schema::ObjectField;
pub use schema::SchemaDefinitionError;
pub use schema::SchemaIssue;
pub use schema::SchemaValidationError;
pub use schema::ValueSchema;
pub use script_source::EmbeddedScriptSource;
pub use script_source::FileScriptSource;
pub use script_source::ScriptAsset;
pub use script_source::ScriptSource;
pub use script_source::ScriptSourceError;
pub use scrollbar::ScrollbarSpec;
pub use scrollbar::ScrollbarVisibility;
pub use selection_area::SelectionAreaPrimitiveHandler;
pub use selection_area::selection_area_primitive_descriptor;
pub use signal::NativeSignal;
pub use signal::SignalError;
pub use signal::SignalId;
pub use signal::SignalKind;
pub use signal::SignalProperty;
pub use signal::SignalRegistry;
pub use signal::SignalSnapshot;
pub use signal::SignalValue;
pub use signal::SignalWriter;
pub use sortable::SortablePrimitiveHandler;
pub use sortable::sortable_primitive_descriptor;
pub use source::ModuleId;
pub use source::ModuleIdError;
pub use source::RestrictedModuleResolver;
pub use split_resize::SplitResizePrimitiveHandler;
pub use split_resize::split_resize_primitive_descriptor;
pub use state::ComponentInstancePath;
pub use state::ComponentStateSchema;
pub use state::RenderStateTransaction;
pub use state::StateError;
pub use state::StateField;
pub use state::StateInstanceSnapshot;
pub use state::StateReconcileReport;
pub use state::StateStore;
pub use state::StateValueSnapshot;
pub use store::StoreError;
pub use store::StoreId;
pub use store::StoreReadSession;
pub use store::StoreRegistry;
pub use store::StoreScope;
pub use store::StoreSnapshot;
pub use style::Align;
pub use style::AutoLength;
pub use style::BorderLineStyle;
pub use style::ColorParseError;
pub use style::ColorValue;
pub use style::CornerLengths;
pub use style::CursorKind;
pub use style::DisplayMode;
pub use style::EdgeLengths;
pub use style::FlexDirection;
pub use style::FlexWrapMode;
pub use style::FontSlant;
pub use style::HitTestBehavior;
pub use style::InteractionState;
pub use style::Justify;
pub use style::LayoutEdgeLengths;
pub use style::LayoutLength;
pub use style::Length;
pub use style::LengthError;
pub use style::LinearGradientSpec;
pub use style::OverflowMode;
pub use style::PositionMode;
pub use style::PseudoState;
pub use style::RadiusToken;
pub use style::Rgba8;
pub use style::ShadowSpec;
pub use style::SignedLength;
pub use style::SpacingToken;
pub use style::Style;
pub use style::StyleProperties;
pub use style::StyleValueError;
pub use style::TextAlignMode;
pub use style::WhiteSpaceMode;
pub use text_area::TextAreaPrimitiveHandler;
pub use text_area::init_text_area;
pub use text_area::text_area_primitive_descriptor;
pub use text_input::TextBuffer;
pub use text_input::TextInputPrimitiveHandler;
pub use text_input::init_text_input;
pub use text_input::text_input_primitive_descriptor;
pub use theme::REQUIRED_TYPOGRAPHY;
pub use theme::ResolvedTheme;
pub use theme::ResolvedTypography;
pub use theme::SystemAppearance;
pub use theme::ThemeError;
pub use theme::ThemeFamily;
pub use theme::ThemeManager;
pub use theme::ThemeMode;
pub use theme::ThemeMotion;
pub use theme::ThemeMotionOverrides;
pub use theme::ThemeMotionSpring;
pub use theme::ThemePreference;
pub use theme::ThemeSelection;
pub use theme::ThemeSnapshot;
pub use theme::ThemeTokenOverrides;
pub use theme::ThemeTokenValue;
pub use theme::ThemeTokens;
pub use theme::ThemeTypography;
pub use theme::ThemeTypographyOverrides;
pub use theme::ThemeVariant;
pub use theme::ThemeVariantInfo;
pub use theme::TypographyToken;
pub use theme::load_theme_source;
pub use timer::TimerDescriptor;
pub use timer::TimerError;
pub use timer::TimerId;
pub use timer::TimerRegistry;
pub use timer::TimerSnapshot;
pub use value::OpaqueHandle;
pub use value::UiValue;
pub use value::UiValueError;
pub use value::UiValuePath;
pub use value::UiValuePathError;
pub use value::UiValuePathSegment;
pub use virtual_list::VariableListSpec;
pub use virtual_list::VariableListState;
pub use virtual_list::VariableListWindow;
pub use virtual_list::VirtualCollectionId;
pub use virtual_list::VirtualCollectionMetrics;
pub use virtual_list::VirtualCollectionNodeSpec;
pub use virtual_list::VirtualListError;
pub use virtual_list::VirtualRequestRegistry;
pub use window::QueuedWindowCommand;
pub use window::ScriptWindowSpec;
pub use window::WindowCommand;
pub use window::WindowCommandError;
pub use window::WindowCommandPolicy;
pub use window::WindowCommandRegistry;
pub use gpui;
pub use gpui_platform;

Modules§

accessibility
action
app
asset
async_runtime
automation
budget
canvas
capability
clock
column_resize
Native hot-lane column resize handle used by the Rhai Table component.
component
component_styles
context
date
dependency
devtools
diagnostic
document
Native immutable text documents, syntax tokenization, and two-way diff models.
document_view
Retained native CodeViewer and DiffViewer surfaces.
drag_drop
Host-domain typed application drag/drop primitives.
draggable
Native pointer hot lane for the public controlled Draggable component.
effect
element_ref
engine
event
font
geometry
host_slot
inline_svg
lifecycle
locale
motion
native_collection
native_handler
node
overlay
pan_zoom
Controlled Canvas pan/zoom interaction over the shared affine geometry path.
primitive
range_input
Generic retained single-value range-input behavior for styled Rhai components.
range_slider
Controlled two-thumb range slider using the shared range axis math.
reload
renderer
resizable
Native hot-lane edge and corner handles for the public Resizable component.
responsive
retained
rotatable
Controlled Canvas rotation around an explicit local pivot.
schema
script_source
scrollbar
Generic themed overlay scrollbars for retained scrollable nodes.
selection_area
Controlled Canvas object selection with native click/range/marquee preview.
signal
sortable
Keyed controlled sorting over the shared application drag runtime.
source
split_resize
Native hot-lane resize handle shared by the public SplitPane component.
state
store
style
text_area
text_input
Native text input behavior adapted from GPUI’s Apache-2.0 examples/input.rs.
theme
timer
value
virtual_list
window

Structs§

KnownCallDiagnostic
One type-agnostic Rhai function-name or arity diagnostic.

Enums§

KnownCallLintError
Failure to construct or parse inputs for known-call validation.

Constants§

RUNTIME_API_VERSION
The first runtime API generation understood by component source.