Commit Graph
107 Commits
Author SHA1 Message Date
hz 07195dd24a Prioritize examination modal input 2026-08-12 01:48:15 -05:00
hz 9a54bfc6d6 Integrate examinations into CCS interview 2026-08-11 22:27:37 -05:00
hz 6108011f74 Refresh stale CCS exam attempts 2026-08-10 21:30:43 -05:00
hz 07516784d2 Add graphical CCS physical examination 2026-08-10 03:27:45 -05:00
hz 579e1e9be4 Refine CCS desktop shortcuts 2026-08-10 01:05:06 -05:00
hz 71f33453d3 Polish CCS computer desktop 2026-08-10 00:45:01 -05:00
hz 33b55753cb Expand CCS patient history 2026-08-09 23:59:28 -05:00
hz d349998d12 Make CCS vitals window draggable 2026-08-09 22:20:20 -05:00
hz 63b9d3c557 Fix CCS vitals layout 2026-08-09 21:35:41 -05:00
hz 065db96211 Add CCS computer vitals app 2026-08-07 22:44:30 -05:00
hz 2b25e25424 Remove CCS viewport letterboxing 2026-08-07 19:17:20 -05:00
hz 91690b2fe9 Scale CCS experience to 16:9 2026-08-07 19:04:16 -05:00
hz e50a97ba91 Add simulated CCS computer 2026-08-07 18:31:00 -05:00
hz 41b3092552 Polish fullscreen CCS dialogue 2026-08-07 17:56:49 -05:00
hz bab73b53ff Pad CCS continuation prompt 2026-08-07 02:33:25 -05:00
hz a4115f4971 Fix CCS scene-wide dialogue clicks 2026-08-06 23:41:42 -05:00
hz 6f81e5af62 Improve CCS dialogue advancement 2026-08-06 22:51:25 -05:00
hz 6e039f00a7 Size CCS speech bubbles to content 2026-08-06 20:39:40 -05:00
hz dfc224660e Constrain CCS patient dialogue 2026-08-06 05:13:21 -05:00
hz 2c7c5dd387 Refine graphical CCS interview flow 2026-08-06 04:58:15 -05:00
hz ee8e8cf787 Improve CCS dialogue layout 2026-08-06 04:41:44 -05:00
hz 4792ff2620 Prevent hidden CCS opening overlays 2026-08-06 04:23:53 -05:00
hz 38d62918d4 Resume stale graphical CCS interviews 2026-08-06 03:34:07 -05:00
hz 0c330380da Keep UAT CCS smoke on management cases 2026-08-06 02:57:08 -05:00
hz a0dae8e478 Make graphical CCS dialogue choice first 2026-08-06 02:48:44 -05:00
hz 58dd370149 Add graphical duodenal ulcer interview 2026-08-05 23:14:51 -05:00
hz af2bbb673d Connect graphical CCS interviews to cases 2026-08-05 20:14:27 -05:00
hz 31093ab80d Open CCS Cases 2 in doctor scene 2026-08-05 18:53:00 -05:00
hz d76b2c809e Add graphical CCS Cases 2 prototype 2026-08-05 18:17:12 -05:00
hz 976cb70d4a Restrict progression features to UAT 2026-08-04 08:08:47 -05:00
hz c140b9a96c Fix CCS popup lifecycle and contrast 2026-08-04 07:10:36 -05:00
hz 300b230c03 Add weekly consistency goals 2026-08-01 04:14:39 -05:00
hz ecd5da9162 Add daily study missions 2026-08-01 04:02:24 -05:00
hz 8c439c6294 Add question bank mastery paths and gap questions 2026-07-31 23:46:46 -05:00
hz 53b85942d3 Merge main into production 2026-07-30 17:08:31 -05:00
hz 5488dec2c7 Lock submitted simulation answers 2026-07-30 16:54:12 -05:00
hz a08d0d9bf9 Fix long answer choice layout 2026-07-30 16:28:44 -05:00
hz ae6b37eb7d Make simulation block submission idempotent 2026-07-30 15:30:54 -05:00
hz c63227fcf5 Merge pull request 'Main' (#16) from main into production
Reviewed-on: admin/step3#16
2026-07-30 15:04:21 -05:00
hz 98518e8d39 Keep answered follow-ups expanded 2026-07-30 05:11:54 -05:00
hz fa5df8795f Reduce answer review scroll redraws 2026-07-30 05:02:03 -05:00
hz bf56f4192f Fix simulated exam question flow 2026-07-30 04:26:18 -05:00
hzandClaude Sonnet 5 efe60f36c5 Fix dashboard info-icon rendering and profile <null> display
Info badge: the icon was a PanelContainer using StyleBoxFlat corner
radius to fake a circle, with the radius exceeding half the box size,
causing visible artifacts. Replaced with a custom-drawn Control
(draw_arc) for a clean ring at any size, and added a hover tooltip
explaining what each stat card measures.

Profile: Dictionary.get(key, default) only falls back when the key is
missing, not when it's present with a null value, so a null
displayName rendered as the literal string "<null>" (str(null) in
GDScript) - including pre-filling the edit-profile dialog with it.
Added a shared string_field() helper that treats null the same as
missing, applied everywhere an account/preference string field is
displayed or edited.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-07-26 16:27:46 -05:00
hz 94e0e5dd70 Confirm passwords for external account creation 2026-07-26 14:52:41 -05:00
hz 500477b612 Add dashboard performance trends 2026-07-25 22:43:34 -05:00
hz 46953ee71a Reach Settings/Profile from the pause menu, with a way back
The pause menu (Escape during a question/CCS/flashcards run) only had
Resume/UI Sounds/Exit Run/Log Out. Settings already has an equivalent
"Interface sounds" toggle, so drop the duplicate from the pause menu.
More importantly, "player" and "ccs_player" hide the entire app shell
(header + sidebar), so there was no way to reach Settings or Profile
at all mid-session - add Profile/Settings buttons to the pause menu to
close that gap.

Navigating there follows the existing return_screen payload
convention (already used by simulation_history/results/review) rather
than inventing new navigation infrastructure: _navigate_from_pause()
remembers current_screen_name and passes it through show_screen's
payload. Both screens show a "Back to session" button when that's
set, and hide it otherwise (including on ordinary non-paused visits).

show_screen() unconditionally resumes the question timer via
_close_app_menu() as a side effect of any navigation, so
_navigate_from_pause() re-pauses it immediately when leaving "player" -
the timer then resumes for real, for free, when the user actually
returns via show_screen(return_screen).

progress_profile.gd rebuilds its whole child tree on every theme
toggle (_rebuild -> _build), which would otherwise wipe the button's
visibility - added _refresh_back_to_session_visibility(), called both
after _build() and from on_show(), so it survives a theme change while
paused.

Flipped tests/web_responsive_test.gd's assertion, which previously
required the pause menu NOT to have a Profile button.

Verified end-to-end headlessly: opening the pause menu from a live
"player" session, navigating to Settings and Profile, confirming
current_question_pause_started_at is correctly paused while away and
resumed on return, confirming the back-to-session button appears only
when reached via pause (not on ordinary nav), and confirming it
survives a dark/light theme toggle on the Profile screen.
2026-07-25 22:30:03 -05:00
hz 0e473343d0 Fix stale web_responsive_test icon assertion
It checked for a "DynamicQuestionsIcon" mode card that no longer
exists in study_selector.gd (that mode moved to its own nav item and
screen a while back), so it always failed. CCS Cases is now also
UAT-gated and won't be present in the default test environment either,
so point the check at Question Bank, the one mode card that's always
rendered.
2026-07-24 23:17:59 -05:00
hz 576b48d581 Fix toolbar gaps and theme toggle shape
- A toolbar icon that hides itself at runtime (labs, notes,
  flashcard, bookmark) left its text label behind, showing as an
  orphaned label floating in a gap. The label's wrapper now tracks
  the button's own visibility.
- The theme toggle used a distinct circular pill shape; changed it
  to match the same rounded-square box every other toolbar icon uses.
2026-07-24 19:55:49 -05:00
hz 974de67032 Redesign question bank screen to match new mockup
Adapts the quiz screen's header, toolbar, choice cards, and bottom bar
to the designer's new layout:

- Header: adds the RanaZe logo/wordmark and a question-progress bar +
  percentage alongside the existing "Question N of M" text.
- Toolbar: consolidates 12 icon-only/chip buttons into 6 labeled items
  (Text size, Calculator, Clear highlight, Notes, Bookmark, More), with
  a new "More" popup holding the rest (labs, flag, report, flashcard,
  theme toggle, feedback). The underlying buttons are reparented, not
  duplicated, so every existing theming/visibility/state call site
  keeps working unmodified.
- Category tag: shows the question's discipline (falling back to
  system) above the stem.
- Choice cards: every choice now renders as a subtly-bordered rounded
  card even before answering, not just a flat divider row; the
  currently-selected pre-submit choice shows a checkmark.
- Bottom bar: merges the Skip/Submit row and the timer row into one -
  Skip as a plain link, a centered "X of Y" progress bar, and a
  time slot that shows the existing countdown when a limit applies or
  a new count-up stopwatch ("Time elapsed") otherwise, plus a
  Ctrl+Enter/Cmd+Enter submit shortcut with a visible hint.
2026-07-24 02:28:22 -05:00
hz edcc0def5d Fix CCS category order search 2026-07-23 23:14:38 -05:00