feat(qbz-models): implement Phase 1 - shared types, events, and traits

Tier 0 crate with no dependencies on other qbz-* crates:

- types.rs: Core API types (Track, Album, Artist, Playlist, Quality, etc.)
- playback.rs: Playback types (QueueTrack, RepeatMode, PlaybackState, etc.)
- events.rs: CoreEvent enum for frontend communication
- traits.rs: FrontendAdapter trait enabling multiple frontends
- error.rs: QbzError enum with error codes and recovery flags

All types extracted from qbz-nix/src-tauri/src/api/models.rs and
queue/mod.rs. Ready for use by Tier 1 crates (qbz-audio, qbz-qobuz).
This commit is contained in:
vicrodh committed 2026-02-14 12:54:52 -06:00
1 parent 0911cf75df
commit deafa15205
7 files changed
+984 -8

No files matched your search

+3
View File
@@ -13,6 +13,9 @@ serde_json = { workspace = true }
# Async
async-trait = { workspace = true }
# Logging
log = { workspace = true }
# Error handling
thiserror = { workspace = true }