Crate ailloli_ui_core

Source
Expand description

Pure data types shared across the Ailloli UI framework.

§Boundaries

This crate intentionally has:

  • No winit / wgpu dependencies,
  • No runtime widget tree (Element, Widget live in ailloli_ui_runtime),
  • Only portable values: geometry, styling, identifiers, input events, and DPI math.

Higher crates (ailloli_ui_runtime, ailloli_ui_widgets, ailloli_ui_render_wgpu, ailloli_ui_winit) build behavior on top of these types.

Re-exports§

pub use app_identity::AppIcon;
pub use app_identity::AppIconMetadata;
pub use app_identity::AppIdentity;
pub use app_identity::AppIdentityError;
pub use app_identity::AppIdentityMetadata;
pub use app_identity::ApplicationId;
pub use app_identity::ValidatedAppIdentity;
pub use app_identity::AILLOLI_UI_PACKAGE_METADATA_PATH_ENV;
pub use app_identity::APP_IDENTITY_METADATA_VERSION;
pub use app_identity::CONVENTIONAL_APP_ICON_PATH;
pub use chart::auto_x_range;
pub use chart::auto_y_range;
pub use chart::ChartPoint;
pub use chart::ChartRange;
pub use chart::ChartSeries;
pub use chat::ChatEvent;
pub use chat::ChatItemId;
pub use chat::ChatMessage;
pub use chat::ChatMessageKind;
pub use chat::ChatMessageStatus;
pub use chat::ChatRequestId;
pub use chat::ChatRole;
pub use chat::ChatSessionId;
pub use chat::ChatSessionState;
pub use chat::ChatSessionStatus;
pub use chat::ChatSessionSummary;
pub use color_picker::color_to_hsv;
pub use color_picker::format_hex_rgb;
pub use color_picker::hsv_to_color;
pub use color_picker::parse_hex_rgb;
pub use color_picker::HsvColor;
pub use date_picker::DateValue;
pub use date_picker::MonthValue;
pub use date_picker::WeekStart;
pub use event::Event;
pub use geometry::ClipShape;
pub use geometry::Constraints;
pub use geometry::EdgeInsets;
pub use geometry::Offset;
pub use geometry::Point;
pub use geometry::Rect;
pub use geometry::Size;
pub use ids::ElementId;
pub use ids::FontId;
pub use ids::IconId;
pub use ids::ImageId;
pub use ids::LogicalWindowId;
pub use ids::SvgSource;
pub use ids::WidgetId;
pub use math::PhysicalRectI32;
pub use math::Scale;
pub use progress::ProgressSpec;
pub use scroll::ScrollAxes;
pub use scroll::ScrollBehavior;
pub use scroll::ScrollMetrics;
pub use scroll::ScrollOutcome;
pub use scroll::ScrollState;
pub use scroll::ScrollbarAxis;
pub use scroll::ScrollbarDrag;
pub use scroll::ScrollbarGeometry;
pub use scroll::ScrollbarGeometrySpec;
pub use scroll::ScrollbarPart;
pub use slider::SliderRangeValue;
pub use slider::SliderSpec;
pub use slider::SliderThumb;
pub use style::Rgba;Deprecated
pub use style::Shadow;Deprecated
pub use style::Border;
pub use style::BorderStyle;
pub use style::BoxShadow;
pub use style::Color;
pub use style::ColorParseError;
pub use style::EdgeColors;
pub use style::LineCap;
pub use style::LineJoin;
pub use style::Radius;
pub use style::StrokeStyle;
pub use style::TextDecoration;
pub use style::TextStyle;
pub use style::Theme;
pub use style::ThemePalette;
pub use style::ThemeRadius;
pub use style::ThemeShadows;
pub use style::ThemeSpacing;
pub use style::ThemeState;
pub use style::ThemeTypography;
pub use time_picker::TimeFormat;
pub use time_picker::TimeValue;
pub use upload::UploadAccept;
pub use upload::UploadFile;

Modules§

app_identity
Portable application identity and conventional icon descriptors.
chart
Pure chart value mapping and series helpers.
chat
Pure transport-agnostic chat session and message state.
color_picker
Pure color picker values and conversions.
date_picker
Pure date picker values and calendar helpers.
event
Platform-neutral input events (pointer, keyboard, IME, window).
geometry
Logical clip shapes and 2D primitives (Rect, Size, …).
ids
Stable identifiers for elements, widgets, fonts, and icons.
math
Logical ↔ physical coordinate conversion and snapping.
progress
Pure progress value mapping.
scroll
Pure scroll state, metrics, and wheel normalization.
slider
Pure slider value mapping, snapping, and range helpers.
style
Colors, layout lengths, flex, theme, and box styling.
time_picker
Pure time picker values and formatting helpers.
upload
Pure upload/dropzone metadata and accept matching.