Files
emba-course-solver/openspec/changes/analysis-ux-improvements/proposal.md
Bill Ballou 969d4ff5a9 Improve analysis UX: algorithm explanations, skeleton loading, auto-expand achieved specs
- Replace terse one-line optimization mode descriptions with clearer multi-sentence
  explanations of how Maximize Count and Priority Order algorithms behave
- Add skeleton loading placeholders on course buttons while analysis is pending
- Auto-expand achieved specializations to show credit breakdown by default
- Add instructional subtitles to Course Selection and Specializations sections
- Make Clear and Clear All buttons more prominent with visible backgrounds
2026-02-28 21:56:06 -05:00

1.7 KiB

Why

The analysis UI has three usability gaps: the two optimization modes ("Maximize Count" and "Priority Order") have minimal one-line descriptions that don't convey how they differ in practice, there is no visual loading feedback beyond a tiny per-set "analyzing..." label when the solver runs, and achieved specializations don't show their credit breakdown by default—users must discover the click-to-expand behavior on their own.

What Changes

  • Replace the terse one-line mode descriptions in ModeToggle with clearer, more informative explanations that help users understand the practical difference between the two algorithms.
  • Add a skeleton loading placeholder to elective set cards while analysis is pending, replacing the minimal "analyzing..." text with a visual placeholder that communicates progress.
  • Default achieved specializations to expanded state so users always see the per-course credit breakdown without needing to click.

Capabilities

New Capabilities

  • algorithm-explanations: Improved descriptive text and presentation for the two optimization mode settings in ModeToggle.
  • analysis-skeleton-loading: Skeleton placeholder UI shown on elective set cards while the decision tree worker is processing.
  • expanded-achieved-specializations: Achieved specializations default to expanded, always showing the AllocationBreakdown credit list.

Modified Capabilities

Impact

  • app/src/components/ModeToggle.tsx — updated descriptive text and possibly layout for mode explanations.
  • app/src/components/CourseSelection.tsx — replace "analyzing..." text with skeleton loading placeholder.
  • app/src/components/SpecializationRanking.tsx — change default expansion state for achieved specializations.