390eca9cdab218600867e6921ea0fc027d6fdc0b
Replaced minifb with winit + softbuffer: Input (layout-agnostic): - winit uses PhysicalKey<KeyCode> which maps to physical key positions - KeyCode::KeyA = physical A key, regardless of keyboard layout - Works on Russian, Arabic, any layout — no key mapping needed - HashSet<KeyCode> tracks pressed/released state - Proper Press/Release events from OS, no timeout hacks FPS improvements: - Glyph atlas pre-built at startup (alpha bitmap, zero per-frame alloc) - render_to_buffer: skip empty cells entirely (no draw call) - blend_fast: bitshift instead of division for alpha blending - Buffer fill via .fill() instead of nested loop - copy_from_slice for pixel transfer to softbuffer (memcpy speed) - ControlFlow::Poll for maximum frame rate 109 tests, 0 failures
Description
ASCII physical game
1.9 MiB
Languages
Rust
98.6%
GLSL
1%
Python
0.4%