Files
Psychotoxical-psysonic/src-tauri/crates/psysonic-library/src/lib.rs
T
cucadmuh b24a7fc5cb fix(analysis): native library backfill coordinator for advanced strategy (#881)
* feat(analysis): native library backfill coordinator for advanced strategy

Move advanced analytics scheduling from the webview loop into a Rust
background worker (configure + spawn_blocking batch/enqueue), matching
cover backfill. Scan hash+BPM gap tracks instead of the full library;
suppress low-priority analysis UI events; limit loudness refresh IPC to
the playback window.

* fix(analysis): flat backfill configure IPC and restore probe track-perf

Use flattened Tauri args like cover backfill so release/prod invoke works;
keep emitting analysis:track-perf for library low-priority work so Performance
Probe tpm/last-track stats update while waveform/enrichment UI events stay suppressed.

* chore(analysis): fix clippy and drop duplicate TS backfill policy

Allow too_many_arguments on library_analysis_backfill_configure for CI;
remove unused frontend batch API and TS watermark helpers now owned in Rust;
clarify analysis_emits_ui_events comment for low-priority track-perf.

* docs: CHANGELOG and credits for PR #881 native analysis backfill
2026-05-28 10:49:31 +03:00

46 lines
1.3 KiB
Rust

//! `psysonic-library` — unified track store and (future) sync engine.
//!
//! v1 scope (this crate, across PR-1..PR-7):
//! - `store` — SQLite connection, WAL config, versioned migration runner
//! - `repos` — typed repositories over the v1 schema (track, album, artist, …)
//! - `search` — FTS5 query helpers
//! - `filter` — `FilterFieldRegistry` (Rust source of truth for Advanced Search)
//! - `sync` — capability probe + orchestrator (PR-3*)
pub(crate) mod bulk_ingest;
pub mod advanced_search;
pub mod album_compilation_filter;
pub mod browse_support;
mod advanced_search_mood;
pub mod analysis_backfill;
pub mod analysis_backfill_policy;
pub mod library_readiness;
pub mod artist_lossless_browse;
pub mod cover_backfill;
pub mod cover_resolve;
pub mod canonical;
pub mod commands;
pub mod cross_server;
pub mod dto;
pub mod enrichment;
pub mod filter;
pub mod mood_groups;
pub mod live_search;
pub mod lossless_albums;
pub mod lossless_formats;
pub mod payload;
pub mod repos;
pub mod runtime;
pub mod search;
pub mod store;
pub mod sync;
pub(crate) mod track_fts;
pub use payload::LibrarySyncProgressPayload;
pub use runtime::LibraryRuntime;
pub use store::{LibraryStore, LIBRARY_DB_SCHEMA_VERSION};
// Re-export logging facade so submodules can write `crate::app_eprintln!()`.
pub use psysonic_core::{app_deprintln, app_eprintln, logging};