Started milestone 2

This commit is contained in:
sam
2026-05-03 15:53:25 +02:00
parent 43483c2145
commit 041955345b
18 changed files with 4616 additions and 60 deletions

View File

@@ -10,14 +10,14 @@ voice_app/
│ ├── Standards/ # Strict rules for code quality and testing
│ └── Concept/ # UI mockups and aesthetic references
├── core_protocol/ # Shared binary logic and network Enums
│ ├── Cargo.toml # deps: serde, bincode, uuid, chrono
│ ├── Cargo.toml # deps: serde, bincode, uuid, chrono, thiserror, secrecy
│ └── 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
│ ├── Cargo.toml # deps: tokio, sqlx, axum, rust-embed, argon2, jwt, dashmap, tracing, anyhow, tokio-util, tokio-serde
│ ├── migrations/ # SQLx .sql scripts for SQLite schema persistence
│ ├── web_dashboard/ # Admin UI source (HTML/CSS/JS) for embedding
│ └── src/
@@ -30,24 +30,28 @@ voice_app/
│ ├── telemetry.rs # Prometheus /metrics endpoint for server health
│ └── 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
│ ├── Cargo.toml # deps: tokio, eframe, cpal, audiopus, webrtc-dsp, extism, tracing, anyhow, tokio-util, tokio-serde
│ └── 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
│ │ ├── mod.rs # Module exports
│ │ ├── 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
│ │ ├── mod.rs # Module exports
│ │ ├── control.rs # TCP: TLS, Heartbeats, Auto-reconnect
│ │ ├── voice.rs # UDP: Jitter buffer (40ms), Seq ordering, Decryption
│ │ └── chaos.rs # UDP Middleware: Artificial packet loss/latency injection
│ ├── audio/ # Real-time pipeline with 20ms frames
│ │ ├── mod.rs # Module exports
│ │ ├── 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
│ ├── mod.rs # Module exports
│ ├── runtime.rs # Extism Wasm runtime initialization
│ └── hooks.rs # Event triggers: OnVoice, OnMessage, OnJoin
├── tests/ # Integration and Load Testing