Files
OpenSquawk/shared/learn/config.ts
itsrubberduck ea51e1dcc3 feat(classroom): integrate user feedback — audio speed, METAR TTS, phonetics, UI fixes
- Lower default audio speed to 0.85x, extend slider range to 0.5-1.3x
- Add METAR normalization for intelligible TTS (wind, vis, clouds, temp, QNH)
- Expand SID/STAR suffix regex to handle spaces (SUGOL 2S)
- Add approach suffix phonetic expansion (ILS 08R Y → Yankee)
- Fix "Soll:" → "Expected:" in readback feedback
- Accept numeric values for pushback delay field
- Add news article documenting the changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 14:21:35 +01:00

43 lines
825 B
TypeScript

export interface LessonProgress {
best: number
done: boolean
}
export type LearnProgress = Record<string, Record<string, LessonProgress>>
export interface LearnConfig {
tts: boolean
radioLevel: number
voice: string
audioChallenge: boolean
audioSpeed: number
}
export interface LearnState {
xp: number
progress: LearnProgress
config: LearnConfig
unlockedModules: string[]
}
export const LEARN_CONFIG_DEFAULTS: LearnConfig = {
tts: false,
radioLevel: 5,
voice: '',
audioChallenge: true,
audioSpeed: 0.85,
}
export function createDefaultLearnConfig(): LearnConfig {
return { ...LEARN_CONFIG_DEFAULTS }
}
export function createDefaultLearnState(): LearnState {
return {
xp: 0,
progress: {} as LearnProgress,
config: createDefaultLearnConfig(),
unlockedModules: [],
}
}