Expand description
§Widget Intelligence
A Rust library for intelligent widget suggestion and learning based on user behavior patterns.
This crate provides functionality for:
- Learning from widget usage patterns
- Suggesting widget values based on similarity
- Persistent storage using Sled database
- Integration with Tauri applications
- Extracting widget information from Kyma JSON data
§Features
- Similarity Engine: Core algorithm for finding similar widgets based on multiple features
- Persistence: Sled-based storage for long-term learning
- Kyma Integration: Extract widget data from Kyma JSON format
- Tauri Commands: Ready-to-use Tauri commands for frontend integration
§Example
use widget_intelligence::{WidgetSuggestionEngine, Widget};
let mut engine = WidgetSuggestionEngine::new();
let widget = Widget {
label: Some("Master Volume".to_string()),
minimum: Some(0.0),
maximum: Some(127.0),
current_value: Some(95.0),
is_generated: Some(false),
display_type: Some("slider".to_string()),
};
engine.store_widget(widget);
let suggestions = engine.get_suggestions(&Widget {
label: Some("Volume".to_string()),
..Default::default()
}, 5);Re-exports§
pub use similarity_engine::FilteredWidgetDescription;pub use similarity_engine::Preset;pub use similarity_engine::Suggestion;pub use similarity_engine::ValueStats;pub use similarity_engine::Widget;pub use similarity_engine::WidgetFeatures;pub use similarity_engine::WidgetRecord;pub use similarity_engine::WidgetSuggestionEngine;pub use similarity_engine::WidgetValue;pub use persistence::ExportData;pub use persistence::PersistentWidgetSuggestionEngine;pub use persistence::SledPersistenceError;pub use persistence::SledPersistenceManager;pub use kyma_extractor::KymaWidgetExtractor;pub use kyma_extractor::WidgetMetadata;pub use tauri_examples::IntelligenceStats;pub use tauri_examples::PresetData;pub use tauri_examples::StandaloneIntelligenceService;pub use tauri_examples::SuggestionResponse;pub use tauri_examples::WidgetInsightResponse;
Modules§
Functions§
- create_
test_ widget - Utility function to create a simple widget for testing
- init_
intelligence_ system - Initialize the widget intelligence system with a database path
- init_
standalone_ service - Initialize the standalone intelligence service
- validate_
widget - Utility function to validate widget data