From 214d0255a054004bb0c86aa1a7ae0e9ca7cb6c5d Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 11 Jan 2026 09:02:13 +0000 Subject: [PATCH 1/3] Add skippable course option and quality sleep preference to SPA - Added 'is_skippable' checkbox to course groups in SPA planning view. - Added 'Quality Sleep' (Avoid 9-13) preference to SPA planning view. - Updated solver logic to ignore skippable courses for soft constraints (Early Morning, Quality Sleep, Weekend, Day Max, Compactness). - Added 'Actual Weekly Hours' statistic to results view (green text). - Render skippable courses with green background in schedule. - Updated persistence logic to migrate old sessions with default values. - Verified logic with standalone node tests and UI with Playwright. --- dist/index.html | 13 ++- dist/static/js/app.js | 26 ++++-- dist/static/js/solver.js | 64 ++++++++++++-- server.log | 32 +++---- verification/spa_verified.png | Bin 0 -> 35743 bytes verification/verify_spa.py | 158 ++++++++++++++++++++++++++++++++++ 6 files changed, 256 insertions(+), 37 deletions(-) create mode 100644 verification/spa_verified.png create mode 100644 verification/verify_spa.py diff --git a/dist/index.html b/dist/index.html index eeca5fa..9a9fb8a 100644 --- a/dist/index.html +++ b/dist/index.html @@ -47,6 +47,7 @@ .timetable th { background: #f9f9f9; } .cell-active { background-color: #bbdefb; color: #0d47a1; font-size: 0.75rem; border-radius: 2px; height: 100%; width: 100%; display: flex; flex-direction: column; justify-content: center; overflow: hidden; } .cell-active.gray { background-color: #e0e0e0; color: #757575; opacity: 0.8; } + .cell-active.skippable { background-color: #c8e6c9; color: #2e7d32; } .cell-conflict { background-color: #ffcdd2; color: #b71c1c; } /* Toast */ @@ -194,7 +195,13 @@