Skip to content

Exercise scoring and quiz state management

jedmund requested to merge jedmund/exercise-scoring into jedmund/lesson-views

Created by: jedmund

Summary

  • Exercise redesign: two-column layout with recall context, scoring, progress dots, completion screen with score ring and try again
  • Wrong answers advance the prompt instead of looping indefinitely
  • QuizState extracted from SplitQuizView into registry-managed observable
  • ExerciseStateRegistry renamed to ActivityStateRegistry, now manages both exercise and quiz state
  • Shared ProgressDotsView component replaces inline dot implementations
  • Exercise copy updated for lesson 1 (titles, context paragraphs, show_labels)

Stacked on #5.

Test plan

  • Complete an exercise, verify score ring and headline match performance
  • Wrong answer advances to next prompt (not infinite retry)
  • Try Again resets and reshuffles prompts
  • Quiz renders questions, tracks answers, shows explanation and results
  • Progress dots update correctly for both exercises and quizzes

Merge request reports

Loading