9458d265f0062652b9841c429ee62fc9ede2a0cf
Problem: event::poll(0ms) once per frame missed events between frames, causing laggy/missed input. Terminal key repeat timing was unpredictable. Fix: dedicated input thread that blocks on event::read() and pushes all events to an mpsc channel. Game loop drains channel with try_iter() each frame — gets every event without blocking, zero missed inputs. - InputHandler::start() spawns background thread - InputHandler::stop() cleans up on game exit - try_iter() collects all accumulated events per frame - Removed 16ms sleep (no longer needed, input doesn't block) - Hold timeout reduced to 60ms (events arrive more reliably now) - 109 tests, 0 warnings, 0 failures
Description
ASCII physical game
1.9 MiB
Languages
Rust
98.6%
GLSL
1%
Python
0.4%