rush_sync_server/core/
constants.rs

1// =====================================================
2// FILE: src/core/constants.rs - SICHERE PERFORMANCE-DEFAULTS
3// =====================================================
4
5// Zentrale Terminal-Konfiguration
6pub const APP_TITLE: &str = "RUSH SYNC SERVER";
7pub const DEFAULT_BUFFER_SIZE: usize = 100;
8
9// ✅ SICHERE POLL-RATE: 16ms = 60 FPS (nicht schneller!)
10pub const DEFAULT_POLL_RATE: u64 = 16; // Vorher: 16, jetzt explizit sicher
11
12// ✅ PERFORMANCE-GRENZEN
13pub const MIN_POLL_RATE: u64 = 16; // 60 FPS maximum (Performance-Limit)
14pub const MAX_POLL_RATE: u64 = 1000; // 1 FPS minimum
15pub const MIN_TYPEWRITER_DELAY: u64 = 1; // Minimum 1ms (Zero vermeiden)
16pub const MAX_TYPEWRITER_DELAY: u64 = 2000; // Maximum 2 Sekunden
17
18// ESC-Doppelklick
19pub const DOUBLE_ESC_THRESHOLD: u64 = 250;
20
21// Version
22pub const VERSION: &str = env!("CARGO_PKG_VERSION");
23
24// ✅ PERFORMANCE-EMPFEHLUNGEN als Dokumentation
25/// Empfohlene Werte für optimale Performance:
26///
27/// **Poll Rate (Event Loop):**
28/// - 16ms = 60 FPS (empfohlen für flüssiges UI)
29/// - 33ms = 30 FPS (OK für langsamere Systeme)
30/// - 1-15ms = NICHT empfohlen (hohe CPU-Last)
31/// - 0ms = CRASH (Tokio interval panic)
32///
33/// **Typewriter Delay:**
34/// - 50ms = 20 Zeichen/Sekunde (gut lesbar)
35/// - 30ms = 33 Zeichen/Sekunde (schnell)
36/// - 100ms = 10 Zeichen/Sekunde (entspannt)
37/// - 0ms = Typewriter-Effekt deaktiviert
38pub mod performance_guide {
39    pub const RECOMMENDED_POLL_RATE: u64 = 16; // 60 FPS
40    pub const ACCEPTABLE_POLL_RATE: u64 = 33; // 30 FPS
41    pub const SLOW_POLL_RATE: u64 = 50; // 20 FPS
42
43    pub const FAST_TYPEWRITER: u64 = 30; // 33 chars/sec
44    pub const NORMAL_TYPEWRITER: u64 = 50; // 20 chars/sec
45    pub const SLOW_TYPEWRITER: u64 = 100; // 10 chars/sec
46}