RavenRS · Rust GUI
ModelPicker
Edit and run the ModelPicker RavenRS example in your browser. Explore its Rust code and download a Cargo project for desktop and WebAssembly.
One declarative Rust interface, GPU rendering, reactive state and semantic design tokens. Free and open source under MIT OR Apache-2.0.
Rust source
fn model_picker() -> impl View {
let choice = |name: &str, status| ModelChoice {
name: name.into(),
details: "1.1 GB · License: Apache 2.0".into(),
status,
in_use: false,
result: None,
error: None,
};
// It shows what it is given. `ravenrs_ai::ModelManager` does the work on the desktop.
ModelPicker::new(vec![
choice("To download", ModelStatus::Available),
choice("Arriving", ModelStatus::Downloading(0.4)),
ModelChoice {
result: Some("About 20 words per second.".into()),
..choice("On this machine", ModelStatus::Installed)
},
])
.on_test(|_| {})
.on_use(|_| {})
}The interactive preview loads when JavaScript and WebGPU or WebGL2 are available. You can read the guide and examples here at any time.
More examples
AccordionAlertAnchorAppShellAreaChartAspectRatioAttachmentStripAudioPlayerButtonAvatarBadgeBarChartBarcodeBreadcrumbButtonButtonGroupCalendarCanvasCardCardViewCarouselChartChartCardChartReferenceChatCheckboxCodeBlockCodeEditorCollapseColorPairColorPickerColorSwatchColorWheelComboboxCommandPaletteCompareViewConfirmDialogContextMenuCountUpCropOverlayCurveEditorDataGridDatePickerDateRangePickerDateTimePickerDaySeparatorDialogDisclosureDividerDockAreaDocumentTabsDotDropdownMenuDropZoneEmptyStateEventCalendarExpressionEditorEyedropperFavoriteToggleFileBrowserFileUploadFilmstripFilterBuilderFloatingPanelFloatingToolbarFooterFormFieldFormLayoutGlassCardGridHelpTipHeroBannerHistogramHoverCardHStackIconIconButtonIconTileImageImageFieldImageLightboxInlineRenameInputOtpKbdLabelLinkListLookupFieldLottieMarqueeMaskedFieldMenubarMinimapModelPickerMovieAssistantMoviePlayerMultiProgressNinePointAnchorNumberFieldOverlayBadgePagedDocumentViewPageHeaderPaginationPlaygroundPopoverProgressBarPropertyRowProtractorQuadFieldRadioGroupRatingRecurrenceEditorReleaseNotesRibbonRichTextRubberBandRuleOfThirdsGridRulerSankeyChartSchedulerScrollEdgeArrowScrollLinkedScrollSceneScrollViewSectionSegmentedControlSelectSelectionBarSheetShimmerTextShortcutHintBarShortcutSheetSidebarSidebarBrandSkeletonSliderSortableListSpacerSpinnerSplashScreenSplitButtonSplitHandleSplitPanesSplitterStatStatusBarStepBadgeStepIndicatorStepperStickySwatchGridTableTabsTagBoxTextTextAreaTextFieldThemeEditorThemePickerThemeSwitcherTickerTileLayoutTimelineTimePickerTitleBarToasterToggleToggleButtonToggleGroupToolbarToolRailTooltipTransformHandlesTreeViewValueSliderVirtualListVStackWizardYearViewZoomControlZoomPanViewZStack