itsrubberduck bc23afc040 Add STT readback input to classroom
Detlef's original "Rückmeldungen sollten gesprochen werden können"
request was about speaking *into* the readback rather than typing every
field — this wires that up using the existing /api/atc/ptt Whisper
endpoint.

- Mic button in the readback control row records via MediaRecorder,
  posts base64 audio to /api/atc/ptt, then maps the transcription onto
  the lesson's input fields via normalized substring matching against
  each field's expected value plus alternatives.
- Callsign-flagged fields additionally allow a sliding-window
  Levenshtein match because Whisper routinely garbles airline names.
- The transcription is shown back to the user so they can verify what
  was heard before pressing Check.
- The button is hidden when the Speaches speech server is configured
  but unreachable — a small "Speech server unavailable" hint takes its
  place. Browsers without MediaRecorder/getUserMedia never see it.
- Recording state animates the button; transcription state shows a
  spinner. Stops cleanly on Reset and on component unmount.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 10:58:38 +02:00
2026-02-20 23:47:48 +01:00
2026-05-26 10:58:38 +02:00
2026-04-25 20:29:09 +02:00
2026-02-17 18:19:55 +01:00
2025-09-19 16:42:20 +02:00
2026-02-13 14:18:29 +01:00
2025-09-20 22:48:04 +02:00
2026-02-13 08:50:02 +01:00
2025-09-14 21:09:47 +02:00
Description
No description provided
53 MiB
Languages
TypeScript 67.3%
Vue 31.8%
CSS 0.6%
JavaScript 0.3%