//! Desktop-owned orchestration: managed model setup and persistent hybrid queries.
use crate::{model_download, AppState, Filters};
use searchi_core::SearchResult;
use searchi_service::{EmbeddingReport, HybridSearch};
use serde::Serialize;
use std::{
path::PathBuf,
sync::{
atomic::{AtomicBool, AtomicU64, Ordering},
Mutex,
},
};
use tauri::State;
pub struct SemanticState {
pub model_directory: PathBuf,
pub worker: PathBuf,
verified: AtomicBool,
downloading: AtomicBool,
embedding: AtomicBool,
querying: AtomicBool,
warmed: AtomicBool,
warming: AtomicBool,
downloaded_bytes: AtomicU64,
error: Mutex