Files
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

22 lines
1.1 KiB
Markdown

## ADDED Requirements
### Requirement: Skeleton placeholder during analysis
When an elective set is not pinned and analysis is pending, the CourseSelection component SHALL display skeleton placeholder elements in place of the course choice buttons.
The skeleton placeholders SHALL:
- Visually approximate the size and layout of the course choice buttons they replace.
- Display a pulsing/animated background to indicate loading.
- Replace the current "analyzing..." text label.
#### Scenario: Analysis pending for an unpinned set
- **WHEN** an elective set is not pinned AND `loading` is true AND no analysis result exists for that set
- **THEN** skeleton placeholder rectangles SHALL be displayed instead of course choice buttons
#### Scenario: Analysis completes for a set
- **WHEN** an analysis result arrives for a previously loading set
- **THEN** the skeleton placeholders SHALL be replaced with the actual course choice buttons showing analysis data
#### Scenario: Set is already pinned
- **WHEN** an elective set has a pinned course
- **THEN** no skeleton placeholders SHALL be shown regardless of loading state