refactor(qconnect): extract queue cursor and order resolution to queue_resolution.rs
Move 18 items that own the protocol-side queue/cursor/order math from
mod.rs into a dedicated queue_resolution submodule:
Types (pub(super)):
- QconnectOrderedQueueCursor — Queue/Autoplay cursor abstraction
- QconnectRemoteSkipDirection — controller next/previous direction
- QconnectControllerQueueItemResolution — skip resolution outcome
Helpers (pub(super) when used by other submodules, fn otherwise):
- is_valid_ordered_queue_shuffle_order
- ordered_queue_cursors, queue_item_track_id_for_cursor,
normalized_queue_item_id_for_cursor
- find_cursor_index_by_queue_item_id, find_cursor_index_by_track_id,
find_cursor_index_by_track_id_before
- resolve_current_cursor_index_from_snapshots,
resolve_controller_queue_item_from_snapshots,
resolve_queue_item_ids_from_queue_state
- dedupe_track_ids
- resolve_remote_start_index, resolve_core_shuffle_order
- is_cloud_placeholder_current_queue_item,
normalize_current_queue_item_id_from_queue_state
session.rs now imports cursor helpers directly from
super::queue_resolution::* instead of going through mod.rs.
Pure relocation. mod.rs: 5766 → 5297 lines. queue_resolution.rs: 460 lines.
cc