00c6b3bf87f4cfda5eae90c6c52deecaf6d3dd6a
Problem: terminal key repeat sends one event, then pauses ~500ms, then floods repeats. This caused stop-then-accelerate movement. Fix: track held keys (Press/Release events), apply movement every tick based on held state, not per-event. Jump still fires once per press. Paint and quit are one-shot actions. - InputHandler: held: Vec<HeldKey> tracks Left/Right/Jump/Camera - update(): drains all pending events, updates held state - held_actions(): returns active movement actions per tick - handle_input: applies held actions every frame - Camera pan reduced to 2/tick (was 5) for smoothness - 109 tests, 0 warnings, 0 failures
Description
ASCII physical game
1.9 MiB
Languages
Rust
98.6%
GLSL
1%
Python
0.4%