Files
re-teamspeak/docs/SAD.md
T

53 lines
1.2 KiB
Markdown

# Software Architecture Document
## Overview
The current application is a single desktop client crate built around `iced` and `tsclientlib`.
## Architecture
```text
User
-> iced UI (`src/iced-app/src/main.rs`)
-> tsclientlib sync connection/state
-> optional local audio pipeline (`audio.rs`, `noise_cancel.rs`)
-> TeamSpeak server
```
## Major Components
### UI Layer
- `main.rs`
- Handles navigation, connection flow, channel/client/chat rendering, settings UI
### TeamSpeak Integration
- `tsclientlib`
- Connection setup, state mirror, channel moves, text messages, client updates, voice packet send/receive
### Audio Layer
- `audio.rs`
- `cpal` input/output, Opus encode, simple voice activation logic
### Noise Reduction
- `noise_cancel.rs`
- Supports `None`, `nnnoiseless`, and `sonora`
### Identity Import
- `identity.rs`
- Reads TeamSpeak `settings.db` and imports `identity_secret_key`
## Removed Architecture
The following older architecture is no longer part of the product:
- Tauri application shell
- Custom `tscore` protocol implementation
- Custom `tsaudio` audio engine
- Custom `tsdb` persistence layer
- Shared internal model crate used only by the removed stack