master
refactor: extract audio playback into proper backend, replace TTS with sherpa-onnx - New Audio::IAudioBackend interface with OpenAL implementation - New Sound struct replacing ad-hoc audio data passing - Replace Voxtral TTS backend with SherpaOnnx (Kokoro) backend - Rename AudioData → MicrophoneInputAudioData for clarity - Clean up main.cpp by removing inline OpenAL code - Enforce C++20 standard across the build and add compile_commands.json