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

1.5 KiB

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