feat: add sticky error-aware key mastery

Persist ranked-only mastery and use it consistently across progression, milestones, counts, and localized UI. Preserve mastery during history rebuilds, replay errors accurately, and generate replay-derived test profiles. Document the follow-up plan to remove the drill history cap.
This commit is contained in:
2026-08-12 01:09:52 -04:00
parent 0f8493eb02
commit 5daa644d3b
47 changed files with 2683 additions and 722 deletions
+17 -6
View File
@@ -319,13 +319,13 @@ milestones:
open_skill_tree: 'Nospiediet [t] prasmju koka atvēršanai'
branch_complete_msg: 'Esat pabeidzis %{branch} zaru!'
all_levels_mastered: 'Visi %{count} līmeņi apgūti.'
all_keys_confident: 'Katrs taustiņš šajā zarā ir pilnā uzticamībā.'
all_keys_confident: 'Katrs taustiņš šajā zarā ir apgūts.'
all_unlocked_msg: 'Esat atbloķējis katru tastatūras taustiņu!'
all_unlocked_desc: 'Katra rakstzīme, simbols un modifikators tagad pieejams vingrinājumos.'
keep_practicing_mastery: 'Turpiniet praktizēt meistarības veidošanai — kad katrs taustiņš sasniegs pilnu'
confidence_complete: 'uzticamību, būsiet sasniedzis pilnīgu tastatūras apguvi!'
keep_practicing_mastery: 'Turpiniet praktizēt — kad katrs taustiņš būs apgūts,'
confidence_complete: 'būsiet sasniedzis pilnīgu tastatūras apguvi!'
all_mastered_msg: 'Apsveicam — esat sasniedzis pilnīgu tastatūras apguvi!'
all_mastered_desc: 'Katrs tastatūras taustiņš ir maksimālā uzticamībā.'
all_mastered_desc: 'Katrs tastatūras taustiņš ir apgūts.'
mastery_takes_practice: 'Meistarība nav galamērķis — tā prasa pastāvīgu praksi.'
keep_drilling: 'Turpiniet vingrinājumus, lai uzturētu formu.'
hint_skill_tree_continue: 'Atvērt prasmju koku [Jebkurš taustiņš] Turpināt'
@@ -335,16 +335,24 @@ milestones:
unlock_msg_2: 'Vēl viens taustiņš jūsu arsenālā!'
unlock_msg_3: 'Jūsu tastatūra aug! Tā turpiniet.'
unlock_msg_4: 'Soli tuvāk pilnīgai tastatūras apguvei!'
mastery_msg_1: 'Šis taustiņš tagad ir pilnā uzticamībā!'
unlock_msg_plural_1: 'Lielisks darbs! Turpiniet veidot rakstīšanas prasmes.'
unlock_msg_plural_2: 'Vairāk taustiņu jūsu arsenālā!'
unlock_msg_plural_3: 'Jūsu tastatūra aug! Tā turpiniet.'
unlock_msg_plural_4: 'Dažus soļus tuvāk pilnīgai tastatūras apguvei!'
mastery_msg_1: 'Šis taustiņš tagad ir apgūts.'
mastery_msg_2: 'Šo taustiņu jūs protat lieliski!'
mastery_msg_3: 'Muskuļu atmiņa nostiprināta!'
mastery_msg_4: 'Vēl viens taustiņš iekarots!'
mastery_msg_plural_1: 'Šie taustiņi tagad ir apgūti.'
mastery_msg_plural_2: 'Šos taustiņus jūs protat lieliski!'
mastery_msg_plural_3: 'Muskuļu atmiņa nostiprināta!'
mastery_msg_plural_4: 'Vairāk taustiņu iekaroti!'
# Adaptive drill intro overlay
adaptive_intro:
title: ' Laipni lūdzam keydr! '
how_it_works: 'Kā darbojas adaptīvie vingrinājumi:'
description: 'Sākat ar nelielu visbiežāk lietoto burtu kopu. Vingrinājums ģenerē tikai vārdus, kas izmanto šos burtus. Kad rakstāt tos pārliecinoši, jauni taustiņi pakāpeniski tiek atbloķēti, līdz esat apguvis visu tastatūru.'
description: 'Sākat ar nelielu visbiežāk lietoto burtu kopu. Vingrinājums ģenerē tikai vārdus, kas izmanto šos burtus. Kad tos apgūstat, jauni taustiņi pakāpeniski tiek atbloķēti, līdz esat apguvis visu tastatūru.'
target_wpm_label: 'Mērķa WPM:'
target_wpm_desc: 'Tas ietekmē, cik ātri taustiņi tiek atbloķēti — augstāki mērķi prasa ātrāku rakstīšanu. 35 WPM ir labs sākumpunkts, ja neesat pārliecināts. Jūs vienmēr varat to mainīt vēlāk iestatījumos.'
hint_adjust: 'Pielāgot WPM'
@@ -390,6 +398,9 @@ keyboard:
in_focus_label: 'Fokusā?: '
mastery_label: 'Apguve: '
mastery_locked: 'Bloķēts'
mastery_mastered: 'Apgūts'
mastery_in_progress: 'Notiek'
speed_confidence_label: 'Ātruma uzticamība: '
ranked_avg_time: 'Vērt. vid. laiks: '
ranked_best_time: 'Vērt. labākais laiks: '
ranked_samples: 'Vērt. paraugi: '