Skip to content

migrate key signature quiz to scored exercise

jedmund requested to merge jedmund/ksq-scored-exercise into main

Created by: jedmund

Summary

  • Wraps the Key Signature Quiz in ExerciseState + ScoringOverlay, following the Scale Builder template from #32. Lesson pages gain a keySignatureQuizLayout helper on PageContainer that records progress on completion.
  • Fixes the long-broken identify_accidentals mode: options are now derived from the prompts' accidental sets (e.g. "F♯ C♯"), and comparison/feedback/per-question review all route through the joined accidental string instead of the key name.
  • Migrates the playground to invoke KeySignatureQuizExercise directly and removes the now-unused KeySignatureQuizView + its ToolViewFactory case.
  • Fleshes out the KSQ playground configurator to match Interval and Scale Builder: drops the "Quiz" section header and adds a keys multi-select (all 13 major keys), progressive difficulty, and total questions. Prompts are generated from the selected keys with auto-built explanations.
  • Adds an "Under Construction" group on the Home screen and moves Scale Explorer, Mode Rotator, Virtual Synth, and Mod Matrix there so Exercises reflects what's actually polished and scored.

Test plan

  • Build succeeds for iPad Pro 13" (M5) simulator
  • Standalone playground: answer selection → feedback → completion card → retry
  • Per-question review shows the right correct answer in both modes
  • Home screen shows Tools / Exercises / Under Construction with correct membership
  • Lesson-context flow in Music Theory 2-ex2 (manual)
  • KSQ configurator: keys deselect, progressive mode, totalQuestions truncation (manual)

Merge request reports

Loading