- 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
26 lines
1.5 KiB
Markdown
26 lines
1.5 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Mode description explains practical behavior
|
|
The ModeToggle component SHALL display a multi-sentence description for each optimization mode that explains the algorithm's practical behavior and when a user would choose it.
|
|
|
|
For "Maximize Count", the description SHALL convey that:
|
|
- The algorithm finds the combination of specializations that achieves the highest count (up to 3).
|
|
- The user's ranking is used only to break ties when multiple combinations achieve the same count.
|
|
|
|
For "Priority Order", the description SHALL convey that:
|
|
- The algorithm processes specializations in the user's ranked order, top to bottom.
|
|
- It locks in the highest-ranked achievable specialization first, then adds more if feasible.
|
|
- The user's ranking directly controls which specializations are prioritized.
|
|
|
|
#### Scenario: User selects Maximize Count mode
|
|
- **WHEN** the optimization mode is set to "maximize-count"
|
|
- **THEN** a description is displayed that explains the algorithm finds the largest possible set of specializations and uses ranking only as a tiebreaker
|
|
|
|
#### Scenario: User selects Priority Order mode
|
|
- **WHEN** the optimization mode is set to "priority-order"
|
|
- **THEN** a description is displayed that explains the algorithm guarantees the top-ranked specialization first and greedily adds more in rank order
|
|
|
|
#### Scenario: Description updates on mode switch
|
|
- **WHEN** the user switches from one mode to the other
|
|
- **THEN** the description text SHALL update immediately to reflect the newly selected mode
|