Files
TS3-vibed/File_Structure.md
2026-05-03 10:50:25 +02:00

3.7 KiB

voice_app/ ├── Cargo.toml # Workspace manifest; links all crates ├── .gitignore # Exclude /target, .env, and binary/database files ├── core_protocol/ # Shared binary logic and network Enums │ ├── Cargo.toml # deps: serde, bincode, uuid, chrono │ └── src/ │ ├── lib.rs # Exports modules │ ├── tcp_events.rs # Enums for reliable Auth/Chat/Admin events │ ├── udp_packets.rs # Structs for VoiceFrame headers and payload │ └── constants.rs # Fixed specs: 48kHz, 20ms frame (960 samples) ├── server_node/ # Headless relay, DB host, and Web Admin dashboard │ ├── Cargo.toml # deps: tokio, sqlx, axum, rust-embed, argon2, jwt │ ├── migrations/ # SQLx .sql scripts for SQLite schema persistence │ ├── web_dashboard/ # Admin UI source (HTML/CSS/JS) for embedding │ └── src/ │ ├── main.rs # Entry: Spawns TCP(8080), UDP(8080), HTTP(8081) tasks │ ├── state.rs # Live concurrent State: DashMap tracking │ ├── database.rs # SQLite logic: Auth and Persistent settings │ ├── tcp_router.rs # Logic for reliable control lanes │ ├── udp_relay.rs # High-speed voice packet forwarding │ ├── web_api.rs # Axum REST API and embedded file serving │ └── auth_service.rs # Argon2 hashing and JWT token generation ├── client_node/ # Desktop application, audio engine, and plugin host │ ├── Cargo.toml # deps: eframe, cpal, audiopus, webrtc-dsp, extism │ └── src/ │ ├── main.rs # Entry: Initializes eframe and background Tokio runtime │ ├── app_state.rs # Actor Pattern bridge for non-blocking UI/Net │ ├── ui/ # egui Graphical Interface │ │ ├── layout.rs # Main window shell │ │ ├── side_panel.rs # Channel tree and connection UI │ │ └── chat_area.rs # Text messages and system logs │ ├── network/ # Internet connectivity modules │ │ ├── control.rs # TCP: TLS, Heartbeats, Auto-reconnect │ │ └── voice.rs # UDP: Jitter buffer (40ms), Seq ordering, Decryption │ ├── audio/ # Real-time pipeline with 20ms frames │ │ ├── capture.rs # Microphone -> Lock-free Ringbuffer │ │ ├── dsp.rs # Noise suppression & Echo cancellation (WebRTC) │ │ ├── codec.rs # Opus Encoding/Decoding (48kbps VBR) │ │ └── playback.rs # Ringbuffer -> Speaker output │ └── plugins/ # Wasm Extension Sandbox │ ├── runtime.rs # Extism Wasm runtime initialization │ └── hooks.rs # Event triggers: OnVoice, OnMessage, OnJoin ├── deploy/ # Automation and containerization assets │ ├── Dockerfile # Multi-stage build for tiny server images │ ├── docker-compose.yml # One-click deployment for Docker/NAS users │ └── voice_app.service # Systemd unit file for Linux hosting ├── scripts/ # Zero-conf installation scripts │ ├── install.sh # Linux "One-liner" installer (curl | bash) │ └── update.sh # Automated binary fetcher from GitHub └── config/ └── default_config.toml # Default ports, SQLite paths, and network settings