mirror of
https://github.com/OpenSquawk/OpenSquawk
synced 2026-05-15 11:35:40 +08:00
- 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>
43 lines
825 B
TypeScript
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: [],
|
|
}
|
|
}
|