Expand description
Portable, backend-agnostic core vocabulary for the Fret workspace.
This crate is intentionally dependency-light. It must remain usable by:
- core/runtime crates (
fret-runtime,fret-ui), - ecosystem crates (policy/component layers),
- and backends/runners (native + web),
without pulling in backend bindings (winit, wgpu, web-sys) or forcing an async runtime.
For module ownership and “where should this go?” guidance, see crates/fret-core/README.md.
Re-exports§
pub use cursor::CursorIcon;pub use dock::Axis;pub use dock::DockFloatingWindow;pub use dock::DockGraph;pub use dock::DockNode;pub use dock::DockOpApplyError;pub use dock::DockOpApplyErrorKind;pub use dock::DropZone;pub use dock::EdgeDockDecision;pub use effects::CustomEffectDescriptorV1;pub use effects::CustomEffectDescriptorV2;pub use effects::CustomEffectDescriptorV3;pub use effects::CustomEffectProgramLanguage;pub use effects::CustomEffectRegistrationError;pub use effects::CustomEffectService;pub use file_dialog::FileDialogDataEvent;pub use file_dialog::FileDialogFilter;pub use file_dialog::FileDialogOptions;pub use file_dialog::FileDialogSelection;pub use geometry::Corners;pub use geometry::Edges;pub use geometry::Point;pub use geometry::Px;pub use geometry::Rect;pub use geometry::RectPx;pub use geometry::Size;pub use geometry::Transform2D;pub use ids::AppWindowId;pub use ids::ClipboardToken;pub use ids::DockNodeId;pub use ids::EffectId;pub use ids::ExternalDropToken;pub use ids::FileDialogToken;pub use ids::FontId;pub use ids::FrameId;pub use ids::ImageId;pub use ids::ImageUpdateToken;pub use ids::ImageUploadToken;pub use ids::IncomingOpenToken;pub use ids::MaterialId;pub use ids::NodeId;pub use ids::PathId;pub use ids::PointerId;pub use ids::RenderTargetId;pub use ids::SvgId;pub use ids::TextBlobId;pub use ids::TimerToken;pub use ids::ViewId;pub use image::AlphaMode;pub use image::ChromaSiting;pub use image::ColorPrimaries;pub use image::ColorRange;pub use image::ImageColorInfo;pub use image::ImageColorSpace;pub use image::ImageEncoding;pub use image::TransferFunction;pub use image::YuvMatrix;pub use incoming_open::IncomingOpenDataEvent;pub use incoming_open::IncomingOpenItem;pub use incoming_open::IncomingOpenKind;pub use input::ClipboardAccessError;pub use input::ClipboardAccessErrorKind;pub use input::ClipboardWriteOutcome;pub use input::Event;pub use input::ExternalDragEvent;pub use input::ExternalDragFile;pub use input::ExternalDragFiles;pub use input::ExternalDragKind;pub use input::ExternalDropDataEvent;pub use input::ExternalDropFileData;pub use input::ExternalDropReadError;pub use input::ExternalDropReadLimits;pub use input::ImageUpdateDropReason;pub use input::ImeEvent;pub use input::InternalDragEvent;pub use input::InternalDragKind;pub use input::Modifiers;pub use input::MouseButton;pub use input::PointerCancelEvent;pub use input::PointerCancelReason;pub use input::PointerEvent;pub use input::PointerType;pub use input::keycode_to_ascii_lowercase;pub use input::MouseButtons;pub use input::ViewportInputEvent;pub use input::ViewportInputGeometry;pub use input::ViewportInputKind;pub use layout_direction::LayoutDirection;pub use materials::MaterialBindingShape;pub use materials::MaterialCatalogTextureKind;pub use materials::MaterialDescriptor;pub use materials::MaterialKind;pub use materials::MaterialRegistrationError;pub use materials::MaterialService;pub use panels::PanelKey;pub use panels::PanelKind;pub use render_text::RendererBundledFontProfileSnapshot;pub use render_text::RendererGlyphAtlasPerfSnapshot;pub use render_text::RendererTextFallbackPolicySnapshot;pub use render_text::RendererTextFontTraceEntry;pub use render_text::RendererTextFontTraceFamilyClass;pub use render_text::RendererTextFontTraceFamilyUsage;pub use render_text::RendererTextFontTraceSnapshot;pub use render_text::RendererTextPerfSnapshot;pub use scene::BlendMode;pub use scene::Color;pub use scene::ColorSpace;pub use scene::CompositeGroupDesc;pub use scene::DitherMode;pub use scene::DrawOrder;pub use scene::EffectChain;pub use scene::EffectMode;pub use scene::EffectParamsV1;pub use scene::EffectQuality;pub use scene::EffectStep;pub use scene::GradientStop;pub use scene::LinearGradient;pub use scene::MAX_STOPS;pub use scene::MaterialParams;pub use scene::Paint;pub use scene::RadialGradient;pub use scene::Scene;pub use scene::SceneOp;pub use scene::SceneRecording;pub use scene::SceneValidationError;pub use scene::SceneValidationErrorKind;pub use scene::SweepGradient;pub use scene::TileMode;pub use scene::UvRect;pub use semantics::SemanticsActions;pub use semantics::SemanticsCheckedState;pub use semantics::SemanticsFlags;pub use semantics::SemanticsInlineSpan;pub use semantics::SemanticsInvalid;pub use semantics::SemanticsLive;pub use semantics::SemanticsNode;pub use semantics::SemanticsNodeExtra;pub use semantics::SemanticsNumeric;pub use semantics::SemanticsOrientation;pub use semantics::SemanticsPressedState;pub use semantics::SemanticsRole;pub use semantics::SemanticsRoot;pub use semantics::SemanticsScroll;pub use semantics::SemanticsSnapshot;pub use services::UiServices;pub use streaming::StreamingUploadPerfSnapshot;pub use svg::SvgFit;pub use svg::SvgService;pub use text::AttributedText;pub use text::CaretAffinity;pub use text::DecorationLineStyle;pub use text::FontWeight;pub use text::HitTestResult;pub use text::StrikethroughStyle;pub use text::TextAlign;pub use text::TextCommonFallbackInjection;pub use text::TextConstraints;pub use text::TextFontAxisSetting;pub use text::TextFontFamilyConfig;pub use text::TextFontFeatureSetting;pub use text::TextInkMetrics;pub use text::TextInput;pub use text::TextInputRef;pub use text::TextLeadingDistribution;pub use text::TextLineHeightPolicy;pub use text::TextLineMetrics;pub use text::TextMetrics;pub use text::TextOverflow;pub use text::TextPaintStyle;pub use text::TextService;pub use text::TextShapingStyle;pub use text::TextSlant;pub use text::TextSpan;pub use text::TextStrutStyle;pub use text::TextStyle;pub use text::TextStyleRefinement;pub use text::TextVerticalPlacement;pub use text::TextWrap;pub use text::UnderlineStyle;pub use vector_path::FillRule;pub use vector_path::FillStyle;pub use vector_path::PathCommand;pub use vector_path::PathConstraints;pub use vector_path::PathMetrics;pub use vector_path::PathService;pub use vector_path::PathStyle;pub use vector_path::StrokeCapV1;pub use vector_path::StrokeJoinV1;pub use vector_path::StrokeStyle;pub use vector_path::StrokeStyleV2;pub use viewport::ViewportFit;pub use viewport::ViewportMapped;pub use viewport::ViewportMapping;pub use window::ColorScheme;pub use window::ContrastPreference;pub use window::ForcedColorsMode;pub use window::WindowAnchor;pub use window::WindowFrameClockService;pub use window::WindowFrameClockSnapshot;pub use window::WindowLogicalPosition;pub use window::WindowMetricsService;
Modules§
- cursor
- dock
- effects
- file_
dialog - Portable file-dialog contracts.
- geometry
- ids
- image
- incoming_
open - Portable “open-in” / incoming-open contracts.
- input
- layout_
direction - materials
- panels
- render_
text - scene
- semantics
- services
- share
- Portable share-sheet (export) contracts.
- streaming
- svg
- text
- time
- Cross-platform time primitives.
- utf
- UTF-8 / UTF-16 index conversion helpers.
- vector_
path - viewport
- window
Structs§
- Dock
Layout - Dock
Layout Builder - Convenience helpers to build a
DockGraph(runtime dock tree) without manually callingDockGraph::insert_nodeeverywhere. - Dock
Layout Floating Window - Dock
Layout Validation Error - Dock
Layout Window - Dock
Rect - Dock
Window Placement - Editor
Dock Layout Spec - Split
Fractions Update
Enums§
- Dock
Layout Node - Dock
Layout Validation Error Kind - DockOp
- High-level docking operations emitted by the UI layer and applied by the app layer.
- KeyCode
- Code is the physical position of a key.