Files
emba-course-solver/openspec/changes/ui-improvements/specs/unified-course-panel/spec.md
Bill Ballou f8bab9ee33 UI improvements: responsive layout, unified panels, credit legend
- Add responsive 2-panel layout (mobile single-col, tablet/desktop grid)
- Unify specialization ranking with credit bars, status badges, and
  expandable allocation breakdowns (remove standalone ResultsDashboard)
- Inline decision tree ceiling data on course buttons with spec counts
- Add Clear All button to reset all course selections
- Add collapsible CreditLegend explaining bars, badges, and limits
- Extract ModeComparison and MutualExclusionWarnings to Notifications
- Add useMediaQuery hook with matchMedia-based breakpoint detection
2026-02-28 21:17:50 -05:00

1.7 KiB

ADDED Requirements

Requirement: Inline decision tree ceiling per course option

When decision tree analysis is available for an open elective set, each course option button SHALL display its ceiling outcome (spec count and spec abbreviations) on the right side of the button.

Scenario: Ceiling data available

  • WHEN an open set has completed decision tree analysis and a course has a ceiling of 3 specs (BNK, FIN, LCM)
  • THEN the course button SHALL show the course name on the left and "3 specs (BNK, FIN, LCM)" on the right

Scenario: Ceiling data not yet available

  • WHEN an open set's decision tree analysis is still computing
  • THEN the course buttons SHALL render without ceiling data, and the set header SHALL show a subtle loading indicator

Scenario: Pinned set does not show ceiling

  • WHEN a set has a pinned course selection
  • THEN the set SHALL display the pinned course name without ceiling data (same as current behavior)

Requirement: High impact indicator on set header

When a set has high impact (variance > 0 in ceiling outcomes), the set header SHALL display a "high impact" indicator.

Scenario: High impact set

  • WHEN an open set's analysis shows impact > 0
  • THEN the set header SHALL display a "high impact" label next to the set name

Requirement: No standalone decision tree section

The standalone DecisionTree component at the bottom of the results dashboard SHALL be removed. All ceiling data SHALL be displayed inline within the course selection panel.

Scenario: All tree data inline

  • WHEN the user views the course selection panel
  • THEN there SHALL be no separate "Decision Tree" heading or section; all ceiling outcomes appear within their respective elective set cards