Architecture
TrangoPlayer is a Cargo workspace split into five crates so that most of the business logic — subtitle parsing, cue navigation, Ollama's HTTP/JSON handling, system audio capture — is testable without pulling in the heavier Slint/libmpv dependencies.
- Crate structure — the five crates, what each one owns, and how they depend on each other.
- Video playback — how libmpv's render API is embedded inside the Slint window without mpv opening a window of its own.
- System audio capture — how the Audio source records the system's own audio output, and why it's Linux/ PulseAudio-PipeWire only for now.
- Testing — what's covered by fast unit tests, what the end-to-end suite exercises, and what's deliberately left to manual testing.