use rae::{built_in_widget_catalog, WidgetCategory, WidgetUseCase};
fn main() {
let catalog = built_in_widget_catalog();
catalog.validate().expect("built-in catalog is valid");
println!("{} v{}", catalog.name, catalog.version);
println!("widgets: {}", catalog.widgets.len());
println!("token presets: {}", catalog.token_presets.len());
println!("layout recipes: {}", catalog.recipe_kinds.len());
for category in [
WidgetCategory::Action,
WidgetCategory::Input,
WidgetCategory::Selection,
WidgetCategory::Navigation,
WidgetCategory::DataDisplay,
WidgetCategory::Ai,
WidgetCategory::Code,
WidgetCategory::ProAudio,
WidgetCategory::Shell,
] {
println!(
"{:<14} {}",
category.label(),
catalog.by_category(category).len()
);
}
println!("audio widgets:");
for widget in catalog.by_use_case(WidgetUseCase::AudioProduction) {
println!("- {:<20} {}", widget.id, widget.summary);
}
}