Crate widget_intelligence

Source
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§

kyma_extractor
persistence
similarity_engine
tauri_examples

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