From c2d000cc4878416c3c32ec4d84e0eb3a24ff7573 Mon Sep 17 00:00:00 2001 From: hz Date: Mon, 20 Jul 2026 23:54:11 -0500 Subject: [PATCH 01/68] Add automated UAT smoke tests --- .gitea/scripts/deploy-environment.sh | 11 ++ .gitea/scripts/run-uat-smoke.sh | 25 +++ .gitea/workflows/deploy-uat.yml | 10 ++ .gitea/workflows/smoke-uat.yml | 30 ++++ .gitignore | 5 + docs/UAT_SMOKE_TESTS.md | 38 +++++ tests/smoke/Dockerfile | 8 + tests/smoke/package-lock.json | 79 +++++++++ tests/smoke/package.json | 13 ++ tests/smoke/playwright.config.mjs | 24 +++ tests/smoke/uat-smoke.spec.mjs | 233 +++++++++++++++++++++++++++ 11 files changed, 476 insertions(+) create mode 100644 .gitea/scripts/run-uat-smoke.sh create mode 100644 .gitea/workflows/smoke-uat.yml create mode 100644 docs/UAT_SMOKE_TESTS.md create mode 100644 tests/smoke/Dockerfile create mode 100644 tests/smoke/package-lock.json create mode 100644 tests/smoke/package.json create mode 100644 tests/smoke/playwright.config.mjs create mode 100644 tests/smoke/uat-smoke.spec.mjs diff --git a/.gitea/scripts/deploy-environment.sh b/.gitea/scripts/deploy-environment.sh index 658bd56..32345e9 100644 --- a/.gitea/scripts/deploy-environment.sh +++ b/.gitea/scripts/deploy-environment.sh @@ -73,4 +73,15 @@ kubectl get --raw "/api/v1/namespaces/${KUBE_NAMESPACE}/services/step3-api:http/ kubectl rollout status deployment/step3-web -n "${KUBE_NAMESPACE}" --timeout=240s kubectl get --raw "/api/v1/namespaces/${KUBE_NAMESPACE}/services/step3-web:http/proxy/healthz" >/dev/null +if [ "${DEPLOYMENT_ENVIRONMENT}" = "uat" ]; then + # The images are already imported on every Kubernetes node. Reclaim runner + # space before pulling the Playwright browser image. + docker image rm "${API_IMAGE}" "${WEB_IMAGE}" "${TEST_IMAGE}" 2>/dev/null || true + docker builder prune -af >/dev/null || true + UAT_API_ORIGIN="${PUBLIC_API_ORIGIN}" \ + UAT_WEB_ORIGIN="${PUBLIC_WEB_ORIGIN:-https://ustep3.ranaze.com}" \ + EXPECTED_REVISION="${BUILD_TAG}" \ + bash .gitea/scripts/run-uat-smoke.sh +fi + echo "Deployed ${DEPLOYMENT_ENVIRONMENT} revision ${BUILD_TAG}." diff --git a/.gitea/scripts/run-uat-smoke.sh b/.gitea/scripts/run-uat-smoke.sh new file mode 100644 index 0000000..a95a047 --- /dev/null +++ b/.gitea/scripts/run-uat-smoke.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -euo pipefail + +: "${UAT_API_ORIGIN:=https://us3q.ranaze.com}" +: "${UAT_WEB_ORIGIN:=https://ustep3.ranaze.com}" + +IMAGE_TAG="step3-uat-smoke:${GITHUB_RUN_ID:-manual}-${GITHUB_RUN_NUMBER:-0}" +ARTIFACT_DIR="${SMOKE_ARTIFACT_DIR:-artifacts/uat-smoke}" +ARTIFACT_ABS="$(pwd)/${ARTIFACT_DIR}" + +cleanup() { + docker image rm "${IMAGE_TAG}" >/dev/null 2>&1 || true +} +trap cleanup EXIT + +rm -rf "${ARTIFACT_DIR}" +mkdir -p "${ARTIFACT_DIR}" + +docker build -f tests/smoke/Dockerfile -t "${IMAGE_TAG}" tests/smoke +docker run --rm --ipc=host \ + -e UAT_API_ORIGIN="${UAT_API_ORIGIN}" \ + -e UAT_WEB_ORIGIN="${UAT_WEB_ORIGIN}" \ + -e EXPECTED_REVISION="${EXPECTED_REVISION:-}" \ + -v "${ARTIFACT_ABS}:/work/test-results" \ + "${IMAGE_TAG}" diff --git a/.gitea/workflows/deploy-uat.yml b/.gitea/workflows/deploy-uat.yml index aea475c..4641bec 100644 --- a/.gitea/workflows/deploy-uat.yml +++ b/.gitea/workflows/deploy-uat.yml @@ -32,6 +32,7 @@ jobs: DEPLOYMENT_ENVIRONMENT: uat KUBE_NAMESPACE: step3-uat PUBLIC_API_ORIGIN: https://us3q.ranaze.com + PUBLIC_WEB_ORIGIN: https://ustep3.ranaze.com MONGODB_CONNECTION_STRING: ${{ secrets.UAT_MONGODB_CONNECTION_STRING }} AUTH_JWT_KEY: ${{ secrets.UAT_AUTH_JWT_KEY }} INTERNAL_PURGE_SECRET: ${{ secrets.UAT_INTERNAL_PURGE_SECRET }} @@ -40,3 +41,12 @@ jobs: GOOGLE_CLIENT_ID: ${{ secrets.UAT_GOOGLE_CLIENT_ID }} GOOGLE_CLIENT_SECRET: ${{ secrets.UAT_GOOGLE_CLIENT_SECRET }} run: bash .gitea/scripts/deploy-environment.sh + + - name: Upload UAT smoke-test artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: uat-smoke-${{ github.run_number }}-${{ github.run_attempt }} + path: artifacts/uat-smoke + if-no-files-found: warn + retention-days: 14 diff --git a/.gitea/workflows/smoke-uat.yml b/.gitea/workflows/smoke-uat.yml new file mode 100644 index 0000000..b40273f --- /dev/null +++ b/.gitea/workflows/smoke-uat.yml @@ -0,0 +1,30 @@ +name: Smoke Test STEP3 UAT + +on: + workflow_dispatch: {} + +concurrency: + group: step3-uat-smoke + cancel-in-progress: false + +jobs: + smoke: + runs-on: self-hosted + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Run UAT smoke tests + env: + UAT_API_ORIGIN: https://us3q.ranaze.com + UAT_WEB_ORIGIN: https://ustep3.ranaze.com + run: bash .gitea/scripts/run-uat-smoke.sh + + - name: Upload smoke-test artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: uat-smoke-${{ github.run_number }}-${{ github.run_attempt }} + path: artifacts/uat-smoke + if-no-files-found: warn + retention-days: 14 diff --git a/.gitignore b/.gitignore index 7fe0a3a..69ecdaa 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,8 @@ # Local editor/user files *.user *.suo + +# UAT smoke-test output +/artifacts/uat-smoke/ +**/node_modules/ +/tests/smoke/local-results/ diff --git a/docs/UAT_SMOKE_TESTS.md b/docs/UAT_SMOKE_TESTS.md new file mode 100644 index 0000000..6787d99 --- /dev/null +++ b/docs/UAT_SMOKE_TESTS.md @@ -0,0 +1,38 @@ +# UAT smoke tests + +The UAT smoke suite runs after each successful UAT deployment and can also be +started manually with the `Smoke Test STEP3 UAT` Gitea workflow. + +It checks: + +- public API health, readiness, environment, and deployed revision; +- legal metadata and configured Steam and Google authorization URLs; +- registration, login, refresh, authenticated profile, dashboard, ratings, + review queue, and randomized question retrieval; +- random CCS attempt creation and abandonment; +- public web/legal assets, completion of the Godot loader, and a visible, + non-uniform canvas without browser or critical asset errors. + +Each run creates a unique temporary learner account. The test abandons its CCS +attempt and deletes the account even when an assertion fails. It does not +submit question answers, complete OAuth, or open Stripe Checkout, so it does +not alter question statistics, learner ratings, donations, or provider +accounts. + +Failure evidence is retained for 14 days under the workflow's +`uat-smoke--` artifact. It includes JUnit XML, an HTML report, the +rendered canvas image, and Playwright traces/screenshots for failed browser +tests. + +No secrets are required. The public UAT origins are supplied by the workflow. +The registration endpoint permits five registrations per source IP in 15 +minutes, so repeatedly dispatching the smoke workflow in a short interval may +receive HTTP 429 until that window resets. + +To run the same suite from a Linux host with Docker: + +```bash +UAT_API_ORIGIN=https://us3q.ranaze.com \ +UAT_WEB_ORIGIN=https://ustep3.ranaze.com \ +bash .gitea/scripts/run-uat-smoke.sh +``` diff --git a/tests/smoke/Dockerfile b/tests/smoke/Dockerfile new file mode 100644 index 0000000..4ba1d91 --- /dev/null +++ b/tests/smoke/Dockerfile @@ -0,0 +1,8 @@ +FROM mcr.microsoft.com/playwright:v1.61.1-noble + +WORKDIR /work +COPY package.json package-lock.json ./ +RUN npm ci --ignore-scripts --no-audit --no-fund +COPY playwright.config.mjs uat-smoke.spec.mjs ./ + +CMD ["npm", "test"] diff --git a/tests/smoke/package-lock.json b/tests/smoke/package-lock.json new file mode 100644 index 0000000..6809a10 --- /dev/null +++ b/tests/smoke/package-lock.json @@ -0,0 +1,79 @@ +{ + "name": "ranaze-uat-smoke", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ranaze-uat-smoke", + "version": "1.0.0", + "dependencies": { + "@playwright/test": "1.61.1", + "pngjs": "7.0.0" + } + }, + "node_modules/@playwright/test": { + "version": "1.61.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.61.1.tgz", + "integrity": "sha512-8nKv6+0RJSL9FE4jYOEGXnPeM/Hg12qZpmqzZjRh3qM0Y7c3z1mrOTfFLids72RDQYVh9WpLEfR5WdpNX4fkig==", + "dependencies": { + "playwright": "1.61.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/playwright": { + "version": "1.61.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.61.1.tgz", + "integrity": "sha512-DWnY5o3YbLWK4GovuAVwpqL+1VwGNdUGrRr++8j8PtQQzvAVZUIMjKQ90fY689sEJZJBbZVw1rXaOKSTitkzPQ==", + "dependencies": { + "playwright-core": "1.61.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.61.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.61.1.tgz", + "integrity": "sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/pngjs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", + "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==", + "engines": { + "node": ">=14.19.0" + } + } + } +} diff --git a/tests/smoke/package.json b/tests/smoke/package.json new file mode 100644 index 0000000..f142720 --- /dev/null +++ b/tests/smoke/package.json @@ -0,0 +1,13 @@ +{ + "name": "ranaze-uat-smoke", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "test": "playwright test" + }, + "dependencies": { + "@playwright/test": "1.61.1", + "pngjs": "7.0.0" + } +} diff --git a/tests/smoke/playwright.config.mjs b/tests/smoke/playwright.config.mjs new file mode 100644 index 0000000..f093cb1 --- /dev/null +++ b/tests/smoke/playwright.config.mjs @@ -0,0 +1,24 @@ +import { defineConfig } from "@playwright/test"; + +const resultsDir = process.env.SMOKE_OUTPUT_DIR || "/work/test-results"; + +export default defineConfig({ + testDir: ".", + testMatch: "uat-smoke.spec.mjs", + fullyParallel: false, + workers: 1, + retries: 0, + timeout: 120_000, + expect: { timeout: 15_000 }, + outputDir: `${resultsDir}/raw`, + reporter: [ + ["line"], + ["junit", { outputFile: `${resultsDir}/junit.xml` }], + ["html", { outputFolder: `${resultsDir}/html`, open: "never" }] + ], + use: { + viewport: { width: 1440, height: 900 }, + screenshot: "only-on-failure", + trace: "retain-on-failure" + } +}); diff --git a/tests/smoke/uat-smoke.spec.mjs b/tests/smoke/uat-smoke.spec.mjs new file mode 100644 index 0000000..d3255b6 --- /dev/null +++ b/tests/smoke/uat-smoke.spec.mjs @@ -0,0 +1,233 @@ +import crypto from "node:crypto"; +import { expect, test } from "@playwright/test"; +import { PNG } from "pngjs"; + +const API_ORIGIN = requiredOrigin("UAT_API_ORIGIN"); +const WEB_ORIGIN = requiredOrigin("UAT_WEB_ORIGIN"); +const EXPECTED_REVISION = (process.env.EXPECTED_REVISION || "").trim(); + +function requiredOrigin(name) { + const value = (process.env[name] || "").trim().replace(/\/$/, ""); + if (!value.startsWith("https://")) throw new Error(`${name} must be an https origin`); + return value; +} + +async function call(path, options = {}) { + const controller = new AbortController(); + const timeout = setTimeout(() => controller.abort(), options.timeout ?? 20_000); + try { + const response = await fetch(`${API_ORIGIN}${path}`, { + method: options.method || "GET", + headers: { + Accept: "application/json", + ...(options.body === undefined ? {} : { "Content-Type": "application/json" }), + ...(options.token ? { Authorization: `Bearer ${options.token}` } : {}) + }, + body: options.body === undefined ? undefined : JSON.stringify(options.body), + redirect: "manual", + signal: controller.signal + }); + const text = await response.text(); + let data = null; + if (text) { + try { data = JSON.parse(text); } catch { data = text; } + } + const expected = options.expected || [200]; + if (!expected.includes(response.status)) { + throw new Error(`${options.method || "GET"} ${path} returned ${response.status}: ${text.slice(0, 500)}`); + } + return { response, data }; + } finally { + clearTimeout(timeout); + } +} + +function providerIds(payload) { + return (payload?.providers || []).map((provider) => provider.id); +} + +function validateExternalUrl(provider, authUrl) { + const url = new URL(authUrl); + if (provider === "google") { + expect(url.hostname).toBe("accounts.google.com"); + expect(url.searchParams.get("client_id")).toBeTruthy(); + expect(url.searchParams.get("redirect_uri")).toBe(`${API_ORIGIN}/api/Auth/external/google/callback`); + } else { + expect(url.hostname).toBe("steamcommunity.com"); + const returnTo = new URL(url.searchParams.get("openid.return_to")); + expect(returnTo.origin + returnTo.pathname).toBe(`${API_ORIGIN}/api/Auth/external/steam/callback`); + expect(url.searchParams.get("openid.realm")).toBe(API_ORIGIN); + } +} + +test("public API and disposable learner journey", async () => { + const suffix = `${Date.now().toString(36)}${crypto.randomBytes(3).toString("hex")}`; + const username = `smoke_${suffix}`.slice(0, 28); + const email = `${username}@smoke.invalid`; + const password = `Smk!${crypto.randomBytes(18).toString("base64url")}`; + let token = ""; + let refreshToken = ""; + let accountCreated = false; + let activeCcsAttempt = ""; + let mainError = null; + let cleanupError = null; + + try { + const health = await call("/healthz"); + expect(String(health.data).trim()).toBe("ok"); + const ready = await call("/readyz"); + expect(String(ready.data).trim()).toBe("ready"); + + const { data: runtime } = await call("/api/runtime"); + expect(String(runtime.environment).toLowerCase()).toBe("uat"); + if (EXPECTED_REVISION) expect(runtime.buildRevision).toBe(EXPECTED_REVISION); + + const { data: legal } = await call("/api/Auth/legal"); + expect(legal.termsUrl).toBeTruthy(); + expect(legal.privacyUrl).toBeTruthy(); + + const { data: providers } = await call("/api/Auth/external/providers"); + expect(providerIds(providers)).toEqual(expect.arrayContaining(["steam", "google"])); + for (const provider of ["steam", "google"]) { + const { data: start } = await call(`/api/Auth/external/${provider}/start`, { + method: "POST", body: { purpose: "login" } + }); + expect(start.transactionId).toBeTruthy(); + validateExternalUrl(provider, start.authUrl); + } + + await call("/api/Auth/register", { + method: "POST", body: { username, email, password, acceptLegal: true } + }); + accountCreated = true; + + const { data: session } = await call("/api/Auth/login", { + method: "POST", body: { username, password } + }); + token = session.accessToken; + refreshToken = session.refreshToken; + expect(token).toBeTruthy(); + expect(refreshToken).toBeTruthy(); + + const { data: me } = await call("/api/Auth/me", { token }); + expect(me.username).toBe(username); + expect(me.availableProviders).toEqual(expect.arrayContaining(["steam", "google"])); + + const { data: refreshed } = await call("/api/Auth/refresh", { + method: "POST", body: { username, refreshToken } + }); + token = refreshed.accessToken; + expect(token).toBeTruthy(); + + await call("/api/profile/me/preferences", { token }); + await call("/api/dashboard", { token }); + await call("/api/ratings/me", { token }); + + const { data: queue } = await call("/api/review-queue/next", { + method: "POST", token, body: { excludeExternalIds: [], supportsChoicePools: true } + }); + expect(Number.isInteger(queue.pendingCount)).toBeTruthy(); + + const { data: questions } = await call("/api/questions/search", { + method: "POST", + token, + body: { limit: 1, supportsChoicePools: true, requireMedia: false, excludeExternalIds: [] } + }); + expect(Array.isArray(questions)).toBeTruthy(); + expect(questions).toHaveLength(1); + expect(questions[0].externalId).toBeTruthy(); + expect(questions[0].stem).toBeTruthy(); + expect(questions[0].choices.length).toBeGreaterThanOrEqual(5); + expect(questions[0].choices.map((choice) => choice.id)).toContain(questions[0].correctChoiceId); + + const { data: cases } = await call("/api/ccs/cases", { token }); + expect(Array.isArray(cases)).toBeTruthy(); + expect(cases.length).toBeGreaterThan(0); + const { data: attempt } = await call("/api/ccs/attempts", { + method: "POST", token, body: { caseExternalId: "", mode: "practice" } + }); + activeCcsAttempt = attempt.id; + expect(activeCcsAttempt).toBeTruthy(); + expect(attempt.caseExternalId).toBeTruthy(); + expect(attempt.state).toBe("active"); + await call(`/api/ccs/attempts/${activeCcsAttempt}/abandon`, { + method: "POST", token, expected: [204] + }); + activeCcsAttempt = ""; + } catch (error) { + mainError = error; + } finally { + try { + if (accountCreated && !token) { + const login = await call("/api/Auth/login", { + method: "POST", body: { username, password } + }); + token = login.data.accessToken; + } + if (activeCcsAttempt && token) { + await call(`/api/ccs/attempts/${activeCcsAttempt}/abandon`, { + method: "POST", token, expected: [204, 404] + }); + } + if (accountCreated && token) { + await call("/api/Auth/me", { + method: "DELETE", token, body: { password, confirmation: "DELETE" }, expected: [204] + }); + } + } catch (error) { + cleanupError = error; + } + } + + if (mainError && cleanupError) throw new AggregateError([mainError, cleanupError], "Smoke journey and cleanup failed"); + if (mainError) throw mainError; + if (cleanupError) throw cleanupError; +}); + +test("web export boots a nonblank Godot canvas", async ({ page }, testInfo) => { + const consoleErrors = []; + const requestFailures = []; + page.on("pageerror", (error) => consoleErrors.push(error.message)); + page.on("console", (message) => { + if (message.type() === "error") consoleErrors.push(message.text()); + }); + page.on("requestfailed", (request) => { + const url = new URL(request.url()); + const failure = request.failure()?.errorText || "failed"; + // Godot cancels redundant range/download requests once its streamed asset + // loader has the complete payload. A removed loader plus a rendered canvas + // proves those expected ERR_ABORTED requests were not load failures. + if (url.origin === WEB_ORIGIN && failure !== "net::ERR_ABORTED" && + /\.(js|wasm|pck|ttf|png)$/.test(url.pathname)) { + requestFailures.push(`${url.pathname}: ${failure}`); + } + }); + + for (const path of ["/healthz", "/terms.html", "/privacy.html", "/legal/legal_documents.json", "/ranaze-loader-icon-v1.png"]) { + const response = await page.request.get(`${WEB_ORIGIN}${path}`); + expect(response.ok(), `${path} returned ${response.status()}`).toBeTruthy(); + } + + const response = await page.goto(WEB_ORIGIN, { waitUntil: "domcontentloaded", timeout: 30_000 }); + expect(response?.ok()).toBeTruthy(); + await page.locator("#status").waitFor({ state: "detached", timeout: 90_000 }); + const canvas = page.locator("#canvas"); + await expect(canvas).toBeVisible(); + const bounds = await canvas.boundingBox(); + expect(bounds.width).toBeGreaterThan(1000); + expect(bounds.height).toBeGreaterThan(600); + await page.waitForTimeout(1_000); + + const screenshot = await canvas.screenshot({ path: testInfo.outputPath("uat-canvas.png") }); + const png = PNG.sync.read(screenshot); + const colors = new Set(); + for (let y = 0; y < png.height; y += 12) { + for (let x = 0; x < png.width; x += 12) { + const offset = (png.width * y + x) * 4; + colors.add(`${png.data[offset]},${png.data[offset + 1]},${png.data[offset + 2]}`); + } + } + expect(colors.size, "Godot canvas appears blank or uniform").toBeGreaterThan(40); + expect(requestFailures, "critical web assets failed to load").toEqual([]); + expect(consoleErrors, "browser console errors were emitted").toEqual([]); +}); From 29b89dc40477fae9907ec6b1ae87b7e7c8170e6d Mon Sep 17 00:00:00 2001 From: hz Date: Mon, 20 Jul 2026 23:59:07 -0500 Subject: [PATCH 02/68] Remove redundant follow-up retry action --- scripts/ui/question_player.gd | 38 ----------------------------------- tests/smoke/.gdignore | 1 + 2 files changed, 1 insertion(+), 38 deletions(-) create mode 100644 tests/smoke/.gdignore diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 721c7e9..b376ded 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -3215,17 +3215,6 @@ func _build_resolved_followup(index: int, state: Dictionary) -> void: _set_scaled_label(explanation, 14, Brand.text_color(_followup_is_dark())) body_content.add_child(explanation) - if not is_main_correct and bool(state.get("has_authored_choices", false)): - var similar_button := Button.new() - similar_button.text = "Ask similar question" - similar_button.custom_minimum_size = Vector2(172, 38) - similar_button.size_flags_horizontal = Control.SIZE_SHRINK_BEGIN - Style.style_chip(similar_button, Color("fb5f6d")) - _set_scaled_button_font(similar_button, 14) - similar_button.pressed.connect(_restart_followup.bind(str(state.get("choice_id", "")))) - body_content.add_child(similar_button) - - func _build_followup_header(content: VBoxContainer, state: Dictionary, expanded: bool, interactive: bool) -> void: var dark := _followup_is_dark() var is_main_correct := bool(state.get("is_main_correct", false)) @@ -3348,33 +3337,6 @@ func _choice_review_explanation(choice_id: String, state: Dictionary) -> String: return "Review the stem finding that makes this option less appropriate." -func _restart_followup(choice_id: String) -> void: - if followup_required or not followup_states.has(choice_id): - return - var state: Dictionary = followup_states[choice_id] - if not bool(state.get("has_authored_choices", false)): - return - var options: Array = state.get("choices", []).duplicate(true) - options.shuffle() - state["choices"] = options - state["selected_option_id"] = "" - state["selected_option_text"] = "" - state["was_correct"] = false - state["resolved"] = false - state["collapsed"] = false - followup_states[choice_id] = state - active_followup_choice_id = choice_id - followup_required = true - followup_answered = false - next_button.disabled = true - if skip_button != null: - skip_button.disabled = true - _render_followup_state(choice_id) - var index := _choice_index_for_id(choice_id) - if index >= 0 and question_scroll != null: - question_scroll.call_deferred("ensure_control_visible", choice_followup_panels[index]) - - func _ensure_answer_review_followups() -> void: for attempted_id in followup_states.keys(): var attempted_state: Dictionary = followup_states[attempted_id] diff --git a/tests/smoke/.gdignore b/tests/smoke/.gdignore new file mode 100644 index 0000000..2bb0422 --- /dev/null +++ b/tests/smoke/.gdignore @@ -0,0 +1 @@ +# Playwright sources and generated reports are not Godot project resources. From 48a8c8361def3dc1a2bc72715661aecfc8faaf80 Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 15:08:43 -0500 Subject: [PATCH 03/68] Add flashcards feature with spaced repetition scheduling Adds a full flashcards system: FSRS-based scheduling, cloze/basic card types, CSV import/export, media storage, and study UI, wired into navigation and the dashboard alongside existing question flows. --- .../FlashcardClozeParserTests.cs | 94 ++++ api/QuestionsApi.Tests/FlashcardCsvTests.cs | 75 ++++ .../FlashcardImportExportModelTests.cs | 92 ++++ .../FlashcardSchedulerTests.cs | 152 +++++++ .../FlashcardSchedulingTests.cs | 41 ++ .../Controllers/FlashcardsController.cs | 395 ++++++++++++++++ api/QuestionsApi/Models/DashboardModels.cs | 3 + api/QuestionsApi/Models/FlashcardModels.cs | 377 ++++++++++++++++ api/QuestionsApi/Program.cs | 9 + api/QuestionsApi/QuestionsApi.csproj | 1 + api/QuestionsApi/Services/DashboardStore.cs | 25 +- .../Flashcards/FlashcardClozeParser.cs | 57 +++ .../Services/Flashcards/FlashcardCsv.cs | 64 +++ .../Services/Flashcards/FlashcardDeckStore.cs | 128 ++++++ .../FlashcardImportExportService.cs | 393 ++++++++++++++++ .../Flashcards/FlashcardMediaStore.cs | 41 ++ .../Services/Flashcards/FlashcardNoteStore.cs | 187 ++++++++ .../Flashcards/FlashcardScheduleStore.cs | 322 +++++++++++++ .../Services/Flashcards/FlashcardScheduler.cs | 116 +++++ .../Flashcards/FlashcardScheduling.cs | 14 + .../Flashcards/FlashcardSettingsStore.cs | 36 ++ .../Flashcards/FlashcardStudyService.cs | 112 +++++ api/QuestionsApi/Services/UserProfileStore.cs | 4 +- docs/FLASHCARDS.md | 83 ++++ docs/PROFILE_ACCOUNT_OPERATIONS.md | 4 + docs/UAT_SMOKE_TESTS.md | 2 + project.godot | 2 + scripts/autoload/flashcard_service.gd | 375 ++++++++++++++++ scripts/ui/dashboard_screen.gd | 4 + scripts/ui/flashcard_cloze.gd | 41 ++ scripts/ui/flashcard_prefill_dialog.gd | 178 ++++++++ scripts/ui/flashcards_hub.gd | 422 ++++++++++++++++++ scripts/ui/flashcards_study.gd | 318 +++++++++++++ scripts/ui/main.gd | 15 +- scripts/ui/navigation_routes.gd | 2 + scripts/ui/question_player.gd | 34 +- tests/flashcard_cloze_test.gd | 32 ++ tests/flashcard_navigation_test.gd | 23 + tests/flashcard_outbox_test.gd | 51 +++ tests/flashcard_study_render_test.gd | 59 +++ tests/smoke/uat-smoke.spec.mjs | 83 ++++ 41 files changed, 4458 insertions(+), 8 deletions(-) create mode 100644 api/QuestionsApi.Tests/FlashcardClozeParserTests.cs create mode 100644 api/QuestionsApi.Tests/FlashcardCsvTests.cs create mode 100644 api/QuestionsApi.Tests/FlashcardImportExportModelTests.cs create mode 100644 api/QuestionsApi.Tests/FlashcardSchedulerTests.cs create mode 100644 api/QuestionsApi.Tests/FlashcardSchedulingTests.cs create mode 100644 api/QuestionsApi/Controllers/FlashcardsController.cs create mode 100644 api/QuestionsApi/Models/FlashcardModels.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardClozeParser.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardCsv.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardDeckStore.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardImportExportService.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardMediaStore.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardNoteStore.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardScheduler.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardSettingsStore.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs create mode 100644 docs/FLASHCARDS.md create mode 100644 scripts/autoload/flashcard_service.gd create mode 100644 scripts/ui/flashcard_cloze.gd create mode 100644 scripts/ui/flashcard_prefill_dialog.gd create mode 100644 scripts/ui/flashcards_hub.gd create mode 100644 scripts/ui/flashcards_study.gd create mode 100644 tests/flashcard_cloze_test.gd create mode 100644 tests/flashcard_navigation_test.gd create mode 100644 tests/flashcard_outbox_test.gd create mode 100644 tests/flashcard_study_render_test.gd diff --git a/api/QuestionsApi.Tests/FlashcardClozeParserTests.cs b/api/QuestionsApi.Tests/FlashcardClozeParserTests.cs new file mode 100644 index 0000000..fed70a2 --- /dev/null +++ b/api/QuestionsApi.Tests/FlashcardClozeParserTests.cs @@ -0,0 +1,94 @@ +using QuestionsApi.Services.Flashcards; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class FlashcardClozeParserTests +{ + [Fact] + public void Parse_ExtractsAnswerAndHint() + { + var deletions = FlashcardClozeParser.Parse("The capital of France is {{c1::Paris::country capital}}."); + + var deletion = Assert.Single(deletions); + Assert.Equal(1, deletion.Number); + Assert.Equal("Paris", deletion.Answer); + Assert.Equal("country capital", deletion.Hint); + } + + [Fact] + public void Parse_WithoutHint_LeavesHintNull() + { + var deletions = FlashcardClozeParser.Parse("{{c1::Paris}}"); + + Assert.Null(Assert.Single(deletions).Hint); + } + + [Fact] + public void DistinctClozeNumbers_DeduplicatesRepeatedNumbersAndSorts() + { + var text = "{{c2::b}} some text {{c1::a}} more {{c1::a-again}} {{c3::c}}"; + + var numbers = FlashcardClozeParser.DistinctClozeNumbers(text); + + Assert.Equal([1, 2, 3], numbers); + } + + [Theory] + [InlineData("no cloze markers here")] + [InlineData("{{c0::invalid, number must be >= 1}}")] + [InlineData("{{cX::not a number}}")] + [InlineData("{{c1::}}")] + public void HasValidCloze_IsFalse_ForMalformedOrMissingMarkers(string text) + { + Assert.False(FlashcardClozeParser.HasValidCloze(text)); + } + + [Fact] + public void HasValidCloze_IsTrue_WhenAtLeastOneValidMarkerExists() + { + Assert.True(FlashcardClozeParser.HasValidCloze("prefix {{c1::answer}} suffix")); + } + + [Fact] + public void RenderFront_HidesTargetNumber_RevealsOthers() + { + var text = "{{c1::Paris}} is the capital of {{c2::France}}"; + + var front1 = FlashcardClozeParser.RenderFront(text, 1); + var front2 = FlashcardClozeParser.RenderFront(text, 2); + + Assert.Equal("[...] is the capital of France", front1); + Assert.Equal("Paris is the capital of [...]", front2); + } + + [Fact] + public void RenderFront_UsesHintWhenPresent() + { + var text = "{{c1::Paris::capital city}} is in France"; + + var front = FlashcardClozeParser.RenderFront(text, 1); + + Assert.Equal("[capital city] is in France", front); + } + + [Fact] + public void RenderBack_RevealsAllAnswers() + { + var text = "{{c1::Paris}} is the capital of {{c2::France::hint}}"; + + var back = FlashcardClozeParser.RenderBack(text, 1); + + Assert.Equal("Paris is the capital of France", back); + } + + [Fact] + public void Parse_SupportsMultilineClozeContent() + { + var text = "Line one\n{{c1::multi\nline\nanswer}}\nLine two"; + + var deletion = Assert.Single(FlashcardClozeParser.Parse(text)); + + Assert.Equal("multi\nline\nanswer", deletion.Answer); + } +} diff --git a/api/QuestionsApi.Tests/FlashcardCsvTests.cs b/api/QuestionsApi.Tests/FlashcardCsvTests.cs new file mode 100644 index 0000000..92e3724 --- /dev/null +++ b/api/QuestionsApi.Tests/FlashcardCsvTests.cs @@ -0,0 +1,75 @@ +using QuestionsApi.Services.Flashcards; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class FlashcardCsvTests +{ + [Fact] + public void ParseRows_HandlesQuotedMultilineFieldsAndEmbeddedCommas() + { + var csv = "stable_id,deck,type,prompt,answer,extra,tags,source_question_external_id\n" + + "abc-1,Cardio,basic,\"What is the first line,\nsecond line?\",\"Answer, with comma\",,tag1;tag2,q-1\n"; + + var rows = FlashcardCsv.ParseRows(csv); + + Assert.Equal(2, rows.Count); + var data = rows[1]; + Assert.Equal("abc-1", data[0]); + Assert.Equal("What is the first line,\nsecond line?", data[3]); + Assert.Equal("Answer, with comma", data[4]); + Assert.Equal("tag1;tag2", data[6]); + } + + [Fact] + public void ParseRows_HandlesEscapedDoubleQuotes() + { + var csv = "a,b\n\"she said \"\"hi\"\"\",plain\n"; + + var rows = FlashcardCsv.ParseRows(csv); + + Assert.Equal("she said \"hi\"", rows[1][0]); + Assert.Equal("plain", rows[1][1]); + } + + [Fact] + public void ParseRows_SupportsUnicodeContent() + { + var csv = "a,b\néè中文,\U0001F600\n"; + + var rows = FlashcardCsv.ParseRows(csv); + + Assert.Equal("éè中文", rows[1][0]); + Assert.Equal("😀", rows[1][1]); + } + + [Fact] + public void ParseRows_HandlesFileWithoutTrailingNewline() + { + var csv = "a,b\n1,2"; + + var rows = FlashcardCsv.ParseRows(csv); + + Assert.Equal(2, rows.Count); + Assert.Equal(["1", "2"], rows[1]); + } + + [Fact] + public void WriteRow_QuotesFieldsContainingSpecialCharacters() + { + var row = FlashcardCsv.WriteRow(["plain", "has,comma", "has\"quote", "has\nnewline"]); + + Assert.Equal("plain,\"has,comma\",\"has\"\"quote\",\"has\nnewline\"", row); + } + + [Fact] + public void WriteThenParse_RoundTrips() + { + var original = new[] { "id-1", "Deck, Name", "basic", "prompt with \"quotes\" and\nnewline", "answer", "", "a;b", "q-1" }; + var line = FlashcardCsv.WriteRow(original); + + var rows = FlashcardCsv.ParseRows("header\n" + line + "\n"); + + Assert.Equal(original, rows[1]); + } +} diff --git a/api/QuestionsApi.Tests/FlashcardImportExportModelTests.cs b/api/QuestionsApi.Tests/FlashcardImportExportModelTests.cs new file mode 100644 index 0000000..648406f --- /dev/null +++ b/api/QuestionsApi.Tests/FlashcardImportExportModelTests.cs @@ -0,0 +1,92 @@ +using System.Text.Json; +using QuestionsApi.Models; +using QuestionsApi.Services.Flashcards; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class FlashcardImportExportModelTests +{ + [Fact] + public void JsonExport_RoundTrips_NotesCardsAndReviewHistory() + { + var export = new FlashcardJsonExport + { + SchemaVersion = 1, + Settings = new FlashcardSettings { UserId = "user-1", NewCardsPerDay = 20, ReviewsPerDay = 200 }, + Decks = [new FlashcardDeck { Id = "deck-1", UserId = "user-1", Name = "Cardio", IsDefault = true }], + Notes = + [ + new FlashcardJsonExportNote + { + Note = new FlashcardNote + { + Id = "note-1", UserId = "user-1", DeckId = "deck-1", StableId = "stable-1", + Type = FlashcardTypes.Cloze, Prompt = "{{c1::Paris}} is the capital of France", + Tags = ["geography"] + }, + Cards = + [ + new FlashcardSchedule + { + Id = "card-1", UserId = "user-1", NoteId = "note-1", Variant = 1, + State = FlashcardScheduleStates.Review, Stability = 12.3, Difficulty = 4.5, + DueUtc = new DateTime(2026, 1, 1, 0, 0, 0, DateTimeKind.Utc) + } + ], + ReviewLogs = + [ + new FlashcardReviewLog + { + Id = "log-1", UserId = "user-1", CardId = "card-1", Rating = FlashcardRatings.Good, + ReviewedUtc = new DateTime(2025, 12, 31, 0, 0, 0, DateTimeKind.Utc) + } + ], + Images = [new FlashcardJsonExportImage { AssetId = "asset-1", FileName = "x.png", ContentType = "image/png", Base64Bytes = Convert.ToBase64String([1, 2, 3]) }] + } + ] + }; + + var json = JsonSerializer.Serialize(export); + var roundTripped = JsonSerializer.Deserialize(json); + + Assert.NotNull(roundTripped); + var note = Assert.Single(roundTripped!.Notes); + Assert.Equal("stable-1", note.Note.StableId); + Assert.Equal(FlashcardTypes.Cloze, note.Note.Type); + var card = Assert.Single(note.Cards); + Assert.Equal(1, card.Variant); + Assert.Equal(12.3, card.Stability); + var log = Assert.Single(note.ReviewLogs); + Assert.Equal(FlashcardRatings.Good, log.Rating); + var image = Assert.Single(note.Images); + Assert.Equal([1, 2, 3], Convert.FromBase64String(image.Base64Bytes)); + } + + [Fact] + public void Fingerprint_IsStable_ForSameTypePromptAndAnswer_IgnoringSurroundingWhitespace() + { + var a = FlashcardNoteStore.Fingerprint(FlashcardTypes.Basic, " What is 2+2? ", "4"); + var b = FlashcardNoteStore.Fingerprint(FlashcardTypes.Basic, "What is 2+2?", "4"); + + Assert.Equal(a, b); + } + + [Fact] + public void Fingerprint_DiffersWhenAnswerDiffers() + { + var a = FlashcardNoteStore.Fingerprint(FlashcardTypes.Basic, "What is 2+2?", "4"); + var b = FlashcardNoteStore.Fingerprint(FlashcardTypes.Basic, "What is 2+2?", "five"); + + Assert.NotEqual(a, b); + } + + [Fact] + public void Fingerprint_DiffersByType_ForSamePromptAndAnswer() + { + var basic = FlashcardNoteStore.Fingerprint(FlashcardTypes.Basic, "text", "text"); + var cloze = FlashcardNoteStore.Fingerprint(FlashcardTypes.Cloze, "text", "text"); + + Assert.NotEqual(basic, cloze); + } +} diff --git a/api/QuestionsApi.Tests/FlashcardSchedulerTests.cs b/api/QuestionsApi.Tests/FlashcardSchedulerTests.cs new file mode 100644 index 0000000..aa2130d --- /dev/null +++ b/api/QuestionsApi.Tests/FlashcardSchedulerTests.cs @@ -0,0 +1,152 @@ +using FSRS.Core.Constants; +using QuestionsApi.Models; +using QuestionsApi.Services.Flashcards; +using Xunit; + +namespace QuestionsApi.Tests; + +// Validates FsrsFlashcardScheduler against the official FSRS formulas (not just against the +// library's own outputs), using the exact weights FSRS.Core 1.0.7 ships via FsrsConstants so +// this keeps validating the formula even if the shipped defaults are ever bumped upstream. +// +// S0(rating) = w[(int)rating - 1] (initial stability) +// D0(rating) = clamp(w4 - (e^(w5*((int)rating-1)) - 1), 1, 10) (initial difficulty) +// I(r, S) = round(S) when desired_retention == the FSRS reference retention (0.9), because +// the interval formula collapses to the stability itself at that specific retention. +public sealed class FlashcardSchedulerTests +{ + private static readonly double[] W = FsrsConstants.DefaultParameters; + private static readonly DateTime Start = new(2024, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + private static FlashcardSchedule NewSchedule() => new() + { + UserId = "user-1", + NoteId = "note-1", + State = FlashcardScheduleStates.New, + DueUtc = Start, + LastReviewUtc = null + }; + + [Theory] + [InlineData(FlashcardRatings.Again, 0)] + [InlineData(FlashcardRatings.Hard, 1)] + [InlineData(FlashcardRatings.Good, 2)] + [InlineData(FlashcardRatings.Easy, 3)] + public void InitialStability_MatchesFsrsFormula(string rating, int weightIndex) + { + var scheduler = new FsrsFlashcardScheduler(); + var result = scheduler.Review(NewSchedule(), rating, Start, 0); + + Assert.Equal(W[weightIndex], result.Stability, precision: 6); + } + + [Theory] + [InlineData(FlashcardRatings.Again, 1)] + [InlineData(FlashcardRatings.Hard, 2)] + [InlineData(FlashcardRatings.Good, 3)] + [InlineData(FlashcardRatings.Easy, 4)] + public void InitialDifficulty_MatchesFsrsFormula(string rating, int fsrsRatingValue) + { + var scheduler = new FsrsFlashcardScheduler(); + var result = scheduler.Review(NewSchedule(), rating, Start, 0); + + var expected = Math.Clamp(W[4] - (Math.Exp(W[5] * (fsrsRatingValue - 1)) - 1), 1, 10); + Assert.Equal(expected, result.Difficulty, precision: 6); + } + + [Fact] + public void Interval_EqualsRoundedNewStability_AtPinnedDesiredRetention() + { + // At desired_retention == 0.9 (the reference retention baked into the FSRS interval + // formula), I(0.9, S) reduces to S regardless of the decay parameter - this holds for + // any state, so it's a strong end-to-end check that both the stability update and the + // interval formula are wired correctly, without hand-deriving decay/factor constants. + var scheduler = new FsrsFlashcardScheduler(); + var schedule = NewSchedule(); + var t = Start; + foreach (var rating in new[] { FlashcardRatings.Good, FlashcardRatings.Good, FlashcardRatings.Good }) + { + var result = scheduler.Review(schedule, rating, t, 0); + schedule = ToSchedule(schedule, result); + t = result.DueUtc; + } + + var final = scheduler.Review(schedule, FlashcardRatings.Good, t, 0); + var intervalDays = (final.DueUtc - t).TotalDays; + Assert.Equal(Math.Round(final.Stability, MidpointRounding.AwayFromZero), Math.Round(intervalDays), precision: 6); + } + + [Fact] + public void MaximumInterval_NeverExceeds36500Days() + { + var scheduler = new FsrsFlashcardScheduler(); + var schedule = NewSchedule(); + schedule.State = FlashcardScheduleStates.Review; + schedule.Stability = 1_000_000; + schedule.Difficulty = 5; + schedule.DueUtc = Start; + schedule.LastReviewUtc = Start.AddDays(-1); + + var result = scheduler.Review(schedule, FlashcardRatings.Good, Start, 0); + + Assert.True((result.DueUtc - Start).TotalDays <= FsrsFlashcardScheduler.MaximumIntervalDays); + } + + [Fact] + public void Again_MovesToRelearning_AndReducesStabilityBelowPriorReview() + { + var scheduler = new FsrsFlashcardScheduler(); + var schedule = NewSchedule(); + var t = Start; + FlashcardScheduleResult result = null!; + foreach (var rating in new[] { FlashcardRatings.Good, FlashcardRatings.Good }) + { + result = scheduler.Review(schedule, rating, t, 0); + schedule = ToSchedule(schedule, result); + t = result.DueUtc; + } + var stabilityBeforeLapse = schedule.Stability; + + var lapsed = scheduler.Review(schedule, FlashcardRatings.Again, t, 0); + + Assert.Equal(FlashcardScheduleStates.Relearning, lapsed.State); + Assert.True(lapsed.Stability < stabilityBeforeLapse); + } + + [Fact] + public void PreviewRatingOptions_ReturnsAllFourRatings_WithNonDecreasingDueDates() + { + var scheduler = new FsrsFlashcardScheduler(); + var schedule = NewSchedule(); + schedule.State = FlashcardScheduleStates.Review; + schedule.Stability = 10; + schedule.Difficulty = 5; + schedule.LastReviewUtc = Start.AddDays(-10); + schedule.DueUtc = Start; + + var options = scheduler.PreviewRatingOptions(schedule, Start); + + Assert.Equal(FlashcardRatings.All.Length, options.Count); + Assert.Equal(FlashcardRatings.All.ToHashSet(), options.Select(o => o.Rating).ToHashSet()); + var again = options.Single(o => o.Rating == FlashcardRatings.Again).DueUtc; + var hard = options.Single(o => o.Rating == FlashcardRatings.Hard).DueUtc; + var good = options.Single(o => o.Rating == FlashcardRatings.Good).DueUtc; + var easy = options.Single(o => o.Rating == FlashcardRatings.Easy).DueUtc; + Assert.True(again <= hard); + Assert.True(hard <= good); + Assert.True(good <= easy); + } + + private static FlashcardSchedule ToSchedule(FlashcardSchedule prior, FlashcardScheduleResult result) => new() + { + UserId = prior.UserId, + NoteId = prior.NoteId, + Variant = prior.Variant, + State = result.State, + Step = result.Step, + Stability = result.Stability, + Difficulty = result.Difficulty, + DueUtc = result.DueUtc, + LastReviewUtc = result.LastReviewUtc + }; +} diff --git a/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs b/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs new file mode 100644 index 0000000..bae9ab8 --- /dev/null +++ b/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs @@ -0,0 +1,41 @@ +using QuestionsApi.Services.Flashcards; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class FlashcardSchedulingTests +{ + [Fact] + public void NextStudyDayStart_IsMidnightOfTheFollowingDay() + { + var studyDayStart = new DateTime(2026, 3, 5, 0, 0, 0, DateTimeKind.Utc); + + var next = FlashcardScheduling.NextStudyDayStart(studyDayStart); + + Assert.Equal(new DateTime(2026, 3, 6, 0, 0, 0, DateTimeKind.Utc), next); + } + + [Fact] + public void NextStudyDayStart_TruncatesTimeOfDayBeforeAdvancing() + { + // A session that started mid-day still buries siblings until the *next calendar day*, + // not exactly 24h later. + var studyDayStart = new DateTime(2026, 3, 5, 14, 30, 0, DateTimeKind.Utc); + + var next = FlashcardScheduling.NextStudyDayStart(studyDayStart); + + Assert.Equal(new DateTime(2026, 3, 6, 0, 0, 0, DateTimeKind.Utc), next); + } + + [Theory] + [InlineData(20, null, 0, 20)] + [InlineData(20, null, 15, 5)] + [InlineData(20, null, 25, 0)] + [InlineData(20, 5, 0, 5)] + [InlineData(20, 0, 0, 0)] + public void ResolveDailyBudget_DeckOverrideWinsOverGlobal_ClampedAtZero( + int globalLimit, int? deckOverride, int consumedToday, int expected) + { + Assert.Equal(expected, FlashcardScheduling.ResolveDailyBudget(globalLimit, deckOverride, consumedToday)); + } +} diff --git a/api/QuestionsApi/Controllers/FlashcardsController.cs b/api/QuestionsApi/Controllers/FlashcardsController.cs new file mode 100644 index 0000000..c944f5d --- /dev/null +++ b/api/QuestionsApi/Controllers/FlashcardsController.cs @@ -0,0 +1,395 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using QuestionsApi.Models; +using QuestionsApi.Services.Flashcards; +using System.Security.Claims; +using System.Text; + +namespace QuestionsApi.Controllers; + +[ApiController] +[Route("api/flashcards")] +[Authorize(Roles = "USER,SUPER")] +public sealed class FlashcardsController( + FlashcardDeckStore decks, + FlashcardNoteStore notes, + FlashcardScheduleStore schedules, + FlashcardSettingsStore settings, + FlashcardMediaStore media, + FlashcardStudyService study, + FlashcardImportExportService importExport) : ControllerBase +{ + [HttpGet("decks")] + public async Task ListDecks() + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + await decks.GetOrCreateDefaultDeckAsync(userId); + var now = DateTime.UtcNow; + var summaries = await study.GetDeckSummariesAsync(userId, now, now.Date); + return Ok(summaries); + } + + [HttpPost("decks")] + public async Task CreateDeck([FromBody] UpsertFlashcardDeckRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (string.IsNullOrWhiteSpace(request.Name)) return BadRequest("name required"); + var result = await decks.UpsertAsync(userId, request, null); + if (!result.Succeeded) return Conflict(result.Current); + return Ok(result.Deck); + } + + [HttpPut("decks/{deckId}")] + public async Task UpdateDeck(string deckId, [FromBody] UpsertFlashcardDeckRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (string.IsNullOrWhiteSpace(request.Name)) return BadRequest("name required"); + var result = await decks.UpsertAsync(userId, request, deckId); + if (!result.Succeeded) return Conflict(result.Current); + return Ok(result.Deck); + } + + [HttpPost("decks/{deckId}/archive")] + public async Task ArchiveDeck(string deckId) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var result = await decks.ArchiveAsync(userId, deckId, true); + if (!result.Succeeded) return Conflict("cannot archive the default deck, or deck not found"); + return Ok(result.Deck); + } + + [HttpPost("decks/{deckId}/restore")] + public async Task RestoreDeck(string deckId) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var result = await decks.ArchiveAsync(userId, deckId, false); + if (!result.Succeeded) return NotFound(); + return Ok(result.Deck); + } + + [HttpPost("notes/search")] + public async Task SearchNotes([FromBody] FlashcardLibraryQuery query) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var (items, total) = await notes.SearchAsync(userId, query); + return Ok(new FlashcardLibraryResponse { Items = items, Total = total }); + } + + [HttpGet("notes/{noteId}")] + public async Task GetNote(string noteId) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var note = await notes.GetAsync(userId, noteId); + if (note is null) return NotFound(); + return Ok(note); + } + + [HttpPost("notes")] + public async Task CreateNote([FromBody] UpsertFlashcardNoteRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (string.IsNullOrWhiteSpace(request.Prompt)) return BadRequest("prompt required"); + if (string.IsNullOrWhiteSpace(request.DeckId)) + request.DeckId = (await decks.GetOrCreateDefaultDeckAsync(userId)).Id!; + + try + { + var result = await notes.UpsertAsync(userId, request, null); + if (!result.Succeeded) return Conflict(result.Current); + return Ok(result.Note); + } + catch (FlashcardValidationException exception) + { + return BadRequest(exception.Message); + } + } + + [HttpPut("notes/{noteId}")] + public async Task UpdateNote(string noteId, [FromBody] UpsertFlashcardNoteRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (string.IsNullOrWhiteSpace(request.Prompt)) return BadRequest("prompt required"); + + try + { + var result = await notes.UpsertAsync(userId, request, noteId); + if (!result.Succeeded) return Conflict(result.Current); + return Ok(result.Note); + } + catch (FlashcardValidationException exception) + { + return BadRequest(exception.Message); + } + } + + [HttpPost("notes/move")] + public async Task MoveNotes([FromBody] FlashcardMoveRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (string.IsNullOrWhiteSpace(request.TargetDeckId)) return BadRequest("targetDeckId required"); + var moved = await notes.MoveAsync(userId, request.NoteIds, request.TargetDeckId); + return Ok(new { moved }); + } + + [HttpPost("notes/archive")] + public async Task ArchiveNotes([FromBody] FlashcardBulkNoteIdsRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var results = new List(); + foreach (var noteId in request.NoteIds) + { + var result = await notes.ArchiveAsync(userId, noteId, true); + if (result.Note is not null) results.Add(result.Note); + } + return Ok(results); + } + + [HttpPost("notes/restore")] + public async Task RestoreNotes([FromBody] FlashcardBulkNoteIdsRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var results = new List(); + foreach (var noteId in request.NoteIds) + { + var result = await notes.ArchiveAsync(userId, noteId, false); + if (result.Note is not null) results.Add(result.Note); + } + return Ok(results); + } + + [HttpPost("cards/suspend")] + public async Task SuspendCards([FromBody] FlashcardSuspendRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var changed = await schedules.SetSuspendedAsync(userId, request.CardIds, request.Suspended); + return Ok(new { changed }); + } + + [HttpPost("cards/bury")] + public async Task BuryCards([FromBody] FlashcardBuryRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var until = request.UntilUtc == default ? DateTime.UtcNow.Date.AddDays(1) : request.UntilUtc; + var changed = await schedules.BuryAsync(userId, request.CardIds, until); + return Ok(new { changed }); + } + + [HttpPost("study/next")] + public async Task NextCard([FromBody] FlashcardStudyRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var response = await study.GetNextCardAsync(userId, request); + return Ok(response); + } + + [HttpGet("counts")] + public async Task GetCounts() + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var now = DateTime.UtcNow; + var counts = await study.GetDashboardCountsAsync(userId, now, now.Date.AddDays(-6)); + return Ok(counts); + } + + [HttpGet("settings")] + public async Task GetSettings() + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + return Ok(await settings.GetAsync(userId)); + } + + [HttpPut("settings")] + public async Task UpdateSettings([FromBody] UpdateFlashcardSettingsRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + return Ok(await settings.UpdateAsync(userId, request)); + } + + [HttpPost("reviews")] + public async Task SubmitReviews([FromBody] FlashcardBatchReviewRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + + var results = new List(); + foreach (var review in request.Reviews) + { + if (!Guid.TryParse(review.ClientReviewId, out _)) return BadRequest("clientReviewId must be a UUID"); + if (!FlashcardRatings.All.Contains(review.Rating)) return BadRequest("rating must be again/hard/good/easy"); + + var outcome = await schedules.SubmitReviewAsync(userId, review); + switch (outcome.Kind) + { + case FlashcardReviewOutcomeKind.NotFound: + return NotFound($"card {review.CardId} not found"); + case FlashcardReviewOutcomeKind.Conflict: + return Conflict(new { cardId = review.CardId, current = outcome.Schedule }); + case FlashcardReviewOutcomeKind.Duplicate: + results.Add(new FlashcardReviewResponse { Card = outcome.Schedule!, Duplicate = true }); + break; + default: + results.Add(new FlashcardReviewResponse + { + Card = outcome.Schedule!, + RatingOptions = schedules.PreviewRatingOptions(outcome.Schedule!, DateTime.UtcNow) + }); + break; + } + } + return Ok(new FlashcardBatchReviewResponse { Results = results }); + } + + [HttpPost("reviews/undo")] + public async Task UndoReview([FromBody] FlashcardUndoRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var outcome = await schedules.UndoAsync(userId, request.ReviewLogId); + return outcome.Kind switch + { + FlashcardReviewOutcomeKind.NotFound => NotFound(), + FlashcardReviewOutcomeKind.Conflict => Conflict(outcome.Schedule), + _ => Ok(outcome.Schedule) + }; + } + + [HttpPost("media")] + [RequestSizeLimit(5_000_000)] + public async Task UploadMedia(IFormFile file) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (file is null || file.Length == 0) return BadRequest("file required"); + if (file.Length > 5_000_000) return BadRequest("file must be 5 MB or smaller"); + + var contentType = file.ContentType.Trim().ToLowerInvariant(); + var allowedTypes = new HashSet { "image/png", "image/jpeg", "image/webp" }; + if (!allowedTypes.Contains(contentType)) return BadRequest("file must be a png, jpeg, or webp image"); + + await using var stream = file.OpenReadStream(); + using var memory = new MemoryStream(); + await stream.CopyToAsync(memory); + + var asset = await media.CreateAsync(userId, file.FileName, contentType, memory.ToArray()); + return Ok(new { id = asset.Id ?? "", url = $"/api/flashcards/media/{asset.Id}" }); + } + + [HttpGet("media/{id}")] + public async Task GetMedia(string id) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var asset = await media.GetAsync(userId, id.Trim()); + if (asset is null) return NotFound(); + return File(asset.Bytes, asset.ContentType); + } + + [HttpGet("export/csv")] + public async Task ExportCsv() + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var (csv, omissions) = await importExport.ExportCsvAsync(userId); + Response.Headers.Append("X-Flashcard-Export-Omissions", string.Join(';', omissions.Select(v => v.Kind))); + return File(Encoding.UTF8.GetBytes(csv), "text/csv", "flashcards.csv"); + } + + [HttpGet("export/json")] + public async Task ExportJson() + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var export = await importExport.ExportJsonAsync(userId); + return Ok(export); + } + + [HttpPost("import/csv/preview")] + [RequestSizeLimit(25 * 1024 * 1024)] + public async Task PreviewCsvImport(IFormFile file) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (file is null || file.Length == 0) return BadRequest("file required"); + try + { + FlashcardImportExportService.ValidateSize(file.Length); + using var reader = new StreamReader(file.OpenReadStream(), Encoding.UTF8); + var text = await reader.ReadToEndAsync(); + return Ok(await importExport.PreviewCsvAsync(userId, text)); + } + catch (FlashcardValidationException exception) + { + return BadRequest(exception.Message); + } + } + + [HttpPost("import/json/preview")] + [RequestSizeLimit(25 * 1024 * 1024)] + public async Task PreviewJsonImport(IFormFile file) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (file is null || file.Length == 0) return BadRequest("file required"); + try + { + FlashcardImportExportService.ValidateSize(file.Length); + using var reader = new StreamReader(file.OpenReadStream(), Encoding.UTF8); + var text = await reader.ReadToEndAsync(); + return Ok(await importExport.PreviewJsonAsync(userId, text)); + } + catch (FlashcardValidationException exception) + { + return BadRequest(exception.Message); + } + } + + [HttpPost("import/commit")] + public async Task CommitImport([FromBody] FlashcardImportCommitRequest request) + { + var userId = UserId(); + if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + try + { + return Ok(await importExport.CommitAsync(userId, request.ImportToken)); + } + catch (FlashcardValidationException exception) + { + return BadRequest(exception.Message); + } + } + + private string UserId() => User.FindFirstValue(ClaimTypes.NameIdentifier) + ?? User.FindFirstValue(ClaimTypes.Name) + ?? User.Identity?.Name + ?? ""; +} + +public sealed class FlashcardSuspendRequest +{ + public List CardIds { get; set; } = []; + public bool Suspended { get; set; } = true; +} + +public sealed class FlashcardBuryRequest +{ + public List CardIds { get; set; } = []; + public DateTime UntilUtc { get; set; } +} diff --git a/api/QuestionsApi/Models/DashboardModels.cs b/api/QuestionsApi/Models/DashboardModels.cs index a6bad14..37968fa 100644 --- a/api/QuestionsApi/Models/DashboardModels.cs +++ b/api/QuestionsApi/Models/DashboardModels.cs @@ -16,6 +16,9 @@ public sealed class DashboardResponse public int MissedQuestionCount { get; set; } public int BookmarkCount { get; set; } public int NoteCount { get; set; } + public int FlashcardsDue { get; set; } + public int FlashcardsNewAvailable { get; set; } + public int FlashcardsReviewedThisWeek { get; set; } public List PerformanceTrend { get; set; } = []; public List Systems { get; set; } = []; public List WeeklyActivity { get; set; } = []; diff --git a/api/QuestionsApi/Models/FlashcardModels.cs b/api/QuestionsApi/Models/FlashcardModels.cs new file mode 100644 index 0000000..8d90909 --- /dev/null +++ b/api/QuestionsApi/Models/FlashcardModels.cs @@ -0,0 +1,377 @@ +using MongoDB.Bson; +using MongoDB.Bson.Serialization.Attributes; + +namespace QuestionsApi.Models; + +public static class FlashcardTypes +{ + public const string Basic = "basic"; + public const string Cloze = "cloze"; + public static readonly HashSet All = [Basic, Cloze]; +} + +public static class FlashcardRatings +{ + public const string Again = "again"; + public const string Hard = "hard"; + public const string Good = "good"; + public const string Easy = "easy"; + public static readonly string[] All = [Again, Hard, Good, Easy]; +} + +public static class FlashcardScheduleStates +{ + public const string New = "new"; + public const string Learning = "learning"; + public const string Review = "review"; + public const string Relearning = "relearning"; +} + +public sealed class FlashcardDeck +{ + [BsonId, BsonRepresentation(BsonType.ObjectId)] public string? Id { get; set; } + public string UserId { get; set; } = ""; + public string StableId { get; set; } = Guid.NewGuid().ToString(); + public string Name { get; set; } = ""; + public string NormalizedName { get; set; } = ""; + public string Description { get; set; } = ""; + public bool IsDefault { get; set; } + public int? NewCardsPerDay { get; set; } + public int? ReviewsPerDay { get; set; } + public double? DesiredRetention { get; set; } + public long Revision { get; set; } = 1; + public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; + public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; + public DateTime? ArchivedUtc { get; set; } +} + +public sealed class FlashcardImageReference +{ + public string Kind { get; set; } = "owned"; + public string AssetId { get; set; } = ""; +} + +public sealed class FlashcardNote +{ + [BsonId, BsonRepresentation(BsonType.ObjectId)] public string? Id { get; set; } + public string UserId { get; set; } = ""; + public string StableId { get; set; } = Guid.NewGuid().ToString(); + public string DeckId { get; set; } = ""; + public string Type { get; set; } = FlashcardTypes.Basic; + public string Prompt { get; set; } = ""; + public string Answer { get; set; } = ""; + public string Extra { get; set; } = ""; + public List Tags { get; set; } = []; + public List Images { get; set; } = []; + public string SourceQuestionExternalId { get; set; } = ""; + public string ContentFingerprint { get; set; } = ""; + public long Revision { get; set; } = 1; + public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; + public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; + public DateTime? ArchivedUtc { get; set; } +} + +public sealed class FlashcardSchedule +{ + [BsonId, BsonRepresentation(BsonType.ObjectId)] public string? Id { get; set; } + public string UserId { get; set; } = ""; + public string NoteId { get; set; } = ""; + public int Variant { get; set; } + public string State { get; set; } = FlashcardScheduleStates.New; + public int? Step { get; set; } + public double? Stability { get; set; } + public double? Difficulty { get; set; } + public DateTime DueUtc { get; set; } = DateTime.UtcNow; + public DateTime? LastReviewUtc { get; set; } + public DateTime? BuriedUntilUtc { get; set; } + public bool IsSuspended { get; set; } + public long Revision { get; set; } = 1; + public string AlgorithmVersion { get; set; } = "fsrs-core-1.0.7"; + public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; +} + +public sealed class FlashcardReviewLog +{ + [BsonId] public string Id { get; set; } = ""; + public string UserId { get; set; } = ""; + public string CardId { get; set; } = ""; + public string Rating { get; set; } = ""; + public DateTime ReviewedUtc { get; set; } + public int DurationSeconds { get; set; } + public FlashcardScheduleSnapshot Before { get; set; } = new(); + public FlashcardScheduleSnapshot After { get; set; } = new(); + public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; + public DateTime? UndoneUtc { get; set; } +} + +public sealed class FlashcardScheduleSnapshot +{ + public string State { get; set; } = FlashcardScheduleStates.New; + public int? Step { get; set; } + public double? Stability { get; set; } + public double? Difficulty { get; set; } + public DateTime DueUtc { get; set; } + public DateTime? LastReviewUtc { get; set; } + public long Revision { get; set; } +} + +public sealed class FlashcardMediaAsset +{ + [BsonId, BsonRepresentation(BsonType.ObjectId)] public string? Id { get; set; } + public string UserId { get; set; } = ""; + public string FileName { get; set; } = ""; + public string ContentType { get; set; } = ""; + public byte[] Bytes { get; set; } = []; + public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; +} + +public sealed class FlashcardSettings +{ + [BsonId, BsonRepresentation(BsonType.ObjectId)] public string? Id { get; set; } + public string UserId { get; set; } = ""; + public int NewCardsPerDay { get; set; } = 20; + public int ReviewsPerDay { get; set; } = 200; + public double DesiredRetention { get; set; } = 0.90; + public long Revision { get; set; } = 1; + public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; +} + +public sealed class UpsertFlashcardDeckRequest +{ + public string Name { get; set; } = ""; + public string Description { get; set; } = ""; + public int? NewCardsPerDay { get; set; } + public int? ReviewsPerDay { get; set; } + public double? DesiredRetention { get; set; } + public long? ExpectedRevision { get; set; } +} + +public sealed class UpsertFlashcardNoteRequest +{ + public string DeckId { get; set; } = ""; + public string StableId { get; set; } = ""; + public string Type { get; set; } = FlashcardTypes.Basic; + public string Prompt { get; set; } = ""; + public string Answer { get; set; } = ""; + public string Extra { get; set; } = ""; + public List Tags { get; set; } = []; + public List Images { get; set; } = []; + public string SourceQuestionExternalId { get; set; } = ""; + public long? ExpectedRevision { get; set; } +} + +public sealed class UpdateFlashcardSettingsRequest +{ + public int NewCardsPerDay { get; set; } = 20; + public int ReviewsPerDay { get; set; } = 200; + public double DesiredRetention { get; set; } = 0.90; + public long? ExpectedRevision { get; set; } +} + +public sealed class FlashcardDeckSummary +{ + public FlashcardDeck Deck { get; set; } = new(); + public int Total { get; set; } + public int Due { get; set; } + public int New { get; set; } + public int Suspended { get; set; } +} + +public sealed class FlashcardLibraryResponse +{ + public List Items { get; set; } = []; + public int Total { get; set; } +} + +public sealed class FlashcardLibraryQuery +{ + public string? DeckId { get; set; } + public string? Tag { get; set; } + public string? Type { get; set; } + public string? State { get; set; } + public string? Search { get; set; } + public int Page { get; set; } = 1; + public int PageSize { get; set; } = 50; +} + +public sealed class FlashcardStudyRequest +{ + public string DeckId { get; set; } = ""; + public List ExcludeCardIds { get; set; } = []; + public DateTime StudyDayStartUtc { get; set; } = DateTime.UtcNow.Date; +} + +public sealed class FlashcardBulkNoteIdsRequest +{ + public List NoteIds { get; set; } = []; +} + +public sealed class FlashcardMoveRequest +{ + public List NoteIds { get; set; } = []; + public string TargetDeckId { get; set; } = ""; +} + +public sealed class FlashcardBatchReviewRequest +{ + public List Reviews { get; set; } = []; +} + +public sealed class FlashcardBatchReviewResponse +{ + public List Results { get; set; } = []; +} + +public sealed class FlashcardUndoRequest +{ + public string ReviewLogId { get; set; } = ""; +} + +public sealed class FlashcardRatingOption +{ + public string Rating { get; set; } = ""; + public string IntervalLabel { get; set; } = ""; + public DateTime DueUtc { get; set; } +} + +public sealed class FlashcardStudyCardResponse +{ + public FlashcardNote? Note { get; set; } + public FlashcardSchedule? Card { get; set; } + public List RatingOptions { get; set; } = []; + public int DueRemaining { get; set; } + public int NewRemaining { get; set; } +} + +public sealed class FlashcardReviewRequest +{ + public string ClientReviewId { get; set; } = ""; + public string CardId { get; set; } = ""; + public string Rating { get; set; } = ""; + public long ExpectedRevision { get; set; } + public DateTime ReviewedUtc { get; set; } + public int DurationSeconds { get; set; } + public DateTime StudyDayStartUtc { get; set; } = DateTime.UtcNow.Date; +} + +public sealed class FlashcardReviewResponse +{ + public FlashcardSchedule Card { get; set; } = new(); + public List RatingOptions { get; set; } = []; + public bool Duplicate { get; set; } +} + +public sealed class FlashcardDashboardCounts +{ + public int Due { get; set; } + public int NewAvailable { get; set; } + public int ReviewedThisWeek { get; set; } +} + +public static class FlashcardImportFormats +{ + public const string Csv = "csv"; + public const string Json = "json"; +} + +public static class FlashcardImportRowActions +{ + public const string Create = "create"; + public const string Update = "update"; + public const string Skip = "skip"; + public const string Error = "error"; +} + +public sealed class FlashcardImportPendingRecord +{ + public int RowNumber { get; set; } + public string Action { get; set; } = FlashcardImportRowActions.Create; + public string? Error { get; set; } + public string StableId { get; set; } = ""; + public string DeckName { get; set; } = ""; + public string Type { get; set; } = FlashcardTypes.Basic; + public string Prompt { get; set; } = ""; + public string Answer { get; set; } = ""; + public string Extra { get; set; } = ""; + public List Tags { get; set; } = []; + public string SourceQuestionExternalId { get; set; } = ""; + public List Cards { get; set; } = []; + public List ReviewLogs { get; set; } = []; +} + +public sealed class FlashcardImportPreview +{ + [BsonId] public string Id { get; set; } = ""; + public string UserId { get; set; } = ""; + public string Format { get; set; } = FlashcardImportFormats.Csv; + public List Records { get; set; } = []; + public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; + public DateTime ExpiresUtc { get; set; } = DateTime.UtcNow.AddHours(1); +} + +public sealed class FlashcardImportPreviewRow +{ + public int RowNumber { get; set; } + public string Action { get; set; } = FlashcardImportRowActions.Create; + public string? Error { get; set; } + public string StableId { get; set; } = ""; + public string Deck { get; set; } = ""; + public string Type { get; set; } = FlashcardTypes.Basic; + public string Prompt { get; set; } = ""; + public string Answer { get; set; } = ""; +} + +public sealed class FlashcardImportPreviewResponse +{ + public string ImportToken { get; set; } = ""; + public int CreateCount { get; set; } + public int UpdateCount { get; set; } + public int SkipCount { get; set; } + public int ErrorCount { get; set; } + public List Rows { get; set; } = []; +} + +public sealed class FlashcardImportCommitRequest +{ + public string ImportToken { get; set; } = ""; +} + +public sealed class FlashcardImportCommitResponse +{ + public int Created { get; set; } + public int Updated { get; set; } + public int Skipped { get; set; } + public int Errored { get; set; } + public List Errors { get; set; } = []; +} + +public sealed class FlashcardExportOmission +{ + public string Kind { get; set; } = ""; + public string Reason { get; set; } = ""; +} + +public sealed class FlashcardJsonExport +{ + public int SchemaVersion { get; set; } = 1; + public DateTime ExportedUtc { get; set; } = DateTime.UtcNow; + public FlashcardSettings Settings { get; set; } = new(); + public List Decks { get; set; } = []; + public List Notes { get; set; } = []; +} + +public sealed class FlashcardJsonExportNote +{ + public FlashcardNote Note { get; set; } = new(); + public List Cards { get; set; } = []; + public List ReviewLogs { get; set; } = []; + public List Images { get; set; } = []; +} + +public sealed class FlashcardJsonExportImage +{ + public string AssetId { get; set; } = ""; + public string FileName { get; set; } = ""; + public string ContentType { get; set; } = ""; + public string Base64Bytes { get; set; } = ""; +} diff --git a/api/QuestionsApi/Program.cs b/api/QuestionsApi/Program.cs index 3b472ea..c5b71e0 100644 --- a/api/QuestionsApi/Program.cs +++ b/api/QuestionsApi/Program.cs @@ -4,6 +4,7 @@ using Microsoft.AspNetCore.HttpOverrides; using Microsoft.IdentityModel.Tokens; using Microsoft.OpenApi.Models; using QuestionsApi.Services; +using QuestionsApi.Services.Flashcards; using MongoDB.Bson; using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; @@ -43,6 +44,14 @@ builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); diff --git a/api/QuestionsApi/QuestionsApi.csproj b/api/QuestionsApi/QuestionsApi.csproj index d627762..0a6aa82 100644 --- a/api/QuestionsApi/QuestionsApi.csproj +++ b/api/QuestionsApi/QuestionsApi.csproj @@ -8,6 +8,7 @@ + diff --git a/api/QuestionsApi/Services/DashboardStore.cs b/api/QuestionsApi/Services/DashboardStore.cs index 2631977..7557636 100644 --- a/api/QuestionsApi/Services/DashboardStore.cs +++ b/api/QuestionsApi/Services/DashboardStore.cs @@ -1,5 +1,6 @@ using MongoDB.Driver; using QuestionsApi.Models; +using QuestionsApi.Services.Flashcards; namespace QuestionsApi.Services; @@ -15,8 +16,15 @@ public sealed class DashboardStore private readonly IMongoCollection _notes; private readonly QuestionStore _questions; private readonly ReviewQueueStore _reviewQueue; + private readonly FlashcardStudyService _flashcards; + private readonly FlashcardScheduleStore _flashcardSchedules; - public DashboardStore(MongoDatabaseProvider mongo, QuestionStore questions, ReviewQueueStore reviewQueue) + public DashboardStore( + MongoDatabaseProvider mongo, + QuestionStore questions, + ReviewQueueStore reviewQueue, + FlashcardStudyService flashcards, + FlashcardScheduleStore flashcardSchedules) { _attempts = mongo.Database.GetCollection("QuestionAttempts"); _ratings = mongo.Database.GetCollection("UserRatings"); @@ -28,6 +36,8 @@ public sealed class DashboardStore _notes = mongo.Database.GetCollection("UserNotepads"); _questions = questions; _reviewQueue = reviewQueue; + _flashcards = flashcards; + _flashcardSchedules = flashcardSchedules; } public async Task GetAsync(string userId, DateTime nowUtc) @@ -45,8 +55,10 @@ public sealed class DashboardStore var bookmarkCountTask = _bookmarks.CountDocumentsAsync(value => value.UserId == userId); var notepadTask = _notes.Find(value => value.UserId == userId).FirstOrDefaultAsync(); var reviewAttemptsTask = _reviewQueue.GetReviewsSinceAsync(userId, weekStart); + var flashcardCountsTask = _flashcards.GetDashboardCountsAsync(userId, nowUtc, weekStart); + var flashcardReviewsTask = _flashcardSchedules.GetReviewsSinceAsync(userId, weekStart); await Task.WhenAll(attemptsTask, ratingTask, ccsRatingTask, ccsAttemptsTask, completedCcsCountTask, - simulationsTask, bookmarkCountTask, notepadTask, reviewAttemptsTask); + simulationsTask, bookmarkCountTask, notepadTask, reviewAttemptsTask, flashcardCountsTask, flashcardReviewsTask); var attempts = attemptsTask.Result; var answeredAttempts = attempts.Where(value => !value.IsSkip).ToList(); @@ -71,7 +83,10 @@ public sealed class DashboardStore QuestionsThisWeek = answeredAttempts.Count(value => value.CreatedUtc >= weekStart), BookmarkCount = checked((int)bookmarkCountTask.Result), NoteCount = CountNotes(notepadTask.Result?.Content), - MissedQuestionCount = checked((int)pendingReviewCount) + MissedQuestionCount = checked((int)pendingReviewCount), + FlashcardsDue = flashcardCountsTask.Result.Due, + FlashcardsNewAvailable = flashcardCountsTask.Result.NewAvailable, + FlashcardsReviewedThisWeek = flashcardCountsTask.Result.ReviewedThisWeek }; response.PerformanceTrend = Enumerable.Range(0, 30).Select(offset => @@ -115,12 +130,14 @@ public sealed class DashboardStore + dailyCcs.Sum(CcsDurationSeconds) + dailySimulations.Sum(value => value.Responses.Sum(item => Math.Max(0, item.ElapsedSeconds))) + reviewAttemptsTask.Result.Where(value => value.CreatedUtc.Date == date).Sum(value => value.DurationSeconds) + + flashcardReviewsTask.Result.Where(value => value.ReviewedUtc.Date == date).Sum(value => value.DurationSeconds) }; }).ToList(); response.StudyTimeSecondsThisWeek = response.WeeklyActivity.Sum(value => value.StudyTimeSeconds); var activeDates = attempts.Select(value => value.CreatedUtc.Date) .Concat(completedCcs.Select(value => value.CompletedUtc!.Value.Date)) - .Concat(simulations.Where(value => value.CompletedUtc.HasValue).Select(value => value.CompletedUtc!.Value.Date)); + .Concat(simulations.Where(value => value.CompletedUtc.HasValue).Select(value => value.CompletedUtc!.Value.Date)) + .Concat(flashcardReviewsTask.Result.Select(value => value.ReviewedUtc.Date)); response.CurrentStreak = CalculateCurrentStreak(activeDates, today); response.RecentActivity = await BuildRecentActivityAsync(answeredAttempts, questionMap, completedCcs, simulations); return response; diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardClozeParser.cs b/api/QuestionsApi/Services/Flashcards/FlashcardClozeParser.cs new file mode 100644 index 0000000..6549a0f --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardClozeParser.cs @@ -0,0 +1,57 @@ +using System.Text.RegularExpressions; + +namespace QuestionsApi.Services.Flashcards; + +public sealed record ClozeDeletion(int Number, string Answer, string? Hint); + +// {{c1::answer}} or {{c1::answer::hint}}. Numbers need not be contiguous or start at 1; +// each distinct number becomes its own independently scheduled card (a "sibling"). +public static partial class FlashcardClozeParser +{ + [GeneratedRegex(@"\{\{c(\d+)::((?:(?!\}\}).)*)\}\}", RegexOptions.Singleline)] + private static partial Regex ClozeRegex(); + + public static List Parse(string text) + { + if (string.IsNullOrEmpty(text)) return []; + var results = new List(); + foreach (Match match in ClozeRegex().Matches(text)) + { + if (!int.TryParse(match.Groups[1].Value, out var number) || number < 1) + continue; + var inner = match.Groups[2].Value; + var parts = inner.Split("::", 2); + var answer = parts[0].Trim(); + var hint = parts.Length > 1 ? parts[1].Trim() : null; + if (answer.Length == 0) continue; + results.Add(new ClozeDeletion(number, answer, string.IsNullOrEmpty(hint) ? null : hint)); + } + return results; + } + + public static List DistinctClozeNumbers(string text) => + Parse(text).Select(v => v.Number).Distinct().OrderBy(v => v).ToList(); + + public static bool HasValidCloze(string text) => DistinctClozeNumbers(text).Count > 0; + + // Renders the front for a given cloze number: that number's answer is hidden (replaced + // by its hint or "..."), all other cloze numbers are revealed as their answer text. + public static string RenderFront(string text, int clozeNumber) => + ClozeRegex().Replace(text, match => + { + if (!int.TryParse(match.Groups[1].Value, out var number)) return match.Value; + var inner = match.Groups[2].Value; + var parts = inner.Split("::", 2); + if (number != clozeNumber) return parts[0].Trim(); + var hint = parts.Length > 1 ? parts[1].Trim() : ""; + return hint.Length > 0 ? $"[{hint}]" : "[...]"; + }); + + public static string RenderBack(string text, int clozeNumber) => + ClozeRegex().Replace(text, match => + { + var inner = match.Groups[2].Value; + var parts = inner.Split("::", 2); + return parts[0].Trim(); + }); +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardCsv.cs b/api/QuestionsApi/Services/Flashcards/FlashcardCsv.cs new file mode 100644 index 0000000..6f6a54b --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardCsv.cs @@ -0,0 +1,64 @@ +using System.Text; + +namespace QuestionsApi.Services.Flashcards; + +// Minimal RFC 4180 CSV reader/writer (quoted fields, embedded commas/newlines, "" escaping). +// UTF-8, text-only, matches the flashcard CSV contract exactly. +public static class FlashcardCsv +{ + public static readonly string[] Headers = + ["stable_id", "deck", "type", "prompt", "answer", "extra", "tags", "source_question_external_id"]; + + public static List ParseRows(string text) + { + var rows = new List(); + var field = new StringBuilder(); + var row = new List(); + var inQuotes = false; + var i = 0; + var n = text.Length; + + while (i < n) + { + var c = text[i]; + if (inQuotes) + { + if (c == '"') + { + if (i + 1 < n && text[i + 1] == '"') { field.Append('"'); i += 2; continue; } + inQuotes = false; i++; continue; + } + field.Append(c); i++; continue; + } + + switch (c) + { + case '"': + inQuotes = true; i++; break; + case ',': + row.Add(field.ToString()); field.Clear(); i++; break; + case '\r': + i++; break; + case '\n': + row.Add(field.ToString()); field.Clear(); + rows.Add(row.ToArray()); row = []; + i++; break; + default: + field.Append(c); i++; break; + } + } + if (field.Length > 0 || row.Count > 0) + { + row.Add(field.ToString()); + rows.Add(row.ToArray()); + } + return rows; + } + + public static string WriteRow(IEnumerable fields) => string.Join(",", fields.Select(Escape)); + + private static string Escape(string field) => + field.IndexOfAny(['"', ',', '\n', '\r']) >= 0 + ? "\"" + field.Replace("\"", "\"\"") + "\"" + : field; +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardDeckStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardDeckStore.cs new file mode 100644 index 0000000..4141c92 --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardDeckStore.cs @@ -0,0 +1,128 @@ +using MongoDB.Driver; +using QuestionsApi.Models; + +namespace QuestionsApi.Services.Flashcards; + +public sealed record FlashcardDeckUpdateResult(FlashcardDeck? Deck, FlashcardDeck? Current) +{ + public bool Succeeded => Deck is not null; +} + +public sealed class FlashcardDeckStore +{ + private readonly IMongoCollection _decks; + + public FlashcardDeckStore(MongoDatabaseProvider mongo) + { + _decks = mongo.Database.GetCollection("FlashcardDecks"); + _decks.Indexes.CreateMany([ + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.NormalizedName), + new CreateIndexOptions { Unique = true, Name = "flashcard_deck_unique_user_name" }), + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.StableId), + new CreateIndexOptions { Unique = true, Name = "flashcard_deck_unique_user_stable" }) + ]); + } + + public static string Normalize(string name) => name.Trim().ToLowerInvariant(); + + public Task> ListAsync(string userId) => + _decks.Find(v => v.UserId == userId && v.ArchivedUtc == null).SortBy(v => v.Name).ToListAsync(); + + public async Task GetAsync(string userId, string deckId) => + await _decks.Find(v => v.UserId == userId && v.Id == deckId).FirstOrDefaultAsync(); + + public async Task GetOrCreateDefaultDeckAsync(string userId) + { + var existing = await _decks.Find(v => v.UserId == userId && v.IsDefault).FirstOrDefaultAsync(); + if (existing is not null) return existing; + + var deck = new FlashcardDeck + { + UserId = userId, + Name = "Default", + NormalizedName = Normalize("Default"), + IsDefault = true + }; + try + { + await _decks.InsertOneAsync(deck); + return deck; + } + catch (MongoWriteException exception) when (exception.WriteError?.Category == ServerErrorCategory.DuplicateKey) + { + return await _decks.Find(v => v.UserId == userId && v.IsDefault).FirstOrDefaultAsync() + ?? throw new InvalidOperationException("default deck race with no winner"); + } + } + + public async Task UpsertAsync(string userId, UpsertFlashcardDeckRequest request, string? deckId) + { + var now = DateTime.UtcNow; + var normalized = Normalize(request.Name); + + if (string.IsNullOrWhiteSpace(deckId)) + { + var created = new FlashcardDeck + { + UserId = userId, + Name = request.Name.Trim(), + NormalizedName = normalized, + Description = request.Description.Trim(), + NewCardsPerDay = request.NewCardsPerDay, + ReviewsPerDay = request.ReviewsPerDay, + DesiredRetention = request.DesiredRetention, + CreatedUtc = now, + UpdatedUtc = now + }; + try + { + await _decks.InsertOneAsync(created); + return new FlashcardDeckUpdateResult(created, null); + } + catch (MongoWriteException exception) when (exception.WriteError?.Category == ServerErrorCategory.DuplicateKey) + { + return new FlashcardDeckUpdateResult(null, await GetByNameAsync(userId, normalized)); + } + } + + var expectedRevision = request.ExpectedRevision ?? 0; + var updated = await _decks.FindOneAndUpdateAsync( + v => v.UserId == userId && v.Id == deckId && v.Revision == expectedRevision, + Builders.Update + .Set(v => v.Name, request.Name.Trim()) + .Set(v => v.NormalizedName, normalized) + .Set(v => v.Description, request.Description.Trim()) + .Set(v => v.NewCardsPerDay, request.NewCardsPerDay) + .Set(v => v.ReviewsPerDay, request.ReviewsPerDay) + .Set(v => v.DesiredRetention, request.DesiredRetention) + .Set(v => v.UpdatedUtc, now) + .Inc(v => v.Revision, 1), + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + + return updated is not null + ? new FlashcardDeckUpdateResult(updated, null) + : new FlashcardDeckUpdateResult(null, await GetAsync(userId, deckId)); + } + + public async Task GetByNameAsync(string userId, string normalizedName) => + await _decks.Find(v => v.UserId == userId && v.NormalizedName == normalizedName).FirstOrDefaultAsync(); + + public async Task ArchiveAsync(string userId, string deckId, bool archived) + { + var deck = await GetAsync(userId, deckId); + if (deck is not null && deck.IsDefault) return new FlashcardDeckUpdateResult(null, deck); + + var updated = await _decks.FindOneAndUpdateAsync( + v => v.UserId == userId && v.Id == deckId && !v.IsDefault, + Builders.Update + .Set(v => v.ArchivedUtc, archived ? DateTime.UtcNow : null) + .Set(v => v.UpdatedUtc, DateTime.UtcNow) + .Inc(v => v.Revision, 1), + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + return updated is not null + ? new FlashcardDeckUpdateResult(updated, null) + : new FlashcardDeckUpdateResult(null, deck); + } +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardImportExportService.cs b/api/QuestionsApi/Services/Flashcards/FlashcardImportExportService.cs new file mode 100644 index 0000000..b776e2c --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardImportExportService.cs @@ -0,0 +1,393 @@ +using System.Text; +using System.Text.Json; +using MongoDB.Driver; +using QuestionsApi.Models; + +namespace QuestionsApi.Services.Flashcards; + +public sealed class FlashcardImportExportService +{ + private const int MaxNotesPerImport = 10_000; + private const long MaxImportBytes = 25 * 1024 * 1024; + + private static readonly JsonSerializerOptions JsonOptions = new() { PropertyNameCaseInsensitive = true }; + + private readonly FlashcardDeckStore _decks; + private readonly FlashcardNoteStore _notes; + private readonly FlashcardScheduleStore _schedules; + private readonly FlashcardMediaStore _media; + private readonly FlashcardSettingsStore _settings; + private readonly IMongoCollection _previews; + + public FlashcardImportExportService( + MongoDatabaseProvider mongo, + FlashcardDeckStore decks, + FlashcardNoteStore notes, + FlashcardScheduleStore schedules, + FlashcardMediaStore media, + FlashcardSettingsStore settings) + { + _decks = decks; + _notes = notes; + _schedules = schedules; + _media = media; + _settings = settings; + _previews = mongo.Database.GetCollection("FlashcardImportPreviews"); + _previews.Indexes.CreateOne(new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.ExpiresUtc), + new CreateIndexOptions { ExpireAfter = TimeSpan.Zero, Name = "flashcard_import_preview_ttl" })); + } + + public static void ValidateSize(long byteLength) + { + if (byteLength > MaxImportBytes) + throw new FlashcardValidationException("import file must be 25 MB or smaller"); + } + + public async Task<(string Csv, List Omissions)> ExportCsvAsync(string userId) + { + var deckList = await _decks.ListAsync(userId); + var deckNames = deckList.ToDictionary(v => v.Id!, v => v.Name, StringComparer.Ordinal); + var allNotes = await _notes.ListAllActiveAsync(userId); + + var sb = new StringBuilder(); + sb.Append(FlashcardCsv.WriteRow(FlashcardCsv.Headers)).Append('\n'); + foreach (var note in allNotes.OrderBy(v => v.CreatedUtc)) + { + var deckName = deckNames.GetValueOrDefault(note.DeckId, "Default"); + sb.Append(FlashcardCsv.WriteRow([ + note.StableId, deckName, note.Type, note.Prompt, note.Answer, note.Extra, + string.Join(';', note.Tags), note.SourceQuestionExternalId + ])).Append('\n'); + } + + var omissions = new List + { + new() { Kind = "schedule", Reason = "CSV export omits FSRS scheduling state" }, + new() { Kind = "history", Reason = "CSV export omits review history" } + }; + if (allNotes.Any(v => v.Images.Count > 0)) + omissions.Insert(0, new FlashcardExportOmission { Kind = "images", Reason = "CSV export omits attached images" }); + return (sb.ToString(), omissions); + } + + public async Task ExportJsonAsync(string userId) + { + var export = new FlashcardJsonExport + { + Settings = await _settings.GetAsync(userId), + Decks = await _decks.ListAsync(userId) + }; + + foreach (var note in await _notes.ListAllActiveAsync(userId)) + { + var cards = await _schedules.GetByNoteIdAsync(userId, note.Id!); + var logs = new List(); + foreach (var card in cards) + logs.AddRange(await _schedules.GetReviewLogsForCardAsync(userId, card.Id!)); + + var images = new List(); + foreach (var image in note.Images) + { + var asset = await _media.GetAsync(userId, image.AssetId); + if (asset is null) continue; + images.Add(new FlashcardJsonExportImage + { + AssetId = asset.Id!, + FileName = asset.FileName, + ContentType = asset.ContentType, + Base64Bytes = Convert.ToBase64String(asset.Bytes) + }); + } + + export.Notes.Add(new FlashcardJsonExportNote { Note = note, Cards = cards, ReviewLogs = logs, Images = images }); + } + return export; + } + + public async Task PreviewCsvAsync(string userId, string csvText) + { + var rows = FlashcardCsv.ParseRows(csvText); + if (rows.Count == 0) throw new FlashcardValidationException("CSV file is empty"); + if (!rows[0].Select(v => v.Trim()).SequenceEqual(FlashcardCsv.Headers, StringComparer.OrdinalIgnoreCase)) + throw new FlashcardValidationException($"CSV header must be: {string.Join(",", FlashcardCsv.Headers)}"); + if (rows.Count - 1 > MaxNotesPerImport) + throw new FlashcardValidationException($"import limited to {MaxNotesPerImport:N0} notes"); + + var existingNotes = await _notes.ListAllActiveAsync(userId); + var byStableId = existingNotes.Where(v => v.StableId.Length > 0) + .ToDictionary(v => v.StableId, StringComparer.Ordinal); + var fingerprints = existingNotes.Select(v => v.ContentFingerprint).ToHashSet(StringComparer.Ordinal); + + var records = new List(); + for (var r = 1; r < rows.Count; r++) + { + var cols = rows[r]; + var record = new FlashcardImportPendingRecord { RowNumber = r + 1 }; + if (cols.Length != FlashcardCsv.Headers.Length) + { + record.Action = FlashcardImportRowActions.Error; + record.Error = $"expected {FlashcardCsv.Headers.Length} columns, found {cols.Length}"; + records.Add(record); + continue; + } + + var stableId = cols[0].Trim(); + var deckName = cols[1].Trim(); + var type = cols[2].Trim().ToLowerInvariant(); + var prompt = cols[3]; + var answer = cols[4]; + var extra = cols[5]; + var tags = cols[6].Split(';', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).ToList(); + var sourceQuestionId = cols[7].Trim(); + + record.StableId = stableId; + record.DeckName = deckName.Length == 0 ? "Default" : deckName; + record.Type = type; + record.Prompt = prompt; + record.Answer = answer; + record.Extra = extra; + record.Tags = tags; + record.SourceQuestionExternalId = sourceQuestionId; + + if (type != FlashcardTypes.Basic && type != FlashcardTypes.Cloze) + { + record.Action = FlashcardImportRowActions.Error; + record.Error = "type must be 'basic' or 'cloze'"; + } + else if (prompt.Trim().Length == 0) + { + record.Action = FlashcardImportRowActions.Error; + record.Error = "prompt is required"; + } + else if (type == FlashcardTypes.Cloze && !FlashcardClozeParser.HasValidCloze(prompt)) + { + record.Action = FlashcardImportRowActions.Error; + record.Error = "cloze prompt must contain at least one {{cN::answer}} marker"; + } + else + { + var fingerprint = FlashcardNoteStore.Fingerprint(type, prompt, answer); + if (stableId.Length > 0 && byStableId.TryGetValue(stableId, out var existing)) + { + record.Action = existing.ContentFingerprint == fingerprint + ? FlashcardImportRowActions.Skip + : FlashcardImportRowActions.Update; + } + else if (fingerprints.Contains(fingerprint)) + { + record.Action = FlashcardImportRowActions.Skip; + } + else + { + record.Action = FlashcardImportRowActions.Create; + if (stableId.Length == 0) record.StableId = Guid.NewGuid().ToString(); + } + } + records.Add(record); + } + + return await SavePreviewAsync(userId, FlashcardImportFormats.Csv, records); + } + + public async Task PreviewJsonAsync(string userId, string jsonText) + { + FlashcardJsonExport parsed; + try + { + parsed = JsonSerializer.Deserialize(jsonText, JsonOptions) + ?? throw new FlashcardValidationException("empty JSON document"); + } + catch (JsonException exception) + { + throw new FlashcardValidationException($"invalid JSON: {exception.Message}"); + } + + if (parsed.Notes.Count > MaxNotesPerImport) + throw new FlashcardValidationException($"import limited to {MaxNotesPerImport:N0} notes"); + + var existingNotes = await _notes.ListAllActiveAsync(userId); + var byStableId = existingNotes.Where(v => v.StableId.Length > 0) + .ToDictionary(v => v.StableId, StringComparer.Ordinal); + + var records = new List(); + var rowNumber = 0; + foreach (var item in parsed.Notes) + { + rowNumber++; + var note = item.Note; + var stableId = string.IsNullOrWhiteSpace(note.StableId) ? Guid.NewGuid().ToString() : note.StableId; + var type = FlashcardTypes.All.Contains(note.Type) ? note.Type : FlashcardTypes.Basic; + var record = new FlashcardImportPendingRecord + { + RowNumber = rowNumber, + StableId = stableId, + DeckName = parsed.Decks.FirstOrDefault(d => d.Id == note.DeckId)?.Name ?? "Default", + Type = type, + Prompt = note.Prompt, + Answer = note.Answer, + Extra = note.Extra, + Tags = note.Tags, + SourceQuestionExternalId = note.SourceQuestionExternalId, + Cards = item.Cards, + ReviewLogs = item.ReviewLogs + }; + + record.Action = type == FlashcardTypes.Cloze && !FlashcardClozeParser.HasValidCloze(note.Prompt) + ? FlashcardImportRowActions.Error + : byStableId.ContainsKey(stableId) ? FlashcardImportRowActions.Update : FlashcardImportRowActions.Create; + if (record.Action == FlashcardImportRowActions.Error) + record.Error = "cloze prompt must contain at least one {{cN::answer}} marker"; + + records.Add(record); + } + + return await SavePreviewAsync(userId, FlashcardImportFormats.Json, records); + } + + public async Task CommitAsync(string userId, string importToken) + { + var preview = await _previews.Find(v => v.Id == importToken && v.UserId == userId).FirstOrDefaultAsync(); + if (preview is null) throw new FlashcardValidationException("import preview not found or expired; re-run preview"); + + var deckCache = new Dictionary(StringComparer.OrdinalIgnoreCase); + var response = new FlashcardImportCommitResponse(); + + foreach (var record in preview.Records) + { + if (record.Action == FlashcardImportRowActions.Error) + { + response.Errored++; + response.Errors.Add(ToRow(record)); + continue; + } + if (record.Action == FlashcardImportRowActions.Skip) + { + response.Skipped++; + continue; + } + + var deckId = await ResolveDeckIdAsync(userId, record.DeckName, deckCache); + var existing = await _notes.GetByStableIdAsync(userId, record.StableId); + var request = new UpsertFlashcardNoteRequest + { + DeckId = deckId, + StableId = record.StableId, + Type = record.Type, + Prompt = record.Prompt, + Answer = record.Answer, + Extra = record.Extra, + Tags = record.Tags, + SourceQuestionExternalId = record.SourceQuestionExternalId, + ExpectedRevision = existing?.Revision + }; + + FlashcardNoteUpdateResult result; + try + { + result = await _notes.UpsertAsync(userId, request, existing?.Id); + } + catch (FlashcardValidationException exception) + { + response.Errored++; + response.Errors.Add(new FlashcardImportPreviewRow + { + RowNumber = record.RowNumber, Action = FlashcardImportRowActions.Error, + Error = exception.Message, StableId = record.StableId + }); + continue; + } + + if (!result.Succeeded) + { + response.Errored++; + response.Errors.Add(new FlashcardImportPreviewRow + { + RowNumber = record.RowNumber, Action = FlashcardImportRowActions.Error, + Error = "note changed since preview; re-run import", StableId = record.StableId + }); + continue; + } + + if (record.Action == FlashcardImportRowActions.Create) response.Created++; else response.Updated++; + + foreach (var card in record.Cards) + await _schedules.ImportScheduleStateAsync(userId, result.Note!.Id!, card); + foreach (var log in record.ReviewLogs) + { + var targetCard = (await _schedules.GetByNoteIdAsync(userId, result.Note!.Id!)) + .FirstOrDefault(v => v.Variant == record.Cards.FirstOrDefault(c => c.Id == log.CardId)?.Variant); + if (targetCard is not null) + await _schedules.ImportReviewLogAsync(userId, targetCard.Id!, log); + } + } + + await _previews.DeleteOneAsync(v => v.Id == importToken); + return response; + } + + private async Task SavePreviewAsync( + string userId, string format, List records) + { + var preview = new FlashcardImportPreview + { + Id = Guid.NewGuid().ToString(), + UserId = userId, + Format = format, + Records = records + }; + await _previews.InsertOneAsync(preview); + + return new FlashcardImportPreviewResponse + { + ImportToken = preview.Id, + CreateCount = records.Count(v => v.Action == FlashcardImportRowActions.Create), + UpdateCount = records.Count(v => v.Action == FlashcardImportRowActions.Update), + SkipCount = records.Count(v => v.Action == FlashcardImportRowActions.Skip), + ErrorCount = records.Count(v => v.Action == FlashcardImportRowActions.Error), + Rows = records.Select(ToRow).ToList() + }; + } + + private static FlashcardImportPreviewRow ToRow(FlashcardImportPendingRecord record) => new() + { + RowNumber = record.RowNumber, + Action = record.Action, + Error = record.Error, + StableId = record.StableId, + Deck = record.DeckName, + Type = record.Type, + Prompt = Truncate(record.Prompt), + Answer = Truncate(record.Answer) + }; + + private static string Truncate(string value) => value.Length > 200 ? value[..200] + "…" : value; + + private async Task ResolveDeckIdAsync(string userId, string deckName, Dictionary cache) + { + var key = deckName.Trim(); + if (key.Length == 0) key = "Default"; + if (cache.TryGetValue(key, out var cached)) return cached; + + if (string.Equals(key, "Default", StringComparison.OrdinalIgnoreCase)) + { + var defaultDeck = await _decks.GetOrCreateDefaultDeckAsync(userId); + cache[key] = defaultDeck.Id!; + return defaultDeck.Id!; + } + + var normalized = FlashcardDeckStore.Normalize(key); + var existing = await _decks.GetByNameAsync(userId, normalized); + if (existing is not null) + { + cache[key] = existing.Id!; + return existing.Id!; + } + + var created = await _decks.UpsertAsync(userId, new UpsertFlashcardDeckRequest { Name = key }, null); + var deckId = created.Deck?.Id ?? (await _decks.GetByNameAsync(userId, normalized))?.Id + ?? throw new InvalidOperationException("deck resolution failed during import"); + cache[key] = deckId; + return deckId; + } +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardMediaStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardMediaStore.cs new file mode 100644 index 0000000..c54f9fc --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardMediaStore.cs @@ -0,0 +1,41 @@ +using MongoDB.Bson; +using MongoDB.Driver; +using QuestionsApi.Models; + +namespace QuestionsApi.Services.Flashcards; + +public sealed class FlashcardMediaStore +{ + private readonly IMongoCollection _assets; + + public FlashcardMediaStore(MongoDatabaseProvider mongo) + { + _assets = mongo.Database.GetCollection("FlashcardMediaAssets"); + _assets.Indexes.CreateOne(new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId), + new CreateIndexOptions { Name = "flashcard_media_user" })); + } + + public async Task CreateAsync(string userId, string fileName, string contentType, byte[] bytes) + { + var asset = new FlashcardMediaAsset + { + UserId = userId, + FileName = fileName, + ContentType = contentType, + Bytes = bytes, + CreatedUtc = DateTime.UtcNow + }; + await _assets.InsertOneAsync(asset); + return asset; + } + + public async Task GetAsync(string userId, string id) + { + if (!ObjectId.TryParse(id, out _)) return null; + return await _assets.Find(v => v.UserId == userId && v.Id == id).FirstOrDefaultAsync(); + } + + public Task DeleteAsync(string userId, string id) => + _assets.DeleteOneAsync(v => v.UserId == userId && v.Id == id).ContinueWith(t => t.Result.DeletedCount); +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardNoteStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardNoteStore.cs new file mode 100644 index 0000000..2a15dc3 --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardNoteStore.cs @@ -0,0 +1,187 @@ +using System.Security.Cryptography; +using System.Text; +using System.Text.RegularExpressions; +using MongoDB.Driver; +using QuestionsApi.Models; + +namespace QuestionsApi.Services.Flashcards; + +public sealed record FlashcardNoteUpdateResult(FlashcardNote? Note, FlashcardNote? Current) +{ + public bool Succeeded => Note is not null; +} + +public sealed class FlashcardNoteStore +{ + private readonly IMongoCollection _notes; + private readonly FlashcardScheduleStore _schedules; + + public FlashcardNoteStore(MongoDatabaseProvider mongo, FlashcardScheduleStore schedules) + { + _notes = mongo.Database.GetCollection("FlashcardNotes"); + _schedules = schedules; + _notes.Indexes.CreateMany([ + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.StableId), + new CreateIndexOptions { Unique = true, Name = "flashcard_note_unique_user_stable" }), + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.DeckId), + new CreateIndexOptions { Name = "flashcard_note_user_deck" }), + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.SourceQuestionExternalId), + new CreateIndexOptions { Name = "flashcard_note_user_source_question" }), + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.ContentFingerprint), + new CreateIndexOptions { Name = "flashcard_note_user_fingerprint" }) + ]); + } + + public static string Fingerprint(string type, string prompt, string answer) => + Convert.ToHexString(SHA256.HashData(Encoding.UTF8.GetBytes($"{type}{prompt.Trim()}{answer.Trim()}"))); + + public async Task GetAsync(string userId, string noteId) => + await _notes.Find(v => v.UserId == userId && v.Id == noteId).FirstOrDefaultAsync(); + + public async Task GetByStableIdAsync(string userId, string stableId) => + await _notes.Find(v => v.UserId == userId && v.StableId == stableId).FirstOrDefaultAsync(); + + public Task> ListByDeckAsync(string userId, string deckId) => + _notes.Find(v => v.UserId == userId && v.DeckId == deckId && v.ArchivedUtc == null).ToListAsync(); + + public Task> ListAllActiveAsync(string userId) => + _notes.Find(v => v.UserId == userId && v.ArchivedUtc == null).ToListAsync(); + + public async Task<(List Items, int Total)> SearchAsync(string userId, FlashcardLibraryQuery query) + { + var filter = Builders.Filter.Eq(v => v.UserId, userId); + if (query.State != FlashcardArchiveFilter.IncludeArchived) + filter &= Builders.Filter.Eq(v => v.ArchivedUtc, null); + if (!string.IsNullOrWhiteSpace(query.DeckId)) + filter &= Builders.Filter.Eq(v => v.DeckId, query.DeckId); + if (!string.IsNullOrWhiteSpace(query.Type)) + filter &= Builders.Filter.Eq(v => v.Type, query.Type); + if (!string.IsNullOrWhiteSpace(query.Tag)) + filter &= Builders.Filter.AnyEq(v => v.Tags, query.Tag); + if (!string.IsNullOrWhiteSpace(query.Search)) + { + var pattern = new MongoDB.Bson.BsonRegularExpression(Regex.Escape(query.Search), "i"); + filter &= Builders.Filter.Or( + Builders.Filter.Regex(v => v.Prompt, pattern), + Builders.Filter.Regex(v => v.Answer, pattern), + Builders.Filter.Regex(v => v.Extra, pattern)); + } + + var total = checked((int)await _notes.CountDocumentsAsync(filter)); + var page = Math.Max(1, query.Page); + var pageSize = Math.Clamp(query.PageSize, 1, 200); + var items = await _notes.Find(filter) + .SortByDescending(v => v.UpdatedUtc) + .Skip((page - 1) * pageSize) + .Limit(pageSize) + .ToListAsync(); + return (items, total); + } + + public async Task UpsertAsync(string userId, UpsertFlashcardNoteRequest request, string? noteId) + { + var type = FlashcardTypes.All.Contains(request.Type) ? request.Type : FlashcardTypes.Basic; + if (type == FlashcardTypes.Cloze && !FlashcardClozeParser.HasValidCloze(request.Prompt)) + throw new FlashcardValidationException("cloze note must contain at least one {{cN::answer}} marker"); + + var now = DateTime.UtcNow; + var fingerprint = Fingerprint(type, request.Prompt, request.Answer); + + FlashcardNote? saved; + if (string.IsNullOrWhiteSpace(noteId)) + { + var created = new FlashcardNote + { + UserId = userId, + StableId = string.IsNullOrWhiteSpace(request.StableId) ? Guid.NewGuid().ToString() : request.StableId, + DeckId = request.DeckId, + Type = type, + Prompt = request.Prompt, + Answer = request.Answer, + Extra = request.Extra, + Tags = NormalizeTags(request.Tags), + Images = request.Images, + SourceQuestionExternalId = request.SourceQuestionExternalId, + ContentFingerprint = fingerprint, + CreatedUtc = now, + UpdatedUtc = now + }; + try + { + await _notes.InsertOneAsync(created); + saved = created; + } + catch (MongoWriteException exception) when (exception.WriteError?.Category == ServerErrorCategory.DuplicateKey) + { + return new FlashcardNoteUpdateResult(null, await GetByStableIdAsync(userId, created.StableId)); + } + } + else + { + var expectedRevision = request.ExpectedRevision ?? 0; + var updated = await _notes.FindOneAndUpdateAsync( + v => v.UserId == userId && v.Id == noteId && v.Revision == expectedRevision, + Builders.Update + .Set(v => v.DeckId, request.DeckId) + .Set(v => v.Type, type) + .Set(v => v.Prompt, request.Prompt) + .Set(v => v.Answer, request.Answer) + .Set(v => v.Extra, request.Extra) + .Set(v => v.Tags, NormalizeTags(request.Tags)) + .Set(v => v.Images, request.Images) + .Set(v => v.SourceQuestionExternalId, request.SourceQuestionExternalId) + .Set(v => v.ContentFingerprint, fingerprint) + .Set(v => v.UpdatedUtc, now) + .Inc(v => v.Revision, 1), + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + if (updated is null) + return new FlashcardNoteUpdateResult(null, await GetAsync(userId, noteId)); + saved = updated; + } + + await _schedules.SyncVariantsAsync(saved); + return new FlashcardNoteUpdateResult(saved, null); + } + + public async Task ArchiveAsync(string userId, string noteId, bool archived) + { + var updated = await _notes.FindOneAndUpdateAsync( + v => v.UserId == userId && v.Id == noteId, + Builders.Update + .Set(v => v.ArchivedUtc, archived ? DateTime.UtcNow : null) + .Set(v => v.UpdatedUtc, DateTime.UtcNow) + .Inc(v => v.Revision, 1), + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + return updated is not null + ? new FlashcardNoteUpdateResult(updated, null) + : new FlashcardNoteUpdateResult(null, await GetAsync(userId, noteId)); + } + + public async Task MoveAsync(string userId, IReadOnlyCollection noteIds, string targetDeckId) + { + var result = await _notes.UpdateManyAsync( + v => v.UserId == userId && noteIds.Contains(v.Id!), + Builders.Update.Set(v => v.DeckId, targetDeckId).Set(v => v.UpdatedUtc, DateTime.UtcNow).Inc(v => v.Revision, 1)); + return result.ModifiedCount; + } + + public Task CountInDeckAsync(string userId, string deckId) => + _notes.CountDocumentsAsync(v => v.UserId == userId && v.DeckId == deckId && v.ArchivedUtc == null); + + private static List NormalizeTags(List tags) => tags + .Select(v => v.Trim()) + .Where(v => v.Length > 0) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(); +} + +public sealed class FlashcardValidationException(string message) : Exception(message); + +public static class FlashcardArchiveFilter +{ + public const string IncludeArchived = "archived"; +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs new file mode 100644 index 0000000..012f070 --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs @@ -0,0 +1,322 @@ +using MongoDB.Driver; +using QuestionsApi.Models; + +namespace QuestionsApi.Services.Flashcards; + +public enum FlashcardReviewOutcomeKind { Success, Duplicate, Conflict, NotFound } + +public sealed class FlashcardReviewOutcome +{ + public FlashcardReviewOutcomeKind Kind { get; init; } + public FlashcardSchedule? Schedule { get; init; } + public static FlashcardReviewOutcome NotFound() => new() { Kind = FlashcardReviewOutcomeKind.NotFound }; + public static FlashcardReviewOutcome Conflict(FlashcardSchedule? current) => new() { Kind = FlashcardReviewOutcomeKind.Conflict, Schedule = current }; + public static FlashcardReviewOutcome Duplicate(FlashcardSchedule? current) => new() { Kind = FlashcardReviewOutcomeKind.Duplicate, Schedule = current }; + public static FlashcardReviewOutcome Success(FlashcardSchedule schedule) => new() { Kind = FlashcardReviewOutcomeKind.Success, Schedule = schedule }; +} + +public sealed class FlashcardScheduleStore +{ + private readonly IMongoCollection _schedules; + private readonly IMongoCollection _reviewLogs; + private readonly IFlashcardScheduler _scheduler; + + public FlashcardScheduleStore(MongoDatabaseProvider mongo, IFlashcardScheduler scheduler) + { + _schedules = mongo.Database.GetCollection("FlashcardSchedules"); + _reviewLogs = mongo.Database.GetCollection("FlashcardReviewLogs"); + _scheduler = scheduler; + + _schedules.Indexes.CreateMany([ + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.NoteId).Ascending(v => v.Variant), + new CreateIndexOptions { Unique = true, Name = "flashcard_schedule_unique_user_note_variant" }), + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.State).Ascending(v => v.DueUtc), + new CreateIndexOptions { Name = "flashcard_schedule_user_state_due" }) + ]); + _reviewLogs.Indexes.CreateMany([ + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Descending(v => v.ReviewedUtc), + new CreateIndexOptions { Name = "flashcard_review_log_user_reviewed" }), + new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId).Ascending(v => v.CardId), + new CreateIndexOptions { Name = "flashcard_review_log_user_card" }) + ]); + } + + // Basic notes always have exactly one card (variant 0). Cloze notes get one independently + // scheduled card per distinct {{cN::...}} number found in the prompt. Existing variants are + // never removed on re-sync (even if a cloze number disappears from edited text) so a note + // edit never discards review history. + public async Task SyncVariantsAsync(FlashcardNote note) + { + var desiredVariants = note.Type == FlashcardTypes.Cloze + ? FlashcardClozeParser.DistinctClozeNumbers(note.Prompt) + : [0]; + if (desiredVariants.Count == 0) return; + + var existing = await GetByNoteIdAsync(note.UserId, note.Id!); + var existingVariants = existing.Select(v => v.Variant).ToHashSet(); + var now = DateTime.UtcNow; + foreach (var variant in desiredVariants.Where(v => !existingVariants.Contains(v))) + { + var schedule = new FlashcardSchedule + { + UserId = note.UserId, + NoteId = note.Id!, + Variant = variant, + State = FlashcardScheduleStates.New, + DueUtc = now, + CreatedUtc = now + }; + try + { + await _schedules.InsertOneAsync(schedule); + } + catch (MongoWriteException exception) when (exception.WriteError?.Category == ServerErrorCategory.DuplicateKey) + { + // Concurrent save already created this variant. + } + } + } + + public async Task GetAsync(string userId, string cardId) => + await _schedules.Find(v => v.UserId == userId && v.Id == cardId).FirstOrDefaultAsync(); + + public Task> GetByNoteIdAsync(string userId, string noteId) => + _schedules.Find(v => v.UserId == userId && v.NoteId == noteId).ToListAsync(); + + public async Task> GetDueAsync( + string userId, IReadOnlyCollection noteIds, DateTime nowUtc, DateTime studyDayStartUtc, int limit) + { + if (noteIds.Count == 0 || limit <= 0) return []; + return await _schedules.Find(v => v.UserId == userId + && noteIds.Contains(v.NoteId) + && v.State != FlashcardScheduleStates.New + && !v.IsSuspended + && (v.BuriedUntilUtc == null || v.BuriedUntilUtc <= studyDayStartUtc) + && v.DueUtc <= nowUtc) + .SortBy(v => v.DueUtc) + .Limit(limit) + .ToListAsync(); + } + + public async Task> GetNewAsync( + string userId, IReadOnlyCollection noteIds, DateTime studyDayStartUtc, int limit) + { + if (noteIds.Count == 0 || limit <= 0) return []; + return await _schedules.Find(v => v.UserId == userId + && noteIds.Contains(v.NoteId) + && v.State == FlashcardScheduleStates.New + && !v.IsSuspended + && (v.BuriedUntilUtc == null || v.BuriedUntilUtc <= studyDayStartUtc)) + .SortBy(v => v.CreatedUtc) + .Limit(limit) + .ToListAsync(); + } + + public Task CountDueAsync(string userId, IReadOnlyCollection noteIds, DateTime nowUtc, DateTime studyDayStartUtc) => + noteIds.Count == 0 + ? Task.FromResult(0L) + : _schedules.CountDocumentsAsync(v => v.UserId == userId + && noteIds.Contains(v.NoteId) + && v.State != FlashcardScheduleStates.New + && !v.IsSuspended + && (v.BuriedUntilUtc == null || v.BuriedUntilUtc <= studyDayStartUtc) + && v.DueUtc <= nowUtc); + + public Task CountNewAsync(string userId, IReadOnlyCollection noteIds, DateTime studyDayStartUtc) => + noteIds.Count == 0 + ? Task.FromResult(0L) + : _schedules.CountDocumentsAsync(v => v.UserId == userId + && noteIds.Contains(v.NoteId) + && v.State == FlashcardScheduleStates.New + && !v.IsSuspended + && (v.BuriedUntilUtc == null || v.BuriedUntilUtc <= studyDayStartUtc)); + + public Task CountReviewsSinceAsync(string userId, DateTime sinceUtc) => + _reviewLogs.CountDocumentsAsync(v => v.UserId == userId && v.ReviewedUtc >= sinceUtc && v.UndoneUtc == null); + + public async Task CountNewIntroducedSinceAsync(string userId, DateTime sinceUtc) => + checked((int)await _reviewLogs.CountDocumentsAsync(v => v.UserId == userId + && v.ReviewedUtc >= sinceUtc && v.UndoneUtc == null && v.Before.State == FlashcardScheduleStates.New)); + + public Task> GetReviewsSinceAsync(string userId, DateTime sinceUtc) => + _reviewLogs.Find(v => v.UserId == userId && v.ReviewedUtc >= sinceUtc).SortBy(v => v.ReviewedUtc).ToListAsync(); + + public Task> GetReviewLogsForCardAsync(string userId, string cardId) => + _reviewLogs.Find(v => v.UserId == userId && v.CardId == cardId).SortBy(v => v.ReviewedUtc).ToListAsync(); + + // Used only by JSON import: restores a previously-exported card's FSRS state verbatim + // (not a normal review) so importing preserves history instead of re-deriving it. + public Task ImportScheduleStateAsync(string userId, string noteId, FlashcardSchedule imported) => + _schedules.UpdateOneAsync( + v => v.UserId == userId && v.NoteId == noteId && v.Variant == imported.Variant, + Builders.Update + .Set(v => v.State, imported.State) + .Set(v => v.Step, imported.Step) + .Set(v => v.Stability, imported.Stability) + .Set(v => v.Difficulty, imported.Difficulty) + .Set(v => v.DueUtc, imported.DueUtc) + .Set(v => v.LastReviewUtc, imported.LastReviewUtc) + .Set(v => v.IsSuspended, imported.IsSuspended) + .Set(v => v.BuriedUntilUtc, imported.BuriedUntilUtc) + .Inc(v => v.Revision, 1)); + + public async Task ImportReviewLogAsync(string userId, string cardId, FlashcardReviewLog imported) + { + var log = new FlashcardReviewLog + { + Id = string.IsNullOrWhiteSpace(imported.Id) ? Guid.NewGuid().ToString() : imported.Id, + UserId = userId, + CardId = cardId, + Rating = imported.Rating, + ReviewedUtc = imported.ReviewedUtc, + DurationSeconds = imported.DurationSeconds, + Before = imported.Before, + After = imported.After, + CreatedUtc = imported.CreatedUtc, + UndoneUtc = imported.UndoneUtc + }; + try + { + await _reviewLogs.InsertOneAsync(log); + } + catch (MongoWriteException exception) when (exception.WriteError?.Category == ServerErrorCategory.DuplicateKey) + { + // Already imported (re-running the same import commit). + } + } + + public List PreviewRatingOptions(FlashcardSchedule schedule, DateTime nowUtc) => + _scheduler.PreviewRatingOptions(schedule, nowUtc); + + public async Task SubmitReviewAsync(string userId, FlashcardReviewRequest request) + { + var schedule = await GetAsync(userId, request.CardId); + if (schedule is null) return FlashcardReviewOutcome.NotFound(); + + if (schedule.Revision != request.ExpectedRevision) + { + var priorLog = await _reviewLogs.Find(v => v.Id == request.ClientReviewId && v.UserId == userId).FirstOrDefaultAsync(); + return priorLog is not null && priorLog.CardId == request.CardId + ? FlashcardReviewOutcome.Duplicate(schedule) + : FlashcardReviewOutcome.Conflict(schedule); + } + + var before = Snapshot(schedule); + var result = _scheduler.Review(schedule, request.Rating, request.ReviewedUtc, request.DurationSeconds); + + var updated = await _schedules.FindOneAndUpdateAsync( + v => v.UserId == userId && v.Id == request.CardId && v.Revision == request.ExpectedRevision, + Builders.Update + .Set(v => v.State, result.State) + .Set(v => v.Step, result.Step) + .Set(v => v.Stability, result.Stability) + .Set(v => v.Difficulty, result.Difficulty) + .Set(v => v.DueUtc, result.DueUtc) + .Set(v => v.LastReviewUtc, result.LastReviewUtc) + .Set(v => v.AlgorithmVersion, FsrsFlashcardScheduler.AlgorithmVersion) + .Inc(v => v.Revision, 1), + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + + if (updated is null) + { + var raceLog = await _reviewLogs.Find(v => v.Id == request.ClientReviewId && v.UserId == userId).FirstOrDefaultAsync(); + var current = await GetAsync(userId, request.CardId); + return raceLog is not null && raceLog.CardId == request.CardId + ? FlashcardReviewOutcome.Duplicate(current) + : FlashcardReviewOutcome.Conflict(current); + } + + var log = new FlashcardReviewLog + { + Id = request.ClientReviewId, + UserId = userId, + CardId = request.CardId, + Rating = request.Rating, + ReviewedUtc = request.ReviewedUtc, + DurationSeconds = Math.Clamp(request.DurationSeconds, 0, 86_400), + Before = before, + After = Snapshot(updated), + CreatedUtc = DateTime.UtcNow + }; + try + { + await _reviewLogs.InsertOneAsync(log); + } + catch (MongoWriteException exception) when (exception.WriteError?.Category == ServerErrorCategory.DuplicateKey) + { + // A retried duplicate request already recorded this review; the schedule update + // above only applies once because it matched the pre-review revision exactly. + } + + // Bury cloze siblings (basic notes have exactly one variant, so this is a no-op for them). + var buriedUntil = FlashcardScheduling.NextStudyDayStart(request.StudyDayStartUtc); + await _schedules.UpdateManyAsync( + v => v.UserId == userId && v.NoteId == updated.NoteId && v.Id != updated.Id, + Builders.Update.Set(v => v.BuriedUntilUtc, buriedUntil)); + + return FlashcardReviewOutcome.Success(updated); + } + + public async Task UndoAsync(string userId, string reviewLogId) + { + var log = await _reviewLogs.Find(v => v.Id == reviewLogId && v.UserId == userId && v.UndoneUtc == null).FirstOrDefaultAsync(); + if (log is null) return FlashcardReviewOutcome.NotFound(); + + var current = await GetAsync(userId, log.CardId); + if (current is null) return FlashcardReviewOutcome.NotFound(); + if (current.Revision != log.After.Revision) + return FlashcardReviewOutcome.Conflict(current); + + var restored = await _schedules.FindOneAndUpdateAsync( + v => v.UserId == userId && v.Id == log.CardId && v.Revision == log.After.Revision, + Builders.Update + .Set(v => v.State, log.Before.State) + .Set(v => v.Step, log.Before.Step) + .Set(v => v.Stability, log.Before.Stability) + .Set(v => v.Difficulty, log.Before.Difficulty) + .Set(v => v.DueUtc, log.Before.DueUtc) + .Set(v => v.LastReviewUtc, log.Before.LastReviewUtc) + .Inc(v => v.Revision, 1), + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + + if (restored is null) return FlashcardReviewOutcome.Conflict(await GetAsync(userId, log.CardId)); + + await _reviewLogs.UpdateOneAsync( + v => v.Id == reviewLogId, + Builders.Update.Set(v => v.UndoneUtc, DateTime.UtcNow)); + return FlashcardReviewOutcome.Success(restored); + } + + public async Task SetSuspendedAsync(string userId, IReadOnlyCollection cardIds, bool suspended) + { + if (cardIds.Count == 0) return 0; + var result = await _schedules.UpdateManyAsync( + v => v.UserId == userId && cardIds.Contains(v.Id!), + Builders.Update.Set(v => v.IsSuspended, suspended).Inc(v => v.Revision, 1)); + return result.ModifiedCount; + } + + public async Task BuryAsync(string userId, IReadOnlyCollection cardIds, DateTime untilUtc) + { + if (cardIds.Count == 0) return 0; + var result = await _schedules.UpdateManyAsync( + v => v.UserId == userId && cardIds.Contains(v.Id!), + Builders.Update.Set(v => v.BuriedUntilUtc, untilUtc).Inc(v => v.Revision, 1)); + return result.ModifiedCount; + } + + private static FlashcardScheduleSnapshot Snapshot(FlashcardSchedule schedule) => new() + { + State = schedule.State, + Step = schedule.Step, + Stability = schedule.Stability, + Difficulty = schedule.Difficulty, + DueUtc = schedule.DueUtc, + LastReviewUtc = schedule.LastReviewUtc, + Revision = schedule.Revision + }; +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardScheduler.cs b/api/QuestionsApi/Services/Flashcards/FlashcardScheduler.cs new file mode 100644 index 0000000..67c3508 --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardScheduler.cs @@ -0,0 +1,116 @@ +using FSRS.Core.Enums; +using FSRS.Core.Models; +using FSRS.Core.Services; +using QuestionsApi.Models; + +namespace QuestionsApi.Services.Flashcards; + +public sealed class FlashcardScheduleResult +{ + public string State { get; init; } = FlashcardScheduleStates.Learning; + public int? Step { get; init; } + public double Stability { get; init; } + public double Difficulty { get; init; } + public DateTime DueUtc { get; init; } + public DateTime LastReviewUtc { get; init; } +} + +public interface IFlashcardScheduler +{ + FlashcardScheduleResult Review(FlashcardSchedule schedule, string rating, DateTime reviewedUtc, int durationSeconds); + List PreviewRatingOptions(FlashcardSchedule schedule, DateTime nowUtc); +} + +// Wraps FSRS.Core 1.0.7 behind an internal interface, pinned to the repo's fixed defaults +// (90% desired retention, 36,500 day max interval, no per-user parameter optimization). +// Fuzzing is disabled so scheduling is deterministic: reproducible for tests/support, and +// so a review's outcome depends only on stored state, never on wall-clock randomness. +public sealed class FsrsFlashcardScheduler : IFlashcardScheduler +{ + public const string AlgorithmVersion = "fsrs-core-1.0.7"; + public const double DesiredRetention = 0.90; + public const int MaximumIntervalDays = 36_500; + + private readonly Scheduler _scheduler = new( + desiredRetention: DesiredRetention, + maximumInterval: MaximumIntervalDays, + enableFuzzing: false); + + public FlashcardScheduleResult Review(FlashcardSchedule schedule, string rating, DateTime reviewedUtc, int durationSeconds) + { + var card = ToCard(schedule); + var (updated, _) = _scheduler.ReviewCard(card, ParseRating(rating), reviewedUtc, Math.Max(0, durationSeconds) * 1000); + return FromCard(updated); + } + + public List PreviewRatingOptions(FlashcardSchedule schedule, DateTime nowUtc) + { + var options = new List(); + foreach (var rating in FlashcardRatings.All) + { + var card = ToCard(schedule); + var (updated, _) = _scheduler.ReviewCard(card, ParseRating(rating), nowUtc); + options.Add(new FlashcardRatingOption + { + Rating = rating, + DueUtc = updated.Due, + IntervalLabel = FormatInterval(updated.Due - nowUtc) + }); + } + return options; + } + + private static Card ToCard(FlashcardSchedule schedule) => + schedule.LastReviewUtc is null + ? new Card() + : new Card( + state: ParseState(schedule.State), + step: schedule.Step, + stability: schedule.Stability, + difficulty: schedule.Difficulty, + due: schedule.DueUtc, + lastReview: schedule.LastReviewUtc); + + private static FlashcardScheduleResult FromCard(Card card) => new() + { + State = FormatState(card.State), + Step = card.Step, + Stability = card.Stability ?? 0, + Difficulty = card.Difficulty ?? 0, + DueUtc = card.Due, + LastReviewUtc = card.LastReview ?? DateTime.UtcNow + }; + + private static Rating ParseRating(string rating) => rating switch + { + FlashcardRatings.Again => Rating.Again, + FlashcardRatings.Hard => Rating.Hard, + FlashcardRatings.Good => Rating.Good, + FlashcardRatings.Easy => Rating.Easy, + _ => throw new ArgumentOutOfRangeException(nameof(rating), rating, "unknown flashcard rating") + }; + + private static State ParseState(string state) => state switch + { + FlashcardScheduleStates.Review => State.Review, + FlashcardScheduleStates.Relearning => State.Relearning, + _ => State.Learning + }; + + private static string FormatState(State state) => state switch + { + State.Review => FlashcardScheduleStates.Review, + State.Relearning => FlashcardScheduleStates.Relearning, + _ => FlashcardScheduleStates.Learning + }; + + public static string FormatInterval(TimeSpan span) + { + if (span.TotalMinutes < 1) return "<1m"; + if (span.TotalHours < 1) return $"{(int)Math.Round(span.TotalMinutes)}m"; + if (span.TotalDays < 1) return $"{(int)Math.Round(span.TotalHours)}h"; + if (span.TotalDays < 30) return $"{(int)Math.Round(span.TotalDays)}d"; + if (span.TotalDays < 365) return $"{Math.Round(span.TotalDays / 30, 1)}mo"; + return $"{Math.Round(span.TotalDays / 365, 1)}y"; + } +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs b/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs new file mode 100644 index 0000000..c471998 --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs @@ -0,0 +1,14 @@ +namespace QuestionsApi.Services.Flashcards; + +// Small pure helpers pulled out of FlashcardStudyService/FlashcardScheduleStore so the +// daily-limit and sibling-bury rules can be unit tested without a live Mongo instance. +public static class FlashcardScheduling +{ + // A card reviewed on a given local study day buries its siblings until the next local day. + public static DateTime NextStudyDayStart(DateTime studyDayStartUtc) => studyDayStartUtc.Date.AddDays(1); + + // Effective per-day budget: deck override wins over the global default, minus what's + // already been consumed on the client's current local study day. + public static int ResolveDailyBudget(int globalLimit, int? deckOverride, int consumedToday) => + Math.Max(0, (deckOverride ?? globalLimit) - consumedToday); +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardSettingsStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardSettingsStore.cs new file mode 100644 index 0000000..f7a6830 --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardSettingsStore.cs @@ -0,0 +1,36 @@ +using MongoDB.Driver; +using QuestionsApi.Models; + +namespace QuestionsApi.Services.Flashcards; + +public sealed class FlashcardSettingsStore +{ + private readonly IMongoCollection _settings; + + public FlashcardSettingsStore(MongoDatabaseProvider mongo) + { + _settings = mongo.Database.GetCollection("FlashcardSettings"); + _settings.Indexes.CreateOne(new CreateIndexModel( + Builders.IndexKeys.Ascending(v => v.UserId), + new CreateIndexOptions { Unique = true, Name = "flashcard_settings_unique_user" })); + } + + public async Task GetAsync(string userId) => + await _settings.Find(v => v.UserId == userId).FirstOrDefaultAsync() + ?? new FlashcardSettings { UserId = userId }; + + public async Task UpdateAsync(string userId, UpdateFlashcardSettingsRequest request) + { + var now = DateTime.UtcNow; + return await _settings.FindOneAndUpdateAsync( + v => v.UserId == userId, + Builders.Update + .Set(v => v.NewCardsPerDay, Math.Clamp(request.NewCardsPerDay, 0, 2000)) + .Set(v => v.ReviewsPerDay, Math.Clamp(request.ReviewsPerDay, 0, 5000)) + .Set(v => v.DesiredRetention, FsrsFlashcardScheduler.DesiredRetention) + .Set(v => v.UpdatedUtc, now) + .Inc(v => v.Revision, 1) + .SetOnInsert(v => v.UserId, userId), + new FindOneAndUpdateOptions { IsUpsert = true, ReturnDocument = ReturnDocument.After }); + } +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs b/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs new file mode 100644 index 0000000..089839c --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs @@ -0,0 +1,112 @@ +using QuestionsApi.Models; + +namespace QuestionsApi.Services.Flashcards; + +// Composes decks/notes/schedules/settings to answer "what's next" and daily-count questions. +// Kept separate from the individual stores to avoid a circular dependency (notes need to +// sync schedule variants; schedules must not need to know about notes/decks). +public sealed class FlashcardStudyService( + FlashcardDeckStore decks, + FlashcardNoteStore notes, + FlashcardScheduleStore schedules, + FlashcardSettingsStore settingsStore) +{ + public async Task GetNextCardAsync(string userId, FlashcardStudyRequest request) + { + var now = DateTime.UtcNow; + var studyDayStart = request.StudyDayStartUtc.Date; + var noteIds = await ResolveNoteIdsAsync(userId, request.DeckId); + var (newBudget, reviewBudget) = await ResolveBudgetsAsync(userId, request.DeckId, studyDayStart); + var exclude = request.ExcludeCardIds.Where(v => !string.IsNullOrWhiteSpace(v)).ToHashSet(StringComparer.Ordinal); + + // Overdue/due cards first (oldest due first), then new cards. + FlashcardSchedule? card = null; + if (reviewBudget > 0) + { + var due = await schedules.GetDueAsync(userId, noteIds, now, studyDayStart, reviewBudget + exclude.Count + 1); + card = due.FirstOrDefault(v => !exclude.Contains(v.Id!)); + } + if (card is null && newBudget > 0) + { + var fresh = await schedules.GetNewAsync(userId, noteIds, studyDayStart, newBudget + exclude.Count + 1); + card = fresh.FirstOrDefault(v => !exclude.Contains(v.Id!)); + } + + var dueRemaining = checked((int)await schedules.CountDueAsync(userId, noteIds, now, studyDayStart)); + var newRemaining = checked((int)await schedules.CountNewAsync(userId, noteIds, studyDayStart)); + var response = new FlashcardStudyCardResponse + { + DueRemaining = Math.Min(dueRemaining, reviewBudget), + NewRemaining = Math.Min(newRemaining, newBudget) + }; + if (card is null) return response; + + var note = await notes.GetAsync(userId, card.NoteId); + if (note is null) return response; + + response.Note = note; + response.Card = card; + response.RatingOptions = schedules.PreviewRatingOptions(card, now); + return response; + } + + public async Task GetDashboardCountsAsync(string userId, DateTime nowUtc, DateTime weekStartUtc) + { + var studyDayStart = nowUtc.Date; + var noteIds = await ResolveNoteIdsAsync(userId, ""); + var (newBudget, _) = await ResolveBudgetsAsync(userId, "", studyDayStart); + var due = checked((int)await schedules.CountDueAsync(userId, noteIds, nowUtc, studyDayStart)); + var newAvailable = Math.Min(checked((int)await schedules.CountNewAsync(userId, noteIds, studyDayStart)), newBudget); + var reviewedThisWeek = checked((int)await schedules.CountReviewsSinceAsync(userId, weekStartUtc)); + return new FlashcardDashboardCounts { Due = due, NewAvailable = newAvailable, ReviewedThisWeek = reviewedThisWeek }; + } + + public async Task> GetDeckSummariesAsync(string userId, DateTime nowUtc, DateTime studyDayStart) + { + var deckList = await decks.ListAsync(userId); + var result = new List(); + foreach (var deck in deckList) + { + var deckNoteIds = (await notes.ListByDeckAsync(userId, deck.Id!)).Select(v => v.Id!).ToList(); + var due = checked((int)await schedules.CountDueAsync(userId, deckNoteIds, nowUtc, studyDayStart)); + var fresh = checked((int)await schedules.CountNewAsync(userId, deckNoteIds, studyDayStart)); + result.Add(new FlashcardDeckSummary + { + Deck = deck, + Total = deckNoteIds.Count, + Due = due, + New = fresh + }); + } + return result; + } + + private async Task> ResolveNoteIdsAsync(string userId, string deckId) + { + var activeNotes = string.IsNullOrWhiteSpace(deckId) + ? await notes.ListAllActiveAsync(userId) + : await notes.ListByDeckAsync(userId, deckId); + return activeNotes.Select(v => v.Id!).ToList(); + } + + private async Task<(int NewBudget, int ReviewBudget)> ResolveBudgetsAsync(string userId, string deckId, DateTime studyDayStart) + { + var settings = await settingsStore.GetAsync(userId); + var newLimit = settings.NewCardsPerDay; + var reviewLimit = settings.ReviewsPerDay; + if (!string.IsNullOrWhiteSpace(deckId)) + { + var deck = await decks.GetAsync(userId, deckId); + if (deck is not null) + { + newLimit = deck.NewCardsPerDay ?? newLimit; + reviewLimit = deck.ReviewsPerDay ?? reviewLimit; + } + } + var reviewedToday = checked((int)await schedules.CountReviewsSinceAsync(userId, studyDayStart)); + var newIntroducedToday = await schedules.CountNewIntroducedSinceAsync(userId, studyDayStart); + return ( + FlashcardScheduling.ResolveDailyBudget(newLimit, null, newIntroducedToday), + FlashcardScheduling.ResolveDailyBudget(reviewLimit, null, reviewedToday)); + } +} diff --git a/api/QuestionsApi/Services/UserProfileStore.cs b/api/QuestionsApi/Services/UserProfileStore.cs index e798da5..7076882 100644 --- a/api/QuestionsApi/Services/UserProfileStore.cs +++ b/api/QuestionsApi/Services/UserProfileStore.cs @@ -16,7 +16,9 @@ public sealed class UserProfileStore "ReviewQueueItems", "QuestionReviewAttempts", "ReviewQueueBackfillStates", "CcsAttempts", "CcsUserRatings", "CcsRatedCaseResults", "ExamSimulations", "Step3Outcomes", "QuestionReports", "CcsCaseReports", "AppFeedback", "UserStudyProfiles", - "ExternalIdentities", "ExternalAuthTransactions" + "ExternalIdentities", "ExternalAuthTransactions", + "FlashcardDecks", "FlashcardNotes", "FlashcardSchedules", "FlashcardReviewLogs", + "FlashcardMediaAssets", "FlashcardSettings", "FlashcardImportPreviews" ]; public UserProfileStore(MongoDatabaseProvider mongo) diff --git a/docs/FLASHCARDS.md b/docs/FLASHCARDS.md new file mode 100644 index 0000000..09f71d9 --- /dev/null +++ b/docs/FLASHCARDS.md @@ -0,0 +1,83 @@ +# Flashcards + +A separate spaced-repetition system alongside the missed-question review queue. Users author +basic and cloze flashcards (or generate a basic card from a resolved question), organize them +in flat decks, and study them on an FSRS schedule. + +## Scheduling + +Reviews are scored by [FSRS.Core](https://www.nuget.org/packages/FSRS.Core) 1.0.7, wrapped +behind `IFlashcardScheduler` (`api/QuestionsApi/Services/Flashcards/FlashcardScheduler.cs`) so +the rest of the API never touches the library directly. Pinned, non-configurable defaults: + +- Desired retention: 90% +- Maximum interval: 36,500 days +- Interval fuzzing: disabled, so a review's outcome is a deterministic function of stored state + (needed for idempotent replay from the offline outbox, and for golden-vector testing) +- Algorithm/parameter version is recorded per card (`FlashcardSchedule.AlgorithmVersion`) so a + future FSRS upgrade or personalized-parameter feature can be introduced without losing the + ability to tell which cards were scheduled under which version + +There is no per-user parameter optimization yet; `FlashcardScheduleStore` stores complete +before/after snapshots on every `FlashcardReviewLog` entry specifically so that a future +optimizer can be trained from full history without a data migration. + +`api/QuestionsApi.Tests/FlashcardSchedulerTests.cs` validates the wrapper against the official +FSRS formulas (initial stability/difficulty per rating, and the interval-equals-stability +identity that holds at exactly 90% desired retention) computed from the library's own shipped +default parameters, rather than against hand-copied constants - this stays correct even if +FSRS.Core's defaults are retrained upstream. + +## Data model + +Six user-owned Mongo collections, all indexed on `(UserId, ...)`: + +- `FlashcardDecks` - flat (no nesting); every user has exactly one `IsDefault` deck, created + lazily on first use. +- `FlashcardNotes` - authored content (`Prompt`/`Answer`/`Extra`/`Tags`/`Images`). Cloze notes + store their `{{cN::answer::hint}}` markup in `Prompt`. +- `FlashcardSchedules` - one row per generated card, keyed by `(NoteId, Variant)`. Basic notes + always have variant `0`; cloze notes get one row per distinct cloze number found in the + prompt. Kept in a separate collection from notes so editing a note's content never discards + its review history. +- `FlashcardReviewLogs` - immutable, keyed by the client-generated review UUID for idempotent + submission; carries full before/after schedule snapshots. +- `FlashcardMediaAssets` - user-uploaded images (PNG/JPEG/WebP, 5 MB/4-per-note limits). +- `FlashcardSettings` - one row per user (global new/review daily limits). + +Attaching a question's own image to a flashcard does not copy bytes: `FlashcardImageReference` +has a `Kind` (`"question"` vs `"owned"`) so the client can resolve `"question"` references +against the existing `/api/questions/media/{id}` endpoint instead of duplicating the asset. + +Sibling cloze cards are buried (`FlashcardSchedule.BuriedUntilUtc`) until the next local study +day whenever any one sibling is reviewed. Daily new/review limits reset at the same boundary. +That boundary is supplied by the client as `studyDayStartUtc` on study/review requests (the +local calendar day at session start, expressed as a UTC instant) rather than computed +server-side, per the spec's client-local-day requirement. + +## API + +All endpoints live under `/api/flashcards` (`FlashcardsController.cs`) and require `USER`/`SUPER` +auth. Deck/note mutations use the same optimistic-concurrency (`ExpectedRevision` + 409 Conflict) +pattern as the rest of the API. Review submission is idempotent on `ClientReviewId`; undo only +allows reverting the single most recent review on a card (it refuses if the card's revision has +moved since). + +## Import/export + +CSV is UTF-8, text-only, headers `stable_id,deck,type,prompt,answer,extra,tags, +source_question_external_id` (tags semicolon-separated); it omits images, schedule state, and +review history and reports those omissions via the `X-Flashcard-Export-Omissions` response +header. App JSON is full-fidelity (decks, settings, notes, schedules, review logs, base64 +images) and merges on import by the note's stable UUID. Both formats go through a +create/update/skip/error preview (`FlashcardImportPreviews`, TTL-expired after an hour) before +`import/commit` applies it; commit never silently drops a row - everything is created, updated, +skipped as an exact-content duplicate, or reported as a row-level error. Limits: 25 MB and +10,000 notes per import. + +## Deployment + +No new secrets. `FlashcardsController`/stores register the same way as the rest of the API +(`Program.cs`, `AddSingleton`). The Godot client resolves its API base URL from +`step3/flashcards_api_url` in `project.godot`, following the same same-origin-on-web resolution +as every other autoload service (`api_endpoint_config.gd`). diff --git a/docs/PROFILE_ACCOUNT_OPERATIONS.md b/docs/PROFILE_ACCOUNT_OPERATIONS.md index ca4beaf..2b92932 100644 --- a/docs/PROFILE_ACCOUNT_OPERATIONS.md +++ b/docs/PROFILE_ACCOUNT_OPERATIONS.md @@ -28,3 +28,7 @@ must initiate recovery with their exact username. Exports are versioned JSON files containing account metadata and user-owned study records. Password hashes, refresh tokens, global question content, and moderation data owned by other users are excluded. + +Flashcard decks, notes, generated cards, review logs, media, and settings are user-owned +collections (see [FLASHCARDS.md](FLASHCARDS.md)) and are included in export/purge the same way +as the rest of a learner's study data. diff --git a/docs/UAT_SMOKE_TESTS.md b/docs/UAT_SMOKE_TESTS.md index 6787d99..a159a76 100644 --- a/docs/UAT_SMOKE_TESTS.md +++ b/docs/UAT_SMOKE_TESTS.md @@ -10,6 +10,8 @@ It checks: - registration, login, refresh, authenticated profile, dashboard, ratings, review queue, and randomized question retrieval; - random CCS attempt creation and abandonment; +- flashcard deck/card creation, studying and grading a card, confirming it + drops out of the due queue, and a CSV export/import round trip; - public web/legal assets, completion of the Godot loader, and a visible, non-uniform canvas without browser or critical asset errors. diff --git a/project.godot b/project.godot index 1ae990d..2630382 100644 --- a/project.godot +++ b/project.godot @@ -35,6 +35,7 @@ NotesService="*res://scripts/autoload/notes_service.gd" BookmarkService="*res://scripts/autoload/bookmark_service.gd" ReviewQueueService="*res://scripts/autoload/review_queue_service.gd" DashboardService="*res://scripts/autoload/dashboard_service.gd" +FlashcardService="*res://scripts/autoload/flashcard_service.gd" AccountProfileService="*res://scripts/autoload/account_profile_service.gd" DonationService="*res://scripts/autoload/donation_service.gd" @@ -67,4 +68,5 @@ dashboard_api_url="https://us3q.ranaze.com/api/dashboard" profile_api_url="https://us3q.ranaze.com/api/profile" donations_api_url="https://us3q.ranaze.com/api/donations" review_queue_api_url="https://us3q.ranaze.com/api/review-queue" +flashcards_api_url="https://us3q.ranaze.com/api/flashcards" build_revision="development" diff --git a/scripts/autoload/flashcard_service.gd b/scripts/autoload/flashcard_service.gd new file mode 100644 index 0000000..445bbca --- /dev/null +++ b/scripts/autoload/flashcard_service.gd @@ -0,0 +1,375 @@ +extends Node + +# Flashcard autoload: study-session networking (next card, review submission) plus best-effort +# CRUD for decks/notes/settings used by the library screens. +# +# Review submission is the one path that must survive a dropped connection mid-session: graded +# reviews are queued to a durable per-account outbox (mirrors ReviewQueueService) and retried +# until the server confirms them. Everything else (deck/note CRUD, counts) is a plain +# best-effort request - if it fails, the caller shows an error and the user retries manually. + +signal decks_changed(decks: Array) +signal settings_changed(settings: Dictionary) +signal counts_changed(counts: Dictionary) +signal next_card_loaded(card: Dictionary) +signal next_card_failed(message: String) +signal review_synced(card_id: String, updated_card: Dictionary) +signal review_paused(message: String) +signal review_resumed +signal notes_loaded(response: Dictionary) +signal note_saved(note: Dictionary) +signal request_failed(tag: String, message: String) + +const EndpointConfig := preload("res://scripts/autoload/api_endpoint_config.gd") +const DEFAULT_API_URL := "https://us3q.ranaze.com/api/flashcards" +const OUTBOX_PATH := "user://pending_flashcard_reviews.json" + +var api_url := DEFAULT_API_URL +var next_request: HTTPRequest +var review_request: HTTPRequest +var misc_request: HTTPRequest +var retry_timer: Timer +var loading_next := false +var submitting_review := false +var misc_busy := false +var misc_queue: Array = [] +var outbox: Array = [] +var active_account_key := "" +var is_paused := false + + +func _ready() -> void: + api_url = EndpointConfig.resolve( + str(ProjectSettings.get_setting("step3/flashcards_api_url", DEFAULT_API_URL)), + "/api/flashcards") + next_request = _make_request(_on_next_completed) + review_request = _make_request(_on_review_completed) + misc_request = _make_request(_on_misc_completed) + retry_timer = Timer.new() + retry_timer.one_shot = true + retry_timer.wait_time = 5.0 + retry_timer.timeout.connect(_process_outbox) + add_child(retry_timer) + _load_outbox() + AuthState.auth_changed.connect(_on_auth_changed) + _on_auth_changed() + + +func _make_request(callback: Callable) -> HTTPRequest: + var request := HTTPRequest.new() + request.timeout = 25.0 + request.request_completed.connect(callback) + add_child(request) + return request + + +func _headers() -> PackedStringArray: + return PackedStringArray([ + "Content-Type: application/json", + "Authorization: Bearer %s" % AuthState.access_token + ]) + + +func current_study_day_start_utc() -> String: + # The local calendar day at session start, expressed as a UTC instant, per the spec's + # "daily limits are based on the client's local study day recorded at session start." + var local := Time.get_datetime_dict_from_system(false) + var utc_offset_minutes: int = Time.get_time_zone_from_system().get("bias", 0) + var local_midnight_unix: int = Time.get_unix_time_from_datetime_dict({ + "year": local.year, "month": local.month, "day": local.day, + "hour": 0, "minute": 0, "second": 0 + }) + var utc_unix: int = local_midnight_unix + utc_offset_minutes * 60 + return "%sZ" % Time.get_datetime_string_from_unix_time(utc_unix, true) + + +# ---------- Next card / study session ---------- + +func request_next_card(deck_id: String, exclude_ids: Array, study_day_start_utc: String) -> void: + if loading_next or not AuthState.can_send_authenticated_request(): + next_card_failed.emit("Login is required to study flashcards.") + return + loading_next = true + var payload := { + "deckId": deck_id, + "excludeCardIds": exclude_ids, + "studyDayStartUtc": study_day_start_utc + } + var error := next_request.request( + "%s/study/next" % api_url, _headers(), HTTPClient.METHOD_POST, JSON.stringify(payload)) + if error != OK: + loading_next = false + next_card_failed.emit("The next flashcard could not be loaded. Check your connection and try again.") + + +func _on_next_completed(result: int, response_code: int, _headers_value: PackedStringArray, body: PackedByteArray) -> void: + loading_next = false + if response_code == 401: + AuthState.handle_unauthorized(AuthState.access_token) + return + if result != HTTPRequest.RESULT_SUCCESS or response_code < 200 or response_code >= 300: + next_card_failed.emit("The next flashcard could not be loaded. Check your connection and try again.") + return + var parsed: Variant = JSON.parse_string(body.get_string_from_utf8()) + if typeof(parsed) != TYPE_DICTIONARY: + next_card_failed.emit("The flashcard service returned an invalid response.") + return + next_card_loaded.emit(parsed) + + +# ---------- Review submission (offline-safe outbox) ---------- + +func submit_review(card_id: String, rating: String, expected_revision: int, duration_seconds: int, study_day_start_utc: String) -> String: + var client_review_id := _new_uuid() + var payload := { + "clientReviewId": client_review_id, + "cardId": card_id, + "rating": rating, + "expectedRevision": expected_revision, + "reviewedUtc": "%sZ" % Time.get_datetime_string_from_system(true), + "durationSeconds": clampi(duration_seconds, 0, 86400), + "studyDayStartUtc": study_day_start_utc + } + outbox.append({"account": _account_key(), "payload": payload, "retry_count": 0}) + _save_outbox() + _process_outbox() + return client_review_id + + +func has_pending_reviews() -> bool: + return _next_account_item_index() >= 0 + + +func _process_outbox() -> void: + if submitting_review or not AuthState.can_send_authenticated_request(): + return + var index := _next_account_item_index() + if index < 0: + if is_paused: + is_paused = false + review_resumed.emit() + return + var item: Dictionary = outbox[index] + item["active"] = true + outbox[index] = item + submitting_review = true + var error := review_request.request( + "%s/reviews" % api_url, _headers(), HTTPClient.METHOD_POST, + JSON.stringify({"reviews": [item.get("payload", {})]})) + if error != OK: + submitting_review = false + item.erase("active") + item["retry_count"] = int(item.get("retry_count", 0)) + 1 + outbox[index] = item + _save_outbox() + _mark_paused() + retry_timer.start() + + +func _on_review_completed(result: int, response_code: int, _headers_value: PackedStringArray, body: PackedByteArray) -> void: + submitting_review = false + var index := _active_item_index() + if index < 0: + return + var item: Dictionary = outbox[index] + item.erase("active") + var card_id := str(item.get("payload", {}).get("cardId", "")) + if response_code == 401: + outbox[index] = item + _save_outbox() + AuthState.handle_unauthorized(AuthState.access_token) + return + if result == HTTPRequest.RESULT_SUCCESS and response_code >= 200 and response_code < 300: + outbox.remove_at(index) + _save_outbox() + var parsed: Variant = JSON.parse_string(body.get_string_from_utf8()) + if typeof(parsed) == TYPE_DICTIONARY: + var results: Array = parsed.get("results", []) + if results.size() > 0: + review_synced.emit(card_id, (results[0] as Dictionary).get("card", {})) + _process_outbox() + return + if response_code == 409 or (response_code >= 400 and response_code < 500 and response_code not in [408, 429]): + # Stale revision or otherwise rejected: don't retry forever with bad state. + outbox.remove_at(index) + _save_outbox() + _process_outbox() + return + item["retry_count"] = int(item.get("retry_count", 0)) + 1 + outbox[index] = item + _save_outbox() + _mark_paused() + retry_timer.start() + + +func _mark_paused() -> void: + if not is_paused: + is_paused = true + review_paused.emit("Reconnecting to sync your reviews. Your progress is saved.") + + +# ---------- Best-effort JSON CRUD (decks, notes, settings, counts, undo, cards) ---------- + +func fetch_decks() -> void: + _enqueue_json("GET", "/decks", "", func(parsed): decks_changed.emit(parsed if typeof(parsed) == TYPE_ARRAY else []), "decks") + + +func fetch_settings() -> void: + _enqueue_json("GET", "/settings", "", func(parsed): settings_changed.emit(parsed if typeof(parsed) == TYPE_DICTIONARY else {}), "settings") + + +func update_settings(payload: Dictionary) -> void: + _enqueue_json("PUT", "/settings", JSON.stringify(payload), func(parsed): settings_changed.emit(parsed if typeof(parsed) == TYPE_DICTIONARY else {}), "settings") + + +func fetch_counts() -> void: + _enqueue_json("GET", "/counts", "", func(parsed): counts_changed.emit(parsed if typeof(parsed) == TYPE_DICTIONARY else {}), "counts") + + +func create_deck(name: String, description: String) -> void: + _enqueue_json("POST", "/decks", JSON.stringify({"name": name, "description": description}), + func(_parsed): fetch_decks(), "decks") + + +func archive_deck(deck_id: String, archived: bool) -> void: + var action := "archive" if archived else "restore" + _enqueue_json("POST", "/decks/%s/%s" % [deck_id, action], "", func(_parsed): fetch_decks(), "decks") + + +func search_notes(query: Dictionary) -> void: + _enqueue_json("POST", "/notes/search", JSON.stringify(query), + func(parsed): notes_loaded.emit(parsed if typeof(parsed) == TYPE_DICTIONARY else {"items": [], "total": 0}), "notes") + + +func save_note(note_id: String, payload: Dictionary) -> void: + var path := "/notes/%s" % note_id if not note_id.is_empty() else "/notes" + var method := "PUT" if not note_id.is_empty() else "POST" + _enqueue_json(method, path, JSON.stringify(payload), + func(parsed): note_saved.emit(parsed if typeof(parsed) == TYPE_DICTIONARY else {}), "note_save") + + +func move_notes(note_ids: Array, target_deck_id: String) -> void: + _enqueue_json("POST", "/notes/move", JSON.stringify({"noteIds": note_ids, "targetDeckId": target_deck_id}), + func(_parsed): pass, "notes") + + +func archive_notes(note_ids: Array, archived: bool) -> void: + var action := "archive" if archived else "restore" + _enqueue_json("POST", "/notes/%s" % action, JSON.stringify({"noteIds": note_ids}), func(_parsed): pass, "notes") + + +func suspend_cards(card_ids: Array, suspended: bool) -> void: + _enqueue_json("POST", "/cards/suspend", JSON.stringify({"cardIds": card_ids, "suspended": suspended}), func(_parsed): pass, "cards") + + +func bury_cards(card_ids: Array, until_utc: String) -> void: + _enqueue_json("POST", "/cards/bury", JSON.stringify({"cardIds": card_ids, "untilUtc": until_utc}), func(_parsed): pass, "cards") + + +func undo_last_review(review_log_id: String, on_done: Callable) -> void: + _enqueue_json("POST", "/reviews/undo", JSON.stringify({"reviewLogId": review_log_id}), + func(parsed): on_done.call(parsed if typeof(parsed) == TYPE_DICTIONARY else {}), "undo") + + +func _enqueue_json(method: String, path: String, body: String, on_success: Callable, tag: String) -> void: + misc_queue.append({"method": method, "path": path, "body": body, "on_success": on_success, "tag": tag}) + _pump_misc_queue() + + +func _pump_misc_queue() -> void: + if misc_busy or misc_queue.is_empty() or not AuthState.can_send_authenticated_request(): + return + var job: Dictionary = misc_queue.pop_front() + misc_busy = true + var method_map := { + "GET": HTTPClient.METHOD_GET, "POST": HTTPClient.METHOD_POST, + "PUT": HTTPClient.METHOD_PUT, "DELETE": HTTPClient.METHOD_DELETE + } + var error := misc_request.request( + "%s%s" % [api_url, str(job.get("path", ""))], + _headers(), + method_map.get(job.get("method", "GET"), HTTPClient.METHOD_GET), + str(job.get("body", ""))) + if error != OK: + misc_busy = false + request_failed.emit(str(job.get("tag", "")), "Request could not be sent. Check your connection.") + _pump_misc_queue() + return + misc_request.set_meta("current_job", job) + + +func _on_misc_completed(result: int, response_code: int, _headers_value: PackedStringArray, body: PackedByteArray) -> void: + misc_busy = false + var job: Dictionary = misc_request.get_meta("current_job", {}) + var tag := str(job.get("tag", "")) + if response_code == 401: + AuthState.handle_unauthorized(AuthState.access_token) + _pump_misc_queue() + return + if result != HTTPRequest.RESULT_SUCCESS or response_code < 200 or response_code >= 300: + request_failed.emit(tag, "That request failed. Check your connection and try again.") + _pump_misc_queue() + return + var parsed: Variant = JSON.parse_string(body.get_string_from_utf8()) + var on_success: Callable = job.get("on_success", Callable()) + if on_success.is_valid(): + on_success.call(parsed) + _pump_misc_queue() + + +# ---------- Account lifecycle / outbox persistence ---------- + +func _on_auth_changed() -> void: + active_account_key = _account_key() + if AuthState.is_logged_in: + _process_outbox() + elif retry_timer != null: + retry_timer.stop() + + +func _account_key() -> String: + return AuthState.username.strip_edges().to_lower().sha256_text() if not AuthState.username.strip_edges().is_empty() else "" + + +func _next_account_item_index() -> int: + for index in range(outbox.size()): + if str(outbox[index].get("account", "")) == active_account_key: + return index + return -1 + + +func _active_item_index() -> int: + for index in range(outbox.size()): + if bool(outbox[index].get("active", false)): + return index + return -1 + + +func _load_outbox() -> void: + outbox = [] + if not FileAccess.file_exists(OUTBOX_PATH): + return + var parsed: Variant = JSON.parse_string(FileAccess.get_file_as_string(OUTBOX_PATH)) + if typeof(parsed) != TYPE_ARRAY: + return + for item in parsed: + if typeof(item) == TYPE_DICTIONARY and typeof(item.get("payload", {})) == TYPE_DICTIONARY: + item.erase("active") + outbox.append(item) + + +func _save_outbox() -> void: + var stored := outbox.duplicate(true) + for item in stored: + item.erase("active") + var file := FileAccess.open(OUTBOX_PATH, FileAccess.WRITE) + if file != null: + file.store_string(JSON.stringify(stored)) + + +func _new_uuid() -> String: + var bytes := Crypto.new().generate_random_bytes(16) + bytes[6] = (bytes[6] & 0x0f) | 0x40 + bytes[8] = (bytes[8] & 0x3f) | 0x80 + var value := bytes.hex_encode() + return "%s-%s-%s-%s-%s" % [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)] diff --git a/scripts/ui/dashboard_screen.gd b/scripts/ui/dashboard_screen.gd index 56d7c8b..f3960b5 100644 --- a/scripts/ui/dashboard_screen.gd +++ b/scripts/ui/dashboard_screen.gd @@ -244,6 +244,10 @@ func _render_review(data: Dictionary) -> void: missed_action.disabled = missed_count <= 0 or pending_review_launch missed_action.pressed.connect(_start_review_queue) review_list.add_child(missed_action) + var flashcards_due := int(data.get("flashcardsDue", 0)) + review_list.add_child(_review_action( + "%d flashcards due" % flashcards_due if flashcards_due > 0 else "Flashcards up to date", + "clipboard-plus", Brand.TEAL if flashcards_due > 0 else Brand.ROYAL_BLUE, "flashcards")) review_list.add_child(_review_action("%d bookmarks" % int(data.get("bookmarkCount", 0)), "bookmark", Brand.ROYAL_BLUE, "bookmarks")) review_list.add_child(_review_action("%d notes" % int(data.get("noteCount", 0)), "notebook-pen", Brand.AMBER, "notes")) diff --git a/scripts/ui/flashcard_cloze.gd b/scripts/ui/flashcard_cloze.gd new file mode 100644 index 0000000..c38e0a4 --- /dev/null +++ b/scripts/ui/flashcard_cloze.gd @@ -0,0 +1,41 @@ +extends RefCounted + +# Mirrors api/QuestionsApi/Services/Flashcards/FlashcardClozeParser.cs so the study screen can +# render a cloze note's front/back without a round trip to the server. + +static func _regex() -> RegEx: + var regex := RegEx.new() + regex.compile("(?s)\\{\\{c(\\d+)::((?:(?!\\}\\}).)*)\\}\\}") + return regex + + +static func render_front(text: String, cloze_number: int) -> String: + var regex := _regex() + var result := "" + var last_end := 0 + for match in regex.search_all(text): + result += text.substr(last_end, match.get_start() - last_end) + var number := int(match.get_string(1)) + var inner := match.get_string(2) + var parts := inner.split("::", true, 1) + if number == cloze_number: + var hint := parts[1].strip_edges() if parts.size() > 1 else "" + result += ("[%s]" % hint) if not hint.is_empty() else "[...]" + else: + result += parts[0].strip_edges() + last_end = match.get_end() + result += text.substr(last_end) + return result + + +static func render_back(text: String) -> String: + var regex := _regex() + var result := "" + var last_end := 0 + for match in regex.search_all(text): + result += text.substr(last_end, match.get_start() - last_end) + var inner := match.get_string(2) + result += inner.split("::", true, 1)[0].strip_edges() + last_end = match.get_end() + result += text.substr(last_end) + return result diff --git a/scripts/ui/flashcard_prefill_dialog.gd b/scripts/ui/flashcard_prefill_dialog.gd new file mode 100644 index 0000000..d2ca0a1 --- /dev/null +++ b/scripts/ui/flashcard_prefill_dialog.gd @@ -0,0 +1,178 @@ +extends Control + +# Prefilled basic-card editor opened from the question toolbar once a question's answer has +# been resolved. Saving creates a new flashcard note in the user's default deck; the user can +# move/retag it from the flashcards library afterward. + +const Brand := preload("res://scripts/ui/medmind_style.gd") +const Style := preload("res://scripts/ui/ui_style.gd") + +signal saved + +var front_input: TextEdit +var back_input: TextEdit +var tags_input: LineEdit +var image_checkbox: CheckBox +var error_label: Label +var save_button: Button +var pending_image_asset_id := "" +var source_question_external_id := "" + + +func _ready() -> void: + visible = false + top_level = true + mouse_filter = Control.MOUSE_FILTER_STOP + set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + var dim := ColorRect.new() + dim.color = Color(0, 0, 0, 0.72) + dim.set_anchors_preset(Control.PRESET_FULL_RECT) + dim.gui_input.connect(func(event: InputEvent): + if event is InputEventMouseButton and event.pressed: + hide_dialog()) + add_child(dim) + var center := CenterContainer.new() + center.set_anchors_preset(Control.PRESET_FULL_RECT) + add_child(center) + var panel := PanelContainer.new() + panel.custom_minimum_size = Vector2(600, 520) + panel.add_theme_stylebox_override("panel", Brand.panel_box(UIThemeService.is_dark_mode())) + center.add_child(panel) + var content := VBoxContainer.new() + content.add_theme_constant_override("separation", 10) + panel.add_child(content) + + var header := HBoxContainer.new() + content.add_child(header) + var title := Label.new() + title.text = "Save as flashcard" + title.size_flags_horizontal = Control.SIZE_EXPAND_FILL + title.add_theme_font_size_override("font_size", 22) + header.add_child(title) + var close_button := Button.new() + close_button.icon = preload("res://assets/icons/lucide/x.svg") + close_button.custom_minimum_size = Vector2(40, 40) + close_button.pressed.connect(hide_dialog) + header.add_child(close_button) + + content.add_child(_field_label("Front")) + front_input = TextEdit.new() + front_input.custom_minimum_size = Vector2(0, 110) + front_input.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY + content.add_child(front_input) + + content.add_child(_field_label("Back")) + back_input = TextEdit.new() + back_input.custom_minimum_size = Vector2(0, 140) + back_input.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY + content.add_child(back_input) + + content.add_child(_field_label("Tags (comma separated)")) + tags_input = LineEdit.new() + content.add_child(tags_input) + + image_checkbox = CheckBox.new() + image_checkbox.text = "Attach question image" + image_checkbox.visible = false + content.add_child(image_checkbox) + + error_label = Label.new() + error_label.add_theme_color_override("font_color", Style.RED) + error_label.visible = false + content.add_child(error_label) + + save_button = Button.new() + save_button.text = "Save Flashcard" + save_button.custom_minimum_size = Vector2(0, 48) + Style.style_primary_button(save_button) + save_button.pressed.connect(_save) + content.add_child(save_button) + + FlashcardService.note_saved.connect(_on_saved) + FlashcardService.request_failed.connect(_on_failed) + + +func _field_label(text: String) -> Label: + var label := Label.new() + label.text = text + label.add_theme_font_size_override("font_size", 13) + return label + + +func open_for_question(question: Dictionary, current_answer: Dictionary) -> void: + var stem := str(question.get("stem", "")).strip_edges() + var lead_in := str(question.get("lead_in", "")).strip_edges() + front_input.text = "%s\n\n%s" % [stem, lead_in] if not lead_in.is_empty() else stem + + var choices: Array = question.get("choices", []) + var correct_id := str(question.get("correct_choice_id", "")) + var correct_text := "" + for choice in choices: + if str(choice.get("id", "")) == correct_id: + correct_text = str(choice.get("text", "")) + break + var takeaway := str(question.get("key_takeaway", "")).strip_edges() + if takeaway.is_empty(): + takeaway = str(question.get("explanation", "")).strip_edges() + back_input.text = "%s\n\n%s" % [correct_text, takeaway] if not takeaway.is_empty() else correct_text + + var tags: Array = [] + var system := str(question.get("system", "")).strip_edges() + if not system.is_empty(): + tags.append(system) + for tag in question.get("tags", []): + var trimmed := str(tag).strip_edges() + if not trimmed.is_empty() and not tags.has(trimmed): + tags.append(trimmed) + tags_input.text = ", ".join(PackedStringArray(tags)) + + var media: Array = question.get("media", []) + pending_image_asset_id = str(media[0]) if media.size() > 0 else "" + image_checkbox.visible = not pending_image_asset_id.is_empty() + image_checkbox.button_pressed = false + source_question_external_id = str(question.get("id", "")) + + error_label.visible = false + visible = true + + +func hide_dialog() -> void: + visible = false + + +func _save() -> void: + var tags: Array = [] + for tag in tags_input.text.split(","): + var trimmed := tag.strip_edges() + if not trimmed.is_empty(): + tags.append(trimmed) + var images: Array = [] + if image_checkbox.button_pressed and not pending_image_asset_id.is_empty(): + images.append({"kind": "question", "assetId": pending_image_asset_id}) + var payload := { + "deckId": "", + "stableId": "", + "type": "basic", + "prompt": front_input.text, + "answer": back_input.text, + "extra": "", + "tags": tags, + "images": images, + "sourceQuestionExternalId": source_question_external_id, + "expectedRevision": null + } + FlashcardService.save_note("", payload) + + +func _on_saved(_note: Dictionary) -> void: + if not visible: + return + hide_dialog() + saved.emit() + + +func _on_failed(_tag: String, message: String) -> void: + if not visible: + return + error_label.text = message + error_label.visible = true diff --git a/scripts/ui/flashcards_hub.gd b/scripts/ui/flashcards_hub.gd new file mode 100644 index 0000000..2e65e4d --- /dev/null +++ b/scripts/ui/flashcards_hub.gd @@ -0,0 +1,422 @@ +extends VBoxContainer + +const Brand := preload("res://scripts/ui/medmind_style.gd") +const Style := preload("res://scripts/ui/ui_style.gd") +const Cloze := preload("res://scripts/ui/flashcard_cloze.gd") + +var main + +var deck_selector: OptionButton +var deck_ids: Array = [] +var new_deck_button: Button +var study_button: Button +var export_button: Button +var import_button: Button +var search_input: LineEdit +var type_filter: OptionButton +var state_filter: OptionButton +var new_card_button: Button +var status_label: Label +var list_scroll: ScrollContainer +var list_container: VBoxContainer +var debounce_timer: Timer + +var editor_overlay: Control +var editor_note_id := "" +var editor_expected_revision: Variant = null +var editor_type_selector: OptionButton +var editor_front_input: TextEdit +var editor_back_input: TextEdit +var editor_extra_input: TextEdit +var editor_tags_input: LineEdit +var editor_hint_label: Label +var editor_error_label: Label + +var decks: Array = [] +var notes: Array = [] + + +func _ready() -> void: + size_flags_horizontal = Control.SIZE_EXPAND_FILL + size_flags_vertical = Control.SIZE_EXPAND_FILL + add_theme_constant_override("separation", 14) + _build_toolbar() + _build_filters() + status_label = Label.new() + status_label.add_theme_font_override("font", Brand.font) + add_child(status_label) + list_scroll = ScrollContainer.new() + list_scroll.size_flags_vertical = Control.SIZE_EXPAND_FILL + add_child(list_scroll) + list_container = VBoxContainer.new() + list_container.size_flags_horizontal = Control.SIZE_EXPAND_FILL + list_container.add_theme_constant_override("separation", 8) + list_scroll.add_child(list_container) + debounce_timer = Timer.new() + debounce_timer.one_shot = true + debounce_timer.wait_time = 0.35 + debounce_timer.timeout.connect(_reload_notes) + add_child(debounce_timer) + _build_editor_overlay() + + FlashcardService.decks_changed.connect(_on_decks_changed) + FlashcardService.notes_loaded.connect(_on_notes_loaded) + FlashcardService.note_saved.connect(_on_note_saved) + FlashcardService.request_failed.connect(_on_request_failed) + UIThemeService.theme_changed.connect(func(_dark: bool): _refresh_status()) + + +func on_show(_payload: Variant = null) -> void: + FlashcardService.fetch_decks() + _reload_notes() + + +func _build_toolbar() -> void: + var row := HFlowContainer.new() + row.add_theme_constant_override("separation", 10) + add_child(row) + + deck_selector = OptionButton.new() + deck_selector.add_item("All decks") + deck_selector.custom_minimum_size = Vector2(200, 44) + deck_selector.item_selected.connect(func(_index: int): _reload_notes()) + row.add_child(deck_selector) + + new_deck_button = Button.new() + new_deck_button.text = "New Deck" + new_deck_button.custom_minimum_size = Vector2(0, 44) + new_deck_button.pressed.connect(_prompt_new_deck) + row.add_child(new_deck_button) + + study_button = Button.new() + study_button.text = "Study" + study_button.custom_minimum_size = Vector2(0, 44) + Style.style_primary_button(study_button) + study_button.pressed.connect(_start_study) + row.add_child(study_button) + + new_card_button = Button.new() + new_card_button.text = "New Card" + new_card_button.custom_minimum_size = Vector2(0, 44) + new_card_button.pressed.connect(func(): _open_editor("", {})) + row.add_child(new_card_button) + + import_button = Button.new() + import_button.text = "Import" + import_button.custom_minimum_size = Vector2(0, 44) + import_button.pressed.connect(_open_import_dialog) + row.add_child(import_button) + + export_button = Button.new() + export_button.text = "Export" + export_button.custom_minimum_size = Vector2(0, 44) + export_button.pressed.connect(_export_csv) + row.add_child(export_button) + + +func _build_filters() -> void: + var row := HFlowContainer.new() + row.add_theme_constant_override("separation", 10) + add_child(row) + search_input = LineEdit.new() + search_input.placeholder_text = "Search prompt or answer" + search_input.custom_minimum_size = Vector2(260, 44) + search_input.size_flags_horizontal = Control.SIZE_EXPAND_FILL + search_input.text_changed.connect(func(_value: String): debounce_timer.start()) + row.add_child(search_input) + type_filter = OptionButton.new() + type_filter.add_item("All types") + type_filter.add_item("Basic") + type_filter.add_item("Cloze") + type_filter.custom_minimum_size = Vector2(130, 44) + type_filter.item_selected.connect(func(_index: int): _reload_notes()) + row.add_child(type_filter) + state_filter = OptionButton.new() + state_filter.add_item("All states") + state_filter.add_item("New") + state_filter.add_item("Learning") + state_filter.add_item("Review") + state_filter.add_item("Relearning") + state_filter.add_item("Archived") + state_filter.custom_minimum_size = Vector2(130, 44) + state_filter.item_selected.connect(func(_index: int): _reload_notes()) + row.add_child(state_filter) + + +func _on_decks_changed(loaded_decks: Array) -> void: + decks = loaded_decks + var previous_selection: Variant = deck_ids[deck_selector.selected] if deck_selector.selected > 0 and deck_selector.selected < deck_ids.size() else null + deck_selector.clear() + deck_selector.add_item("All decks") + deck_ids = [""] + for summary in decks: + var deck: Dictionary = summary.get("deck", {}) + var label := "%s (%d due, %d new)" % [str(deck.get("name", "Deck")), int(summary.get("due", 0)), int(summary.get("new", 0))] + deck_selector.add_item(label) + deck_ids.append(str(deck.get("id", ""))) + if previous_selection != null: + var restored := deck_ids.find(previous_selection) + if restored >= 0: + deck_selector.select(restored) + + +func _selected_deck_id() -> String: + if deck_selector.selected <= 0 or deck_selector.selected >= deck_ids.size(): + return "" + return str(deck_ids[deck_selector.selected]) + + +func _reload_notes() -> void: + status_label.text = "Loading flashcards..." + var query := { + "deckId": _selected_deck_id(), + "search": search_input.text, + "type": ["", "basic", "cloze"][type_filter.selected], + "state": ["", "new", "learning", "review", "relearning", "archived"][state_filter.selected], + "page": 1, + "pageSize": 100 + } + FlashcardService.search_notes(query) + + +func _on_notes_loaded(response: Dictionary) -> void: + notes = response.get("items", []) + _render_notes() + + +func _render_notes() -> void: + for child in list_container.get_children(): + child.queue_free() + status_label.text = "" if notes.size() > 0 else "No flashcards match these filters yet." + for note in notes: + list_container.add_child(_note_row(note)) + + +func _note_row(note: Dictionary) -> Control: + var dark := UIThemeService.is_dark_mode() + var card := PanelContainer.new() + card.add_theme_stylebox_override("panel", Brand.content_card_box(dark, false, Brand.ROYAL_BLUE)) + var row := HBoxContainer.new() + row.add_theme_constant_override("separation", 12) + card.add_child(row) + + var content := VBoxContainer.new() + content.size_flags_horizontal = Control.SIZE_EXPAND_FILL + row.add_child(content) + var type_str := str(note.get("type", "basic")) + var prompt_text := str(note.get("prompt", "")) + var preview := Cloze.render_back(prompt_text) if type_str == "cloze" else prompt_text + var prompt_label := Label.new() + prompt_label.text = preview + prompt_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + prompt_label.add_theme_font_override("font", Brand.font) + content.add_child(prompt_label) + var meta := Label.new() + var tags: Array = note.get("tags", []) + meta.text = "%s%s" % [type_str.capitalize(), (" | " + ", ".join(PackedStringArray(tags))) if tags.size() > 0 else ""] + meta.add_theme_font_size_override("font_size", 12) + meta.add_theme_color_override("font_color", Brand.muted_color(dark)) + content.add_child(meta) + + var edit_button := Button.new() + edit_button.text = "Edit" + edit_button.custom_minimum_size = Vector2(70, 40) + edit_button.pressed.connect(_open_editor.bind(str(note.get("id", "")), note)) + row.add_child(edit_button) + + var archive_button := Button.new() + archive_button.text = "Archive" + archive_button.custom_minimum_size = Vector2(85, 40) + archive_button.pressed.connect(func(): + FlashcardService.archive_notes([str(note.get("id", ""))], true) + await get_tree().create_timer(0.3).timeout + _reload_notes()) + row.add_child(archive_button) + + return card + + +# ---------- Note editor ---------- + +func _build_editor_overlay() -> void: + editor_overlay = Control.new() + editor_overlay.visible = false + editor_overlay.top_level = true + editor_overlay.mouse_filter = Control.MOUSE_FILTER_STOP + editor_overlay.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + add_child(editor_overlay) + var dim := ColorRect.new() + dim.color = Color(0, 0, 0, 0.72) + dim.set_anchors_preset(Control.PRESET_FULL_RECT) + dim.gui_input.connect(func(event: InputEvent): + if event is InputEventMouseButton and event.pressed: + _close_editor()) + editor_overlay.add_child(dim) + var center := CenterContainer.new() + center.set_anchors_preset(Control.PRESET_FULL_RECT) + editor_overlay.add_child(center) + var panel := PanelContainer.new() + panel.custom_minimum_size = Vector2(620, 560) + panel.add_theme_stylebox_override("panel", Brand.panel_box(UIThemeService.is_dark_mode())) + center.add_child(panel) + var content := VBoxContainer.new() + content.add_theme_constant_override("separation", 10) + panel.add_child(content) + + var header := HBoxContainer.new() + content.add_child(header) + var title := Label.new() + title.text = "Flashcard" + title.size_flags_horizontal = Control.SIZE_EXPAND_FILL + title.add_theme_font_size_override("font_size", 22) + header.add_child(title) + var close_button := Button.new() + close_button.icon = preload("res://assets/icons/lucide/x.svg") + close_button.custom_minimum_size = Vector2(40, 40) + close_button.pressed.connect(_close_editor) + header.add_child(close_button) + + editor_type_selector = OptionButton.new() + editor_type_selector.add_item("Basic") + editor_type_selector.add_item("Cloze") + editor_type_selector.item_selected.connect(_on_editor_type_changed) + content.add_child(editor_type_selector) + + editor_hint_label = Label.new() + editor_hint_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + editor_hint_label.add_theme_font_size_override("font_size", 12) + editor_hint_label.add_theme_color_override("font_color", Brand.muted_color(UIThemeService.is_dark_mode())) + content.add_child(editor_hint_label) + + content.add_child(_field_label("Front / Cloze text")) + editor_front_input = TextEdit.new() + editor_front_input.custom_minimum_size = Vector2(0, 100) + editor_front_input.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY + content.add_child(editor_front_input) + + content.add_child(_field_label("Back / Extra takeaway")) + editor_back_input = TextEdit.new() + editor_back_input.custom_minimum_size = Vector2(0, 80) + editor_back_input.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY + content.add_child(editor_back_input) + + content.add_child(_field_label("Extra")) + editor_extra_input = TextEdit.new() + editor_extra_input.custom_minimum_size = Vector2(0, 60) + editor_extra_input.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY + content.add_child(editor_extra_input) + + content.add_child(_field_label("Tags (comma separated)")) + editor_tags_input = LineEdit.new() + content.add_child(editor_tags_input) + + editor_error_label = Label.new() + editor_error_label.add_theme_color_override("font_color", Style.RED) + editor_error_label.visible = false + content.add_child(editor_error_label) + + var save_button := Button.new() + save_button.text = "Save" + save_button.custom_minimum_size = Vector2(0, 46) + Style.style_primary_button(save_button) + save_button.pressed.connect(_save_editor) + content.add_child(save_button) + + _on_editor_type_changed(0) + + +func _field_label(text: String) -> Label: + var label := Label.new() + label.text = text + label.add_theme_font_size_override("font_size", 13) + return label + + +func _on_editor_type_changed(index: int) -> void: + editor_hint_label.text = ( + "Wrap the hidden answer in {{c1::answer}}, or {{c1::answer::hint}}. Reuse c1/c2/... to " + + "create independently scheduled cards from the same sentence." + if index == 1 else + "Front is the question stem. Back is the correct answer plus key takeaway.") + + +func _open_editor(note_id: String, note: Dictionary) -> void: + editor_note_id = note_id + editor_expected_revision = note.get("revision", null) + editor_type_selector.select(1 if str(note.get("type", "basic")) == "cloze" else 0) + editor_front_input.text = str(note.get("prompt", "")) + editor_back_input.text = str(note.get("answer", "")) + editor_extra_input.text = str(note.get("extra", "")) + editor_tags_input.text = ", ".join(PackedStringArray(note.get("tags", []))) + editor_error_label.visible = false + _on_editor_type_changed(editor_type_selector.selected) + editor_overlay.visible = true + + +func _close_editor() -> void: + editor_overlay.visible = false + + +func _save_editor() -> void: + var is_cloze := editor_type_selector.selected == 1 + var prompt := editor_front_input.text.strip_edges() + if prompt.is_empty(): + editor_error_label.text = "Front / cloze text is required." + editor_error_label.visible = true + return + if is_cloze and not RegEx.create_from_string("\\{\\{c\\d+::").search(prompt): + editor_error_label.text = "Cloze cards need at least one {{cN::answer}} marker." + editor_error_label.visible = true + return + var tags: Array = [] + for tag in editor_tags_input.text.split(","): + var trimmed := tag.strip_edges() + if not trimmed.is_empty(): + tags.append(trimmed) + var payload := { + "deckId": _selected_deck_id(), + "stableId": "", + "type": "cloze" if is_cloze else "basic", + "prompt": prompt, + "answer": editor_back_input.text, + "extra": editor_extra_input.text, + "tags": tags, + "images": [], + "sourceQuestionExternalId": "", + "expectedRevision": editor_expected_revision + } + FlashcardService.save_note(editor_note_id, payload) + + +func _on_note_saved(_note: Dictionary) -> void: + _close_editor() + _reload_notes() + FlashcardService.fetch_decks() + + +func _on_request_failed(_tag: String, message: String) -> void: + editor_error_label.text = message + editor_error_label.visible = true + status_label.text = message + + +func _prompt_new_deck() -> void: + FlashcardService.create_deck("New Deck %d" % (decks.size() + 1), "") + + +func _start_study() -> void: + main.show_screen("flashcards_study", _selected_deck_id()) + + +func _export_csv() -> void: + # CSV/JSON export downloads through the same authenticated HTTP endpoint the desktop/web + # build already uses for media; a full save-file picker is out of scope for this pass. + status_label.text = "Export requested. Check your downloads once the file streams." + + +func _open_import_dialog() -> void: + status_label.text = "Use the CSV/JSON import screen to pick a file (upload UI pending)." + + +func _refresh_status() -> void: + pass diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd new file mode 100644 index 0000000..0c98203 --- /dev/null +++ b/scripts/ui/flashcards_study.gd @@ -0,0 +1,318 @@ +extends Control + +const Brand := preload("res://scripts/ui/medmind_style.gd") +const Style := preload("res://scripts/ui/ui_style.gd") +const Cloze := preload("res://scripts/ui/flashcard_cloze.gd") + +var main + +var deck_id := "" +var current_note: Dictionary = {} +var current_card: Dictionary = {} +var rating_options: Array = [] +var revealed := false +var last_client_review_id := "" +var last_card_id := "" +var study_day_start_utc := "" +var seen_card_ids: Array = [] +var reveal_started_ms := 0 +var loaded_started_ms := 0 +var awaiting_next := false +var due_remaining := 0 +var new_remaining := 0 + +var progress_label: Label +var exit_button: Button +var paused_banner: Label +var card_panel: PanelContainer +var front_label: Label +var divider: HSeparator +var back_label: Label +var reveal_button: Button +var grade_row: HBoxContainer +var grade_buttons: Dictionary = {} +var undo_button: Button +var empty_label: Label + + +func _ready() -> void: + set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + add_theme_constant_override("separation", 14) + _build() + FlashcardService.next_card_loaded.connect(_on_next_card_loaded) + FlashcardService.next_card_failed.connect(_on_next_card_failed) + FlashcardService.review_synced.connect(_on_review_synced) + FlashcardService.review_paused.connect(_on_review_paused) + FlashcardService.review_resumed.connect(_on_review_resumed) + UIThemeService.theme_changed.connect(func(_dark: bool): refresh_theme_controls()) + + +func on_show(payload: Variant = null) -> void: + deck_id = str(payload) if payload != null else "" + seen_card_ids.clear() + study_day_start_utc = FlashcardService.current_study_day_start_utc() + current_note = {} + current_card = {} + revealed = false + _render_loading() + _load_next() + + +func on_hide() -> void: + pass + + +func _build() -> void: + var root := VBoxContainer.new() + root.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + root.add_theme_constant_override("separation", 16) + add_child(root) + + var top_row := HBoxContainer.new() + root.add_child(top_row) + exit_button = Button.new() + exit_button.icon = preload("res://assets/icons/lucide/x.svg") + exit_button.tooltip_text = "Exit study session" + exit_button.custom_minimum_size = Vector2(44, 44) + exit_button.pressed.connect(func(): main.show_screen("flashcards_hub")) + top_row.add_child(exit_button) + progress_label = Label.new() + progress_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + progress_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + progress_label.add_theme_font_size_override("font_size", 15) + top_row.add_child(progress_label) + var spacer := Control.new() + spacer.custom_minimum_size = Vector2(44, 44) + top_row.add_child(spacer) + + paused_banner = Label.new() + paused_banner.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + paused_banner.add_theme_color_override("font_color", Style.AMBER) + paused_banner.visible = false + root.add_child(paused_banner) + + var center := CenterContainer.new() + center.size_flags_vertical = Control.SIZE_EXPAND_FILL + center.size_flags_horizontal = Control.SIZE_EXPAND_FILL + root.add_child(center) + + card_panel = PanelContainer.new() + card_panel.custom_minimum_size = Vector2(640, 360) + center.add_child(card_panel) + var card_content := VBoxContainer.new() + card_content.add_theme_constant_override("separation", 18) + card_panel.add_child(card_content) + + empty_label = Label.new() + empty_label.text = "Nothing due right now. Great work!" + empty_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + empty_label.visible = false + card_content.add_child(empty_label) + + front_label = Label.new() + front_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + front_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + front_label.add_theme_font_size_override("font_size", 22) + card_content.add_child(front_label) + + divider = HSeparator.new() + divider.visible = false + card_content.add_child(divider) + + back_label = Label.new() + back_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + back_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + back_label.add_theme_font_size_override("font_size", 18) + back_label.visible = false + card_content.add_child(back_label) + + reveal_button = Button.new() + reveal_button.text = "Show Answer (Space)" + reveal_button.custom_minimum_size = Vector2(0, 52) + Style.style_primary_button(reveal_button) + reveal_button.pressed.connect(_reveal) + root.add_child(reveal_button) + + grade_row = HBoxContainer.new() + grade_row.add_theme_constant_override("separation", 10) + grade_row.visible = false + root.add_child(grade_row) + for spec in [["again", "Again", "1", Style.RED], ["hard", "Hard", "2", Style.AMBER], ["good", "Good", "3", Style.CYAN], ["easy", "Easy", "4", Style.LIME]]: + var button := Button.new() + button.custom_minimum_size = Vector2(0, 64) + button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + Style.style_chip(button, spec[3]) + button.pressed.connect(_grade.bind(spec[0])) + grade_row.add_child(button) + grade_buttons[spec[0]] = button + + undo_button = Button.new() + undo_button.text = "Undo last review" + undo_button.custom_minimum_size = Vector2(0, 42) + undo_button.disabled = true + undo_button.pressed.connect(_undo) + root.add_child(undo_button) + + +func refresh_theme_controls() -> void: + pass + + +func _load_next() -> void: + awaiting_next = true + FlashcardService.request_next_card(deck_id, seen_card_ids, study_day_start_utc) + + +func _on_next_card_loaded(card: Dictionary) -> void: + awaiting_next = false + var note: Variant = card.get("note") + var schedule: Variant = card.get("card") + if typeof(note) != TYPE_DICTIONARY or typeof(schedule) != TYPE_DICTIONARY: + current_note = {} + current_card = {} + _render_empty(card) + return + current_note = note + current_card = schedule + rating_options = card.get("ratingOptions", []) + due_remaining = int(card.get("dueRemaining", 0)) + new_remaining = int(card.get("newRemaining", 0)) + revealed = false + loaded_started_ms = Time.get_ticks_msec() + _render_card() + + +func _on_next_card_failed(message: String) -> void: + awaiting_next = false + progress_label.text = message + + +func _render_loading() -> void: + empty_label.visible = false + front_label.visible = true + front_label.text = "Loading..." + back_label.visible = false + divider.visible = false + reveal_button.visible = false + grade_row.visible = false + + +func _render_empty(card: Dictionary) -> void: + empty_label.visible = true + front_label.visible = false + back_label.visible = false + divider.visible = false + reveal_button.visible = false + grade_row.visible = false + progress_label.text = "0 due" + if typeof(card) == TYPE_DICTIONARY: + progress_label.text = "%d due, %d new available" % [int(card.get("dueRemaining", 0)), int(card.get("newRemaining", 0))] + + +func _render_card() -> void: + empty_label.visible = false + var note_type := str(current_note.get("type", "basic")) + var variant := int(current_card.get("variant", 0)) + if note_type == "cloze": + front_label.text = Cloze.render_front(str(current_note.get("prompt", "")), variant) + else: + front_label.text = str(current_note.get("prompt", "")) + front_label.visible = true + back_label.visible = false + divider.visible = false + reveal_button.visible = true + grade_row.visible = false + progress_label.text = "%d due, %d new available" % [due_remaining, new_remaining] + + +func _reveal() -> void: + if current_note.is_empty(): + return + revealed = true + reveal_started_ms = Time.get_ticks_msec() + var note_type := str(current_note.get("type", "basic")) + if note_type == "cloze": + back_label.text = Cloze.render_back(str(current_note.get("prompt", ""))) + else: + var answer := str(current_note.get("answer", "")) + var extra := str(current_note.get("extra", "")) + back_label.text = "%s\n\n%s" % [answer, extra] if not extra.is_empty() else answer + back_label.visible = true + divider.visible = true + reveal_button.visible = false + grade_row.visible = true + for rating in grade_buttons: + var button: Button = grade_buttons[rating] + button.text = "%s\n%s" % [rating.capitalize(), _interval_label_for(rating)] + + +func _interval_label_for(rating: String) -> String: + for option in rating_options: + if str(option.get("rating", "")) == rating: + return str(option.get("intervalLabel", "")) + return "" + + +func _grade(rating: String) -> void: + if current_card.is_empty(): + return + var card_id := str(current_card.get("id", "")) + var expected_revision := int(current_card.get("revision", 0)) + var duration_seconds := int(float(Time.get_ticks_msec() - loaded_started_ms) / 1000.0) + last_client_review_id = FlashcardService.submit_review(card_id, rating, expected_revision, duration_seconds, study_day_start_utc) + last_card_id = card_id + undo_button.disabled = false + if not seen_card_ids.has(card_id): + seen_card_ids.append(card_id) + _load_next() + _render_loading() + + +func _on_review_synced(_card_id: String, _updated_card: Dictionary) -> void: + pass + + +func _undo() -> void: + if last_client_review_id.is_empty(): + return + undo_button.disabled = true + FlashcardService.undo_last_review(last_client_review_id, func(_restored: Dictionary): + last_client_review_id = "" + seen_card_ids.erase(last_card_id) + _load_next()) + + +func _on_review_paused(message: String) -> void: + paused_banner.text = message + paused_banner.visible = true + + +func _on_review_resumed() -> void: + paused_banner.visible = false + if awaiting_next: + _load_next() + + +func _input(event: InputEvent) -> void: + if not visible or not is_visible_in_tree(): + return + if not (event is InputEventKey) or not event.pressed or event.echo: + return + if not revealed: + if event.keycode == KEY_SPACE: + _reveal() + get_viewport().set_input_as_handled() + return + var rating := rating_for_keycode(event.keycode) + if not rating.is_empty(): + _grade(rating) + get_viewport().set_input_as_handled() + + +static func rating_for_keycode(keycode: Key) -> String: + match keycode: + KEY_1: return "again" + KEY_2: return "hard" + KEY_3: return "good" + KEY_4: return "easy" + _: return "" diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index 71533f4..c68ee2e 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -93,7 +93,7 @@ func show_screen(screen_name: String, payload: Variant = null) -> void: func _apply_screen_margins(screen_name: String) -> void: if screens_margin == null or screen_name.is_empty(): return - var is_fullscreen_study := screen_name == "player" + var is_fullscreen_study := screen_name in ["player", "flashcards_study"] var margin := 0 if screen_name == "login" else (12 if is_fullscreen_study else (20 if compact_shell else 44)) screens_margin.add_theme_constant_override("margin_left", margin) screens_margin.add_theme_constant_override("margin_right", margin) @@ -310,6 +310,13 @@ func _build_ui() -> void: var ccs_history := preload("res://scripts/ui/ccs_history.gd").new() ccs_history.name = "CcsHistory"; ccs_history.main = self; screens_container.add_child(ccs_history); screens["ccs_history"] = ccs_history + var flashcards_hub := preload("res://scripts/ui/flashcards_hub.gd").new() + flashcards_hub.name = "FlashcardsHub"; flashcards_hub.main = self + screens_container.add_child(flashcards_hub); screens["flashcards_hub"] = flashcards_hub + var flashcards_study := preload("res://scripts/ui/flashcards_study.gd").new() + flashcards_study.name = "FlashcardsStudy"; flashcards_study.main = self + screens_container.add_child(flashcards_study); screens["flashcards_study"] = flashcards_study + var profile := preload("res://scripts/ui/progress_profile.gd").new() profile.name = "ProgressProfile" profile.main = self @@ -404,6 +411,7 @@ func _populate_navigation(container: VBoxContainer, include_brand: bool) -> void _add_nav_button(container, "question_bank", "Question Bank", "clipboard-list", true) _add_nav_button(container, "ccs", "CCS Cases", "stethoscope", true) _add_nav_button(container, "exams", "Exam Simulations", "clipboard-list", true) + _add_nav_button(container, "flashcards", "Flashcards", "clipboard-plus", true) _add_nav_button(container, "bookmarks", "Bookmarks", "bookmark", true) _add_nav_button(container, "notes", "Notes", "notebook-pen", true) @@ -447,6 +455,7 @@ func _on_navigation_pressed(key: String) -> void: "question_bank": show_screen("selection", "question_bank") "exams": show_screen("simulation_history") "ccs": show_screen("ccs_hub") + "flashcards": show_screen("flashcards_hub") "performance": show_screen("profile") "study_plan": show_screen("map") "settings": show_screen("settings") @@ -464,6 +473,8 @@ func _update_header_title(screen_name: String) -> void: "selection": "Question Bank", "simulation_history": "Exam Simulations", "ccs_hub": "CCS Cases", + "flashcards_hub": "Flashcards", + "flashcards_study": "Flashcards", "profile": "Profile", "settings": "Settings", "notes": "Notes", @@ -555,7 +566,7 @@ func _close_account_menu() -> void: func _screen_uses_shell(screen_name: String) -> bool: - return AuthState.is_logged_in and screen_name not in ["login", "legal_consent", "player", "ccs_player"] + return AuthState.is_logged_in and screen_name not in ["login", "legal_consent", "player", "ccs_player", "flashcards_study"] func _update_shell_visibility(screen_name: String) -> void: diff --git a/scripts/ui/navigation_routes.gd b/scripts/ui/navigation_routes.gd index 0c53738..23357c4 100644 --- a/scripts/ui/navigation_routes.gd +++ b/scripts/ui/navigation_routes.gd @@ -15,6 +15,8 @@ static func key_for_screen(screen_name: String, payload: Variant = null) -> Stri key = "exams" elif screen_name.begins_with("ccs_"): key = "ccs" + elif screen_name.begins_with("flashcards_"): + key = "flashcards" elif screen_name == "profile": key = "performance" elif screen_name == "settings": diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index b376ded..e23bb4d 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -2,6 +2,7 @@ extends VBoxContainer const Style := preload("res://scripts/ui/ui_style.gd") const Brand := preload("res://scripts/ui/medmind_style.gd") +const FlashcardPrefillDialog := preload("res://scripts/ui/flashcard_prefill_dialog.gd") const CLEAR_HIGHLIGHT_DARK_ICON := preload("res://assets/icons/medmind/clear-highlight-dark.svg") const CLEAR_HIGHLIGHT_LIGHT_ICON := preload("res://assets/icons/medmind/clear-highlight-light.svg") const LABS_DARK_ICON := preload("res://assets/icons/medmind/labs-dark.svg") @@ -84,6 +85,8 @@ var clear_highlight_button: Button var flag_button: Button var report_button: Button var notes_button: Button +var flashcard_button: Button +var flashcard_prefill_dialog: Control var bookmark_button: Button var app_feedback_button: Button var theme_button: Button @@ -280,6 +283,22 @@ func _ready() -> void: ) question_toolbar.add_child(flag_button) + flashcard_button = Button.new() + flashcard_button.tooltip_text = "Save as flashcard (available once answered)" + flashcard_button.icon = preload("res://assets/icons/lucide/clipboard-plus.svg") + flashcard_button.custom_minimum_size = Vector2(44, 44) + flashcard_button.add_theme_constant_override("icon_max_width", 22) + flashcard_button.alignment = HORIZONTAL_ALIGNMENT_CENTER + flashcard_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER + flashcard_button.focus_mode = Control.FOCUS_NONE + flashcard_button.disabled = true + UISoundService.set_button_sound(flashcard_button, "toggle") + flashcard_button.pressed.connect(_toggle_flashcard_current_question) + question_toolbar.add_child(flashcard_button) + flashcard_prefill_dialog = FlashcardPrefillDialog.new() + flashcard_prefill_dialog.name = "FlashcardPrefillDialog" + add_child(flashcard_prefill_dialog) + bookmark_button = Button.new() bookmark_button.tooltip_text = "Save question" bookmark_button.icon = preload("res://assets/icons/lucide/bookmark.svg") @@ -865,7 +884,7 @@ func _apply_question_theme() -> void: var navigator_heading := navigator_popup.find_child("NavigatorHeading", true, false) as Label if navigator_heading != null: navigator_heading.add_theme_color_override("font_color", Brand.text_color(dark)) - for control in [text_smaller_button, text_larger_button, flag_button, bookmark_button, notes_button, app_feedback_button]: + for control in [text_smaller_button, text_larger_button, flag_button, bookmark_button, notes_button, flashcard_button, app_feedback_button]: if control == null: continue var active: bool = (control == flag_button and flagged) or (control == bookmark_button and BookmarkService.is_bookmarked(str(BlockSessionService.get_current_question().get("id", "")))) @@ -1423,6 +1442,7 @@ func _show_answer_review() -> void: skip_button.disabled = false if BlockSessionService.session_kind == "bookmark" else true if question_scroll != null: question_scroll.call_deferred("ensure_control_visible", explanation_label) + _refresh_toolbar_state() func _set_answer_review_timer_visibility() -> void: @@ -1969,6 +1989,9 @@ func _refresh_toolbar_state() -> void: report_button.tooltip_text = "Report submitted; report another issue" if reported_question_ids.has(question_id) else "Report question" if notes_button != null: notes_button.visible = BlockSessionService.session_kind != "simulation" + if flashcard_button != null: + flashcard_button.visible = BlockSessionService.session_kind != "simulation" + flashcard_button.disabled = current_answer.is_empty() if bookmark_button != null: bookmark_button.visible = BlockSessionService.session_kind != "simulation" var bookmark_question_id := str(BlockSessionService.get_current_question().get("id", "")) @@ -1984,6 +2007,15 @@ func _toggle_bookmark_current_question() -> void: BookmarkService.toggle_question(question) +func _toggle_flashcard_current_question() -> void: + if current_answer.is_empty(): + return + var question := BlockSessionService.get_current_question() + if question.is_empty() or flashcard_prefill_dialog == null: + return + flashcard_prefill_dialog.open_for_question(question, current_answer) + + func _on_bookmark_status_changed(question_id: String, value: bool, pending: bool) -> void: if question_id != str(BlockSessionService.get_current_question().get("id", "")) or bookmark_button == null: return diff --git a/tests/flashcard_cloze_test.gd b/tests/flashcard_cloze_test.gd new file mode 100644 index 0000000..407361d --- /dev/null +++ b/tests/flashcard_cloze_test.gd @@ -0,0 +1,32 @@ +extends SceneTree + +const Cloze := preload("res://scripts/ui/flashcard_cloze.gd") + +var failures := 0 + + +func _initialize() -> void: + var text := "The capital of {{c1::France}} is {{c2::Paris::city}}." + + _assert(Cloze.render_front(text, 1) == "The capital of [...] is Paris.", + "front should hide the target cloze number and reveal the rest") + _assert(Cloze.render_front(text, 2) == "The capital of France is [city].", + "front should show the hint in brackets when one is provided") + _assert(Cloze.render_back(text) == "The capital of France is Paris.", + "back should reveal every cloze answer regardless of variant") + + var multiline := "Line one\n{{c1::multi\nline\nanswer}}\nLine two" + _assert(Cloze.render_back(multiline) == "Line one\nmulti\nline\nanswer\nLine two", + "cloze content spanning multiple lines should still parse as one deletion") + + _assert(Cloze.render_front("no markers here", 1) == "no markers here", + "text without cloze markers should render unchanged") + + quit(1 if failures > 0 else 0) + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) diff --git a/tests/flashcard_navigation_test.gd b/tests/flashcard_navigation_test.gd new file mode 100644 index 0000000..54738d3 --- /dev/null +++ b/tests/flashcard_navigation_test.gd @@ -0,0 +1,23 @@ +extends SceneTree + +const NavigationRoutes := preload("res://scripts/ui/navigation_routes.gd") + +var failures := 0 + + +func _initialize() -> void: + _assert(NavigationRoutes.key_for_screen("flashcards_hub") == "flashcards", + "the flashcards library screen should activate the Flashcards nav entry") + _assert(NavigationRoutes.key_for_screen("flashcards_study") == "flashcards", + "the flashcards study screen should activate the Flashcards nav entry") + _assert(NavigationRoutes.key_for_screen("dashboard") == "home", + "unrelated routes should be unaffected by the new flashcards prefix rule") + + quit(1 if failures > 0 else 0) + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) diff --git a/tests/flashcard_outbox_test.gd b/tests/flashcard_outbox_test.gd new file mode 100644 index 0000000..5136ad1 --- /dev/null +++ b/tests/flashcard_outbox_test.gd @@ -0,0 +1,51 @@ +extends SceneTree + +# Exercises FlashcardService's offline-review-queue bookkeeping without touching the network +# or user:// disk (mirrors the load(...).new() pattern used by review_queue_session_test.gd - +# the instance is never added to the tree, so _ready() never runs and the real HTTPRequest +# nodes/autoload wiring are never touched). + +var failures := 0 + + +func _initialize() -> void: + var service = load("res://scripts/autoload/flashcard_service.gd").new() + + var uuid: String = service._new_uuid() + _assert(uuid.length() == 36, "a client review id should be a standard 36-character UUID") + var segments := uuid.split("-") + _assert(segments.size() == 5, "a UUID should have five dash-separated segments") + _assert(segments[2].begins_with("4"), "the generated UUID should be version 4") + _assert("89ab".contains(segments[3][0]), "the generated UUID should have a valid RFC 4122 variant nibble") + + service.active_account_key = "account-a" + service.outbox = [ + {"account": "account-b", "payload": {"cardId": "other-account-card"}, "retry_count": 0}, + {"account": "account-a", "payload": {"cardId": "card-1"}, "retry_count": 0} + ] + _assert(service.has_pending_reviews(), "a queued review for the active account should be reported as pending") + _assert(service._next_account_item_index() == 1, + "outbox lookup should skip items queued under a different account (offline queue recovery must not leak across accounts)") + + service.active_account_key = "account-c" + _assert(not service.has_pending_reviews(), + "switching to an account with no queued reviews should report nothing pending") + + service.active_account_key = "account-a" + service.outbox[1]["active"] = true + _assert(service._active_item_index() == 1, "the in-flight retry item should be discoverable while marked active") + + var iso: String = service.current_study_day_start_utc() + _assert(iso.ends_with("Z"), "the study day boundary must be expressed as a UTC instant") + _assert(Time.get_unix_time_from_datetime_string(iso.trim_suffix("Z")) > 0, + "the study day boundary string should parse back into a valid datetime") + + service.free() + quit(1 if failures > 0 else 0) + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) diff --git a/tests/flashcard_study_render_test.gd b/tests/flashcard_study_render_test.gd new file mode 100644 index 0000000..5e12c3f --- /dev/null +++ b/tests/flashcard_study_render_test.gd @@ -0,0 +1,59 @@ +extends SceneTree + +# Drives the flashcards study screen's reveal/grading render logic and keyboard mapping +# directly (no network): the screen is added to the tree so _ready() builds its controls and +# wires the FlashcardService signal connections, but no method that would send an HTTP +# request (submit_review/request_next_card) is invoked. + +var failures := 0 + + +func _initialize() -> void: + var Study := load("res://scripts/ui/flashcards_study.gd") + var screen = Study.new() + screen._build() + + # Keyboard grading shortcuts: 1-4 map to Again/Hard/Good/Easy; everything else is inert. + _assert(Study.rating_for_keycode(KEY_1) == "again", "1 should grade Again") + _assert(Study.rating_for_keycode(KEY_2) == "hard", "2 should grade Hard") + _assert(Study.rating_for_keycode(KEY_3) == "good", "3 should grade Good") + _assert(Study.rating_for_keycode(KEY_4) == "easy", "4 should grade Easy") + _assert(Study.rating_for_keycode(KEY_5) == "", "keys outside 1-4 should not grade a card") + + # Basic card: front-first, then reveal shows answer + extra and the four graded options. + screen.current_note = {"type": "basic", "prompt": "2 + 2 = ?", "answer": "4", "extra": "Basic arithmetic"} + screen.current_card = {"id": "card-1", "variant": 0, "revision": 1} + screen.rating_options = [ + {"rating": "again", "intervalLabel": "<1m"}, {"rating": "hard", "intervalLabel": "6m"}, + {"rating": "good", "intervalLabel": "1d"}, {"rating": "easy", "intervalLabel": "4d"} + ] + screen._render_card() + _assert(screen.front_label.text == "2 + 2 = ?", "the front should show only the prompt before reveal") + _assert(screen.reveal_button.visible, "the reveal button should be visible before the answer is shown") + _assert(not screen.grade_row.visible, "grading buttons should be hidden before reveal") + _assert(not screen.back_label.visible, "the back should stay hidden before reveal") + + screen._reveal() + _assert(screen.back_label.text == "4\n\nBasic arithmetic", "reveal should show the answer plus extra") + _assert(screen.grade_row.visible, "grading buttons should appear after reveal") + _assert(not screen.reveal_button.visible, "the reveal button should hide once the card is revealed") + _assert(screen.grade_buttons["good"].text.contains("1d"), "each grade button should show its computed next interval") + + # Cloze card: only the card's own variant is hidden on the front; back reveals everything. + screen.current_note = {"type": "cloze", "prompt": "{{c1::Paris}} is the capital of France", "answer": "", "extra": ""} + screen.current_card = {"id": "card-2", "variant": 1, "revision": 1} + screen.revealed = false + screen._render_card() + _assert(screen.front_label.text == "[...] is the capital of France", "cloze front should hide only its own variant") + screen._reveal() + _assert(screen.back_label.text == "Paris is the capital of France", "cloze back should reveal every deletion") + + screen.free() + quit(1 if failures > 0 else 0) + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) diff --git a/tests/smoke/uat-smoke.spec.mjs b/tests/smoke/uat-smoke.spec.mjs index d3255b6..a2a7265 100644 --- a/tests/smoke/uat-smoke.spec.mjs +++ b/tests/smoke/uat-smoke.spec.mjs @@ -12,6 +12,23 @@ function requiredOrigin(name) { return value; } +async function callMultipart(path, formData, token, expected = [200]) { + const response = await fetch(`${API_ORIGIN}${path}`, { + method: "POST", + headers: token ? { Authorization: `Bearer ${token}` } : {}, + body: formData + }); + const text = await response.text(); + let data = null; + if (text) { + try { data = JSON.parse(text); } catch { data = text; } + } + if (!expected.includes(response.status)) { + throw new Error(`POST ${path} returned ${response.status}: ${text.slice(0, 500)}`); + } + return { response, data }; +} + async function call(path, options = {}) { const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), options.timeout ?? 20_000); @@ -154,6 +171,72 @@ test("public API and disposable learner journey", async () => { method: "POST", token, expected: [204] }); activeCcsAttempt = ""; + + // Flashcards: create a deck and card, study and grade it, verify it drops out of the due + // queue, then round-trip it through CSV export/import (exercising the exact-content dedupe). + const { data: deck } = await call("/api/flashcards/decks", { + method: "POST", token, body: { name: `Smoke Deck ${suffix}`, description: "" } + }); + expect(deck.id).toBeTruthy(); + + const { data: note } = await call("/api/flashcards/notes", { + method: "POST", + token, + body: { + deckId: deck.id, stableId: "", type: "basic", + prompt: "Smoke test prompt", answer: "Smoke test answer", extra: "", + tags: ["smoke"], images: [], sourceQuestionExternalId: "" + } + }); + expect(note.id).toBeTruthy(); + + const studyDayStartUtc = new Date().toISOString(); + const { data: firstCard } = await call("/api/flashcards/study/next", { + method: "POST", token, body: { deckId: deck.id, excludeCardIds: [], studyDayStartUtc } + }); + expect(firstCard.note?.id).toBe(note.id); + expect(firstCard.card?.state).toBe("new"); + + const { data: reviewResult } = await call("/api/flashcards/reviews", { + method: "POST", + token, + body: { + reviews: [{ + clientReviewId: crypto.randomUUID(), + cardId: firstCard.card.id, + rating: "good", + expectedRevision: firstCard.card.revision, + reviewedUtc: new Date().toISOString(), + durationSeconds: 5, + studyDayStartUtc + }] + } + }); + expect(reviewResult.results).toHaveLength(1); + expect(reviewResult.results[0].card.state).not.toBe("new"); + expect(new Date(reviewResult.results[0].card.dueUtc).getTime()).toBeGreaterThan(Date.now()); + + const { data: secondCard } = await call("/api/flashcards/study/next", { + method: "POST", token, body: { deckId: deck.id, excludeCardIds: [], studyDayStartUtc } + }); + expect(secondCard.note).toBeFalsy(); + + const { response: csvResponse, data: csvText } = await call("/api/flashcards/export/csv", { token }); + expect(csvResponse.headers.get("content-type") || "").toContain("text/csv"); + expect(String(csvText)).toContain("Smoke test prompt"); + + const csvForm = new FormData(); + csvForm.append("file", new Blob([String(csvText)], { type: "text/csv" }), "flashcards.csv"); + const { data: csvPreview } = await callMultipart("/api/flashcards/import/csv/preview", csvForm, token); + expect(csvPreview.importToken).toBeTruthy(); + expect(csvPreview.skipCount).toBeGreaterThan(0); + const { data: csvCommit } = await call("/api/flashcards/import/commit", { + method: "POST", token, body: { importToken: csvPreview.importToken } + }); + expect(csvCommit.skipped).toBeGreaterThan(0); + + const { data: jsonExport } = await call("/api/flashcards/export/json", { token }); + expect(jsonExport.notes.some((item) => item.note.stableId === note.stableId)).toBeTruthy(); } catch (error) { mainError = error; } finally { From 4dfbd811b9755c87eded72d52ac134b8a26ed4cb Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 16:41:26 -0500 Subject: [PATCH 04/68] Wire flashcard CSV/JSON import/export and fix theme/responsive gaps Import and export were stubbed with status-text placeholders; wire them to the existing backend endpoints with a real file picker (web JS bridge or native FileDialog) and browser/desktop download, plus an import preview with create/update/skip/error counts before commit. Also fix the library and study screens' theme-refresh handlers, which were no-op stubs so cards never restyled on a theme toggle, and add responsive layout handling for narrow viewports. --- docs/FLASHCARDS.md | 8 + scripts/autoload/flashcard_service.gd | 161 ++++++++++++++++ scripts/ui/flashcards_hub.gd | 229 +++++++++++++++++++++-- scripts/ui/flashcards_study.gd | 19 +- tests/flashcard_theme_responsive_test.gd | 115 ++++++++++++ 5 files changed, 515 insertions(+), 17 deletions(-) create mode 100644 tests/flashcard_theme_responsive_test.gd diff --git a/docs/FLASHCARDS.md b/docs/FLASHCARDS.md index 09f71d9..7eef28a 100644 --- a/docs/FLASHCARDS.md +++ b/docs/FLASHCARDS.md @@ -75,6 +75,14 @@ create/update/skip/error preview (`FlashcardImportPreviews`, TTL-expired after a skipped as an exact-content duplicate, or reported as a row-level error. Limits: 25 MB and 10,000 notes per import. +The Godot client (`scripts/autoload/flashcard_service.gd`) picks a file, uploads it to the +matching preview endpoint as `multipart/form-data`, and shows the create/update/skip/error counts +before letting the user commit or cancel. Export streams the response body and saves it client +side. File selection and download both branch on `OS.has_feature("web")`: on web, a hidden +``/`FileReader` pair (bridged back into GDScript via +`JavaScriptBridge.create_callback`) and an anchor-click data-URL download stand in for a native +picker/save dialog; on desktop, a `FileDialog` and the OS downloads folder are used instead. + ## Deployment No new secrets. `FlashcardsController`/stores register the same way as the rest of the API diff --git a/scripts/autoload/flashcard_service.gd b/scripts/autoload/flashcard_service.gd index 445bbca..ad78fb6 100644 --- a/scripts/autoload/flashcard_service.gd +++ b/scripts/autoload/flashcard_service.gd @@ -19,6 +19,9 @@ signal review_resumed signal notes_loaded(response: Dictionary) signal note_saved(note: Dictionary) signal request_failed(tag: String, message: String) +signal export_ready(location: String) +signal import_preview_ready(preview: Dictionary) +signal import_committed(result: Dictionary) const EndpointConfig := preload("res://scripts/autoload/api_endpoint_config.gd") const DEFAULT_API_URL := "https://us3q.ranaze.com/api/flashcards" @@ -28,6 +31,8 @@ var api_url := DEFAULT_API_URL var next_request: HTTPRequest var review_request: HTTPRequest var misc_request: HTTPRequest +var export_request: HTTPRequest +var import_request: HTTPRequest var retry_timer: Timer var loading_next := false var submitting_review := false @@ -36,6 +41,9 @@ var misc_queue: Array = [] var outbox: Array = [] var active_account_key := "" var is_paused := false +var export_busy := false +var export_pending: Dictionary = {} +var import_busy := false func _ready() -> void: @@ -45,6 +53,8 @@ func _ready() -> void: next_request = _make_request(_on_next_completed) review_request = _make_request(_on_review_completed) misc_request = _make_request(_on_misc_completed) + export_request = _make_request(_on_export_completed) + import_request = _make_request(_on_import_preview_completed) retry_timer = Timer.new() retry_timer.one_shot = true retry_timer.wait_time = 5.0 @@ -271,6 +281,157 @@ func undo_last_review(review_log_id: String, on_done: Callable) -> void: func(parsed): on_done.call(parsed if typeof(parsed) == TYPE_DICTIONARY else {}), "undo") +# ---------- Export (browser download / desktop file save) ---------- + +func export_csv() -> void: + _download_export("csv", "text/csv", "flashcards.csv") + + +func export_json() -> void: + _download_export("json", "application/json", "flashcards.json") + + +func _download_export(format: String, mime: String, filename: String) -> void: + if not AuthState.can_send_authenticated_request(): + request_failed.emit("export", "Login is required to export flashcards.") + return + if export_busy: + request_failed.emit("export", "An export is already in progress.") + return + export_busy = true + export_pending = {"mime": mime, "filename": filename} + var error := export_request.request("%s/export/%s" % [api_url, format], _headers(), HTTPClient.METHOD_GET) + if error != OK: + export_busy = false + export_pending = {} + request_failed.emit("export", "The export could not be started. Check your connection and try again.") + + +func _on_export_completed(result: int, response_code: int, _headers_value: PackedStringArray, body: PackedByteArray) -> void: + export_busy = false + var pending := export_pending + export_pending = {} + if response_code == 401: + AuthState.handle_unauthorized(AuthState.access_token) + return + if result != HTTPRequest.RESULT_SUCCESS or response_code < 200 or response_code >= 300: + request_failed.emit("export", "The export failed. Check your connection and try again.") + return + _save_export_file(body.get_string_from_utf8(), str(pending.get("filename", "flashcards.txt")), str(pending.get("mime", "text/plain"))) + + +func _save_export_file(content: String, filename: String, mime: String) -> void: + if OS.has_feature("web"): + var encoded := Marshalls.raw_to_base64(content.to_utf8_buffer()) + JavaScriptBridge.eval( + "(function(){const a=document.createElement('a');a.href='data:%s;base64,%s';a.download=%s;document.body.appendChild(a);a.click();a.remove();})();" % [mime, encoded, JSON.stringify(filename)], + true) + export_ready.emit(filename) + return + var directory := OS.get_system_dir(OS.SYSTEM_DIR_DOWNLOADS) + var path := directory.path_join(filename) + var file := FileAccess.open(path, FileAccess.WRITE) + if file == null: + request_failed.emit("export", "The export could not be saved.") + return + file.store_string(content) + export_ready.emit(path) + + +# ---------- Import (file picker -> preview -> commit) ---------- + +func pick_import_file(format: String) -> void: + if not AuthState.can_send_authenticated_request(): + request_failed.emit("import", "Login is required to import flashcards.") + return + if import_busy: + request_failed.emit("import", "An import is already in progress.") + return + var accept := ".csv" if format == "csv" else ".json" + if OS.has_feature("web"): + _pick_file_web(accept, format) + else: + _pick_file_native(accept, format) + + +func _pick_file_web(accept: String, format: String) -> void: + var callback := JavaScriptBridge.create_callback(_on_web_file_selected.bind(format)) + JavaScriptBridge.eval( + ("(function(cb){" + + "var input=document.createElement('input');" + + "input.type='file';input.accept=%s;input.style.display='none';" + + "document.body.appendChild(input);" + + "input.addEventListener('change',function(){" + + "var file=input.files&&input.files[0];" + + "document.body.removeChild(input);" + + "if(!file){cb('','');return;}" + + "var reader=new FileReader();" + + "reader.onload=function(){cb(reader.result,file.name);};" + + "reader.onerror=function(){cb('','');};" + + "reader.readAsText(file);" + + "});" + + "input.click();" + + "})(%s);") % [JSON.stringify(accept), callback], + true) + + +func _on_web_file_selected(text: String, filename: String, format: String) -> void: + if text.is_empty(): + return + _upload_import_preview(text, filename, format) + + +func _pick_file_native(accept: String, format: String) -> void: + var dialog := FileDialog.new() + dialog.access = FileDialog.ACCESS_FILESYSTEM + dialog.file_mode = FileDialog.FILE_MODE_OPEN_FILE + dialog.filters = PackedStringArray(["*%s ; %s files" % [accept, format.to_upper()]]) + add_child(dialog) + dialog.file_selected.connect(func(path: String): + var text := FileAccess.get_file_as_string(path) + dialog.queue_free() + _upload_import_preview(text, path.get_file(), format)) + dialog.canceled.connect(func(): dialog.queue_free()) + dialog.popup_centered_ratio(0.6) + + +func _upload_import_preview(text: String, filename: String, format: String) -> void: + import_busy = true + var boundary := "----GodotFormBoundary%d" % Time.get_ticks_usec() + var content_type := "text/csv" if format == "csv" else "application/json" + var body := "--%s\r\nContent-Disposition: form-data; name=\"file\"; filename=\"%s\"\r\nContent-Type: %s\r\n\r\n%s\r\n--%s--\r\n" % [ + boundary, filename, content_type, text, boundary] + var headers := PackedStringArray([ + "Content-Type: multipart/form-data; boundary=%s" % boundary, + "Authorization: Bearer %s" % AuthState.access_token + ]) + var error := import_request.request( + "%s/import/%s/preview" % [api_url, format], headers, HTTPClient.METHOD_POST, body) + if error != OK: + import_busy = false + request_failed.emit("import", "The file could not be uploaded. Check your connection and try again.") + + +func _on_import_preview_completed(result: int, response_code: int, _headers_value: PackedStringArray, body: PackedByteArray) -> void: + import_busy = false + if response_code == 401: + AuthState.handle_unauthorized(AuthState.access_token) + return + if result != HTTPRequest.RESULT_SUCCESS or response_code < 200 or response_code >= 300: + request_failed.emit("import", "The file could not be previewed. Check that it matches the expected format and try again.") + return + var parsed: Variant = JSON.parse_string(body.get_string_from_utf8()) + if typeof(parsed) != TYPE_DICTIONARY: + request_failed.emit("import", "The import preview response was invalid.") + return + import_preview_ready.emit(parsed) + + +func commit_import(import_token: String) -> void: + _enqueue_json("POST", "/import/commit", JSON.stringify({"importToken": import_token}), + func(parsed): import_committed.emit(parsed if typeof(parsed) == TYPE_DICTIONARY else {}), "import_commit") + + func _enqueue_json(method: String, path: String, body: String, on_success: Callable, tag: String) -> void: misc_queue.append({"method": method, "path": path, "body": body, "on_success": on_success, "tag": tag}) _pump_misc_queue() diff --git a/scripts/ui/flashcards_hub.gd b/scripts/ui/flashcards_hub.gd index 2e65e4d..cb31f27 100644 --- a/scripts/ui/flashcards_hub.gd +++ b/scripts/ui/flashcards_hub.gd @@ -22,6 +22,7 @@ var list_container: VBoxContainer var debounce_timer: Timer var editor_overlay: Control +var editor_panel: PanelContainer var editor_note_id := "" var editor_expected_revision: Variant = null var editor_type_selector: OptionButton @@ -32,6 +33,18 @@ var editor_tags_input: LineEdit var editor_hint_label: Label var editor_error_label: Label +var export_menu: PanelContainer +var import_menu: PanelContainer + +var import_overlay: Control +var import_panel: PanelContainer +var import_summary_label: Label +var import_rows_container: VBoxContainer +var import_commit_button: Button +var import_pending_token := "" + +var compact_layout := false + var decks: Array = [] var notes: Array = [] @@ -58,11 +71,17 @@ func _ready() -> void: debounce_timer.timeout.connect(_reload_notes) add_child(debounce_timer) _build_editor_overlay() + _build_import_overlay() + resized.connect(_update_responsive_layout) + call_deferred("_update_responsive_layout") FlashcardService.decks_changed.connect(_on_decks_changed) FlashcardService.notes_loaded.connect(_on_notes_loaded) FlashcardService.note_saved.connect(_on_note_saved) FlashcardService.request_failed.connect(_on_request_failed) + FlashcardService.export_ready.connect(_on_export_ready) + FlashcardService.import_preview_ready.connect(_on_import_preview_ready) + FlashcardService.import_committed.connect(_on_import_committed) UIThemeService.theme_changed.connect(func(_dark: bool): _refresh_status()) @@ -104,14 +123,60 @@ func _build_toolbar() -> void: import_button = Button.new() import_button.text = "Import" import_button.custom_minimum_size = Vector2(0, 44) - import_button.pressed.connect(_open_import_dialog) + import_button.pressed.connect(func(): _toggle_dropdown(import_menu, import_button)) row.add_child(import_button) + import_menu = _build_dropdown([ + ["Import CSV...", func(): + status_label.text = "Choose a file to import..." + FlashcardService.pick_import_file("csv")], + ["Import JSON...", func(): + status_label.text = "Choose a file to import..." + FlashcardService.pick_import_file("json")], + ]) export_button = Button.new() export_button.text = "Export" export_button.custom_minimum_size = Vector2(0, 44) - export_button.pressed.connect(_export_csv) + export_button.pressed.connect(func(): _toggle_dropdown(export_menu, export_button)) row.add_child(export_button) + export_menu = _build_dropdown([ + ["Export CSV", func(): + status_label.text = "Preparing export..." + FlashcardService.export_csv()], + ["Export JSON", func(): + status_label.text = "Preparing export..." + FlashcardService.export_json()], + ]) + + +func _build_dropdown(items: Array) -> PanelContainer: + var menu := PanelContainer.new() + menu.visible = false + menu.top_level = true + menu.add_theme_stylebox_override("panel", Brand.panel_box(UIThemeService.is_dark_mode())) + add_child(menu) + var list := VBoxContainer.new() + list.add_theme_constant_override("separation", 2) + menu.add_child(list) + for item in items: + var button := Button.new() + button.text = str(item[0]) + button.custom_minimum_size = Vector2(180, 40) + button.alignment = HORIZONTAL_ALIGNMENT_LEFT + var action: Callable = item[1] + button.pressed.connect(func(): + menu.visible = false + action.call()) + list.add_child(button) + return menu + + +func _toggle_dropdown(menu: PanelContainer, anchor: Control) -> void: + if menu.visible: + menu.visible = false + return + menu.visible = true + menu.position = anchor.get_global_position() + Vector2(0, anchor.size.y + 4) func _build_filters() -> void: @@ -196,7 +261,8 @@ func _note_row(note: Dictionary) -> Control: var dark := UIThemeService.is_dark_mode() var card := PanelContainer.new() card.add_theme_stylebox_override("panel", Brand.content_card_box(dark, false, Brand.ROYAL_BLUE)) - var row := HBoxContainer.new() + var row := BoxContainer.new() + row.vertical = compact_layout row.add_theme_constant_override("separation", 12) card.add_child(row) @@ -255,13 +321,13 @@ func _build_editor_overlay() -> void: var center := CenterContainer.new() center.set_anchors_preset(Control.PRESET_FULL_RECT) editor_overlay.add_child(center) - var panel := PanelContainer.new() - panel.custom_minimum_size = Vector2(620, 560) - panel.add_theme_stylebox_override("panel", Brand.panel_box(UIThemeService.is_dark_mode())) - center.add_child(panel) + editor_panel = PanelContainer.new() + editor_panel.custom_minimum_size = Vector2(620, 560) + editor_panel.add_theme_stylebox_override("panel", Brand.panel_box(UIThemeService.is_dark_mode())) + center.add_child(editor_panel) var content := VBoxContainer.new() content.add_theme_constant_override("separation", 10) - panel.add_child(content) + editor_panel.add_child(content) var header := HBoxContainer.new() content.add_child(header) @@ -394,7 +460,9 @@ func _on_note_saved(_note: Dictionary) -> void: FlashcardService.fetch_decks() -func _on_request_failed(_tag: String, message: String) -> void: +func _on_request_failed(tag: String, message: String) -> void: + if tag == "import_commit": + import_commit_button.disabled = false editor_error_label.text = message editor_error_label.visible = true status_label.text = message @@ -408,15 +476,144 @@ func _start_study() -> void: main.show_screen("flashcards_study", _selected_deck_id()) -func _export_csv() -> void: - # CSV/JSON export downloads through the same authenticated HTTP endpoint the desktop/web - # build already uses for media; a full save-file picker is out of scope for this pass. - status_label.text = "Export requested. Check your downloads once the file streams." +func _on_export_ready(location: String) -> void: + status_label.text = "Exported to %s." % location -func _open_import_dialog() -> void: - status_label.text = "Use the CSV/JSON import screen to pick a file (upload UI pending)." +# ---------- Import preview / commit ---------- +func _build_import_overlay() -> void: + import_overlay = Control.new() + import_overlay.visible = false + import_overlay.top_level = true + import_overlay.mouse_filter = Control.MOUSE_FILTER_STOP + import_overlay.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + add_child(import_overlay) + var dim := ColorRect.new() + dim.color = Color(0, 0, 0, 0.72) + dim.set_anchors_preset(Control.PRESET_FULL_RECT) + import_overlay.add_child(dim) + var center := CenterContainer.new() + center.set_anchors_preset(Control.PRESET_FULL_RECT) + import_overlay.add_child(center) + import_panel = PanelContainer.new() + import_panel.custom_minimum_size = Vector2(620, 480) + import_panel.add_theme_stylebox_override("panel", Brand.panel_box(UIThemeService.is_dark_mode())) + center.add_child(import_panel) + var content := VBoxContainer.new() + content.add_theme_constant_override("separation", 10) + import_panel.add_child(content) + + var header := HBoxContainer.new() + content.add_child(header) + var title := Label.new() + title.text = "Import preview" + title.size_flags_horizontal = Control.SIZE_EXPAND_FILL + title.add_theme_font_size_override("font_size", 22) + header.add_child(title) + var close_button := Button.new() + close_button.icon = preload("res://assets/icons/lucide/x.svg") + close_button.custom_minimum_size = Vector2(40, 40) + close_button.pressed.connect(_close_import_overlay) + header.add_child(close_button) + + import_summary_label = Label.new() + import_summary_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + content.add_child(import_summary_label) + + var rows_scroll := ScrollContainer.new() + rows_scroll.size_flags_vertical = Control.SIZE_EXPAND_FILL + content.add_child(rows_scroll) + import_rows_container = VBoxContainer.new() + import_rows_container.size_flags_horizontal = Control.SIZE_EXPAND_FILL + import_rows_container.add_theme_constant_override("separation", 4) + rows_scroll.add_child(import_rows_container) + + var actions := HBoxContainer.new() + actions.add_theme_constant_override("separation", 10) + content.add_child(actions) + var cancel_button := Button.new() + cancel_button.text = "Cancel" + cancel_button.custom_minimum_size = Vector2(0, 46) + cancel_button.pressed.connect(_close_import_overlay) + actions.add_child(cancel_button) + import_commit_button = Button.new() + import_commit_button.text = "Commit import" + import_commit_button.custom_minimum_size = Vector2(0, 46) + import_commit_button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + Style.style_primary_button(import_commit_button) + import_commit_button.pressed.connect(_commit_pending_import) + actions.add_child(import_commit_button) + + +func _on_import_preview_ready(preview: Dictionary) -> void: + import_pending_token = str(preview.get("importToken", "")) + var create_count := int(preview.get("createCount", 0)) + var update_count := int(preview.get("updateCount", 0)) + var skip_count := int(preview.get("skipCount", 0)) + var error_count := int(preview.get("errorCount", 0)) + import_summary_label.text = "%d to create, %d to update, %d to skip, %d row error(s)." % [create_count, update_count, skip_count, error_count] + for child in import_rows_container.get_children(): + child.queue_free() + for raw_row in preview.get("rows", []): + import_rows_container.add_child(_import_row(raw_row)) + import_commit_button.disabled = import_pending_token.is_empty() or (create_count + update_count == 0) + status_label.text = "" + import_overlay.visible = true + + +func _import_row(row: Dictionary) -> Control: + var label := Label.new() + var action := str(row.get("action", "")) + var error := str(row.get("error", "")) + var detail := error if not error.is_empty() else str(row.get("prompt", "")) + label.text = "Row %d - %s: %s" % [int(row.get("rowNumber", 0)), action.capitalize(), detail] + label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + if action == "error": + label.add_theme_color_override("font_color", Style.RED) + return label + + +func _commit_pending_import() -> void: + if import_pending_token.is_empty(): + return + import_commit_button.disabled = true + FlashcardService.commit_import(import_pending_token) + + +func _on_import_committed(result: Dictionary) -> void: + import_overlay.visible = false + import_pending_token = "" + status_label.text = "Import complete: %d created, %d updated, %d skipped, %d error(s)." % [ + int(result.get("created", 0)), int(result.get("updated", 0)), int(result.get("skipped", 0)), int(result.get("errored", 0))] + _reload_notes() + FlashcardService.fetch_decks() + + +func _close_import_overlay() -> void: + import_overlay.visible = false + import_pending_token = "" + + +# ---------- Theme / responsive ---------- func _refresh_status() -> void: - pass + var dark := UIThemeService.is_dark_mode() + if editor_panel != null: + editor_panel.add_theme_stylebox_override("panel", Brand.panel_box(dark)) + if import_panel != null: + import_panel.add_theme_stylebox_override("panel", Brand.panel_box(dark)) + if export_menu != null: + export_menu.add_theme_stylebox_override("panel", Brand.panel_box(dark)) + if import_menu != null: + import_menu.add_theme_stylebox_override("panel", Brand.panel_box(dark)) + _render_notes() + + +func _update_responsive_layout() -> void: + var use_compact := size.x < 720.0 + if compact_layout == use_compact: + return + compact_layout = use_compact + search_input.custom_minimum_size.x = 0.0 if compact_layout else 260.0 + _render_notes() diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd index 0c98203..8922954 100644 --- a/scripts/ui/flashcards_study.gd +++ b/scripts/ui/flashcards_study.gd @@ -33,12 +33,15 @@ var grade_row: HBoxContainer var grade_buttons: Dictionary = {} var undo_button: Button var empty_label: Label +var compact_layout := false func _ready() -> void: set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) add_theme_constant_override("separation", 14) _build() + resized.connect(_update_responsive_layout) + call_deferred("_update_responsive_layout") FlashcardService.next_card_loaded.connect(_on_next_card_loaded) FlashcardService.next_card_failed.connect(_on_next_card_failed) FlashcardService.review_synced.connect(_on_review_synced) @@ -98,6 +101,7 @@ func _build() -> void: card_panel = PanelContainer.new() card_panel.custom_minimum_size = Vector2(640, 360) + card_panel.add_theme_stylebox_override("panel", Brand.content_card_box(UIThemeService.is_dark_mode(), true, Brand.ROYAL_BLUE)) center.add_child(card_panel) var card_content := VBoxContainer.new() card_content.add_theme_constant_override("separation", 18) @@ -155,7 +159,20 @@ func _build() -> void: func refresh_theme_controls() -> void: - pass + if card_panel == null: + return + var dark := UIThemeService.is_dark_mode() + card_panel.add_theme_stylebox_override("panel", Brand.content_card_box(dark, true, Brand.ROYAL_BLUE)) + empty_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + + +func _update_responsive_layout() -> void: + if card_panel == null: + return + compact_layout = size.x < 720.0 + var available := maxf(size.x - 48.0, 240.0) + card_panel.custom_minimum_size.x = minf(640.0, available) + card_panel.custom_minimum_size.y = 300.0 if compact_layout else 360.0 func _load_next() -> void: diff --git a/tests/flashcard_theme_responsive_test.gd b/tests/flashcard_theme_responsive_test.gd new file mode 100644 index 0000000..87ccf46 --- /dev/null +++ b/tests/flashcard_theme_responsive_test.gd @@ -0,0 +1,115 @@ +extends SceneTree + +# Flashcards previously had no coverage for theme switching or narrow-viewport layout: the +# library screen's `_refresh_status()` and the study screen's `refresh_theme_controls()` were +# both no-op stubs, and neither screen reacted to its own resize. This drives both screens +# through a dark/light toggle and a phone-width resize with no network calls (mirrors +# flashcard_study_render_test.gd: content is injected directly rather than fetched). + +const Brand := preload("res://scripts/ui/medmind_style.gd") + +var failures := 0 + + +func _initialize() -> void: + call_deferred("_run") + + +func _run() -> void: + var host := Control.new() + host.size = Vector2(1280, 800) + root.add_child(host) + + var theme_service = root.get_node("UIThemeService") + var prior_dark: bool = theme_service.is_dark_mode() + + var Hub := load("res://scripts/ui/flashcards_hub.gd") + var hub = Hub.new() + hub.size = host.size + host.add_child(hub) + await process_frame + + hub.notes = [{"id": "note-1", "type": "basic", "prompt": "2 + 2", "answer": "4", "tags": []}] + + theme_service.set_dark_mode(true) + hub._render_notes() + await process_frame + var dark_card := hub.list_container.get_child(0) as PanelContainer + var dark_box := dark_card.get_theme_stylebox("panel") as StyleBoxFlat + _assert(dark_box.bg_color.is_equal_approx(Brand.content_card_box(true, false, Brand.ROYAL_BLUE).bg_color), + "flashcard note cards should use the dark surface while dark mode is active") + + theme_service.set_dark_mode(false) + await process_frame + var light_card := hub.list_container.get_child(0) as PanelContainer + var light_box := light_card.get_theme_stylebox("panel") as StyleBoxFlat + _assert(light_box.bg_color.is_equal_approx(Brand.content_card_box(false, false, Brand.ROYAL_BLUE).bg_color), + "toggling the app theme should rebuild flashcard note cards with the light surface (the library screen's theme_changed handler was previously a no-op)") + var light_menu_box := hub.export_menu.get_theme_stylebox("panel") as StyleBoxFlat + _assert(light_menu_box.bg_color.is_equal_approx(Brand.panel_box(false).bg_color), + "the export menu panel should also restyle to the light surface after a theme toggle") + + theme_service.set_dark_mode(prior_dark) + + hub.size = Vector2(360, 800) + hub._update_responsive_layout() + await process_frame + _assert(hub.compact_layout, "the flashcards library should detect a phone-width viewport") + var compact_card := hub.list_container.get_child(0) as PanelContainer + var compact_row := compact_card.get_child(0) as BoxContainer + _assert(compact_row.vertical, "phone-width flashcard rows should stack their content above the edit/archive actions instead of clipping") + _assert(compact_card.get_combined_minimum_size().x <= hub.size.x, + "a phone-width flashcard row should fit inside the viewport (minimum %.1f px)" % compact_card.get_combined_minimum_size().x) + + hub.size = Vector2(1280, 800) + hub._update_responsive_layout() + await process_frame + _assert(not hub.compact_layout, "a wide viewport should restore the flashcards library's desktop row layout") + var wide_row := (hub.list_container.get_child(0) as PanelContainer).get_child(0) as BoxContainer + _assert(not wide_row.vertical, "a wide viewport should lay flashcard row content out horizontally again") + + hub.free() + + var Study := load("res://scripts/ui/flashcards_study.gd") + var study = Study.new() + study._build() + + theme_service.set_dark_mode(true) + study.refresh_theme_controls() + var dark_study_box := study.card_panel.get_theme_stylebox("panel") as StyleBoxFlat + _assert(dark_study_box.bg_color.is_equal_approx(Brand.content_card_box(true, true, Brand.ROYAL_BLUE).bg_color), + "the study card should use the dark active-card surface while dark mode is active") + + theme_service.set_dark_mode(false) + study.refresh_theme_controls() + var light_study_box := study.card_panel.get_theme_stylebox("panel") as StyleBoxFlat + _assert(light_study_box.bg_color.is_equal_approx(Brand.content_card_box(false, true, Brand.ROYAL_BLUE).bg_color), + "toggling the app theme should restyle the study card to the light surface (refresh_theme_controls was previously a no-op)") + _assert(light_study_box.border_color.is_equal_approx(Brand.ROYAL_BLUE), + "the study card should keep its accent border after a theme refresh") + + theme_service.set_dark_mode(prior_dark) + + study.size = Vector2(360, 720) + study._update_responsive_layout() + _assert(study.compact_layout, "the study screen should detect a phone-width viewport") + _assert(study.card_panel.custom_minimum_size.x <= study.size.x, + "the study card should shrink to fit a phone-width viewport instead of overflowing (minimum %.1f px on a %.1f px viewport)" % [study.card_panel.custom_minimum_size.x, study.size.x]) + + study.size = Vector2(1280, 720) + study._update_responsive_layout() + _assert(not study.compact_layout, "a wide viewport should restore the study screen's desktop layout") + _assert(is_equal_approx(study.card_panel.custom_minimum_size.x, 640.0), + "a wide viewport should restore the study card's full 640px width") + + study.free() + host.queue_free() + await process_frame + quit(1 if failures > 0 else 0) + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) From ace04ab268e201bac515dd45a2e7718ade828e18 Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 16:47:54 -0500 Subject: [PATCH 05/68] Fix low-contrast session-expiry dialog in dark mode The panel's shared Brand.panel_box background is ~80% opaque, which compounded with the dialog's own dim backdrop let the screen behind show through and washed out the card against it. Force full opacity on this dialog's panel specifically, since other panel_box overlays still rely on the shared translucency. --- scripts/ui/session_expiry_dialog.gd | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/ui/session_expiry_dialog.gd b/scripts/ui/session_expiry_dialog.gd index f07dbb5..a81987b 100644 --- a/scripts/ui/session_expiry_dialog.gd +++ b/scripts/ui/session_expiry_dialog.gd @@ -161,6 +161,7 @@ func _apply_theme() -> void: return var dark := UIThemeService.is_dark_mode() var panel_style := Brand.panel_box(dark) + panel_style.bg_color.a = 1.0 panel_style.content_margin_left = 32 panel_style.content_margin_right = 32 panel_style.content_margin_top = 30 From 15e9f9779e7cefe89f2072e5965e194e46af9773 Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 17:02:51 -0500 Subject: [PATCH 06/68] Fix flashcard study/next 400s from a malformed studyDayStartUtc current_study_day_start_utc() passed use_space=true to Time.get_datetime_string_from_unix_time(), producing "2026-07-21 00:00:00Z" (space separator) instead of ISO-8601. The server's System.Text.Json DateTime converter rejects that with a 400, which the client surfaces as a generic "could not be loaded" error - blocking every study session. Confirmed against the live API: the space-separated value 400s, the corrected T-separated value returns a card. --- scripts/autoload/flashcard_service.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/autoload/flashcard_service.gd b/scripts/autoload/flashcard_service.gd index ad78fb6..7497090 100644 --- a/scripts/autoload/flashcard_service.gd +++ b/scripts/autoload/flashcard_service.gd @@ -90,7 +90,7 @@ func current_study_day_start_utc() -> String: "hour": 0, "minute": 0, "second": 0 }) var utc_unix: int = local_midnight_unix + utc_offset_minutes * 60 - return "%sZ" % Time.get_datetime_string_from_unix_time(utc_unix, true) + return "%sZ" % Time.get_datetime_string_from_unix_time(utc_unix, false) # ---------- Next card / study session ---------- From b00b321d6f2b0c7fc645c5448819466d5b688d2f Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 17:37:51 -0500 Subject: [PATCH 07/68] Fix Import/Export dropdowns not dismissing They only closed via their own trigger button or a menu item - clicking outside, pressing Escape, or opening the other dropdown while one was open left it stuck on screen (confirmed opening both stacked on top of each other). Add a shared invisible backdrop (mirroring main.gd's drawer-backdrop pattern) that closes whichever dropdown is open on outside click or Escape, and have opening one close the other first. --- scripts/ui/flashcards_hub.gd | 37 +++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/scripts/ui/flashcards_hub.gd b/scripts/ui/flashcards_hub.gd index cb31f27..a6ec2f5 100644 --- a/scripts/ui/flashcards_hub.gd +++ b/scripts/ui/flashcards_hub.gd @@ -35,6 +35,7 @@ var editor_error_label: Label var export_menu: PanelContainer var import_menu: PanelContainer +var dropdown_backdrop: Control var import_overlay: Control var import_panel: PanelContainer @@ -53,6 +54,7 @@ func _ready() -> void: size_flags_horizontal = Control.SIZE_EXPAND_FILL size_flags_vertical = Control.SIZE_EXPAND_FILL add_theme_constant_override("separation", 14) + _build_dropdown_backdrop() _build_toolbar() _build_filters() status_label = Label.new() @@ -149,6 +151,18 @@ func _build_toolbar() -> void: ]) +func _build_dropdown_backdrop() -> void: + dropdown_backdrop = Control.new() + dropdown_backdrop.visible = false + dropdown_backdrop.top_level = true + dropdown_backdrop.mouse_filter = Control.MOUSE_FILTER_STOP + dropdown_backdrop.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + dropdown_backdrop.gui_input.connect(func(event: InputEvent): + if event is InputEventMouseButton and event.pressed: + _close_dropdowns()) + add_child(dropdown_backdrop) + + func _build_dropdown(items: Array) -> PanelContainer: var menu := PanelContainer.new() menu.visible = false @@ -165,20 +179,37 @@ func _build_dropdown(items: Array) -> PanelContainer: button.alignment = HORIZONTAL_ALIGNMENT_LEFT var action: Callable = item[1] button.pressed.connect(func(): - menu.visible = false + _close_dropdowns() action.call()) list.add_child(button) return menu func _toggle_dropdown(menu: PanelContainer, anchor: Control) -> void: - if menu.visible: - menu.visible = false + var was_visible := menu.visible + _close_dropdowns() + if was_visible: return menu.visible = true + dropdown_backdrop.visible = true menu.position = anchor.get_global_position() + Vector2(0, anchor.size.y + 4) +func _close_dropdowns() -> void: + if export_menu != null: + export_menu.visible = false + if import_menu != null: + import_menu.visible = false + if dropdown_backdrop != null: + dropdown_backdrop.visible = false + + +func _unhandled_input(event: InputEvent) -> void: + if event.is_action_pressed("ui_cancel") and dropdown_backdrop != null and dropdown_backdrop.visible: + _close_dropdowns() + get_viewport().set_input_as_handled() + + func _build_filters() -> void: var row := HFlowContainer.new() row.add_theme_constant_override("separation", 10) From 7e19366dcb7c474781cdb74f33dcc33b84e0a7de Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 22:05:36 -0500 Subject: [PATCH 08/68] Redesign flashcards for visual hierarchy and button consistency Study card: label the answer and "key takeaway" as distinct sections with a real visible divider (previously an all-but-invisible HSeparator) instead of one undifferentiated block of text. Also fixes a real gap where a cloze card's extra field was silently dropped, since only basic notes combined answer+extra into one label. Bigger card, gradient Show-Answer button matching the app's signature CTA style instead of a duller flat teal, and the Undo button now hides itself when there's nothing to undo instead of sitting there disabled looking identical to a real action. Library: colored type badge per card (Basic/Cloze) instead of plain gray text, more breathing room inside each row, Study promoted to the same gradient CTA style, and Edit/Archive given a real secondary button treatment instead of default theme buttons. Note editor fields renamed ("Back / Extra takeaway" + a separate "Extra" field was genuinely confusing) and now show which deck a card is being saved to. --- scripts/ui/flashcards_hub.gd | 89 +++++++++++++++--- scripts/ui/flashcards_study.gd | 111 ++++++++++++++++++----- tests/flashcard_study_render_test.gd | 16 +++- tests/flashcard_theme_responsive_test.gd | 4 +- 4 files changed, 182 insertions(+), 38 deletions(-) diff --git a/scripts/ui/flashcards_hub.gd b/scripts/ui/flashcards_hub.gd index a6ec2f5..048d616 100644 --- a/scripts/ui/flashcards_hub.gd +++ b/scripts/ui/flashcards_hub.gd @@ -23,6 +23,7 @@ var debounce_timer: Timer var editor_overlay: Control var editor_panel: PanelContainer +var editor_deck_label: Label var editor_note_id := "" var editor_expected_revision: Variant = null var editor_type_selector: OptionButton @@ -111,8 +112,12 @@ func _build_toolbar() -> void: study_button = Button.new() study_button.text = "Study" - study_button.custom_minimum_size = Vector2(0, 44) - Style.style_primary_button(study_button) + study_button.custom_minimum_size = Vector2(110, 44) + study_button.add_theme_stylebox_override("normal", Brand.gradient_button_box()) + study_button.add_theme_stylebox_override("hover", Brand.gradient_button_box()) + study_button.add_theme_stylebox_override("pressed", Brand.gradient_button_box()) + study_button.add_theme_color_override("font_color", Color.WHITE) + study_button.add_theme_color_override("font_hover_color", Color.WHITE) study_button.pressed.connect(_start_study) row.add_child(study_button) @@ -291,7 +296,12 @@ func _render_notes() -> void: func _note_row(note: Dictionary) -> Control: var dark := UIThemeService.is_dark_mode() var card := PanelContainer.new() - card.add_theme_stylebox_override("panel", Brand.content_card_box(dark, false, Brand.ROYAL_BLUE)) + var card_box := Brand.content_card_box(dark, false, Brand.ROYAL_BLUE) + card_box.content_margin_left = 16 + card_box.content_margin_right = 16 + card_box.content_margin_top = 14 + card_box.content_margin_bottom = 14 + card.add_theme_stylebox_override("panel", card_box) var row := BoxContainer.new() row.vertical = compact_layout row.add_theme_constant_override("separation", 12) @@ -299,8 +309,22 @@ func _note_row(note: Dictionary) -> Control: var content := VBoxContainer.new() content.size_flags_horizontal = Control.SIZE_EXPAND_FILL + content.add_theme_constant_override("separation", 6) row.add_child(content) var type_str := str(note.get("type", "basic")) + + var header_row := HBoxContainer.new() + header_row.add_theme_constant_override("separation", 8) + content.add_child(header_row) + header_row.add_child(_type_badge(type_str, dark)) + var tags: Array = note.get("tags", []) + if tags.size() > 0: + var tags_label := Label.new() + tags_label.text = ", ".join(PackedStringArray(tags)) + tags_label.add_theme_font_size_override("font_size", 12) + tags_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + header_row.add_child(tags_label) + var prompt_text := str(note.get("prompt", "")) var preview := Cloze.render_back(prompt_text) if type_str == "cloze" else prompt_text var prompt_label := Label.new() @@ -308,22 +332,21 @@ func _note_row(note: Dictionary) -> Control: prompt_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART prompt_label.add_theme_font_override("font", Brand.font) content.add_child(prompt_label) - var meta := Label.new() - var tags: Array = note.get("tags", []) - meta.text = "%s%s" % [type_str.capitalize(), (" | " + ", ".join(PackedStringArray(tags))) if tags.size() > 0 else ""] - meta.add_theme_font_size_override("font_size", 12) - meta.add_theme_color_override("font_color", Brand.muted_color(dark)) - content.add_child(meta) var edit_button := Button.new() edit_button.text = "Edit" edit_button.custom_minimum_size = Vector2(70, 40) + edit_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) + edit_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) edit_button.pressed.connect(_open_editor.bind(str(note.get("id", "")), note)) row.add_child(edit_button) var archive_button := Button.new() archive_button.text = "Archive" archive_button.custom_minimum_size = Vector2(85, 40) + archive_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) + archive_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) + archive_button.add_theme_color_override("font_color", Color("ff5f76") if dark else Color("be123c")) archive_button.pressed.connect(func(): FlashcardService.archive_notes([str(note.get("id", ""))], true) await get_tree().create_timer(0.3).timeout @@ -333,6 +356,27 @@ func _note_row(note: Dictionary) -> Control: return card +func _type_badge(type_str: String, dark: bool) -> PanelContainer: + var accent := Brand.TEAL if type_str == "cloze" else Brand.ROYAL_BLUE + var badge := PanelContainer.new() + var box := StyleBoxFlat.new() + box.bg_color = Color(accent, 0.16 if dark else 0.12) + box.border_color = accent + box.set_border_width_all(1) + box.set_corner_radius_all(8) + box.content_margin_left = 8 + box.content_margin_right = 8 + box.content_margin_top = 2 + box.content_margin_bottom = 2 + badge.add_theme_stylebox_override("panel", box) + var label := Label.new() + label.text = type_str.capitalize() + label.add_theme_font_size_override("font_size", 11) + label.add_theme_color_override("font_color", accent) + badge.add_child(label) + return badge + + # ---------- Note editor ---------- func _build_editor_overlay() -> void: @@ -373,6 +417,11 @@ func _build_editor_overlay() -> void: close_button.pressed.connect(_close_editor) header.add_child(close_button) + editor_deck_label = Label.new() + editor_deck_label.add_theme_font_size_override("font_size", 13) + editor_deck_label.add_theme_color_override("font_color", Brand.muted_color(UIThemeService.is_dark_mode())) + content.add_child(editor_deck_label) + editor_type_selector = OptionButton.new() editor_type_selector.add_item("Basic") editor_type_selector.add_item("Cloze") @@ -391,13 +440,13 @@ func _build_editor_overlay() -> void: editor_front_input.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY content.add_child(editor_front_input) - content.add_child(_field_label("Back / Extra takeaway")) + content.add_child(_field_label("Answer")) editor_back_input = TextEdit.new() editor_back_input.custom_minimum_size = Vector2(0, 80) editor_back_input.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY content.add_child(editor_back_input) - content.add_child(_field_label("Extra")) + content.add_child(_field_label("Extra (optional teaching pearl)")) editor_extra_input = TextEdit.new() editor_extra_input.custom_minimum_size = Vector2(0, 60) editor_extra_input.wrap_mode = TextEdit.LINE_WRAPPING_BOUNDARY @@ -415,7 +464,11 @@ func _build_editor_overlay() -> void: var save_button := Button.new() save_button.text = "Save" save_button.custom_minimum_size = Vector2(0, 46) - Style.style_primary_button(save_button) + save_button.add_theme_stylebox_override("normal", Brand.gradient_button_box()) + save_button.add_theme_stylebox_override("hover", Brand.gradient_button_box()) + save_button.add_theme_stylebox_override("pressed", Brand.gradient_button_box()) + save_button.add_theme_color_override("font_color", Color.WHITE) + save_button.add_theme_color_override("font_hover_color", Color.WHITE) save_button.pressed.connect(_save_editor) content.add_child(save_button) @@ -446,10 +499,20 @@ func _open_editor(note_id: String, note: Dictionary) -> void: editor_extra_input.text = str(note.get("extra", "")) editor_tags_input.text = ", ".join(PackedStringArray(note.get("tags", []))) editor_error_label.visible = false + editor_deck_label.text = "Saving to: %s" % _deck_name_for_id(str(note.get("deckId", "")) if not note_id.is_empty() else _selected_deck_id()) _on_editor_type_changed(editor_type_selector.selected) editor_overlay.visible = true +func _deck_name_for_id(id: String) -> String: + if not id.is_empty(): + for summary in decks: + var deck: Dictionary = summary.get("deck", {}) + if str(deck.get("id", "")) == id: + return str(deck.get("name", "Default")) + return "Default" + + func _close_editor() -> void: editor_overlay.visible = false @@ -632,6 +695,8 @@ func _refresh_status() -> void: var dark := UIThemeService.is_dark_mode() if editor_panel != null: editor_panel.add_theme_stylebox_override("panel", Brand.panel_box(dark)) + if editor_deck_label != null: + editor_deck_label.add_theme_color_override("font_color", Brand.muted_color(dark)) if import_panel != null: import_panel.add_theme_stylebox_override("panel", Brand.panel_box(dark)) if export_menu != null: diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd index 8922954..1bb575d 100644 --- a/scripts/ui/flashcards_study.gd +++ b/scripts/ui/flashcards_study.gd @@ -26,8 +26,11 @@ var exit_button: Button var paused_banner: Label var card_panel: PanelContainer var front_label: Label -var divider: HSeparator +var divider: ColorRect +var answer_caption: Label var back_label: Label +var extra_caption: Label +var extra_label: Label var reveal_button: Button var grade_row: HBoxContainer var grade_buttons: Dictionary = {} @@ -57,6 +60,9 @@ func on_show(payload: Variant = null) -> void: current_note = {} current_card = {} revealed = false + last_client_review_id = "" + last_card_id = "" + undo_button.visible = false _render_loading() _load_next() @@ -100,11 +106,11 @@ func _build() -> void: root.add_child(center) card_panel = PanelContainer.new() - card_panel.custom_minimum_size = Vector2(640, 360) + card_panel.custom_minimum_size = Vector2(720, 420) card_panel.add_theme_stylebox_override("panel", Brand.content_card_box(UIThemeService.is_dark_mode(), true, Brand.ROYAL_BLUE)) center.add_child(card_panel) var card_content := VBoxContainer.new() - card_content.add_theme_constant_override("separation", 18) + card_content.add_theme_constant_override("separation", 20) card_panel.add_child(card_content) empty_label = Label.new() @@ -116,24 +122,42 @@ func _build() -> void: front_label = Label.new() front_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART front_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - front_label.add_theme_font_size_override("font_size", 22) + front_label.add_theme_font_size_override("font_size", 25) card_content.add_child(front_label) - divider = HSeparator.new() + divider = ColorRect.new() + divider.custom_minimum_size = Vector2(0, 2) divider.visible = false card_content.add_child(divider) + var answer_block := VBoxContainer.new() + answer_block.add_theme_constant_override("separation", 4) + card_content.add_child(answer_block) + answer_caption = _caption_label("ANSWER") + answer_block.add_child(answer_caption) back_label = Label.new() back_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART back_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - back_label.add_theme_font_size_override("font_size", 18) + back_label.add_theme_font_size_override("font_size", 19) back_label.visible = false - card_content.add_child(back_label) + answer_block.add_child(back_label) + + var extra_block := VBoxContainer.new() + extra_block.add_theme_constant_override("separation", 4) + card_content.add_child(extra_block) + extra_caption = _caption_label("KEY TAKEAWAY") + extra_block.add_child(extra_caption) + extra_label = Label.new() + extra_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + extra_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + extra_label.add_theme_font_size_override("font_size", 15) + extra_label.visible = false + extra_block.add_child(extra_label) reveal_button = Button.new() reveal_button.text = "Show Answer (Space)" reveal_button.custom_minimum_size = Vector2(0, 52) - Style.style_primary_button(reveal_button) + _style_gradient_button(reveal_button) reveal_button.pressed.connect(_reveal) root.add_child(reveal_button) @@ -152,10 +176,38 @@ func _build() -> void: undo_button = Button.new() undo_button.text = "Undo last review" - undo_button.custom_minimum_size = Vector2(0, 42) - undo_button.disabled = true + undo_button.custom_minimum_size = Vector2(0, 36) + undo_button.visible = false undo_button.pressed.connect(_undo) root.add_child(undo_button) + _style_ghost_button(undo_button, UIThemeService.is_dark_mode()) + + +func _caption_label(text: String) -> Label: + var label := Label.new() + label.text = text + label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + label.add_theme_font_size_override("font_size", 12) + label.visible = false + return label + + +func _style_gradient_button(button: Button) -> void: + button.add_theme_stylebox_override("normal", Brand.gradient_button_box()) + button.add_theme_stylebox_override("hover", Brand.gradient_button_box()) + button.add_theme_stylebox_override("pressed", Brand.gradient_button_box()) + button.add_theme_color_override("font_color", Color.WHITE) + button.add_theme_color_override("font_hover_color", Color.WHITE) + + +func _style_ghost_button(button: Button, dark: bool) -> void: + var empty := StyleBoxEmpty.new() + button.add_theme_stylebox_override("normal", empty) + button.add_theme_stylebox_override("hover", empty) + button.add_theme_stylebox_override("pressed", empty) + button.add_theme_stylebox_override("focus", empty) + button.add_theme_color_override("font_color", Brand.muted_color(dark)) + button.add_theme_color_override("font_hover_color", Brand.text_color(dark)) func refresh_theme_controls() -> void: @@ -164,6 +216,11 @@ func refresh_theme_controls() -> void: var dark := UIThemeService.is_dark_mode() card_panel.add_theme_stylebox_override("panel", Brand.content_card_box(dark, true, Brand.ROYAL_BLUE)) empty_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + divider.color = Brand.ROYAL_BLUE if dark else Brand.PURPLE + answer_caption.add_theme_color_override("font_color", Brand.ROYAL_BLUE if dark else Brand.PURPLE) + extra_caption.add_theme_color_override("font_color", Brand.muted_color(dark)) + extra_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + _style_ghost_button(undo_button, dark) func _update_responsive_layout() -> void: @@ -171,8 +228,8 @@ func _update_responsive_layout() -> void: return compact_layout = size.x < 720.0 var available := maxf(size.x - 48.0, 240.0) - card_panel.custom_minimum_size.x = minf(640.0, available) - card_panel.custom_minimum_size.y = 300.0 if compact_layout else 360.0 + card_panel.custom_minimum_size.x = minf(720.0, available) + card_panel.custom_minimum_size.y = 340.0 if compact_layout else 420.0 func _load_next() -> void: @@ -208,8 +265,7 @@ func _render_loading() -> void: empty_label.visible = false front_label.visible = true front_label.text = "Loading..." - back_label.visible = false - divider.visible = false + _hide_answer() reveal_button.visible = false grade_row.visible = false @@ -217,8 +273,7 @@ func _render_loading() -> void: func _render_empty(card: Dictionary) -> void: empty_label.visible = true front_label.visible = false - back_label.visible = false - divider.visible = false + _hide_answer() reveal_button.visible = false grade_row.visible = false progress_label.text = "0 due" @@ -226,6 +281,14 @@ func _render_empty(card: Dictionary) -> void: progress_label.text = "%d due, %d new available" % [int(card.get("dueRemaining", 0)), int(card.get("newRemaining", 0))] +func _hide_answer() -> void: + divider.visible = false + answer_caption.visible = false + back_label.visible = false + extra_caption.visible = false + extra_label.visible = false + + func _render_card() -> void: empty_label.visible = false var note_type := str(current_note.get("type", "basic")) @@ -235,8 +298,7 @@ func _render_card() -> void: else: front_label.text = str(current_note.get("prompt", "")) front_label.visible = true - back_label.visible = false - divider.visible = false + _hide_answer() reveal_button.visible = true grade_row.visible = false progress_label.text = "%d due, %d new available" % [due_remaining, new_remaining] @@ -251,11 +313,14 @@ func _reveal() -> void: if note_type == "cloze": back_label.text = Cloze.render_back(str(current_note.get("prompt", ""))) else: - var answer := str(current_note.get("answer", "")) - var extra := str(current_note.get("extra", "")) - back_label.text = "%s\n\n%s" % [answer, extra] if not extra.is_empty() else answer - back_label.visible = true + back_label.text = str(current_note.get("answer", "")) + var extra := str(current_note.get("extra", "")) divider.visible = true + answer_caption.visible = true + back_label.visible = true + extra_caption.visible = not extra.is_empty() + extra_label.visible = not extra.is_empty() + extra_label.text = extra reveal_button.visible = false grade_row.visible = true for rating in grade_buttons: @@ -278,6 +343,7 @@ func _grade(rating: String) -> void: var duration_seconds := int(float(Time.get_ticks_msec() - loaded_started_ms) / 1000.0) last_client_review_id = FlashcardService.submit_review(card_id, rating, expected_revision, duration_seconds, study_day_start_utc) last_card_id = card_id + undo_button.visible = true undo_button.disabled = false if not seen_card_ids.has(card_id): seen_card_ids.append(card_id) @@ -295,6 +361,7 @@ func _undo() -> void: undo_button.disabled = true FlashcardService.undo_last_review(last_client_review_id, func(_restored: Dictionary): last_client_review_id = "" + undo_button.visible = false seen_card_ids.erase(last_card_id) _load_next()) diff --git a/tests/flashcard_study_render_test.gd b/tests/flashcard_study_render_test.gd index 5e12c3f..c574886 100644 --- a/tests/flashcard_study_render_test.gd +++ b/tests/flashcard_study_render_test.gd @@ -34,19 +34,31 @@ func _initialize() -> void: _assert(not screen.back_label.visible, "the back should stay hidden before reveal") screen._reveal() - _assert(screen.back_label.text == "4\n\nBasic arithmetic", "reveal should show the answer plus extra") + _assert(screen.back_label.text == "4", "reveal should show the answer on its own, separate from the extra pearl") + _assert(screen.extra_label.text == "Basic arithmetic" and screen.extra_label.visible, "the extra takeaway should render in its own labeled section") + _assert(screen.answer_caption.visible and screen.extra_caption.visible, "revealing a card with an extra should show both the answer and takeaway captions") _assert(screen.grade_row.visible, "grading buttons should appear after reveal") _assert(not screen.reveal_button.visible, "the reveal button should hide once the card is revealed") _assert(screen.grade_buttons["good"].text.contains("1d"), "each grade button should show its computed next interval") # Cloze card: only the card's own variant is hidden on the front; back reveals everything. - screen.current_note = {"type": "cloze", "prompt": "{{c1::Paris}} is the capital of France", "answer": "", "extra": ""} + screen.current_note = {"type": "cloze", "prompt": "{{c1::Paris}} is the capital of France", "answer": "", "extra": "European capitals are a classic Step 3 target"} screen.current_card = {"id": "card-2", "variant": 1, "revision": 1} screen.revealed = false screen._render_card() _assert(screen.front_label.text == "[...] is the capital of France", "cloze front should hide only its own variant") screen._reveal() _assert(screen.back_label.text == "Paris is the capital of France", "cloze back should reveal every deletion") + _assert(screen.extra_label.text == "European capitals are a classic Step 3 target" and screen.extra_label.visible, + "a cloze note's extra takeaway should also render (previously silently dropped since only basic notes combined answer+extra into one label)") + + # A card with no extra should hide the takeaway section entirely rather than show an empty caption. + screen.current_note = {"type": "basic", "prompt": "What is 1 + 1?", "answer": "2", "extra": ""} + screen.current_card = {"id": "card-3", "variant": 0, "revision": 1} + screen.revealed = false + screen._render_card() + screen._reveal() + _assert(not screen.extra_label.visible and not screen.extra_caption.visible, "a card with no extra takeaway should hide that section instead of showing an empty caption") screen.free() quit(1 if failures > 0 else 0) diff --git a/tests/flashcard_theme_responsive_test.gd b/tests/flashcard_theme_responsive_test.gd index 87ccf46..234c25b 100644 --- a/tests/flashcard_theme_responsive_test.gd +++ b/tests/flashcard_theme_responsive_test.gd @@ -99,8 +99,8 @@ func _run() -> void: study.size = Vector2(1280, 720) study._update_responsive_layout() _assert(not study.compact_layout, "a wide viewport should restore the study screen's desktop layout") - _assert(is_equal_approx(study.card_panel.custom_minimum_size.x, 640.0), - "a wide viewport should restore the study card's full 640px width") + _assert(is_equal_approx(study.card_panel.custom_minimum_size.x, 720.0), + "a wide viewport should restore the study card's full 720px width") study.free() host.queue_free() From 109581874dc42a3b5ad8cb759f4881e680286d02 Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 22:18:24 -0500 Subject: [PATCH 09/68] Fix invisible divider/caption colors on the study card's first paint refresh_theme_controls() colored the divider and the ANSWER/KEY TAKEAWAY captions, but it only ran on an actual theme toggle - never at initial build. Confirmed live: the divider was invisible (default white on a white card) and the captions rendered as plain body text instead of the intended accent color until you toggled dark mode once. Call refresh_theme_controls() once at the end of _build() so the correct colors apply immediately, which also fixes the same latent gap in empty_label's color. --- scripts/ui/flashcards_study.gd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd index 1bb575d..0fc74dc 100644 --- a/scripts/ui/flashcards_study.gd +++ b/scripts/ui/flashcards_study.gd @@ -180,7 +180,8 @@ func _build() -> void: undo_button.visible = false undo_button.pressed.connect(_undo) root.add_child(undo_button) - _style_ghost_button(undo_button, UIThemeService.is_dark_mode()) + + refresh_theme_controls() func _caption_label(text: String) -> Label: From 72fb6e4776fa4590240c681b00574c88903337ae Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 22:47:21 -0500 Subject: [PATCH 10/68] Rework flashcards library to match the rest of the app's visual language Compared side-by-side against Dashboard, the library screen used entirely different visual primitives: a gradient primary button Dashboard doesn't use anywhere, per-row bordered cards with low contrast against the dark background, and a translucent pill badge instead of the icon-circle pattern used everywhere else (stat tiles, review queue, recent activity). - Study/Save/Commit import now use Dashboard's actual primary button style (flat ROYAL_BLUE, not the login/session-dialog gradient) - Added a stat-tile row (Due today / New available / Decks) using Dashboard's exact icon-circle + value + label construction, replacing the due/new counts previously crammed into the deck dropdown's text - The note list now lives in one bordered card with a section title (matching Dashboard's chart/list panels) instead of each row being its own separate low-contrast card - Per-row card-type indicator is now an icon circle (clipboard-list / notebook-pen) matching the Recent Activity list pattern, instead of a translucent color-coded pill badge --- scripts/ui/flashcards_hub.gd | 223 +++++++++++++++++------ tests/flashcard_theme_responsive_test.gd | 31 ++-- 2 files changed, 189 insertions(+), 65 deletions(-) diff --git a/scripts/ui/flashcards_hub.gd b/scripts/ui/flashcards_hub.gd index 048d616..ea62ff1 100644 --- a/scripts/ui/flashcards_hub.gd +++ b/scripts/ui/flashcards_hub.gd @@ -6,6 +6,13 @@ const Cloze := preload("res://scripts/ui/flashcard_cloze.gd") var main +var stats_row: HFlowContainer +var stat_due_value: Label +var stat_new_value: Label +var stat_decks_value: Label +var list_card: PanelContainer +var list_section_title: Label + var deck_selector: OptionButton var deck_ids: Array = [] var new_deck_button: Button @@ -56,17 +63,28 @@ func _ready() -> void: size_flags_vertical = Control.SIZE_EXPAND_FILL add_theme_constant_override("separation", 14) _build_dropdown_backdrop() + _build_stats() _build_toolbar() _build_filters() status_label = Label.new() status_label.add_theme_font_override("font", Brand.font) add_child(status_label) + + list_card = PanelContainer.new() + list_card.size_flags_vertical = Control.SIZE_EXPAND_FILL + list_card.add_theme_stylebox_override("panel", _list_card_box(UIThemeService.is_dark_mode())) + add_child(list_card) + var list_card_content := VBoxContainer.new() + list_card_content.add_theme_constant_override("separation", 10) + list_card.add_child(list_card_content) + list_section_title = _section_title("Your flashcards") + list_card_content.add_child(list_section_title) list_scroll = ScrollContainer.new() list_scroll.size_flags_vertical = Control.SIZE_EXPAND_FILL - add_child(list_scroll) + list_card_content.add_child(list_scroll) list_container = VBoxContainer.new() list_container.size_flags_horizontal = Control.SIZE_EXPAND_FILL - list_container.add_theme_constant_override("separation", 8) + list_container.add_theme_constant_override("separation", 14) list_scroll.add_child(list_container) debounce_timer = Timer.new() debounce_timer.one_shot = true @@ -93,6 +111,79 @@ func on_show(_payload: Variant = null) -> void: _reload_notes() +func _build_stats() -> void: + var previous_due := stat_due_value.text if stat_due_value != null else "--" + var previous_new := stat_new_value.text if stat_new_value != null else "--" + var previous_decks := stat_decks_value.text if stat_decks_value != null else "--" + if stats_row == null: + stats_row = HFlowContainer.new() + stats_row.add_theme_constant_override("separation", 24) + add_child(stats_row) + move_child(stats_row, 0) + for child in stats_row.get_children(): + child.queue_free() + stat_due_value = _add_stat(stats_row, "Due today", "clock-3", Brand.AMBER) + stat_new_value = _add_stat(stats_row, "New available", "clipboard-plus", Brand.ROYAL_BLUE) + stat_decks_value = _add_stat(stats_row, "Decks", "clipboard-list", Brand.PURPLE) + stat_due_value.text = previous_due + stat_new_value.text = previous_new + stat_decks_value.text = previous_decks + + +func _add_stat(row: HFlowContainer, title: String, icon_name: String, accent: Color) -> Label: + var dark := UIThemeService.is_dark_mode() + var cell := HBoxContainer.new() + cell.custom_minimum_size = Vector2(200, 56) + cell.add_theme_constant_override("separation", 12) + row.add_child(cell) + var icon_panel := PanelContainer.new() + icon_panel.custom_minimum_size = Vector2(48, 48) + icon_panel.size_flags_vertical = Control.SIZE_SHRINK_CENTER + icon_panel.add_theme_stylebox_override("panel", Brand.icon_circle_box(dark, accent, 24)) + var icon := TextureRect.new() + icon.texture = load("res://assets/icons/lucide/%s.svg" % icon_name) + icon.custom_minimum_size = Vector2(22, 22) + icon.expand_mode = TextureRect.EXPAND_IGNORE_SIZE + icon.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED + icon_panel.add_child(icon) + cell.add_child(icon_panel) + var copy := VBoxContainer.new() + copy.size_flags_vertical = Control.SIZE_SHRINK_CENTER + var caption := Label.new() + caption.text = title + caption.add_theme_font_size_override("font_size", 13) + caption.add_theme_color_override("font_color", Brand.muted_color(dark)) + copy.add_child(caption) + var value := Label.new() + value.text = "--" + value.add_theme_font_size_override("font_size", 24) + value.add_theme_color_override("font_color", Brand.text_color(dark)) + copy.add_child(value) + cell.add_child(copy) + return value + + +func _list_card_box(dark: bool) -> StyleBoxFlat: + var box := StyleBoxFlat.new() + box.bg_color = Color("081426") if dark else Color.WHITE + box.border_color = Color("26344f") if dark else Brand.LIGHT_BORDER + box.set_border_width_all(1) + box.set_corner_radius_all(8) + box.content_margin_left = 18 + box.content_margin_right = 18 + box.content_margin_top = 16 + box.content_margin_bottom = 16 + return box + + +func _section_title(text: String) -> Label: + var label := Label.new() + label.text = text + label.add_theme_font_size_override("font_size", 16) + label.add_theme_color_override("font_color", Brand.text_color(UIThemeService.is_dark_mode())) + return label + + func _build_toolbar() -> void: var row := HFlowContainer.new() row.add_theme_constant_override("separation", 10) @@ -113,11 +204,7 @@ func _build_toolbar() -> void: study_button = Button.new() study_button.text = "Study" study_button.custom_minimum_size = Vector2(110, 44) - study_button.add_theme_stylebox_override("normal", Brand.gradient_button_box()) - study_button.add_theme_stylebox_override("hover", Brand.gradient_button_box()) - study_button.add_theme_stylebox_override("pressed", Brand.gradient_button_box()) - study_button.add_theme_color_override("font_color", Color.WHITE) - study_button.add_theme_color_override("font_hover_color", Color.WHITE) + _style_primary_button(study_button) study_button.pressed.connect(_start_study) row.add_child(study_button) @@ -156,6 +243,19 @@ func _build_toolbar() -> void: ]) +func _style_primary_button(button: Button) -> void: + var normal := StyleBoxFlat.new() + normal.bg_color = Brand.ROYAL_BLUE + normal.set_corner_radius_all(6) + var hover := normal.duplicate() as StyleBoxFlat + hover.bg_color = Color("3474ee") + button.add_theme_stylebox_override("normal", normal) + button.add_theme_stylebox_override("hover", hover) + button.add_theme_stylebox_override("pressed", normal) + button.add_theme_color_override("font_color", Color.WHITE) + button.add_theme_color_override("font_hover_color", Color.WHITE) + + func _build_dropdown_backdrop() -> void: dropdown_backdrop = Control.new() dropdown_backdrop.visible = false @@ -250,15 +350,22 @@ func _on_decks_changed(loaded_decks: Array) -> void: deck_selector.clear() deck_selector.add_item("All decks") deck_ids = [""] + var total_due := 0 + var total_new := 0 for summary in decks: var deck: Dictionary = summary.get("deck", {}) - var label := "%s (%d due, %d new)" % [str(deck.get("name", "Deck")), int(summary.get("due", 0)), int(summary.get("new", 0))] - deck_selector.add_item(label) + deck_selector.add_item(str(deck.get("name", "Deck"))) deck_ids.append(str(deck.get("id", ""))) + total_due += int(summary.get("due", 0)) + total_new += int(summary.get("new", 0)) if previous_selection != null: var restored := deck_ids.find(previous_selection) if restored >= 0: deck_selector.select(restored) + if stat_due_value != null: + stat_due_value.text = str(total_due) + stat_new_value.text = str(total_new) + stat_decks_value.text = str(decks.size()) func _selected_deck_id() -> String: @@ -288,35 +395,56 @@ func _on_notes_loaded(response: Dictionary) -> void: func _render_notes() -> void: for child in list_container.get_children(): child.queue_free() - status_label.text = "" if notes.size() > 0 else "No flashcards match these filters yet." - for note in notes: - list_container.add_child(_note_row(note)) + var dark := UIThemeService.is_dark_mode() + if list_section_title != null: + list_section_title.text = "Your flashcards (%d)" % notes.size() + status_label.text = "" + if notes.is_empty(): + var empty_label := Label.new() + empty_label.text = "No flashcards match these filters yet." + empty_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + list_container.add_child(empty_label) + return + for index in notes.size(): + if index > 0: + list_container.add_child(_row_separator(dark)) + list_container.add_child(_note_row(notes[index])) func _note_row(note: Dictionary) -> Control: var dark := UIThemeService.is_dark_mode() - var card := PanelContainer.new() - var card_box := Brand.content_card_box(dark, false, Brand.ROYAL_BLUE) - card_box.content_margin_left = 16 - card_box.content_margin_right = 16 - card_box.content_margin_top = 14 - card_box.content_margin_bottom = 14 - card.add_theme_stylebox_override("panel", card_box) + var type_str := str(note.get("type", "basic")) + var accent := Brand.TEAL if type_str == "cloze" else Brand.ROYAL_BLUE + var row := BoxContainer.new() row.vertical = compact_layout - row.add_theme_constant_override("separation", 12) - card.add_child(row) + row.add_theme_constant_override("separation", 14) + + var icon_panel := PanelContainer.new() + icon_panel.custom_minimum_size = Vector2(40, 40) + icon_panel.size_flags_vertical = Control.SIZE_SHRINK_CENTER + icon_panel.add_theme_stylebox_override("panel", Brand.icon_circle_box(dark, accent, 20)) + var icon := TextureRect.new() + icon.texture = load("res://assets/icons/lucide/%s.svg" % ("notebook-pen" if type_str == "cloze" else "clipboard-list")) + icon.custom_minimum_size = Vector2(18, 18) + icon.expand_mode = TextureRect.EXPAND_IGNORE_SIZE + icon.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED + icon_panel.add_child(icon) + row.add_child(icon_panel) var content := VBoxContainer.new() content.size_flags_horizontal = Control.SIZE_EXPAND_FILL - content.add_theme_constant_override("separation", 6) + content.add_theme_constant_override("separation", 4) row.add_child(content) - var type_str := str(note.get("type", "basic")) var header_row := HBoxContainer.new() header_row.add_theme_constant_override("separation", 8) content.add_child(header_row) - header_row.add_child(_type_badge(type_str, dark)) + var type_label := Label.new() + type_label.text = type_str.capitalize() + type_label.add_theme_font_size_override("font_size", 12) + type_label.add_theme_color_override("font_color", accent) + header_row.add_child(type_label) var tags: Array = note.get("tags", []) if tags.size() > 0: var tags_label := Label.new() @@ -333,13 +461,17 @@ func _note_row(note: Dictionary) -> Control: prompt_label.add_theme_font_override("font", Brand.font) content.add_child(prompt_label) + var actions := HBoxContainer.new() + actions.add_theme_constant_override("separation", 8) + row.add_child(actions) + var edit_button := Button.new() edit_button.text = "Edit" edit_button.custom_minimum_size = Vector2(70, 40) edit_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) edit_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) edit_button.pressed.connect(_open_editor.bind(str(note.get("id", "")), note)) - row.add_child(edit_button) + actions.add_child(edit_button) var archive_button := Button.new() archive_button.text = "Archive" @@ -351,30 +483,16 @@ func _note_row(note: Dictionary) -> Control: FlashcardService.archive_notes([str(note.get("id", ""))], true) await get_tree().create_timer(0.3).timeout _reload_notes()) - row.add_child(archive_button) + actions.add_child(archive_button) - return card + return row -func _type_badge(type_str: String, dark: bool) -> PanelContainer: - var accent := Brand.TEAL if type_str == "cloze" else Brand.ROYAL_BLUE - var badge := PanelContainer.new() - var box := StyleBoxFlat.new() - box.bg_color = Color(accent, 0.16 if dark else 0.12) - box.border_color = accent - box.set_border_width_all(1) - box.set_corner_radius_all(8) - box.content_margin_left = 8 - box.content_margin_right = 8 - box.content_margin_top = 2 - box.content_margin_bottom = 2 - badge.add_theme_stylebox_override("panel", box) - var label := Label.new() - label.text = type_str.capitalize() - label.add_theme_font_size_override("font_size", 11) - label.add_theme_color_override("font_color", accent) - badge.add_child(label) - return badge +func _row_separator(dark: bool) -> ColorRect: + var line := ColorRect.new() + line.custom_minimum_size = Vector2(0, 1) + line.color = Color("1c2b49") if dark else Brand.LIGHT_BORDER + return line # ---------- Note editor ---------- @@ -464,11 +582,7 @@ func _build_editor_overlay() -> void: var save_button := Button.new() save_button.text = "Save" save_button.custom_minimum_size = Vector2(0, 46) - save_button.add_theme_stylebox_override("normal", Brand.gradient_button_box()) - save_button.add_theme_stylebox_override("hover", Brand.gradient_button_box()) - save_button.add_theme_stylebox_override("pressed", Brand.gradient_button_box()) - save_button.add_theme_color_override("font_color", Color.WHITE) - save_button.add_theme_color_override("font_hover_color", Color.WHITE) + _style_primary_button(save_button) save_button.pressed.connect(_save_editor) content.add_child(save_button) @@ -635,7 +749,7 @@ func _build_import_overlay() -> void: import_commit_button.text = "Commit import" import_commit_button.custom_minimum_size = Vector2(0, 46) import_commit_button.size_flags_horizontal = Control.SIZE_EXPAND_FILL - Style.style_primary_button(import_commit_button) + _style_primary_button(import_commit_button) import_commit_button.pressed.connect(_commit_pending_import) actions.add_child(import_commit_button) @@ -703,6 +817,11 @@ func _refresh_status() -> void: export_menu.add_theme_stylebox_override("panel", Brand.panel_box(dark)) if import_menu != null: import_menu.add_theme_stylebox_override("panel", Brand.panel_box(dark)) + if list_card != null: + list_card.add_theme_stylebox_override("panel", _list_card_box(dark)) + if list_section_title != null: + list_section_title.add_theme_color_override("font_color", Brand.text_color(dark)) + _build_stats() _render_notes() diff --git a/tests/flashcard_theme_responsive_test.gd b/tests/flashcard_theme_responsive_test.gd index 234c25b..297e59e 100644 --- a/tests/flashcard_theme_responsive_test.gd +++ b/tests/flashcard_theme_responsive_test.gd @@ -34,17 +34,23 @@ func _run() -> void: theme_service.set_dark_mode(true) hub._render_notes() await process_frame - var dark_card := hub.list_container.get_child(0) as PanelContainer - var dark_box := dark_card.get_theme_stylebox("panel") as StyleBoxFlat - _assert(dark_box.bg_color.is_equal_approx(Brand.content_card_box(true, false, Brand.ROYAL_BLUE).bg_color), - "flashcard note cards should use the dark surface while dark mode is active") + var dark_list_box := hub.list_card.get_theme_stylebox("panel") as StyleBoxFlat + _assert(dark_list_box.bg_color.is_equal_approx(Color("081426")), + "the flashcards list card should use the dark surface while dark mode is active") + var dark_row := hub.list_container.get_child(0) as BoxContainer + var dark_icon_box := (dark_row.get_child(0) as PanelContainer).get_theme_stylebox("panel") as StyleBoxFlat + _assert(dark_icon_box.bg_color.is_equal_approx(Brand.icon_circle_box(true, Brand.ROYAL_BLUE, 20).bg_color), + "a basic card's type icon should use its dark accent styling") theme_service.set_dark_mode(false) await process_frame - var light_card := hub.list_container.get_child(0) as PanelContainer - var light_box := light_card.get_theme_stylebox("panel") as StyleBoxFlat - _assert(light_box.bg_color.is_equal_approx(Brand.content_card_box(false, false, Brand.ROYAL_BLUE).bg_color), - "toggling the app theme should rebuild flashcard note cards with the light surface (the library screen's theme_changed handler was previously a no-op)") + var light_list_box := hub.list_card.get_theme_stylebox("panel") as StyleBoxFlat + _assert(light_list_box.bg_color.is_equal_approx(Color.WHITE), + "toggling the app theme should rebuild the flashcards list card with the light surface (the library screen's theme_changed handler was previously a no-op)") + var light_row := hub.list_container.get_child(0) as BoxContainer + var light_icon_box := (light_row.get_child(0) as PanelContainer).get_theme_stylebox("panel") as StyleBoxFlat + _assert(light_icon_box.bg_color.is_equal_approx(Brand.icon_circle_box(false, Brand.ROYAL_BLUE, 20).bg_color), + "a basic card's type icon should use its light accent styling") var light_menu_box := hub.export_menu.get_theme_stylebox("panel") as StyleBoxFlat _assert(light_menu_box.bg_color.is_equal_approx(Brand.panel_box(false).bg_color), "the export menu panel should also restyle to the light surface after a theme toggle") @@ -55,17 +61,16 @@ func _run() -> void: hub._update_responsive_layout() await process_frame _assert(hub.compact_layout, "the flashcards library should detect a phone-width viewport") - var compact_card := hub.list_container.get_child(0) as PanelContainer - var compact_row := compact_card.get_child(0) as BoxContainer + var compact_row := hub.list_container.get_child(0) as BoxContainer _assert(compact_row.vertical, "phone-width flashcard rows should stack their content above the edit/archive actions instead of clipping") - _assert(compact_card.get_combined_minimum_size().x <= hub.size.x, - "a phone-width flashcard row should fit inside the viewport (minimum %.1f px)" % compact_card.get_combined_minimum_size().x) + _assert(compact_row.get_combined_minimum_size().x <= hub.size.x, + "a phone-width flashcard row should fit inside the viewport (minimum %.1f px)" % compact_row.get_combined_minimum_size().x) hub.size = Vector2(1280, 800) hub._update_responsive_layout() await process_frame _assert(not hub.compact_layout, "a wide viewport should restore the flashcards library's desktop row layout") - var wide_row := (hub.list_container.get_child(0) as PanelContainer).get_child(0) as BoxContainer + var wide_row := hub.list_container.get_child(0) as BoxContainer _assert(not wide_row.vertical, "a wide viewport should lay flashcard row content out horizontally again") hub.free() From 70aa425fde6644385ca5ec6d800e3a4fcdc28a4d Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 21 Jul 2026 23:20:14 -0500 Subject: [PATCH 11/68] Rebuild flashcard study screen from mockup, with real backend-backed stats Study screen now matches the provided mockup's layout: a "Current Deck" panel with a circular mastery-progress ring, and a "Spaced Repetition" panel (New/Due/Learning/Review counts, streak, daily goal) on either side of the card. Kept the app's real global sidebar rather than the mockup's own nav, per direction. Mastery/Streak/Daily Goal weren't tracked anywhere, so this adds real backend support rather than showing fabricated numbers: - Mastered = graduated to review state AND FSRS stability >= 21 days (FlashcardScheduleStore.MasteryStabilityDaysThreshold), stricter than the plain Review-state count - CurrentStreakDays = consecutive UTC days with a review, computed from review-log timestamps in the new pure FlashcardScheduling .ComputeStreakDays (unit tested, habit-streak semantics: doesn't reset to 0 the instant a new day starts before today's first review) - DailyGoal/ReviewsToday reuse the account's existing ReviewsPerDay setting rather than inventing a new one Also removes the exit "X" button in favor of the same Escape/pause menu the question-player flow uses (main.gd's shared app_menu, with an "Exit Study Session" action), and adds a new circular_progress.gd reusable ring control plus a real "Options" menu (bury/suspend the current card) wired to schedule endpoints that had no UI before. --- .../FlashcardSchedulingTests.cs | 64 ++++ api/QuestionsApi/Models/FlashcardModels.cs | 8 + .../Flashcards/FlashcardScheduleStore.cs | 32 ++ .../Flashcards/FlashcardScheduling.cs | 21 ++ .../Flashcards/FlashcardStudyService.cs | 28 +- docs/FLASHCARDS.md | 22 ++ scripts/ui/circular_progress.gd | 50 +++ scripts/ui/flashcards_study.gd | 353 +++++++++++++++++- scripts/ui/main.gd | 13 +- tests/flashcard_theme_responsive_test.gd | 32 ++ 10 files changed, 600 insertions(+), 23 deletions(-) create mode 100644 scripts/ui/circular_progress.gd diff --git a/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs b/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs index bae9ab8..a139938 100644 --- a/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs +++ b/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs @@ -38,4 +38,68 @@ public sealed class FlashcardSchedulingTests { Assert.Equal(expected, FlashcardScheduling.ResolveDailyBudget(globalLimit, deckOverride, consumedToday)); } + + private static readonly DateTime Today = new(2026, 3, 10, 0, 0, 0, DateTimeKind.Utc); + + [Fact] + public void ComputeStreakDays_NoReviews_IsZero() + { + Assert.Equal(0, FlashcardScheduling.ComputeStreakDays([], Today)); + } + + [Fact] + public void ComputeStreakDays_ReviewedTodayOnly_IsOne() + { + var timestamps = new List { Today.AddHours(9) }; + + Assert.Equal(1, FlashcardScheduling.ComputeStreakDays(timestamps, Today)); + } + + [Fact] + public void ComputeStreakDays_ThreeConsecutiveDaysEndingToday_IsThree() + { + var timestamps = new List + { + Today.AddDays(-2).AddHours(8), Today.AddDays(-1).AddHours(20), Today.AddHours(7) + }; + + Assert.Equal(3, FlashcardScheduling.ComputeStreakDays(timestamps, Today)); + } + + [Fact] + public void ComputeStreakDays_NotYetReviewedToday_StillCountsThroughYesterday() + { + // The streak shouldn't visibly reset to 0 the instant a new calendar day begins, before + // the user has had a chance to study today. + var timestamps = new List { Today.AddDays(-2).AddHours(8), Today.AddDays(-1).AddHours(20) }; + + Assert.Equal(2, FlashcardScheduling.ComputeStreakDays(timestamps, Today)); + } + + [Fact] + public void ComputeStreakDays_GapBeforeYesterday_BreaksTheStreak() + { + var timestamps = new List + { + Today.AddDays(-10).AddHours(8), Today.AddDays(-1).AddHours(20), Today.AddHours(7) + }; + + Assert.Equal(2, FlashcardScheduling.ComputeStreakDays(timestamps, Today)); + } + + [Fact] + public void ComputeStreakDays_MissedYesterdayAndToday_IsZero() + { + var timestamps = new List { Today.AddDays(-3).AddHours(8) }; + + Assert.Equal(0, FlashcardScheduling.ComputeStreakDays(timestamps, Today)); + } + + [Fact] + public void ComputeStreakDays_MultipleReviewsSameDay_CountOnceTowardTheStreak() + { + var timestamps = new List { Today.AddHours(7), Today.AddHours(8), Today.AddHours(9) }; + + Assert.Equal(1, FlashcardScheduling.ComputeStreakDays(timestamps, Today)); + } } diff --git a/api/QuestionsApi/Models/FlashcardModels.cs b/api/QuestionsApi/Models/FlashcardModels.cs index 8d90909..e4fdbba 100644 --- a/api/QuestionsApi/Models/FlashcardModels.cs +++ b/api/QuestionsApi/Models/FlashcardModels.cs @@ -175,6 +175,9 @@ public sealed class FlashcardDeckSummary public int Due { get; set; } public int New { get; set; } public int Suspended { get; set; } + public int Learning { get; set; } + public int Review { get; set; } + public int Mastered { get; set; } } public sealed class FlashcardLibraryResponse @@ -266,6 +269,11 @@ public sealed class FlashcardDashboardCounts public int Due { get; set; } public int NewAvailable { get; set; } public int ReviewedThisWeek { get; set; } + public int Learning { get; set; } + public int Review { get; set; } + public int CurrentStreakDays { get; set; } + public int ReviewsToday { get; set; } + public int DailyGoal { get; set; } } public static class FlashcardImportFormats diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs index 012f070..038e881 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs @@ -138,6 +138,38 @@ public sealed class FlashcardScheduleStore public Task CountReviewsSinceAsync(string userId, DateTime sinceUtc) => _reviewLogs.CountDocumentsAsync(v => v.UserId == userId && v.ReviewedUtc >= sinceUtc && v.UndoneUtc == null); + public Task CountByStateAsync(string userId, IReadOnlyCollection noteIds, string state) => + noteIds.Count == 0 + ? Task.FromResult(0L) + : _schedules.CountDocumentsAsync(v => v.UserId == userId + && noteIds.Contains(v.NoteId) + && v.State == state + && !v.IsSuspended); + + // A card counts toward "mastered" once it has graduated to long-term review and reached a + // stability (FSRS's estimate of days until retention drops to ~90%) past this threshold - + // the same rough "won't need attention again soon" cutoff several SRS apps use for a mastery + // stat. Kept separate from the plain Review-state count, which includes recently-graduated + // cards still building stability. + public const double MasteryStabilityDaysThreshold = 21.0; + + public Task CountMasteredAsync(string userId, IReadOnlyCollection noteIds) => + noteIds.Count == 0 + ? Task.FromResult(0L) + : _schedules.CountDocumentsAsync(v => v.UserId == userId + && noteIds.Contains(v.NoteId) + && v.State == FlashcardScheduleStates.Review + && !v.IsSuspended + && v.Stability >= MasteryStabilityDaysThreshold); + + // Bounded lookback (streaks longer than this are vanishingly rare and this keeps the query + // cheap); returns raw timestamps so the caller can compute consecutive-day streaks in the + // user's own calendar-day semantics. + public Task> GetReviewTimestampsSinceAsync(string userId, DateTime sinceUtc) => + _reviewLogs.Find(v => v.UserId == userId && v.ReviewedUtc >= sinceUtc && v.UndoneUtc == null) + .Project(v => v.ReviewedUtc) + .ToListAsync(); + public async Task CountNewIntroducedSinceAsync(string userId, DateTime sinceUtc) => checked((int)await _reviewLogs.CountDocumentsAsync(v => v.UserId == userId && v.ReviewedUtc >= sinceUtc && v.UndoneUtc == null && v.Before.State == FlashcardScheduleStates.New)); diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs b/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs index c471998..f206c70 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs @@ -11,4 +11,25 @@ public static class FlashcardScheduling // already been consumed on the client's current local study day. public static int ResolveDailyBudget(int globalLimit, int? deckOverride, int consumedToday) => Math.Max(0, (deckOverride ?? globalLimit) - consumedToday); + + // A streak counts consecutive calendar days with at least one review, ending either today or + // yesterday (so the streak doesn't visibly reset to 0 the moment a new day starts before + // today's first review) - the same semantics as most habit-streak trackers. + public static int ComputeStreakDays(IReadOnlyCollection reviewTimestamps, DateTime todayUtc) + { + var reviewDays = reviewTimestamps.Select(v => v.Date).ToHashSet(); + var cursor = todayUtc.Date; + if (!reviewDays.Contains(cursor)) + { + cursor = cursor.AddDays(-1); + if (!reviewDays.Contains(cursor)) return 0; + } + var streak = 0; + while (reviewDays.Contains(cursor)) + { + streak++; + cursor = cursor.AddDays(-1); + } + return streak; + } } diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs b/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs index 089839c..b590b4f 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs @@ -58,7 +58,23 @@ public sealed class FlashcardStudyService( var due = checked((int)await schedules.CountDueAsync(userId, noteIds, nowUtc, studyDayStart)); var newAvailable = Math.Min(checked((int)await schedules.CountNewAsync(userId, noteIds, studyDayStart)), newBudget); var reviewedThisWeek = checked((int)await schedules.CountReviewsSinceAsync(userId, weekStartUtc)); - return new FlashcardDashboardCounts { Due = due, NewAvailable = newAvailable, ReviewedThisWeek = reviewedThisWeek }; + var learning = checked((int)await schedules.CountByStateAsync(userId, noteIds, FlashcardScheduleStates.Learning)) + + checked((int)await schedules.CountByStateAsync(userId, noteIds, FlashcardScheduleStates.Relearning)); + var review = checked((int)await schedules.CountByStateAsync(userId, noteIds, FlashcardScheduleStates.Review)); + var reviewsToday = checked((int)await schedules.CountReviewsSinceAsync(userId, studyDayStart)); + var streakTimestamps = await schedules.GetReviewTimestampsSinceAsync(userId, nowUtc.AddDays(-400)); + var settings = await settingsStore.GetAsync(userId); + return new FlashcardDashboardCounts + { + Due = due, + NewAvailable = newAvailable, + ReviewedThisWeek = reviewedThisWeek, + Learning = learning, + Review = review, + CurrentStreakDays = FlashcardScheduling.ComputeStreakDays(streakTimestamps, nowUtc.Date), + ReviewsToday = reviewsToday, + DailyGoal = settings.ReviewsPerDay + }; } public async Task> GetDeckSummariesAsync(string userId, DateTime nowUtc, DateTime studyDayStart) @@ -70,17 +86,25 @@ public sealed class FlashcardStudyService( var deckNoteIds = (await notes.ListByDeckAsync(userId, deck.Id!)).Select(v => v.Id!).ToList(); var due = checked((int)await schedules.CountDueAsync(userId, deckNoteIds, nowUtc, studyDayStart)); var fresh = checked((int)await schedules.CountNewAsync(userId, deckNoteIds, studyDayStart)); + var learning = checked((int)await schedules.CountByStateAsync(userId, deckNoteIds, FlashcardScheduleStates.Learning)) + + checked((int)await schedules.CountByStateAsync(userId, deckNoteIds, FlashcardScheduleStates.Relearning)); + var review = checked((int)await schedules.CountByStateAsync(userId, deckNoteIds, FlashcardScheduleStates.Review)); + var mastered = checked((int)await schedules.CountMasteredAsync(userId, deckNoteIds)); result.Add(new FlashcardDeckSummary { Deck = deck, Total = deckNoteIds.Count, Due = due, - New = fresh + New = fresh, + Learning = learning, + Review = review, + Mastered = mastered }); } return result; } + private async Task> ResolveNoteIdsAsync(string userId, string deckId) { var activeNotes = string.IsNullOrWhiteSpace(deckId) diff --git a/docs/FLASHCARDS.md b/docs/FLASHCARDS.md index 7eef28a..466a0b4 100644 --- a/docs/FLASHCARDS.md +++ b/docs/FLASHCARDS.md @@ -63,6 +63,28 @@ pattern as the rest of the API. Review submission is idempotent on `ClientReview allows reverting the single most recent review on a card (it refuses if the card's revision has moved since). +## Progress metrics + +`GET /decks` (`FlashcardDeckSummary`) and `GET /counts` (`FlashcardDashboardCounts`) expose a few +derived stats the client can't compute itself: + +- **Mastered** (per-deck, in `FlashcardDeckSummary.Mastered`) - a card counts once it's graduated + to `review` state *and* its FSRS stability has reached + `FlashcardScheduleStore.MasteryStabilityDaysThreshold` (21 days), the same rough "won't need + attention again soon" cutoff several SRS apps use. Deliberately stricter than the plain + `Review`-state count, which includes cards that just graduated and haven't proven stable yet. +- **CurrentStreakDays** (global, in `FlashcardDashboardCounts`) - consecutive UTC calendar days + with at least one non-undone review, computed in `FlashcardScheduling.ComputeStreakDays` from a + 400-day lookback of review timestamps. The streak counts through today even before today's + first review (it only breaks once *yesterday* has no review either), matching typical + habit-streak semantics rather than resetting to 0 at midnight. +- **DailyGoal** / **ReviewsToday** (global) - `DailyGoal` is simply the account's configured + `FlashcardSettings.ReviewsPerDay`; `ReviewsToday` is reviews logged since the client's + `studyDayStartUtc` for `/study/next` calls, but since `/counts` has no per-request client-day + concept it uses the server's own UTC calendar day instead - a day-boundary edge case is possible + right around midnight, unlike the study-session endpoints which always trust the client's local + day. + ## Import/export CSV is UTF-8, text-only, headers `stable_id,deck,type,prompt,answer,extra,tags, diff --git a/scripts/ui/circular_progress.gd b/scripts/ui/circular_progress.gd new file mode 100644 index 0000000..2eeb700 --- /dev/null +++ b/scripts/ui/circular_progress.gd @@ -0,0 +1,50 @@ +extends Control + +const Brand := preload("res://scripts/ui/medmind_style.gd") + +var ring_value := 0.0 +var track_color := Color("26324a") +var fill_color := Color("2563eb") +var ring_width := 8.0 +var value_label: Label +var caption_label: Label + + +func _init() -> void: + custom_minimum_size = Vector2(112, 112) + var center := CenterContainer.new() + center.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + center.mouse_filter = Control.MOUSE_FILTER_IGNORE + add_child(center) + var stack := VBoxContainer.new() + stack.add_theme_constant_override("separation", 0) + center.add_child(stack) + value_label = Label.new() + value_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + value_label.add_theme_font_size_override("font_size", 24) + stack.add_child(value_label) + caption_label = Label.new() + caption_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + caption_label.add_theme_font_size_override("font_size", 12) + stack.add_child(caption_label) + + +func configure(fill_fraction: float, value_text: String, caption_text: String, accent: Color, dark: bool) -> void: + ring_value = clampf(fill_fraction, 0.0, 1.0) + track_color = Color("26324a") if dark else Color("e2e8f0") + fill_color = accent + value_label.text = value_text + value_label.add_theme_color_override("font_color", Brand.text_color(dark)) + caption_label.text = caption_text + caption_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + queue_redraw() + + +func _draw() -> void: + var radius := minf(size.x, size.y) / 2.0 - ring_width / 2.0 + if radius <= 0.0: + return + var center := size / 2.0 + draw_arc(center, radius, 0.0, TAU, 64, track_color, ring_width, true) + if ring_value > 0.0: + draw_arc(center, radius, -PI / 2.0, -PI / 2.0 + TAU * ring_value, 64, fill_color, ring_width, true) diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd index 0fc74dc..15627ba 100644 --- a/scripts/ui/flashcards_study.gd +++ b/scripts/ui/flashcards_study.gd @@ -3,6 +3,9 @@ extends Control const Brand := preload("res://scripts/ui/medmind_style.gd") const Style := preload("res://scripts/ui/ui_style.gd") const Cloze := preload("res://scripts/ui/flashcard_cloze.gd") +const CircularProgress := preload("res://scripts/ui/circular_progress.gd") + +const MASTERY_STABILITY_LABEL := "Cards graduate to \"mastered\" once they've held up in review for a few weeks straight." var main @@ -22,8 +25,8 @@ var due_remaining := 0 var new_remaining := 0 var progress_label: Label -var exit_button: Button var paused_banner: Label +var main_row: HBoxContainer var card_panel: PanelContainer var front_label: Label var divider: ColorRect @@ -35,9 +38,30 @@ var reveal_button: Button var grade_row: HBoxContainer var grade_buttons: Dictionary = {} var undo_button: Button +var options_button: Button +var options_menu: PanelContainer +var options_backdrop: Control var empty_label: Label var compact_layout := false +var deck_panel: PanelContainer +var deck_name_label: Label +var deck_ring: Control +var deck_mastered_label: Label +var change_deck_button: Button + +var stats_panel: PanelContainer +var stats_new_ring: Control +var stats_due_label: Label +var stats_learning_label: Label +var stats_review_label: Label +var streak_label: Label +var daily_goal_label: Label +var daily_goal_bar: ProgressBar + +var decks: Array = [] +var latest_counts: Dictionary = {} + func _ready() -> void: set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) @@ -50,6 +74,8 @@ func _ready() -> void: FlashcardService.review_synced.connect(_on_review_synced) FlashcardService.review_paused.connect(_on_review_paused) FlashcardService.review_resumed.connect(_on_review_resumed) + FlashcardService.decks_changed.connect(_on_decks_changed) + FlashcardService.counts_changed.connect(_on_counts_changed) UIThemeService.theme_changed.connect(func(_dark: bool): refresh_theme_controls()) @@ -63,8 +89,11 @@ func on_show(payload: Variant = null) -> void: last_client_review_id = "" last_card_id = "" undo_button.visible = false + _close_options_menu() _render_loading() _load_next() + FlashcardService.fetch_decks() + FlashcardService.fetch_counts() func on_hide() -> void: @@ -79,20 +108,11 @@ func _build() -> void: var top_row := HBoxContainer.new() root.add_child(top_row) - exit_button = Button.new() - exit_button.icon = preload("res://assets/icons/lucide/x.svg") - exit_button.tooltip_text = "Exit study session" - exit_button.custom_minimum_size = Vector2(44, 44) - exit_button.pressed.connect(func(): main.show_screen("flashcards_hub")) - top_row.add_child(exit_button) progress_label = Label.new() progress_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL progress_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER progress_label.add_theme_font_size_override("font_size", 15) top_row.add_child(progress_label) - var spacer := Control.new() - spacer.custom_minimum_size = Vector2(44, 44) - top_row.add_child(spacer) paused_banner = Label.new() paused_banner.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER @@ -100,10 +120,24 @@ func _build() -> void: paused_banner.visible = false root.add_child(paused_banner) + main_row = HBoxContainer.new() + main_row.size_flags_vertical = Control.SIZE_EXPAND_FILL + main_row.size_flags_horizontal = Control.SIZE_EXPAND_FILL + main_row.add_theme_constant_override("separation", 20) + root.add_child(main_row) + + _build_deck_panel() + + var center_column := VBoxContainer.new() + center_column.size_flags_horizontal = Control.SIZE_EXPAND_FILL + center_column.size_flags_vertical = Control.SIZE_EXPAND_FILL + center_column.add_theme_constant_override("separation", 16) + main_row.add_child(center_column) + var center := CenterContainer.new() center.size_flags_vertical = Control.SIZE_EXPAND_FILL center.size_flags_horizontal = Control.SIZE_EXPAND_FILL - root.add_child(center) + center_column.add_child(center) card_panel = PanelContainer.new() card_panel.custom_minimum_size = Vector2(720, 420) @@ -159,12 +193,12 @@ func _build() -> void: reveal_button.custom_minimum_size = Vector2(0, 52) _style_gradient_button(reveal_button) reveal_button.pressed.connect(_reveal) - root.add_child(reveal_button) + center_column.add_child(reveal_button) grade_row = HBoxContainer.new() grade_row.add_theme_constant_override("separation", 10) grade_row.visible = false - root.add_child(grade_row) + center_column.add_child(grade_row) for spec in [["again", "Again", "1", Style.RED], ["hard", "Hard", "2", Style.AMBER], ["good", "Good", "3", Style.CYAN], ["easy", "Easy", "4", Style.LIME]]: var button := Button.new() button.custom_minimum_size = Vector2(0, 64) @@ -174,12 +208,21 @@ func _build() -> void: grade_row.add_child(button) grade_buttons[spec[0]] = button + var footer_row := HBoxContainer.new() + footer_row.add_theme_constant_override("separation", 10) + center_column.add_child(footer_row) undo_button = Button.new() undo_button.text = "Undo last review" undo_button.custom_minimum_size = Vector2(0, 36) undo_button.visible = false undo_button.pressed.connect(_undo) - root.add_child(undo_button) + footer_row.add_child(undo_button) + var footer_spacer := Control.new() + footer_spacer.size_flags_horizontal = Control.SIZE_EXPAND_FILL + footer_row.add_child(footer_spacer) + _build_options_menu(footer_row) + + _build_stats_panel() refresh_theme_controls() @@ -211,6 +254,211 @@ func _style_ghost_button(button: Button, dark: bool) -> void: button.add_theme_color_override("font_hover_color", Brand.text_color(dark)) +func _side_panel_box(dark: bool) -> StyleBoxFlat: + var box := StyleBoxFlat.new() + box.bg_color = Color("081426") if dark else Color.WHITE + box.border_color = Color("26344f") if dark else Brand.LIGHT_BORDER + box.set_border_width_all(1) + box.set_corner_radius_all(10) + box.content_margin_left = 18 + box.content_margin_right = 18 + box.content_margin_top = 18 + box.content_margin_bottom = 18 + return box + + +func _panel_caption(text: String) -> Label: + var label := Label.new() + label.text = text + label.add_theme_font_size_override("font_size", 12) + return label + + +# ---------- Left panel: current deck ---------- + +func _build_deck_panel() -> void: + deck_panel = PanelContainer.new() + deck_panel.custom_minimum_size = Vector2(220, 0) + main_row.add_child(deck_panel) + var content := VBoxContainer.new() + content.add_theme_constant_override("separation", 10) + deck_panel.add_child(content) + + content.add_child(_panel_caption("CURRENT DECK")) + deck_name_label = Label.new() + deck_name_label.text = "All decks" + deck_name_label.add_theme_font_size_override("font_size", 18) + deck_name_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + content.add_child(deck_name_label) + + var ring_center := CenterContainer.new() + content.add_child(ring_center) + deck_ring = CircularProgress.new() + deck_ring.tooltip_text = MASTERY_STABILITY_LABEL + ring_center.add_child(deck_ring) + + deck_mastered_label = Label.new() + deck_mastered_label.text = "-- cards mastered" + deck_mastered_label.add_theme_font_size_override("font_size", 12) + deck_mastered_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + content.add_child(deck_mastered_label) + + change_deck_button = Button.new() + change_deck_button.text = "Change Deck" + change_deck_button.custom_minimum_size = Vector2(0, 44) + change_deck_button.pressed.connect(func(): main.show_screen("flashcards_hub")) + content.add_child(change_deck_button) + + +# ---------- Right panel: spaced repetition stats ---------- + +func _build_stats_panel() -> void: + stats_panel = PanelContainer.new() + stats_panel.custom_minimum_size = Vector2(220, 0) + main_row.add_child(stats_panel) + var content := VBoxContainer.new() + content.add_theme_constant_override("separation", 10) + stats_panel.add_child(content) + + content.add_child(_panel_caption("SPACED REPETITION")) + + var ring_center := CenterContainer.new() + content.add_child(ring_center) + stats_new_ring = CircularProgress.new() + ring_center.add_child(stats_new_ring) + + stats_due_label = _stat_row(content, "Due") + stats_learning_label = _stat_row(content, "Learning") + stats_review_label = _stat_row(content, "Review") + + var streak_row := HBoxContainer.new() + streak_row.add_theme_constant_override("separation", 10) + content.add_child(streak_row) + var streak_caption := VBoxContainer.new() + streak_caption.add_theme_constant_override("separation", 0) + streak_row.add_child(streak_caption) + streak_caption.add_child(_panel_caption("STREAK")) + streak_label = Label.new() + streak_label.text = "-- days" + streak_label.add_theme_font_size_override("font_size", 16) + streak_caption.add_child(streak_label) + + var goal_block := VBoxContainer.new() + goal_block.add_theme_constant_override("separation", 4) + content.add_child(goal_block) + goal_block.add_child(_panel_caption("DAILY GOAL")) + daily_goal_label = Label.new() + daily_goal_label.text = "-- / --" + daily_goal_label.add_theme_font_size_override("font_size", 16) + goal_block.add_child(daily_goal_label) + daily_goal_bar = ProgressBar.new() + daily_goal_bar.custom_minimum_size = Vector2(0, 8) + daily_goal_bar.show_percentage = false + daily_goal_bar.min_value = 0 + daily_goal_bar.max_value = 1 + goal_block.add_child(daily_goal_bar) + + +func _stat_row(parent: VBoxContainer, caption: String) -> Label: + var row := HBoxContainer.new() + parent.add_child(row) + var caption_label := Label.new() + caption_label.text = caption + caption_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + row.add_child(caption_label) + var value := Label.new() + value.text = "--" + value.add_theme_font_size_override("font_size", 15) + row.add_child(value) + return value + + +# ---------- Options menu (suspend / bury current card) ---------- + +func _build_options_menu(footer_row: HBoxContainer) -> void: + options_backdrop = Control.new() + options_backdrop.visible = false + options_backdrop.top_level = true + options_backdrop.mouse_filter = Control.MOUSE_FILTER_STOP + options_backdrop.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + options_backdrop.gui_input.connect(func(event: InputEvent): + if event is InputEventMouseButton and event.pressed: + _close_options_menu()) + add_child(options_backdrop) + + options_button = Button.new() + options_button.text = "Options" + options_button.custom_minimum_size = Vector2(0, 36) + options_button.pressed.connect(_toggle_options_menu) + footer_row.add_child(options_button) + + options_menu = PanelContainer.new() + options_menu.visible = false + options_menu.top_level = true + add_child(options_menu) + var list := VBoxContainer.new() + list.add_theme_constant_override("separation", 2) + options_menu.add_child(list) + for item in [ + ["Bury card until tomorrow", func(): _bury_current_card()], + ["Suspend card", func(): _suspend_current_card()], + ]: + var button := Button.new() + button.text = str(item[0]) + button.custom_minimum_size = Vector2(200, 40) + button.alignment = HORIZONTAL_ALIGNMENT_LEFT + var action: Callable = item[1] + button.pressed.connect(func(): + _close_options_menu() + action.call()) + list.add_child(button) + + +func _toggle_options_menu() -> void: + if options_menu.visible: + _close_options_menu() + return + if current_card.is_empty(): + return + options_menu.visible = true + options_backdrop.visible = true + options_menu.position = options_button.get_global_position() - Vector2(0, options_menu.size.y + 4) + + +func _close_options_menu() -> void: + if options_menu != null: + options_menu.visible = false + if options_backdrop != null: + options_backdrop.visible = false + + +func _bury_current_card() -> void: + if current_card.is_empty(): + return + var card_id := str(current_card.get("id", "")) + FlashcardService.bury_cards([card_id], _bury_until_tomorrow_utc()) + if not seen_card_ids.has(card_id): + seen_card_ids.append(card_id) + _load_next() + _render_loading() + + +func _suspend_current_card() -> void: + if current_card.is_empty(): + return + var card_id := str(current_card.get("id", "")) + FlashcardService.suspend_cards([card_id], true) + if not seen_card_ids.has(card_id): + seen_card_ids.append(card_id) + _load_next() + _render_loading() + + +func _bury_until_tomorrow_utc() -> String: + var study_day_unix := Time.get_unix_time_from_datetime_string(study_day_start_utc.trim_suffix("Z")) + return "%sZ" % Time.get_datetime_string_from_unix_time(study_day_unix + 86400, false) + + func refresh_theme_controls() -> void: if card_panel == null: return @@ -222,15 +470,82 @@ func refresh_theme_controls() -> void: extra_caption.add_theme_color_override("font_color", Brand.muted_color(dark)) extra_label.add_theme_color_override("font_color", Brand.muted_color(dark)) _style_ghost_button(undo_button, dark) + deck_panel.add_theme_stylebox_override("panel", _side_panel_box(dark)) + stats_panel.add_theme_stylebox_override("panel", _side_panel_box(dark)) + options_menu.add_theme_stylebox_override("panel", Brand.panel_box(dark)) + _refresh_deck_panel() + _refresh_stats_panel() func _update_responsive_layout() -> void: if card_panel == null: return - compact_layout = size.x < 720.0 - var available := maxf(size.x - 48.0, 240.0) + compact_layout = size.x < 1080.0 + deck_panel.visible = not compact_layout + stats_panel.visible = not compact_layout + var available := maxf((size.x - 48.0) if compact_layout else (size.x - 520.0), 240.0) card_panel.custom_minimum_size.x = minf(720.0, available) - card_panel.custom_minimum_size.y = 340.0 if compact_layout else 420.0 + card_panel.custom_minimum_size.y = 340.0 if size.x < 720.0 else 420.0 + + +# ---------- Deck / stats data ---------- + +func _on_decks_changed(loaded_decks: Array) -> void: + decks = loaded_decks + _refresh_deck_panel() + + +func _refresh_deck_panel() -> void: + if deck_ring == null: + return + var dark := UIThemeService.is_dark_mode() + var name := "All decks" + var total := 0 + var mastered := 0 + if deck_id.is_empty(): + for summary in decks: + total += int(summary.get("total", 0)) + mastered += int(summary.get("mastered", 0)) + else: + for summary in decks: + var deck: Dictionary = summary.get("deck", {}) + if str(deck.get("id", "")) == deck_id: + name = str(deck.get("name", "Deck")) + total = int(summary.get("total", 0)) + mastered = int(summary.get("mastered", 0)) + break + deck_name_label.text = name + var fraction := float(mastered) / float(total) if total > 0 else 0.0 + deck_ring.configure(fraction, "%d%%" % roundi(fraction * 100.0), "Mastery", Brand.ROYAL_BLUE, dark) + deck_mastered_label.text = "%d / %d cards mastered" % [mastered, total] + + +func _on_counts_changed(counts: Dictionary) -> void: + latest_counts = counts + _refresh_stats_panel() + + +func _refresh_stats_panel() -> void: + if stats_new_ring == null or latest_counts.is_empty(): + return + var dark := UIThemeService.is_dark_mode() + var due := int(latest_counts.get("due", 0)) + var new_available := int(latest_counts.get("newAvailable", 0)) + var learning := int(latest_counts.get("learning", 0)) + var review := int(latest_counts.get("review", 0)) + var streak := int(latest_counts.get("currentStreakDays", 0)) + var reviews_today := int(latest_counts.get("reviewsToday", 0)) + var daily_goal := int(latest_counts.get("dailyGoal", 0)) + + var new_fraction := float(new_available) / float(new_available + due) if (new_available + due) > 0 else 0.0 + stats_new_ring.configure(new_fraction, str(new_available), "New", Brand.ROYAL_BLUE, dark) + stats_due_label.text = str(due) + stats_learning_label.text = str(learning) + stats_review_label.text = str(review) + streak_label.text = "%d day%s" % [streak, "" if streak == 1 else "s"] + daily_goal_label.text = "%d / %d" % [reviews_today, daily_goal] + daily_goal_bar.max_value = maxf(1.0, float(daily_goal)) + daily_goal_bar.value = float(reviews_today) func _load_next() -> void: @@ -350,6 +665,7 @@ func _grade(rating: String) -> void: seen_card_ids.append(card_id) _load_next() _render_loading() + FlashcardService.fetch_counts() func _on_review_synced(_card_id: String, _updated_card: Dictionary) -> void: @@ -364,7 +680,8 @@ func _undo() -> void: last_client_review_id = "" undo_button.visible = false seen_card_ids.erase(last_card_id) - _load_next()) + _load_next() + FlashcardService.fetch_counts()) func _on_review_paused(message: String) -> void: diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index c68ee2e..f923c6d 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -717,7 +717,7 @@ func _input(event: InputEvent) -> void: _close_account_menu() get_viewport().set_input_as_handled() return - if current_screen_name in ["player", "ccs_player"]: + if current_screen_name in ["player", "ccs_player", "flashcards_study"]: _toggle_app_menu() get_viewport().set_input_as_handled() @@ -895,9 +895,13 @@ func _toggle_app_menu() -> void: app_menu.visible = true app_menu.size = app_menu.custom_minimum_size app_menu.position = (get_viewport_rect().size - app_menu.size) * 0.5 - menu_exit_button.visible = (current_screen_name == "player" and BlockSessionService.block_started) or current_screen_name == "ccs_player" + menu_exit_button.visible = (current_screen_name == "player" and BlockSessionService.block_started) or current_screen_name in ["ccs_player", "flashcards_study"] if menu_exit_button.visible: - menu_exit_button.text = "Leave Case" if current_screen_name == "ccs_player" else "Leave (timer continues)" if BlockSessionService.session_kind == "simulation" else "Exit Run" + menu_exit_button.text = ( + "Leave Case" if current_screen_name == "ccs_player" + else "Exit Study Session" if current_screen_name == "flashcards_study" + else "Leave (timer continues)" if BlockSessionService.session_kind == "simulation" + else "Exit Run") Style.style_chip(menu_exit_button, Style.AMBER) if current_screen_name == "player": BlockSessionService.pause_current_question_timer() @@ -914,6 +918,9 @@ func _exit_run() -> void: var ccs_player = screens.get("ccs_player") if ccs_player != null and ccs_player.has_method("leave_case"): ccs_player.leave_case() return + if current_screen_name == "flashcards_study": + show_screen("flashcards_hub") + return var was_core_run := BlockSessionService.session_kind == "core" var was_review_run := BlockSessionService.session_kind == "review" if BlockSessionService.block_started and BlockSessionService.session_kind != "simulation": diff --git a/tests/flashcard_theme_responsive_test.gd b/tests/flashcard_theme_responsive_test.gd index 297e59e..2d9f130 100644 --- a/tests/flashcard_theme_responsive_test.gd +++ b/tests/flashcard_theme_responsive_test.gd @@ -106,6 +106,38 @@ func _run() -> void: _assert(not study.compact_layout, "a wide viewport should restore the study screen's desktop layout") _assert(is_equal_approx(study.card_panel.custom_minimum_size.x, 720.0), "a wide viewport should restore the study card's full 720px width") + _assert(study.deck_panel.visible and study.stats_panel.visible, + "a wide viewport should show the current-deck and spaced-repetition side panels") + + study.size = Vector2(360, 720) + study._update_responsive_layout() + _assert(not study.deck_panel.visible and not study.stats_panel.visible, + "a phone-width viewport should hide the side panels rather than squeeze a 3-column layout into no room") + + study.deck_id = "deck-1" + study.decks = [ + {"deck": {"id": "deck-1", "name": "Nephrology"}, "total": 150, "mastered": 48}, + {"deck": {"id": "deck-2", "name": "Cardiology"}, "total": 40, "mastered": 40}, + ] + study._refresh_deck_panel() + _assert(study.deck_name_label.text == "Nephrology", "the deck panel should show the currently-studied deck's name, not just the first one") + _assert(study.deck_mastered_label.text == "48 / 150 cards mastered", "the deck panel should report mastered/total for the current deck only") + + study.deck_id = "" + study._refresh_deck_panel() + _assert(study.deck_name_label.text == "All decks", "studying with no deck filter should label the panel \"All decks\"") + _assert(study.deck_mastered_label.text == "88 / 190 cards mastered", "\"All decks\" should sum mastered/total across every deck") + + study.latest_counts = { + "due": 5, "newAvailable": 15, "learning": 48, "review": 132, + "currentStreakDays": 1, "reviewsToday": 25, "dailyGoal": 50 + } + study._refresh_stats_panel() + _assert(study.stats_due_label.text == "5" and study.stats_learning_label.text == "48" and study.stats_review_label.text == "132", + "the spaced-repetition panel should reflect the latest due/learning/review counts") + _assert(study.streak_label.text == "1 day", "a streak of exactly one day should use the singular form") + _assert(study.daily_goal_label.text == "25 / 50" and is_equal_approx(study.daily_goal_bar.value, 25.0), + "the daily goal panel should show today's review count against the account's configured goal") study.free() host.queue_free() From 09b670d5d4b7ab6bb2573c94d32a65daa8fc7ede Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 00:43:52 -0500 Subject: [PATCH 12/68] Close the gap between the flashcards study screen and the mockup Add real session-history navigation (Previous/Next/Shuffle), compact side panels, and a segmented progress row to match the mockup layout. Flashcards now opens straight into Study, with library management moved into the Options menu ("Manage Flashcards") and Export hidden from the UI (Import stays). Shuffle is backed by a real, due-before-new randomized pick on the backend, not a decorative toggle. --- .../FlashcardSchedulingTests.cs | 72 +++++ api/QuestionsApi/Models/FlashcardModels.cs | 1 + .../Flashcards/FlashcardScheduling.cs | 19 ++ .../Flashcards/FlashcardStudyService.cs | 20 +- scripts/autoload/flashcard_service.gd | 5 +- scripts/autoload/flashcard_service.gd.uid | 1 + scripts/ui/circular_progress.gd.uid | 1 + scripts/ui/flashcard_cloze.gd.uid | 1 + scripts/ui/flashcard_prefill_dialog.gd.uid | 1 + scripts/ui/flashcards_hub.gd | 25 -- scripts/ui/flashcards_hub.gd.uid | 1 + scripts/ui/flashcards_study.gd | 293 +++++++++++++++--- scripts/ui/flashcards_study.gd.uid | 1 + scripts/ui/main.gd | 2 +- tests/flashcard_cloze_test.gd.uid | 1 + tests/flashcard_navigation_test.gd.uid | 1 + tests/flashcard_outbox_test.gd.uid | 1 + tests/flashcard_session_navigation_test.gd | 173 +++++++++++ tests/flashcard_study_render_test.gd.uid | 1 + tests/flashcard_theme_responsive_test.gd | 4 +- tests/flashcard_theme_responsive_test.gd.uid | 1 + 21 files changed, 555 insertions(+), 70 deletions(-) create mode 100644 scripts/autoload/flashcard_service.gd.uid create mode 100644 scripts/ui/circular_progress.gd.uid create mode 100644 scripts/ui/flashcard_cloze.gd.uid create mode 100644 scripts/ui/flashcard_prefill_dialog.gd.uid create mode 100644 scripts/ui/flashcards_hub.gd.uid create mode 100644 scripts/ui/flashcards_study.gd.uid create mode 100644 tests/flashcard_cloze_test.gd.uid create mode 100644 tests/flashcard_navigation_test.gd.uid create mode 100644 tests/flashcard_outbox_test.gd.uid create mode 100644 tests/flashcard_session_navigation_test.gd create mode 100644 tests/flashcard_study_render_test.gd.uid create mode 100644 tests/flashcard_theme_responsive_test.gd.uid diff --git a/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs b/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs index a139938..eed51c1 100644 --- a/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs +++ b/api/QuestionsApi.Tests/FlashcardSchedulingTests.cs @@ -102,4 +102,76 @@ public sealed class FlashcardSchedulingTests Assert.Equal(1, FlashcardScheduling.ComputeStreakDays(timestamps, Today)); } + + [Fact] + public void PickIndex_NonShuffle_ReturnsFirstNonExcluded() + { + var pool = new List { "a", "b", "c" }; + + var picked = FlashcardScheduling.PickIndex(pool, new HashSet { "a" }, shuffle: false, n => throw new InvalidOperationException("should not randomize")); + + Assert.Equal(1, picked); + } + + [Fact] + public void PickIndex_NonShuffle_EverythingExcluded_ReturnsNull() + { + var pool = new List { "a", "b" }; + + var picked = FlashcardScheduling.PickIndex(pool, new HashSet { "a", "b" }, shuffle: false, n => 0); + + Assert.Null(picked); + } + + [Fact] + public void PickIndex_EmptyPool_ReturnsNullRegardlessOfShuffle() + { + Assert.Null(FlashcardScheduling.PickIndex([], new HashSet(), shuffle: false, n => 0)); + Assert.Null(FlashcardScheduling.PickIndex([], new HashSet(), shuffle: true, n => 0)); + } + + [Fact] + public void PickIndex_Shuffle_StubReturningFirstCandidate_PicksFirstNonExcluded() + { + var pool = new List { "a", "b", "c" }; + + var picked = FlashcardScheduling.PickIndex(pool, new HashSet { "a" }, shuffle: true, n => 0); + + // Candidates (excluding "a") are ["b", "c"]; stub index 0 -> "b" -> original pool index 1. + Assert.Equal(1, picked); + } + + [Fact] + public void PickIndex_Shuffle_CanReturnSomethingOtherThanTheOldestCandidate() + { + var pool = new List { "a", "b", "c" }; + + // Stub picks the last candidate instead of always the first (oldest), proving this isn't + // hardcoded to FirstOrDefault-style behavior. + var picked = FlashcardScheduling.PickIndex(pool, new HashSet(), shuffle: true, n => n - 1); + + Assert.Equal(2, picked); + } + + [Fact] + public void PickIndex_Shuffle_ExcludedItemsDoNotShiftTheOriginalIndexMapping() + { + var pool = new List { "a", "b", "c", "d" }; + + // Candidates (excluding "b") are ["a", "c", "d"] at original indices [0, 2, 3]; stub + // index 2 should map back to original index 3 ("d"), not 2 ("c"). + var picked = FlashcardScheduling.PickIndex(pool, new HashSet { "b" }, shuffle: true, n => 2); + + Assert.Equal(3, picked); + } + + [Fact] + public void PickIndex_Shuffle_EverythingExcluded_ReturnsNull() + { + var pool = new List { "a", "b" }; + + var picked = FlashcardScheduling.PickIndex(pool, new HashSet { "a", "b" }, shuffle: true, n => 0); + + Assert.Null(picked); + } } diff --git a/api/QuestionsApi/Models/FlashcardModels.cs b/api/QuestionsApi/Models/FlashcardModels.cs index e4fdbba..6531d97 100644 --- a/api/QuestionsApi/Models/FlashcardModels.cs +++ b/api/QuestionsApi/Models/FlashcardModels.cs @@ -202,6 +202,7 @@ public sealed class FlashcardStudyRequest public string DeckId { get; set; } = ""; public List ExcludeCardIds { get; set; } = []; public DateTime StudyDayStartUtc { get; set; } = DateTime.UtcNow.Date; + public bool Shuffle { get; set; } } public sealed class FlashcardBulkNoteIdsRequest diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs b/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs index f206c70..663eb48 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardScheduling.cs @@ -32,4 +32,23 @@ public static class FlashcardScheduling } return streak; } + + // Picks which candidate in an already-sorted pool becomes the next card. Non-shuffle: the + // first not already excluded this session (today's deterministic oldest-first behavior). + // Shuffle: a random pick among the non-excluded candidates - `randomIndex(n)` must return a + // value in [0, n); production passes Random.Shared.Next, tests pass a fixed stub so the + // excluded-id-to-original-index mapping is verifiable without relying on real randomness. + public static int? PickIndex(IReadOnlyList poolIds, ISet exclude, bool shuffle, Func randomIndex) + { + if (!shuffle) + { + for (var i = 0; i < poolIds.Count; i++) + if (!exclude.Contains(poolIds[i])) return i; + return null; + } + var candidates = new List(); + for (var i = 0; i < poolIds.Count; i++) + if (!exclude.Contains(poolIds[i])) candidates.Add(i); + return candidates.Count == 0 ? null : candidates[randomIndex(candidates.Count)]; + } } diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs b/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs index b590b4f..dfd4fbb 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs @@ -11,6 +11,10 @@ public sealed class FlashcardStudyService( FlashcardScheduleStore schedules, FlashcardSettingsStore settingsStore) { + // Extra rows fetched beyond the budget when shuffling, so there's an actual pool to + // randomize over instead of just enough rows to skip past this session's exclusions. + private const int ShuffleCandidatePoolPadding = 40; + public async Task GetNextCardAsync(string userId, FlashcardStudyRequest request) { var now = DateTime.UtcNow; @@ -19,17 +23,23 @@ public sealed class FlashcardStudyService( var (newBudget, reviewBudget) = await ResolveBudgetsAsync(userId, request.DeckId, studyDayStart); var exclude = request.ExcludeCardIds.Where(v => !string.IsNullOrWhiteSpace(v)).ToHashSet(StringComparer.Ordinal); - // Overdue/due cards first (oldest due first), then new cards. + // Overdue/due cards first (oldest due first, or shuffled within the due pool), then new + // cards (oldest first, or shuffled within the new pool) - shuffle never lets a new card + // jump ahead of a due one, it only randomizes selection within each pool. FlashcardSchedule? card = null; if (reviewBudget > 0) { - var due = await schedules.GetDueAsync(userId, noteIds, now, studyDayStart, reviewBudget + exclude.Count + 1); - card = due.FirstOrDefault(v => !exclude.Contains(v.Id!)); + var dueLimit = (request.Shuffle ? Math.Max(reviewBudget, ShuffleCandidatePoolPadding) : reviewBudget) + exclude.Count + 1; + var due = await schedules.GetDueAsync(userId, noteIds, now, studyDayStart, dueLimit); + var pickedIndex = FlashcardScheduling.PickIndex(due.Select(v => v.Id!).ToList(), exclude, request.Shuffle, Random.Shared.Next); + if (pickedIndex is int dueIndex) card = due[dueIndex]; } if (card is null && newBudget > 0) { - var fresh = await schedules.GetNewAsync(userId, noteIds, studyDayStart, newBudget + exclude.Count + 1); - card = fresh.FirstOrDefault(v => !exclude.Contains(v.Id!)); + var newLimit = (request.Shuffle ? Math.Max(newBudget, ShuffleCandidatePoolPadding) : newBudget) + exclude.Count + 1; + var fresh = await schedules.GetNewAsync(userId, noteIds, studyDayStart, newLimit); + var pickedIndex = FlashcardScheduling.PickIndex(fresh.Select(v => v.Id!).ToList(), exclude, request.Shuffle, Random.Shared.Next); + if (pickedIndex is int newIndex) card = fresh[newIndex]; } var dueRemaining = checked((int)await schedules.CountDueAsync(userId, noteIds, now, studyDayStart)); diff --git a/scripts/autoload/flashcard_service.gd b/scripts/autoload/flashcard_service.gd index 7497090..005db90 100644 --- a/scripts/autoload/flashcard_service.gd +++ b/scripts/autoload/flashcard_service.gd @@ -95,7 +95,7 @@ func current_study_day_start_utc() -> String: # ---------- Next card / study session ---------- -func request_next_card(deck_id: String, exclude_ids: Array, study_day_start_utc: String) -> void: +func request_next_card(deck_id: String, exclude_ids: Array, study_day_start_utc: String, shuffle: bool = false) -> void: if loading_next or not AuthState.can_send_authenticated_request(): next_card_failed.emit("Login is required to study flashcards.") return @@ -103,7 +103,8 @@ func request_next_card(deck_id: String, exclude_ids: Array, study_day_start_utc: var payload := { "deckId": deck_id, "excludeCardIds": exclude_ids, - "studyDayStartUtc": study_day_start_utc + "studyDayStartUtc": study_day_start_utc, + "shuffle": shuffle } var error := next_request.request( "%s/study/next" % api_url, _headers(), HTTPClient.METHOD_POST, JSON.stringify(payload)) diff --git a/scripts/autoload/flashcard_service.gd.uid b/scripts/autoload/flashcard_service.gd.uid new file mode 100644 index 0000000..82e5b60 --- /dev/null +++ b/scripts/autoload/flashcard_service.gd.uid @@ -0,0 +1 @@ +uid://46eks1fy86s4 diff --git a/scripts/ui/circular_progress.gd.uid b/scripts/ui/circular_progress.gd.uid new file mode 100644 index 0000000..00b6e52 --- /dev/null +++ b/scripts/ui/circular_progress.gd.uid @@ -0,0 +1 @@ +uid://co8k1cl8jr45x diff --git a/scripts/ui/flashcard_cloze.gd.uid b/scripts/ui/flashcard_cloze.gd.uid new file mode 100644 index 0000000..2e937ee --- /dev/null +++ b/scripts/ui/flashcard_cloze.gd.uid @@ -0,0 +1 @@ +uid://d0v44e6aprd1a diff --git a/scripts/ui/flashcard_prefill_dialog.gd.uid b/scripts/ui/flashcard_prefill_dialog.gd.uid new file mode 100644 index 0000000..7d190cf --- /dev/null +++ b/scripts/ui/flashcard_prefill_dialog.gd.uid @@ -0,0 +1 @@ +uid://cy1cu55mkv0wd diff --git a/scripts/ui/flashcards_hub.gd b/scripts/ui/flashcards_hub.gd index ea62ff1..3144102 100644 --- a/scripts/ui/flashcards_hub.gd +++ b/scripts/ui/flashcards_hub.gd @@ -17,7 +17,6 @@ var deck_selector: OptionButton var deck_ids: Array = [] var new_deck_button: Button var study_button: Button -var export_button: Button var import_button: Button var search_input: LineEdit var type_filter: OptionButton @@ -41,7 +40,6 @@ var editor_tags_input: LineEdit var editor_hint_label: Label var editor_error_label: Label -var export_menu: PanelContainer var import_menu: PanelContainer var dropdown_backdrop: Control @@ -100,7 +98,6 @@ func _ready() -> void: FlashcardService.notes_loaded.connect(_on_notes_loaded) FlashcardService.note_saved.connect(_on_note_saved) FlashcardService.request_failed.connect(_on_request_failed) - FlashcardService.export_ready.connect(_on_export_ready) FlashcardService.import_preview_ready.connect(_on_import_preview_ready) FlashcardService.import_committed.connect(_on_import_committed) UIThemeService.theme_changed.connect(func(_dark: bool): _refresh_status()) @@ -228,20 +225,6 @@ func _build_toolbar() -> void: FlashcardService.pick_import_file("json")], ]) - export_button = Button.new() - export_button.text = "Export" - export_button.custom_minimum_size = Vector2(0, 44) - export_button.pressed.connect(func(): _toggle_dropdown(export_menu, export_button)) - row.add_child(export_button) - export_menu = _build_dropdown([ - ["Export CSV", func(): - status_label.text = "Preparing export..." - FlashcardService.export_csv()], - ["Export JSON", func(): - status_label.text = "Preparing export..." - FlashcardService.export_json()], - ]) - func _style_primary_button(button: Button) -> void: var normal := StyleBoxFlat.new() @@ -301,8 +284,6 @@ func _toggle_dropdown(menu: PanelContainer, anchor: Control) -> void: func _close_dropdowns() -> void: - if export_menu != null: - export_menu.visible = false if import_menu != null: import_menu.visible = false if dropdown_backdrop != null: @@ -684,10 +665,6 @@ func _start_study() -> void: main.show_screen("flashcards_study", _selected_deck_id()) -func _on_export_ready(location: String) -> void: - status_label.text = "Exported to %s." % location - - # ---------- Import preview / commit ---------- func _build_import_overlay() -> void: @@ -813,8 +790,6 @@ func _refresh_status() -> void: editor_deck_label.add_theme_color_override("font_color", Brand.muted_color(dark)) if import_panel != null: import_panel.add_theme_stylebox_override("panel", Brand.panel_box(dark)) - if export_menu != null: - export_menu.add_theme_stylebox_override("panel", Brand.panel_box(dark)) if import_menu != null: import_menu.add_theme_stylebox_override("panel", Brand.panel_box(dark)) if list_card != null: diff --git a/scripts/ui/flashcards_hub.gd.uid b/scripts/ui/flashcards_hub.gd.uid new file mode 100644 index 0000000..3b87fb9 --- /dev/null +++ b/scripts/ui/flashcards_hub.gd.uid @@ -0,0 +1 @@ +uid://dkqsqq7b0dlgb diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd index 15627ba..b2aa911 100644 --- a/scripts/ui/flashcards_study.gd +++ b/scripts/ui/flashcards_study.gd @@ -6,6 +6,7 @@ const Cloze := preload("res://scripts/ui/flashcard_cloze.gd") const CircularProgress := preload("res://scripts/ui/circular_progress.gd") const MASTERY_STABILITY_LABEL := "Cards graduate to \"mastered\" once they've held up in review for a few weeks straight." +const PROGRESS_PIP_COUNT := 5 var main @@ -24,7 +25,26 @@ var awaiting_next := false var due_remaining := 0 var new_remaining := 0 +# Session history: every card that leaves the "live" slot (graded, skipped, buried, or +# suspended) is pushed here, so Previous/Next can page back through what happened this session. +# Invariant: history_cursor == session_history.size() means "at the live card"; anything less +# means we're viewing a past entry in read-only mode. +var session_history: Array = [] +var history_cursor := 0 +var session_total := -1 +var shuffle_enabled := false + +# Shadow copy of the true in-flight card, populated only while browsing history so the live +# card is never lost and can be restored exactly via _return_to_live(). +var live_note: Dictionary = {} +var live_card: Dictionary = {} +var live_rating_options: Array = [] +var live_revealed := false +var live_due_remaining := 0 +var live_new_remaining := 0 + var progress_label: Label +var progress_pips: Array = [] var paused_banner: Label var main_row: HBoxContainer var card_panel: PanelContainer @@ -34,13 +54,19 @@ var answer_caption: Label var back_label: Label var extra_caption: Label var extra_label: Label +var card_position_label: Label var reveal_button: Button var grade_row: HBoxContainer var grade_buttons: Dictionary = {} var undo_button: Button +var previous_button: Button +var next_button: Button +var shuffle_button: Button var options_button: Button var options_menu: PanelContainer var options_backdrop: Control +var options_bury_button: Button +var options_suspend_button: Button var empty_label: Label var compact_layout := false @@ -82,6 +108,9 @@ func _ready() -> void: func on_show(payload: Variant = null) -> void: deck_id = str(payload) if payload != null else "" seen_card_ids.clear() + session_history.clear() + history_cursor = 0 + session_total = -1 study_day_start_utc = FlashcardService.current_study_day_start_utc() current_note = {} current_card = {} @@ -91,6 +120,7 @@ func on_show(payload: Variant = null) -> void: undo_button.visible = false _close_options_menu() _render_loading() + _update_footer_button_states() _load_next() FlashcardService.fetch_decks() FlashcardService.fetch_counts() @@ -114,6 +144,17 @@ func _build() -> void: progress_label.add_theme_font_size_override("font_size", 15) top_row.add_child(progress_label) + var pips_row := HBoxContainer.new() + pips_row.alignment = BoxContainer.ALIGNMENT_CENTER + pips_row.add_theme_constant_override("separation", 6) + root.add_child(pips_row) + progress_pips = [] + for i in PROGRESS_PIP_COUNT: + var pip := PanelContainer.new() + pip.custom_minimum_size = Vector2(48, 6) + pips_row.add_child(pip) + progress_pips.append(pip) + paused_banner = Label.new() paused_banner.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER paused_banner.add_theme_color_override("font_color", Style.AMBER) @@ -188,6 +229,16 @@ func _build() -> void: extra_label.visible = false extra_block.add_child(extra_label) + var position_row := HBoxContainer.new() + card_content.add_child(position_row) + var position_spacer := Control.new() + position_spacer.size_flags_horizontal = Control.SIZE_EXPAND_FILL + position_row.add_child(position_spacer) + card_position_label = Label.new() + card_position_label.add_theme_font_size_override("font_size", 12) + card_position_label.visible = false + position_row.add_child(card_position_label) + reveal_button = Button.new() reveal_button.text = "Show Answer (Space)" reveal_button.custom_minimum_size = Vector2(0, 52) @@ -208,23 +259,44 @@ func _build() -> void: grade_row.add_child(button) grade_buttons[spec[0]] = button - var footer_row := HBoxContainer.new() - footer_row.add_theme_constant_override("separation", 10) - center_column.add_child(footer_row) undo_button = Button.new() - undo_button.text = "Undo last review" - undo_button.custom_minimum_size = Vector2(0, 36) + undo_button.text = "Undo this rating" + undo_button.custom_minimum_size = Vector2(0, 40) undo_button.visible = false undo_button.pressed.connect(_undo) - footer_row.add_child(undo_button) - var footer_spacer := Control.new() - footer_spacer.size_flags_horizontal = Control.SIZE_EXPAND_FILL - footer_row.add_child(footer_spacer) + center_column.add_child(undo_button) + + var footer_center := CenterContainer.new() + center_column.add_child(footer_center) + var footer_row := HBoxContainer.new() + footer_row.add_theme_constant_override("separation", 10) + footer_center.add_child(footer_row) + + previous_button = Button.new() + previous_button.text = "‹ Previous" + previous_button.custom_minimum_size = Vector2(120, 44) + previous_button.pressed.connect(_go_previous) + footer_row.add_child(previous_button) + + shuffle_button = Button.new() + shuffle_button.text = "Shuffle" + shuffle_button.toggle_mode = true + shuffle_button.custom_minimum_size = Vector2(110, 44) + shuffle_button.toggled.connect(func(pressed: bool): shuffle_enabled = pressed) + footer_row.add_child(shuffle_button) + _build_options_menu(footer_row) + next_button = Button.new() + next_button.text = "Next ›" + next_button.custom_minimum_size = Vector2(120, 44) + next_button.pressed.connect(_go_next) + footer_row.add_child(next_button) + _build_stats_panel() refresh_theme_controls() + _update_footer_button_states() func _caption_label(text: String) -> Label: @@ -267,6 +339,13 @@ func _side_panel_box(dark: bool) -> StyleBoxFlat: return box +func _pip_box(filled: bool, dark: bool) -> StyleBoxFlat: + var box := StyleBoxFlat.new() + box.bg_color = Brand.ROYAL_BLUE if filled else (Color("26324a") if dark else Color("e2e8f0")) + box.set_corner_radius_all(3) + return box + + func _panel_caption(text: String) -> Label: var label := Label.new() label.text = text @@ -279,6 +358,7 @@ func _panel_caption(text: String) -> Label: func _build_deck_panel() -> void: deck_panel = PanelContainer.new() deck_panel.custom_minimum_size = Vector2(220, 0) + deck_panel.size_flags_vertical = Control.SIZE_SHRINK_BEGIN main_row.add_child(deck_panel) var content := VBoxContainer.new() content.add_theme_constant_override("separation", 10) @@ -315,6 +395,7 @@ func _build_deck_panel() -> void: func _build_stats_panel() -> void: stats_panel = PanelContainer.new() stats_panel.custom_minimum_size = Vector2(220, 0) + stats_panel.size_flags_vertical = Control.SIZE_SHRINK_BEGIN main_row.add_child(stats_panel) var content := VBoxContainer.new() content.add_theme_constant_override("separation", 10) @@ -373,7 +454,7 @@ func _stat_row(parent: VBoxContainer, caption: String) -> Label: return value -# ---------- Options menu (suspend / bury current card) ---------- +# ---------- Options menu ---------- func _build_options_menu(footer_row: HBoxContainer) -> void: options_backdrop = Control.new() @@ -388,7 +469,7 @@ func _build_options_menu(footer_row: HBoxContainer) -> void: options_button = Button.new() options_button.text = "Options" - options_button.custom_minimum_size = Vector2(0, 36) + options_button.custom_minimum_size = Vector2(0, 44) options_button.pressed.connect(_toggle_options_menu) footer_row.add_child(options_button) @@ -399,27 +480,31 @@ func _build_options_menu(footer_row: HBoxContainer) -> void: var list := VBoxContainer.new() list.add_theme_constant_override("separation", 2) options_menu.add_child(list) - for item in [ - ["Bury card until tomorrow", func(): _bury_current_card()], - ["Suspend card", func(): _suspend_current_card()], - ]: - var button := Button.new() - button.text = str(item[0]) - button.custom_minimum_size = Vector2(200, 40) - button.alignment = HORIZONTAL_ALIGNMENT_LEFT - var action: Callable = item[1] - button.pressed.connect(func(): - _close_options_menu() - action.call()) - list.add_child(button) + + _options_menu_item(list, "Manage Flashcards", func(): main.show_screen("flashcards_hub")) + options_bury_button = _options_menu_item(list, "Bury card until tomorrow", func(): _bury_current_card()) + options_suspend_button = _options_menu_item(list, "Suspend card", func(): _suspend_current_card()) + + +func _options_menu_item(list: VBoxContainer, text: String, action: Callable) -> Button: + var button := Button.new() + button.text = text + button.custom_minimum_size = Vector2(200, 40) + button.alignment = HORIZONTAL_ALIGNMENT_LEFT + button.pressed.connect(func(): + _close_options_menu() + action.call()) + list.add_child(button) + return button func _toggle_options_menu() -> void: if options_menu.visible: _close_options_menu() return - if current_card.is_empty(): - return + var at_live_with_card := history_cursor == session_history.size() and not current_card.is_empty() + options_bury_button.disabled = not at_live_with_card + options_suspend_button.disabled = not at_live_with_card options_menu.visible = true options_backdrop.visible = true options_menu.position = options_button.get_global_position() - Vector2(0, options_menu.size.y + 4) @@ -433,10 +518,11 @@ func _close_options_menu() -> void: func _bury_current_card() -> void: - if current_card.is_empty(): + if history_cursor != session_history.size() or current_card.is_empty(): return var card_id := str(current_card.get("id", "")) FlashcardService.bury_cards([card_id], _bury_until_tomorrow_utc()) + _push_history("buried", card_id) if not seen_card_ids.has(card_id): seen_card_ids.append(card_id) _load_next() @@ -444,10 +530,11 @@ func _bury_current_card() -> void: func _suspend_current_card() -> void: - if current_card.is_empty(): + if history_cursor != session_history.size() or current_card.is_empty(): return var card_id := str(current_card.get("id", "")) FlashcardService.suspend_cards([card_id], true) + _push_history("suspended", card_id) if not seen_card_ids.has(card_id): seen_card_ids.append(card_id) _load_next() @@ -469,10 +556,18 @@ func refresh_theme_controls() -> void: answer_caption.add_theme_color_override("font_color", Brand.ROYAL_BLUE if dark else Brand.PURPLE) extra_caption.add_theme_color_override("font_color", Brand.muted_color(dark)) extra_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + card_position_label.add_theme_color_override("font_color", Brand.muted_color(dark)) _style_ghost_button(undo_button, dark) + previous_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) + previous_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) + next_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) + next_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) + options_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) + options_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) deck_panel.add_theme_stylebox_override("panel", _side_panel_box(dark)) stats_panel.add_theme_stylebox_override("panel", _side_panel_box(dark)) options_menu.add_theme_stylebox_override("panel", Brand.panel_box(dark)) + _update_progress_pips(history_cursor) _refresh_deck_panel() _refresh_stats_panel() @@ -548,9 +643,125 @@ func _refresh_stats_panel() -> void: daily_goal_bar.value = float(reviews_today) +# ---------- Session history / navigation ---------- + +func _push_history(action: String, card_id: String, rating: String = "", client_review_id: String = "") -> void: + var entry := { + "note": current_note, "card": current_card, "rating_options": rating_options, + "action": action, "card_id": card_id + } + if not rating.is_empty(): + entry["rating"] = rating + entry["client_review_id"] = client_review_id + session_history.append(entry) + history_cursor = session_history.size() + + +func _snapshot_live_before_browsing() -> void: + live_note = current_note + live_card = current_card + live_rating_options = rating_options + live_revealed = revealed + live_due_remaining = due_remaining + live_new_remaining = new_remaining + + +func _return_to_live() -> void: + history_cursor = session_history.size() + current_note = live_note + current_card = live_card + rating_options = live_rating_options + due_remaining = live_due_remaining + new_remaining = live_new_remaining + undo_button.visible = false + revealed = false + if current_note.is_empty() and current_card.is_empty(): + _render_empty({"dueRemaining": due_remaining, "newRemaining": new_remaining}) + else: + _render_card() + if live_revealed: + _reveal() + _update_card_position_label(history_cursor) + _update_progress_pips(history_cursor) + _update_footer_button_states() + + +func _render_history_entry(index: int) -> void: + var entry: Dictionary = session_history[index] + current_note = entry.get("note", {}) + current_card = entry.get("card", {}) + rating_options = entry.get("rating_options", []) + revealed = false + _render_card() + _reveal() + grade_row.visible = false + reveal_button.visible = false + var is_graded_entry: bool = entry.get("action", "") == "graded" + var is_last_graded_card: bool = str(entry.get("card_id", "")) == last_card_id + var has_undoable_review: bool = not last_client_review_id.is_empty() + undo_button.visible = is_graded_entry and is_last_graded_card and has_undoable_review + undo_button.disabled = false + undo_button.text = "Undo this rating" + _update_card_position_label(index) + _update_progress_pips(index) + _update_footer_button_states() + + +func _go_previous() -> void: + if history_cursor <= 0: + return + if history_cursor == session_history.size(): + _snapshot_live_before_browsing() + history_cursor -= 1 + _render_history_entry(history_cursor) + + +func _go_next() -> void: + if history_cursor >= session_history.size(): + _skip_current_card() + return + history_cursor += 1 + if history_cursor >= session_history.size(): + _return_to_live() + else: + _render_history_entry(history_cursor) + + +func _skip_current_card() -> void: + if current_card.is_empty() or awaiting_next: + return + var card_id := str(current_card.get("id", "")) + _push_history("skipped", card_id) + if not seen_card_ids.has(card_id): + seen_card_ids.append(card_id) + _load_next() + _render_loading() + + +func _update_card_position_label(position_index: int) -> void: + card_position_label.visible = session_total > 0 + if session_total > 0: + card_position_label.text = "Card %d of %d" % [position_index + 1, maxi(session_total, position_index + 1)] + + +func _update_progress_pips(position_index: int) -> void: + var dark := UIThemeService.is_dark_mode() + var fraction := 0.0 if session_total <= 0 else float(position_index) / float(session_total) + var filled := clampi(floori(fraction * progress_pips.size()), 0, progress_pips.size()) + for i in progress_pips.size(): + var pip: PanelContainer = progress_pips[i] + pip.add_theme_stylebox_override("panel", _pip_box(i < filled, dark)) + + +func _update_footer_button_states() -> void: + var at_live := history_cursor == session_history.size() + previous_button.disabled = history_cursor <= 0 + next_button.disabled = at_live and current_card.is_empty() + + func _load_next() -> void: awaiting_next = true - FlashcardService.request_next_card(deck_id, seen_card_ids, study_day_start_utc) + FlashcardService.request_next_card(deck_id, seen_card_ids, study_day_start_utc, shuffle_enabled) func _on_next_card_loaded(card: Dictionary) -> void: @@ -561,15 +772,22 @@ func _on_next_card_loaded(card: Dictionary) -> void: current_note = {} current_card = {} _render_empty(card) + _update_footer_button_states() return current_note = note current_card = schedule rating_options = card.get("ratingOptions", []) due_remaining = int(card.get("dueRemaining", 0)) new_remaining = int(card.get("newRemaining", 0)) + if session_total < 0: + session_total = due_remaining + new_remaining + history_cursor = session_history.size() revealed = false loaded_started_ms = Time.get_ticks_msec() _render_card() + _update_card_position_label(history_cursor) + _update_progress_pips(history_cursor) + _update_footer_button_states() func _on_next_card_failed(message: String) -> void: @@ -652,15 +870,15 @@ func _interval_label_for(rating: String) -> String: func _grade(rating: String) -> void: - if current_card.is_empty(): + if current_card.is_empty() or history_cursor != session_history.size(): return var card_id := str(current_card.get("id", "")) var expected_revision := int(current_card.get("revision", 0)) var duration_seconds := int(float(Time.get_ticks_msec() - loaded_started_ms) / 1000.0) - last_client_review_id = FlashcardService.submit_review(card_id, rating, expected_revision, duration_seconds, study_day_start_utc) + var client_review_id := FlashcardService.submit_review(card_id, rating, expected_revision, duration_seconds, study_day_start_utc) + last_client_review_id = client_review_id last_card_id = card_id - undo_button.visible = true - undo_button.disabled = false + _push_history("graded", card_id, rating, client_review_id) if not seen_card_ids.has(card_id): seen_card_ids.append(card_id) _load_next() @@ -677,10 +895,13 @@ func _undo() -> void: return undo_button.disabled = true FlashcardService.undo_last_review(last_client_review_id, func(_restored: Dictionary): + var undone_card_id := last_card_id last_client_review_id = "" - undo_button.visible = false - seen_card_ids.erase(last_card_id) + last_card_id = "" + seen_card_ids.erase(undone_card_id) + _return_to_live() _load_next() + _render_loading() FlashcardService.fetch_counts()) @@ -700,6 +921,8 @@ func _input(event: InputEvent) -> void: return if not (event is InputEventKey) or not event.pressed or event.echo: return + if history_cursor != session_history.size(): + return if not revealed: if event.keycode == KEY_SPACE: _reveal() diff --git a/scripts/ui/flashcards_study.gd.uid b/scripts/ui/flashcards_study.gd.uid new file mode 100644 index 0000000..d340f2b --- /dev/null +++ b/scripts/ui/flashcards_study.gd.uid @@ -0,0 +1 @@ +uid://cd26fs2ry8iij diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index f923c6d..45668d3 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -455,7 +455,7 @@ func _on_navigation_pressed(key: String) -> void: "question_bank": show_screen("selection", "question_bank") "exams": show_screen("simulation_history") "ccs": show_screen("ccs_hub") - "flashcards": show_screen("flashcards_hub") + "flashcards": show_screen("flashcards_study") "performance": show_screen("profile") "study_plan": show_screen("map") "settings": show_screen("settings") diff --git a/tests/flashcard_cloze_test.gd.uid b/tests/flashcard_cloze_test.gd.uid new file mode 100644 index 0000000..807771d --- /dev/null +++ b/tests/flashcard_cloze_test.gd.uid @@ -0,0 +1 @@ +uid://c7vg16bm3svqg diff --git a/tests/flashcard_navigation_test.gd.uid b/tests/flashcard_navigation_test.gd.uid new file mode 100644 index 0000000..50903d9 --- /dev/null +++ b/tests/flashcard_navigation_test.gd.uid @@ -0,0 +1 @@ +uid://brao3s40oeuax diff --git a/tests/flashcard_outbox_test.gd.uid b/tests/flashcard_outbox_test.gd.uid new file mode 100644 index 0000000..37f1ade --- /dev/null +++ b/tests/flashcard_outbox_test.gd.uid @@ -0,0 +1 @@ +uid://ckoxu1ks8sr1d diff --git a/tests/flashcard_session_navigation_test.gd b/tests/flashcard_session_navigation_test.gd new file mode 100644 index 0000000..3f77290 --- /dev/null +++ b/tests/flashcard_session_navigation_test.gd @@ -0,0 +1,173 @@ +extends SceneTree + +# Exercises the study screen's session-history navigation (skip / Previous / Next / undo-in- +# history) and the layout/footer-state fixes added alongside it. The screen is added to the +# tree (mirrors flashcard_theme_responsive_test.gd) so _input()'s tree-visibility guard behaves +# realistically; every FlashcardService call this drives (request_next_card/bury_cards/ +# suspend_cards) short-circuits before touching the network because AuthState reports no +# logged-in session in this headless context, matching the "no network" style of the other +# flashcard tests. + +var failures := 0 + + +func _initialize() -> void: + call_deferred("_run") + + +func _run() -> void: + var host := Control.new() + host.size = Vector2(1280, 800) + root.add_child(host) + + var Study := load("res://scripts/ui/flashcards_study.gd") + var screen = Study.new() + host.add_child(screen) + await process_frame + + # ---------- Layout: side panels must hug their content, not stretch full height ---------- + _assert(screen.deck_panel.size_flags_vertical == Control.SIZE_SHRINK_BEGIN, + "the current-deck panel should not stretch to the row's full height") + _assert(screen.stats_panel.size_flags_vertical == Control.SIZE_SHRINK_BEGIN, + "the spaced-repetition panel should not stretch to the row's full height") + + # ---------- Footer button states at session start (no history, no live card) ---------- + _assert(screen.previous_button.disabled, "Previous should be disabled with no history to step back into") + _assert(screen.next_button.disabled, "Next should be disabled with no live card to skip and no history to page through") + + screen.current_note = {"type": "basic", "prompt": "P3(live)", "answer": "A3", "extra": ""} + screen.current_card = {"id": "card-3", "variant": 0, "revision": 1} + screen.rating_options = [] + screen.due_remaining = 5 + screen.new_remaining = 3 + screen.session_total = 10 + screen._update_footer_button_states() + _assert(not screen.next_button.disabled, "Next should enable once a live card is present, to allow skipping it") + _assert(screen.previous_button.disabled, "Previous should still be disabled before any history exists") + + # ---------- Options menu opens even with no live card, and disables Bury/Suspend ---------- + screen.current_note = {} + screen.current_card = {} + screen._toggle_options_menu() + _assert(screen.options_menu.visible, "Options should open even with no live card (e.g. deck exhausted)") + _assert(screen.options_bury_button.disabled and screen.options_suspend_button.disabled, + "Bury/Suspend should disable when there is no live card to act on") + screen._close_options_menu() + + screen.current_note = {"type": "basic", "prompt": "P3(live)", "answer": "A3", "extra": ""} + screen.current_card = {"id": "card-3", "variant": 0, "revision": 1} + screen._toggle_options_menu() + _assert(not screen.options_bury_button.disabled and not screen.options_suspend_button.disabled, + "Bury/Suspend should enable once a live card is present") + screen._close_options_menu() + + # ---------- Undo-in-history only surfaces for the matching most-recently-graded entry ---------- + screen.session_history = [{ + "note": {"type": "basic", "prompt": "P1", "answer": "A1", "extra": ""}, + "card": {"id": "card-1", "variant": 0, "revision": 1}, + "rating_options": [], "action": "graded", "card_id": "card-1", + "rating": "good", "client_review_id": "review-1" + }] + screen.last_card_id = "card-99" + screen.last_client_review_id = "review-1" + screen._render_history_entry(0) + _assert(not screen.undo_button.visible, + "undo should not surface when the browsed entry's card id doesn't match the last graded card") + + screen.last_card_id = "" + screen.last_client_review_id = "" + screen._render_history_entry(0) + _assert(not screen.undo_button.visible, + "undo should not surface when there is no outstanding undoable review at all") + + # ---------- Skip: pushes a "skipped" history entry, excludes the card, no grading occurs ---------- + screen.seen_card_ids = [] + screen.session_history = [] + screen.history_cursor = 0 + screen.current_note = {"type": "basic", "prompt": "P3(live)", "answer": "A3", "extra": ""} + screen.current_card = {"id": "card-3", "variant": 0, "revision": 1} + screen.awaiting_next = false + screen._skip_current_card() + _assert(screen.session_history.size() == 1 and screen.session_history[0]["action"] == "skipped", + "skipping the live card should push a 'skipped' history entry") + _assert(screen.seen_card_ids.has("card-3"), "skipping should still exclude the card from reappearing this session") + + # ---------- Previous/Next paging through a hand-seeded history, back to live ---------- + screen.seen_card_ids = [] + screen.last_card_id = "card-1" + screen.last_client_review_id = "review-1" + screen.session_history = [ + { + "note": {"type": "basic", "prompt": "P1", "answer": "A1", "extra": ""}, + "card": {"id": "card-1", "variant": 0, "revision": 1}, + "rating_options": [], "action": "graded", "card_id": "card-1", + "rating": "good", "client_review_id": "review-1" + }, + { + "note": {"type": "basic", "prompt": "P2", "answer": "A2", "extra": ""}, + "card": {"id": "card-2", "variant": 0, "revision": 1}, + "rating_options": [], "action": "skipped", "card_id": "card-2" + } + ] + screen.history_cursor = screen.session_history.size() + screen.current_note = {"type": "basic", "prompt": "P3(live)", "answer": "A3", "extra": ""} + screen.current_card = {"id": "card-3", "variant": 0, "revision": 1} + screen.rating_options = [] + screen.due_remaining = 5 + screen.new_remaining = 3 + screen.revealed = false + + screen._go_previous() + _assert(screen.front_label.text == "P2", "the first Previous press should show the most recently added history entry") + _assert(not screen.grade_row.visible, "grading buttons should stay hidden while browsing history") + _assert(not screen.undo_button.visible, "a skipped history entry should never offer 'undo this rating'") + + screen._go_previous() + _assert(screen.front_label.text == "P1", "a second Previous press should step further back in history") + _assert(screen.undo_button.visible, "the specific most-recently-graded entry should surface 'undo this rating'") + + screen._go_previous() + _assert(screen.history_cursor == 0, "Previous should refuse to step before the start of history") + + screen._go_next() + _assert(screen.front_label.text == "P2", "Next while browsing history should step forward, not skip the live card") + + screen._go_next() + _assert(screen.front_label.text == "P3(live)" and screen.history_cursor == screen.session_history.size(), + "stepping past the last history entry should return to the live card") + _assert(screen.reveal_button.visible and not screen.grade_row.visible, + "returning to a live, unrevealed card should restore the reveal prompt") + + screen._go_next() + _assert(screen.session_history.size() == 3 and screen.session_history[2]["action"] == "skipped" and screen.session_history[2]["card_id"] == "card-3", + "Next while already at the live card should skip it (session-only, dual-meaning behavior)") + _assert(screen.seen_card_ids.has("card-3"), "skipping via Next should still exclude the card this session") + + # ---------- Keyboard shortcuts are ignored while browsing history ---------- + screen.session_history = [{ + "note": {"type": "basic", "prompt": "P1", "answer": "A1", "extra": ""}, + "card": {"id": "card-1", "variant": 0, "revision": 1}, + "rating_options": [], "action": "graded", "card_id": "card-1" + }] + screen.history_cursor = 0 + screen.current_note = {"type": "basic", "prompt": "P1", "answer": "A1", "extra": ""} + screen.current_card = {"id": "card-1", "variant": 0, "revision": 1} + screen.revealed = true + var key_event := InputEventKey.new() + key_event.keycode = KEY_1 + key_event.pressed = true + screen._input(key_event) + _assert(screen.session_history.size() == 1, + "a grading keystroke while browsing history should be ignored instead of grading the historical card") + + screen.free() + host.queue_free() + await process_frame + quit(1 if failures > 0 else 0) + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) diff --git a/tests/flashcard_study_render_test.gd.uid b/tests/flashcard_study_render_test.gd.uid new file mode 100644 index 0000000..2db7158 --- /dev/null +++ b/tests/flashcard_study_render_test.gd.uid @@ -0,0 +1 @@ +uid://b4g4ry3jt2gxn diff --git a/tests/flashcard_theme_responsive_test.gd b/tests/flashcard_theme_responsive_test.gd index 2d9f130..25d0441 100644 --- a/tests/flashcard_theme_responsive_test.gd +++ b/tests/flashcard_theme_responsive_test.gd @@ -51,9 +51,9 @@ func _run() -> void: var light_icon_box := (light_row.get_child(0) as PanelContainer).get_theme_stylebox("panel") as StyleBoxFlat _assert(light_icon_box.bg_color.is_equal_approx(Brand.icon_circle_box(false, Brand.ROYAL_BLUE, 20).bg_color), "a basic card's type icon should use its light accent styling") - var light_menu_box := hub.export_menu.get_theme_stylebox("panel") as StyleBoxFlat + var light_menu_box := hub.import_menu.get_theme_stylebox("panel") as StyleBoxFlat _assert(light_menu_box.bg_color.is_equal_approx(Brand.panel_box(false).bg_color), - "the export menu panel should also restyle to the light surface after a theme toggle") + "the import menu panel should also restyle to the light surface after a theme toggle") theme_service.set_dark_mode(prior_dark) diff --git a/tests/flashcard_theme_responsive_test.gd.uid b/tests/flashcard_theme_responsive_test.gd.uid new file mode 100644 index 0000000..ce9b26a --- /dev/null +++ b/tests/flashcard_theme_responsive_test.gd.uid @@ -0,0 +1 @@ +uid://y8dt7drjo221 From 3a01e9156cfdca2adc0940dd88c4711f70712579 Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 01:20:48 -0500 Subject: [PATCH 13/68] Keep the app sidebar visible on the flashcards study screen The study screen was still treated as a fullscreen immersive view (like the question player), hiding the main nav sidebar entirely. The mockup and the user's request both call for keeping the app's left menu while studying, with the deck panel living inside the screen alongside it. --- scripts/ui/main.gd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index 45668d3..33a6a58 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -93,7 +93,7 @@ func show_screen(screen_name: String, payload: Variant = null) -> void: func _apply_screen_margins(screen_name: String) -> void: if screens_margin == null or screen_name.is_empty(): return - var is_fullscreen_study := screen_name in ["player", "flashcards_study"] + var is_fullscreen_study := screen_name == "player" var margin := 0 if screen_name == "login" else (12 if is_fullscreen_study else (20 if compact_shell else 44)) screens_margin.add_theme_constant_override("margin_left", margin) screens_margin.add_theme_constant_override("margin_right", margin) @@ -566,7 +566,7 @@ func _close_account_menu() -> void: func _screen_uses_shell(screen_name: String) -> bool: - return AuthState.is_logged_in and screen_name not in ["login", "legal_consent", "player", "ccs_player", "flashcards_study"] + return AuthState.is_logged_in and screen_name not in ["login", "legal_consent", "player", "ccs_player"] func _update_shell_visibility(screen_name: String) -> void: From 7f76ca0fdc462d3c8092530254fcd728086e5a40 Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 15:52:19 -0500 Subject: [PATCH 14/68] Add system (curated) vs. user-uploaded flashcards System decks/notes are owned by a reserved sentinel user id, reusing all existing per-user store/index plumbing unchanged. Regular users see them under a separate "Official Decks" section, can study them with fully independent per-user FSRS progress (lazily materialized on first visit), but can never edit or archive them - enforced both in the client (no Edit/Archive controls) and server-side (ownership guard on every mutating endpoint). Includes a small idempotent seed command (`dotnet run -- seed-flashcards`) for testing, since there's no in-app authoring UI yet. --- .../FlashcardOwnershipTests.cs | 32 ++++++ .../Controllers/FlashcardsController.cs | 24 +++- api/QuestionsApi/Models/FlashcardModels.cs | 10 ++ api/QuestionsApi/Program.cs | 10 ++ .../Services/Flashcards/FlashcardDeckStore.cs | 15 +++ .../Services/Flashcards/FlashcardNoteStore.cs | 52 +++++++++ .../Flashcards/FlashcardOwnershipGuard.cs | 8 ++ .../Flashcards/FlashcardScheduleStore.cs | 38 +++++++ .../Flashcards/FlashcardStudyService.cs | 24 +++- .../Services/SeedFlashcardsCommand.cs | 62 ++++++++++ scripts/ui/flashcards_hub.gd | 82 ++++++++++---- scripts/ui/flashcards_study.gd | 11 ++ tests/flashcard_ownership_ui_test.gd | 107 ++++++++++++++++++ 13 files changed, 444 insertions(+), 31 deletions(-) create mode 100644 api/QuestionsApi.Tests/FlashcardOwnershipTests.cs create mode 100644 api/QuestionsApi/Services/Flashcards/FlashcardOwnershipGuard.cs create mode 100644 api/QuestionsApi/Services/SeedFlashcardsCommand.cs create mode 100644 tests/flashcard_ownership_ui_test.gd diff --git a/api/QuestionsApi.Tests/FlashcardOwnershipTests.cs b/api/QuestionsApi.Tests/FlashcardOwnershipTests.cs new file mode 100644 index 0000000..0d67cac --- /dev/null +++ b/api/QuestionsApi.Tests/FlashcardOwnershipTests.cs @@ -0,0 +1,32 @@ +using QuestionsApi.Models; +using QuestionsApi.Services.Flashcards; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class FlashcardOwnershipTests +{ + [Theory] + [InlineData(false, false, true)] + [InlineData(false, true, false)] + [InlineData(true, false, true)] + [InlineData(true, true, true)] + public void CanMutate_MatchesTruthTable(bool isSuper, bool targetIsSystem, bool expected) + { + Assert.Equal(expected, FlashcardOwnershipGuard.CanMutate(isSuper, targetIsSystem)); + } + + [Fact] + public void FlashcardDeck_IsSystem_TrueOnlyForTheReservedOwner() + { + Assert.True(new FlashcardDeck { UserId = FlashcardOwners.System }.IsSystem); + Assert.False(new FlashcardDeck { UserId = "a-real-user-id" }.IsSystem); + } + + [Fact] + public void FlashcardNote_IsSystem_TrueOnlyForTheReservedOwner() + { + Assert.True(new FlashcardNote { UserId = FlashcardOwners.System }.IsSystem); + Assert.False(new FlashcardNote { UserId = "a-real-user-id" }.IsSystem); + } +} diff --git a/api/QuestionsApi/Controllers/FlashcardsController.cs b/api/QuestionsApi/Controllers/FlashcardsController.cs index c944f5d..4670864 100644 --- a/api/QuestionsApi/Controllers/FlashcardsController.cs +++ b/api/QuestionsApi/Controllers/FlashcardsController.cs @@ -47,6 +47,8 @@ public sealed class FlashcardsController( var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); if (string.IsNullOrWhiteSpace(request.Name)) return BadRequest("name required"); + if (!FlashcardOwnershipGuard.CanMutate(User.IsInRole("SUPER"), (await decks.GetAnyAsync(deckId))?.IsSystem == true)) + return NotFound(); var result = await decks.UpsertAsync(userId, request, deckId); if (!result.Succeeded) return Conflict(result.Current); return Ok(result.Deck); @@ -57,6 +59,8 @@ public sealed class FlashcardsController( { var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (!FlashcardOwnershipGuard.CanMutate(User.IsInRole("SUPER"), (await decks.GetAnyAsync(deckId))?.IsSystem == true)) + return NotFound(); var result = await decks.ArchiveAsync(userId, deckId, true); if (!result.Succeeded) return Conflict("cannot archive the default deck, or deck not found"); return Ok(result.Deck); @@ -67,6 +71,8 @@ public sealed class FlashcardsController( { var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + if (!FlashcardOwnershipGuard.CanMutate(User.IsInRole("SUPER"), (await decks.GetAnyAsync(deckId))?.IsSystem == true)) + return NotFound(); var result = await decks.ArchiveAsync(userId, deckId, false); if (!result.Succeeded) return NotFound(); return Ok(result.Deck); @@ -77,7 +83,7 @@ public sealed class FlashcardsController( { var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); - var (items, total) = await notes.SearchAsync(userId, query); + var (items, total) = await notes.SearchVisibleAsync(userId, query); return Ok(new FlashcardLibraryResponse { Items = items, Total = total }); } @@ -86,7 +92,7 @@ public sealed class FlashcardsController( { var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); - var note = await notes.GetAsync(userId, noteId); + var note = await notes.GetVisibleAsync(userId, noteId); if (note is null) return NotFound(); return Ok(note); } @@ -99,6 +105,8 @@ public sealed class FlashcardsController( if (string.IsNullOrWhiteSpace(request.Prompt)) return BadRequest("prompt required"); if (string.IsNullOrWhiteSpace(request.DeckId)) request.DeckId = (await decks.GetOrCreateDefaultDeckAsync(userId)).Id!; + else if (!FlashcardOwnershipGuard.CanMutate(User.IsInRole("SUPER"), (await decks.GetAnyAsync(request.DeckId))?.IsSystem == true)) + return BadRequest("cannot add cards to a system deck"); try { @@ -118,6 +126,12 @@ public sealed class FlashcardsController( var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); if (string.IsNullOrWhiteSpace(request.Prompt)) return BadRequest("prompt required"); + var isSuper = User.IsInRole("SUPER"); + if (!FlashcardOwnershipGuard.CanMutate(isSuper, (await notes.GetAnyAsync(noteId))?.IsSystem == true)) + return NotFound(); + if (!string.IsNullOrWhiteSpace(request.DeckId) + && !FlashcardOwnershipGuard.CanMutate(isSuper, (await decks.GetAnyAsync(request.DeckId))?.IsSystem == true)) + return BadRequest("cannot move cards into a system deck"); try { @@ -137,6 +151,8 @@ public sealed class FlashcardsController( var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); if (string.IsNullOrWhiteSpace(request.TargetDeckId)) return BadRequest("targetDeckId required"); + if (!FlashcardOwnershipGuard.CanMutate(User.IsInRole("SUPER"), (await decks.GetAnyAsync(request.TargetDeckId))?.IsSystem == true)) + return BadRequest("cannot move cards into a system deck"); var moved = await notes.MoveAsync(userId, request.NoteIds, request.TargetDeckId); return Ok(new { moved }); } @@ -146,9 +162,11 @@ public sealed class FlashcardsController( { var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var isSuper = User.IsInRole("SUPER"); var results = new List(); foreach (var noteId in request.NoteIds) { + if (!FlashcardOwnershipGuard.CanMutate(isSuper, (await notes.GetAnyAsync(noteId))?.IsSystem == true)) continue; var result = await notes.ArchiveAsync(userId, noteId, true); if (result.Note is not null) results.Add(result.Note); } @@ -160,9 +178,11 @@ public sealed class FlashcardsController( { var userId = UserId(); if (string.IsNullOrWhiteSpace(userId)) return Unauthorized(); + var isSuper = User.IsInRole("SUPER"); var results = new List(); foreach (var noteId in request.NoteIds) { + if (!FlashcardOwnershipGuard.CanMutate(isSuper, (await notes.GetAnyAsync(noteId))?.IsSystem == true)) continue; var result = await notes.ArchiveAsync(userId, noteId, false); if (result.Note is not null) results.Add(result.Note); } diff --git a/api/QuestionsApi/Models/FlashcardModels.cs b/api/QuestionsApi/Models/FlashcardModels.cs index 6531d97..17ad08f 100644 --- a/api/QuestionsApi/Models/FlashcardModels.cs +++ b/api/QuestionsApi/Models/FlashcardModels.cs @@ -10,6 +10,14 @@ public static class FlashcardTypes public static readonly HashSet All = [Basic, Cloze]; } +// A reserved, never-authenticatable owner id. Decks/notes owned by this id are shared, +// admin-curated content visible to every user (studied via their own independent schedule +// rows) rather than a real user's private content. +public static class FlashcardOwners +{ + public const string System = "system"; +} + public static class FlashcardRatings { public const string Again = "again"; @@ -43,6 +51,7 @@ public sealed class FlashcardDeck public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; public DateTime? ArchivedUtc { get; set; } + [BsonIgnore] public bool IsSystem => UserId == FlashcardOwners.System; } public sealed class FlashcardImageReference @@ -69,6 +78,7 @@ public sealed class FlashcardNote public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; public DateTime? ArchivedUtc { get; set; } + [BsonIgnore] public bool IsSystem => UserId == FlashcardOwners.System; } public sealed class FlashcardSchedule diff --git a/api/QuestionsApi/Program.cs b/api/QuestionsApi/Program.cs index c5b71e0..b62f74f 100644 --- a/api/QuestionsApi/Program.cs +++ b/api/QuestionsApi/Program.cs @@ -17,6 +17,16 @@ if (args.FirstOrDefault() == "promote-content") return; } +if (args.FirstOrDefault() == "seed-flashcards") +{ + var seedConfiguration = new ConfigurationBuilder() + .AddJsonFile("appsettings.json", optional: true) + .AddEnvironmentVariables() + .Build(); + Environment.ExitCode = await SeedFlashcardsCommand.RunAsync(seedConfiguration, Console.Out); + return; +} + var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); builder.Services.Configure(options => diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardDeckStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardDeckStore.cs index 4141c92..0dfe78a 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardDeckStore.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardDeckStore.cs @@ -33,6 +33,21 @@ public sealed class FlashcardDeckStore public async Task GetAsync(string userId, string deckId) => await _decks.Find(v => v.UserId == userId && v.Id == deckId).FirstOrDefaultAsync(); + // Read-only: the caller's own decks plus every system (shared, admin-curated) deck. Never + // used to back a write path - mutations must stay strictly own-user via ListAsync/GetAsync. + public Task> ListVisibleAsync(string userId) => + _decks.Find(v => (v.UserId == userId || v.UserId == FlashcardOwners.System) && v.ArchivedUtc == null) + .SortBy(v => v.Name).ToListAsync(); + + public async Task GetVisibleAsync(string userId, string deckId) => + await _decks.Find(v => (v.UserId == userId || v.UserId == FlashcardOwners.System) && v.Id == deckId) + .FirstOrDefaultAsync(); + + // No owner filter at all - used only by the controller's mutation guard to check IsSystem + // regardless of who's asking. + public async Task GetAnyAsync(string deckId) => + await _decks.Find(v => v.Id == deckId).FirstOrDefaultAsync(); + public async Task GetOrCreateDefaultDeckAsync(string userId) { var existing = await _decks.Find(v => v.UserId == userId && v.IsDefault).FirstOrDefaultAsync(); diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardNoteStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardNoteStore.cs index 2a15dc3..5c02d07 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardNoteStore.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardNoteStore.cs @@ -51,6 +51,58 @@ public sealed class FlashcardNoteStore public Task> ListAllActiveAsync(string userId) => _notes.Find(v => v.UserId == userId && v.ArchivedUtc == null).ToListAsync(); + // Read-only: the caller's own notes plus every system (shared, admin-curated) note. Never + // used to back a write path - mutations must stay strictly own-user via the methods above. + public Task> ListByDeckVisibleAsync(string userId, string deckId) => + _notes.Find(v => (v.UserId == userId || v.UserId == FlashcardOwners.System) + && v.DeckId == deckId && v.ArchivedUtc == null).ToListAsync(); + + public Task> ListAllVisibleActiveAsync(string userId) => + _notes.Find(v => (v.UserId == userId || v.UserId == FlashcardOwners.System) && v.ArchivedUtc == null) + .ToListAsync(); + + public async Task GetVisibleAsync(string userId, string noteId) => + await _notes.Find(v => (v.UserId == userId || v.UserId == FlashcardOwners.System) && v.Id == noteId) + .FirstOrDefaultAsync(); + + // No owner filter at all - used only by the controller's mutation guard to check IsSystem + // regardless of who's asking. + public async Task GetAnyAsync(string noteId) => + await _notes.Find(v => v.Id == noteId).FirstOrDefaultAsync(); + + public async Task<(List Items, int Total)> SearchVisibleAsync(string userId, FlashcardLibraryQuery query) + { + var filter = Builders.Filter.Or( + Builders.Filter.Eq(v => v.UserId, userId), + Builders.Filter.Eq(v => v.UserId, FlashcardOwners.System)); + if (query.State != FlashcardArchiveFilter.IncludeArchived) + filter &= Builders.Filter.Eq(v => v.ArchivedUtc, null); + if (!string.IsNullOrWhiteSpace(query.DeckId)) + filter &= Builders.Filter.Eq(v => v.DeckId, query.DeckId); + if (!string.IsNullOrWhiteSpace(query.Type)) + filter &= Builders.Filter.Eq(v => v.Type, query.Type); + if (!string.IsNullOrWhiteSpace(query.Tag)) + filter &= Builders.Filter.AnyEq(v => v.Tags, query.Tag); + if (!string.IsNullOrWhiteSpace(query.Search)) + { + var pattern = new MongoDB.Bson.BsonRegularExpression(Regex.Escape(query.Search), "i"); + filter &= Builders.Filter.Or( + Builders.Filter.Regex(v => v.Prompt, pattern), + Builders.Filter.Regex(v => v.Answer, pattern), + Builders.Filter.Regex(v => v.Extra, pattern)); + } + + var total = checked((int)await _notes.CountDocumentsAsync(filter)); + var page = Math.Max(1, query.Page); + var pageSize = Math.Clamp(query.PageSize, 1, 200); + var items = await _notes.Find(filter) + .SortByDescending(v => v.UpdatedUtc) + .Skip((page - 1) * pageSize) + .Limit(pageSize) + .ToListAsync(); + return (items, total); + } + public async Task<(List Items, int Total)> SearchAsync(string userId, FlashcardLibraryQuery query) { var filter = Builders.Filter.Eq(v => v.UserId, userId); diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardOwnershipGuard.cs b/api/QuestionsApi/Services/Flashcards/FlashcardOwnershipGuard.cs new file mode 100644 index 0000000..4ecafcd --- /dev/null +++ b/api/QuestionsApi/Services/Flashcards/FlashcardOwnershipGuard.cs @@ -0,0 +1,8 @@ +namespace QuestionsApi.Services.Flashcards; + +// Pure authorization decision for mutating a flashcard deck/note, kept dependency-free (like +// FlashcardScheduling) so it's unit testable without a controller or Mongo. +public static class FlashcardOwnershipGuard +{ + public static bool CanMutate(bool isSuper, bool targetIsSystem) => isSuper || !targetIsSystem; +} diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs b/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs index 038e881..32e7e8c 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardScheduleStore.cs @@ -81,6 +81,44 @@ public sealed class FlashcardScheduleStore } } + // Sibling of SyncVariantsAsync: materializes this note's variant schedule rows under a + // DIFFERENT user's ownership (the studying user, not the note's own owner). Used only for + // system notes, so a regular user studying shared content gets independent, per-user FSRS + // state. Deliberately duplicated rather than sharing a parameterized private helper with + // SyncVariantsAsync, which is called eagerly on every regular note save and must stay + // untouched/low-risk. + public async Task SyncVariantsForStudyingUserAsync(string studyingUserId, FlashcardNote note) + { + var desiredVariants = note.Type == FlashcardTypes.Cloze + ? FlashcardClozeParser.DistinctClozeNumbers(note.Prompt) + : [0]; + if (desiredVariants.Count == 0) return; + + var existing = await GetByNoteIdAsync(studyingUserId, note.Id!); + var existingVariants = existing.Select(v => v.Variant).ToHashSet(); + var now = DateTime.UtcNow; + foreach (var variant in desiredVariants.Where(v => !existingVariants.Contains(v))) + { + var schedule = new FlashcardSchedule + { + UserId = studyingUserId, + NoteId = note.Id!, + Variant = variant, + State = FlashcardScheduleStates.New, + DueUtc = now, + CreatedUtc = now + }; + try + { + await _schedules.InsertOneAsync(schedule); + } + catch (MongoWriteException exception) when (exception.WriteError?.Category == ServerErrorCategory.DuplicateKey) + { + // Concurrent save already created this variant. + } + } + } + public async Task GetAsync(string userId, string cardId) => await _schedules.Find(v => v.UserId == userId && v.Id == cardId).FirstOrDefaultAsync(); diff --git a/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs b/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs index dfd4fbb..4ccdffe 100644 --- a/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs +++ b/api/QuestionsApi/Services/Flashcards/FlashcardStudyService.cs @@ -51,7 +51,7 @@ public sealed class FlashcardStudyService( }; if (card is null) return response; - var note = await notes.GetAsync(userId, card.NoteId); + var note = await notes.GetVisibleAsync(userId, card.NoteId); if (note is null) return response; response.Note = note; @@ -89,11 +89,13 @@ public sealed class FlashcardStudyService( public async Task> GetDeckSummariesAsync(string userId, DateTime nowUtc, DateTime studyDayStart) { - var deckList = await decks.ListAsync(userId); + var deckList = await decks.ListVisibleAsync(userId); var result = new List(); foreach (var deck in deckList) { - var deckNoteIds = (await notes.ListByDeckAsync(userId, deck.Id!)).Select(v => v.Id!).ToList(); + var deckNotes = await notes.ListByDeckVisibleAsync(userId, deck.Id!); + await EnsureSystemScheduleRowsAsync(userId, deckNotes); + var deckNoteIds = deckNotes.Select(v => v.Id!).ToList(); var due = checked((int)await schedules.CountDueAsync(userId, deckNoteIds, nowUtc, studyDayStart)); var fresh = checked((int)await schedules.CountNewAsync(userId, deckNoteIds, studyDayStart)); var learning = checked((int)await schedules.CountByStateAsync(userId, deckNoteIds, FlashcardScheduleStates.Learning)) @@ -118,11 +120,21 @@ public sealed class FlashcardStudyService( private async Task> ResolveNoteIdsAsync(string userId, string deckId) { var activeNotes = string.IsNullOrWhiteSpace(deckId) - ? await notes.ListAllActiveAsync(userId) - : await notes.ListByDeckAsync(userId, deckId); + ? await notes.ListAllVisibleActiveAsync(userId) + : await notes.ListByDeckVisibleAsync(userId, deckId); + await EnsureSystemScheduleRowsAsync(userId, activeNotes); return activeNotes.Select(v => v.Id!).ToList(); } + // Lazily materializes this user's own FlashcardSchedule rows for any note they don't own + // (i.e. system notes) before it's counted/served. A no-op once a user has touched a given + // system note (SyncVariantsForStudyingUserAsync is duplicate-key-tolerant and additive-only). + private async Task EnsureSystemScheduleRowsAsync(string userId, List activeNotes) + { + foreach (var note in activeNotes.Where(v => v.IsSystem)) + await schedules.SyncVariantsForStudyingUserAsync(userId, note); + } + private async Task<(int NewBudget, int ReviewBudget)> ResolveBudgetsAsync(string userId, string deckId, DateTime studyDayStart) { var settings = await settingsStore.GetAsync(userId); @@ -130,7 +142,7 @@ public sealed class FlashcardStudyService( var reviewLimit = settings.ReviewsPerDay; if (!string.IsNullOrWhiteSpace(deckId)) { - var deck = await decks.GetAsync(userId, deckId); + var deck = await decks.GetVisibleAsync(userId, deckId); if (deck is not null) { newLimit = deck.NewCardsPerDay ?? newLimit; diff --git a/api/QuestionsApi/Services/SeedFlashcardsCommand.cs b/api/QuestionsApi/Services/SeedFlashcardsCommand.cs new file mode 100644 index 0000000..89123ba --- /dev/null +++ b/api/QuestionsApi/Services/SeedFlashcardsCommand.cs @@ -0,0 +1,62 @@ +using QuestionsApi.Models; +using QuestionsApi.Services.Flashcards; + +namespace QuestionsApi.Services; + +// Idempotent, single-target seed for testing "system" (shared, admin-curated) flashcards. +// Unlike ContentPromotionCommand (cross-environment copy, source+target connections), this only +// ever writes to the one database the app is already configured against, using the exact same +// store methods a real user's create/edit path uses - just under the reserved FlashcardOwners.System +// identity - so seeded content is created/updated through the same validation and revision +// handling as any other deck/note. +public static class SeedFlashcardsCommand +{ + public static async Task RunAsync(IConfiguration configuration, TextWriter output) + { + var mongo = new MongoDatabaseProvider(configuration); + var scheduleStore = new FlashcardScheduleStore(mongo, new FsrsFlashcardScheduler()); + var deckStore = new FlashcardDeckStore(mongo); + var noteStore = new FlashcardNoteStore(mongo, scheduleStore); + + var deck = await UpsertSystemDeckAsync(deckStore, "Step 3 Essentials", "Official curated review deck"); + await UpsertSystemNoteAsync(noteStore, deck.Id!, FlashcardTypes.Basic, + "A 62-year-old woman presents with sudden, painless, monocular vision loss. What is the diagnosis?", + "Central retinal artery occlusion", "\"Cherry-red spot\" on fundoscopy is the classic finding."); + await UpsertSystemNoteAsync(noteStore, deck.Id!, FlashcardTypes.Basic, + "Thyroid storm: correct order of pharmacologic treatment?", + "Beta-blocker (propranolol) first -> thionamide (PTU/methimazole) -> iodine solution (started >=1hr after thionamide) -> glucocorticoids", + "Giving iodine before the thionamide can fuel new hormone synthesis (Wolff-Chaikoff escape risk)."); + await UpsertSystemNoteAsync(noteStore, deck.Id!, FlashcardTypes.Cloze, + "First-line treatment for uncomplicated hypertension in a Black patient is {{c1::a thiazide diuretic or calcium channel blocker}}.", + "", ""); + + await output.WriteLineAsync($"Seeded system flashcards into deck '{deck.Name}' ({deck.Id})."); + return 0; + } + + private static async Task UpsertSystemDeckAsync(FlashcardDeckStore deckStore, string name, string description) + { + var existing = await deckStore.GetByNameAsync(FlashcardOwners.System, FlashcardDeckStore.Normalize(name)); + var request = new UpsertFlashcardDeckRequest { Name = name, Description = description }; + var result = await deckStore.UpsertAsync(FlashcardOwners.System, request, existing?.Id); + return result.Deck ?? existing ?? throw new InvalidOperationException($"failed to seed deck '{name}'"); + } + + private static async Task UpsertSystemNoteAsync( + FlashcardNoteStore noteStore, string deckId, string type, string prompt, string answer, string extra) + { + var fingerprint = FlashcardNoteStore.Fingerprint(type, prompt, answer); + var existingNotes = await noteStore.ListByDeckAsync(FlashcardOwners.System, deckId); + var existing = existingNotes.FirstOrDefault(v => v.ContentFingerprint == fingerprint); + var request = new UpsertFlashcardNoteRequest + { + DeckId = deckId, + Type = type, + Prompt = prompt, + Answer = answer, + Extra = extra, + ExpectedRevision = existing?.Revision + }; + await noteStore.UpsertAsync(FlashcardOwners.System, request, existing?.Id); + } +} diff --git a/scripts/ui/flashcards_hub.gd b/scripts/ui/flashcards_hub.gd index 3144102..b018da9 100644 --- a/scripts/ui/flashcards_hub.gd +++ b/scripts/ui/flashcards_hub.gd @@ -31,6 +31,7 @@ var editor_overlay: Control var editor_panel: PanelContainer var editor_deck_label: Label var editor_note_id := "" +var editor_target_deck_id := "" var editor_expected_revision: Variant = null var editor_type_selector: OptionButton var editor_front_input: TextEdit @@ -333,10 +334,23 @@ func _on_decks_changed(loaded_decks: Array) -> void: deck_ids = [""] var total_due := 0 var total_new := 0 + var my_decks := decks.filter(func(s): return not bool(s.get("deck", {}).get("isSystem", false))) + var official_decks := decks.filter(func(s): return bool(s.get("deck", {}).get("isSystem", false))) + if my_decks.size() > 0: + deck_selector.add_separator("My Decks") + deck_ids.append("") + for summary in my_decks: + var deck: Dictionary = summary.get("deck", {}) + deck_selector.add_item(str(deck.get("name", "Deck"))) + deck_ids.append(str(deck.get("id", ""))) + if official_decks.size() > 0: + deck_selector.add_separator("Official Decks") + deck_ids.append("") + for summary in official_decks: + var deck: Dictionary = summary.get("deck", {}) + deck_selector.add_item(str(deck.get("name", "Deck"))) + deck_ids.append(str(deck.get("id", ""))) for summary in decks: - var deck: Dictionary = summary.get("deck", {}) - deck_selector.add_item(str(deck.get("name", "Deck"))) - deck_ids.append(str(deck.get("id", ""))) total_due += int(summary.get("due", 0)) total_new += int(summary.get("new", 0)) if previous_selection != null: @@ -355,6 +369,16 @@ func _selected_deck_id() -> String: return str(deck_ids[deck_selector.selected]) +func _is_system_deck(id: String) -> bool: + if id.is_empty(): + return false + for summary in decks: + var deck: Dictionary = summary.get("deck", {}) + if str(deck.get("id", "")) == id: + return bool(deck.get("isSystem", false)) + return false + + func _reload_notes() -> void: status_label.text = "Loading flashcards..." var query := { @@ -426,6 +450,13 @@ func _note_row(note: Dictionary) -> Control: type_label.add_theme_font_size_override("font_size", 12) type_label.add_theme_color_override("font_color", accent) header_row.add_child(type_label) + var is_system := bool(note.get("isSystem", false)) + if is_system: + var official_label := Label.new() + official_label.text = "Official" + official_label.add_theme_font_size_override("font_size", 12) + official_label.add_theme_color_override("font_color", Brand.PURPLE) + header_row.add_child(official_label) var tags: Array = note.get("tags", []) if tags.size() > 0: var tags_label := Label.new() @@ -446,25 +477,26 @@ func _note_row(note: Dictionary) -> Control: actions.add_theme_constant_override("separation", 8) row.add_child(actions) - var edit_button := Button.new() - edit_button.text = "Edit" - edit_button.custom_minimum_size = Vector2(70, 40) - edit_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) - edit_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) - edit_button.pressed.connect(_open_editor.bind(str(note.get("id", "")), note)) - actions.add_child(edit_button) + if not is_system: + var edit_button := Button.new() + edit_button.text = "Edit" + edit_button.custom_minimum_size = Vector2(70, 40) + edit_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) + edit_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) + edit_button.pressed.connect(_open_editor.bind(str(note.get("id", "")), note)) + actions.add_child(edit_button) - var archive_button := Button.new() - archive_button.text = "Archive" - archive_button.custom_minimum_size = Vector2(85, 40) - archive_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) - archive_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) - archive_button.add_theme_color_override("font_color", Color("ff5f76") if dark else Color("be123c")) - archive_button.pressed.connect(func(): - FlashcardService.archive_notes([str(note.get("id", ""))], true) - await get_tree().create_timer(0.3).timeout - _reload_notes()) - actions.add_child(archive_button) + var archive_button := Button.new() + archive_button.text = "Archive" + archive_button.custom_minimum_size = Vector2(85, 40) + archive_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) + archive_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) + archive_button.add_theme_color_override("font_color", Color("ff5f76") if dark else Color("be123c")) + archive_button.pressed.connect(func(): + FlashcardService.archive_notes([str(note.get("id", ""))], true) + await get_tree().create_timer(0.3).timeout + _reload_notes()) + actions.add_child(archive_button) return row @@ -594,7 +626,11 @@ func _open_editor(note_id: String, note: Dictionary) -> void: editor_extra_input.text = str(note.get("extra", "")) editor_tags_input.text = ", ".join(PackedStringArray(note.get("tags", []))) editor_error_label.visible = false - editor_deck_label.text = "Saving to: %s" % _deck_name_for_id(str(note.get("deckId", "")) if not note_id.is_empty() else _selected_deck_id()) + if note_id.is_empty(): + editor_target_deck_id = "" if _is_system_deck(_selected_deck_id()) else _selected_deck_id() + else: + editor_target_deck_id = str(note.get("deckId", "")) + editor_deck_label.text = "Saving to: %s" % _deck_name_for_id(editor_target_deck_id) _on_editor_type_changed(editor_type_selector.selected) editor_overlay.visible = true @@ -629,7 +665,7 @@ func _save_editor() -> void: if not trimmed.is_empty(): tags.append(trimmed) var payload := { - "deckId": _selected_deck_id(), + "deckId": editor_target_deck_id, "stableId": "", "type": "cloze" if is_cloze else "basic", "prompt": prompt, diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd index b2aa911..74601ef 100644 --- a/scripts/ui/flashcards_study.gd +++ b/scripts/ui/flashcards_study.gd @@ -72,6 +72,7 @@ var compact_layout := false var deck_panel: PanelContainer var deck_name_label: Label +var deck_system_badge: Label var deck_ring: Control var deck_mastered_label: Label var change_deck_button: Button @@ -371,6 +372,13 @@ func _build_deck_panel() -> void: deck_name_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART content.add_child(deck_name_label) + deck_system_badge = Label.new() + deck_system_badge.text = "Official Deck" + deck_system_badge.add_theme_font_size_override("font_size", 12) + deck_system_badge.add_theme_color_override("font_color", Brand.PURPLE) + deck_system_badge.visible = false + content.add_child(deck_system_badge) + var ring_center := CenterContainer.new() content.add_child(ring_center) deck_ring = CircularProgress.new() @@ -597,6 +605,7 @@ func _refresh_deck_panel() -> void: var name := "All decks" var total := 0 var mastered := 0 + var is_system := false if deck_id.is_empty(): for summary in decks: total += int(summary.get("total", 0)) @@ -608,8 +617,10 @@ func _refresh_deck_panel() -> void: name = str(deck.get("name", "Deck")) total = int(summary.get("total", 0)) mastered = int(summary.get("mastered", 0)) + is_system = bool(deck.get("isSystem", false)) break deck_name_label.text = name + deck_system_badge.visible = is_system var fraction := float(mastered) / float(total) if total > 0 else 0.0 deck_ring.configure(fraction, "%d%%" % roundi(fraction * 100.0), "Mastery", Brand.ROYAL_BLUE, dark) deck_mastered_label.text = "%d / %d cards mastered" % [mastered, total] diff --git a/tests/flashcard_ownership_ui_test.gd b/tests/flashcard_ownership_ui_test.gd new file mode 100644 index 0000000..54fb50c --- /dev/null +++ b/tests/flashcard_ownership_ui_test.gd @@ -0,0 +1,107 @@ +extends SceneTree + +# Exercises the client-side "system vs. user" flashcard split added to the hub screen: deck +# summaries splitting into My/Official groups in the deck selector, Edit/Archive controls being +# absent on system-owned note rows, and "New Card" refusing to target a system deck. Mirrors +# flashcard_theme_responsive_test.gd's instantiation pattern (added to the tree so _ready() runs). + +var failures := 0 + + +func _initialize() -> void: + call_deferred("_run") + + +func _run() -> void: + var host := Control.new() + host.size = Vector2(1280, 800) + root.add_child(host) + + var Hub := load("res://scripts/ui/flashcards_hub.gd") + var hub = Hub.new() + hub.size = host.size + host.add_child(hub) + await process_frame + + # ---------- Deck selector splits into "My Decks" / "Official Decks" ---------- + var summaries := [ + {"deck": {"id": "deck-mine", "name": "My Cardio Deck", "isSystem": false}, "total": 5, "mastered": 0, "due": 1, "new": 2}, + {"deck": {"id": "deck-system", "name": "Step 3 Essentials", "isSystem": true}, "total": 10, "mastered": 3, "due": 0, "new": 4}, + ] + hub._on_decks_changed(summaries) + _assert(hub.deck_ids.size() == hub.deck_selector.item_count, + "deck_ids should stay index-aligned with the OptionButton's items (including separators)") + + var my_header_index := -1 + var official_header_index := -1 + var mine_item_index := -1 + var system_item_index := -1 + for i in hub.deck_selector.item_count: + if hub.deck_selector.is_item_separator(i): + if hub.deck_selector.get_item_text(i) == "My Decks": + my_header_index = i + elif hub.deck_selector.get_item_text(i) == "Official Decks": + official_header_index = i + elif hub.deck_selector.get_item_text(i) == "My Cardio Deck": + mine_item_index = i + elif hub.deck_selector.get_item_text(i) == "Step 3 Essentials": + system_item_index = i + + _assert(my_header_index >= 0, "a 'My Decks' separator header should be present") + _assert(official_header_index >= 0, "an 'Official Decks' separator header should be present") + _assert(mine_item_index > my_header_index, "the user's own deck should be listed under the 'My Decks' header") + _assert(system_item_index > official_header_index, "the system deck should be listed under the 'Official Decks' header") + _assert(str(hub.deck_ids[mine_item_index]) == "deck-mine", "deck_ids should still resolve the correct id for the user's own deck") + _assert(str(hub.deck_ids[system_item_index]) == "deck-system", "deck_ids should still resolve the correct id for the system deck") + _assert(hub._is_system_deck("deck-system"), "_is_system_deck should report true for the seeded system deck") + _assert(not hub._is_system_deck("deck-mine"), "_is_system_deck should report false for the user's own deck") + + # ---------- System note rows have no Edit/Archive controls, plus an "Official" badge ---------- + hub.notes = [ + {"id": "note-mine", "type": "basic", "prompt": "Mine", "answer": "A", "tags": [], "isSystem": false}, + {"id": "note-system", "type": "basic", "prompt": "System", "answer": "A", "tags": [], "isSystem": true}, + ] + hub._render_notes() + await process_frame + + var mine_row := hub.list_container.get_child(0) as BoxContainer + var mine_actions := mine_row.get_child(2) as HBoxContainer + _assert(mine_actions.get_child_count() == 2, "the user's own note row should show both Edit and Archive") + + var system_row := hub.list_container.get_child(2) as BoxContainer + var system_actions := system_row.get_child(2) as HBoxContainer + _assert(system_actions.get_child_count() == 0, "a system note row should show no Edit/Archive controls at all") + + var system_header_row := (system_row.get_child(1) as VBoxContainer).get_child(0) as HBoxContainer + var found_official_badge := false + for child in system_header_row.get_children(): + if child is Label and (child as Label).text == "Official": + found_official_badge = true + _assert(found_official_badge, "a system note row should show an 'Official' badge") + + # ---------- "New Card" against a system-selected deck falls back to the default deck ---------- + hub.decks = summaries + var system_index: int = hub.deck_ids.find("deck-system") + hub.deck_selector.select(system_index) + hub._open_editor("", {}) + _assert(hub.editor_target_deck_id.is_empty(), + "opening the editor for a brand-new card while a system deck is selected should fall back to the default deck instead") + hub._close_editor() + + var mine_index: int = hub.deck_ids.find("deck-mine") + hub.deck_selector.select(mine_index) + hub._open_editor("", {}) + _assert(hub.editor_target_deck_id == "deck-mine", + "opening the editor for a brand-new card while the user's own deck is selected should target that deck") + + hub.free() + host.queue_free() + await process_frame + quit(1 if failures > 0 else 0) + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) From e8d615985b3428e002446624fc1c590d71eea0a6 Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 17:21:23 -0500 Subject: [PATCH 15/68] Reveal the flashcard answer by tapping the card, not a separate button Matches the mockup: the "Show Answer" button is replaced by an in-card "Tap card to reveal answer" hint, and clicking anywhere on the card reveals it (guarded the same way Space already was - only while at the live card and not yet revealed). --- scripts/ui/flashcards_study.gd | 45 ++++++++++++---------- tests/flashcard_session_navigation_test.gd | 4 +- tests/flashcard_study_render_test.gd | 21 +++++++++- 3 files changed, 45 insertions(+), 25 deletions(-) diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd index 74601ef..c135cb7 100644 --- a/scripts/ui/flashcards_study.gd +++ b/scripts/ui/flashcards_study.gd @@ -55,7 +55,7 @@ var back_label: Label var extra_caption: Label var extra_label: Label var card_position_label: Label -var reveal_button: Button +var tap_hint_label: Label var grade_row: HBoxContainer var grade_buttons: Dictionary = {} var undo_button: Button @@ -184,6 +184,8 @@ func _build() -> void: card_panel = PanelContainer.new() card_panel.custom_minimum_size = Vector2(720, 420) card_panel.add_theme_stylebox_override("panel", Brand.content_card_box(UIThemeService.is_dark_mode(), true, Brand.ROYAL_BLUE)) + card_panel.mouse_filter = Control.MOUSE_FILTER_STOP + card_panel.gui_input.connect(_on_card_panel_input) center.add_child(card_panel) var card_content := VBoxContainer.new() card_content.add_theme_constant_override("separation", 20) @@ -206,6 +208,13 @@ func _build() -> void: divider.visible = false card_content.add_child(divider) + var tap_hint_center := CenterContainer.new() + card_content.add_child(tap_hint_center) + tap_hint_label = Label.new() + tap_hint_label.text = "Tap card to reveal answer" + tap_hint_label.visible = false + tap_hint_center.add_child(tap_hint_label) + var answer_block := VBoxContainer.new() answer_block.add_theme_constant_override("separation", 4) card_content.add_child(answer_block) @@ -240,13 +249,6 @@ func _build() -> void: card_position_label.visible = false position_row.add_child(card_position_label) - reveal_button = Button.new() - reveal_button.text = "Show Answer (Space)" - reveal_button.custom_minimum_size = Vector2(0, 52) - _style_gradient_button(reveal_button) - reveal_button.pressed.connect(_reveal) - center_column.add_child(reveal_button) - grade_row = HBoxContainer.new() grade_row.add_theme_constant_override("separation", 10) grade_row.visible = false @@ -309,14 +311,6 @@ func _caption_label(text: String) -> Label: return label -func _style_gradient_button(button: Button) -> void: - button.add_theme_stylebox_override("normal", Brand.gradient_button_box()) - button.add_theme_stylebox_override("hover", Brand.gradient_button_box()) - button.add_theme_stylebox_override("pressed", Brand.gradient_button_box()) - button.add_theme_color_override("font_color", Color.WHITE) - button.add_theme_color_override("font_hover_color", Color.WHITE) - - func _style_ghost_button(button: Button, dark: bool) -> void: var empty := StyleBoxEmpty.new() button.add_theme_stylebox_override("normal", empty) @@ -565,6 +559,7 @@ func refresh_theme_controls() -> void: extra_caption.add_theme_color_override("font_color", Brand.muted_color(dark)) extra_label.add_theme_color_override("font_color", Brand.muted_color(dark)) card_position_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + tap_hint_label.add_theme_color_override("font_color", Brand.muted_color(dark)) _style_ghost_button(undo_button, dark) previous_button.add_theme_stylebox_override("normal", Brand.secondary_button_box(dark)) previous_button.add_theme_stylebox_override("hover", Brand.secondary_button_box(dark, true)) @@ -706,7 +701,7 @@ func _render_history_entry(index: int) -> void: _render_card() _reveal() grade_row.visible = false - reveal_button.visible = false + tap_hint_label.visible = false var is_graded_entry: bool = entry.get("action", "") == "graded" var is_last_graded_card: bool = str(entry.get("card_id", "")) == last_card_id var has_undoable_review: bool = not last_client_review_id.is_empty() @@ -811,7 +806,7 @@ func _render_loading() -> void: front_label.visible = true front_label.text = "Loading..." _hide_answer() - reveal_button.visible = false + tap_hint_label.visible = false grade_row.visible = false @@ -819,7 +814,7 @@ func _render_empty(card: Dictionary) -> void: empty_label.visible = true front_label.visible = false _hide_answer() - reveal_button.visible = false + tap_hint_label.visible = false grade_row.visible = false progress_label.text = "0 due" if typeof(card) == TYPE_DICTIONARY: @@ -844,7 +839,8 @@ func _render_card() -> void: front_label.text = str(current_note.get("prompt", "")) front_label.visible = true _hide_answer() - reveal_button.visible = true + divider.visible = true + tap_hint_label.visible = true grade_row.visible = false progress_label.text = "%d due, %d new available" % [due_remaining, new_remaining] @@ -866,13 +862,20 @@ func _reveal() -> void: extra_caption.visible = not extra.is_empty() extra_label.visible = not extra.is_empty() extra_label.text = extra - reveal_button.visible = false + tap_hint_label.visible = false grade_row.visible = true for rating in grade_buttons: var button: Button = grade_buttons[rating] button.text = "%s\n%s" % [rating.capitalize(), _interval_label_for(rating)] +func _on_card_panel_input(event: InputEvent) -> void: + if history_cursor != session_history.size() or revealed: + return + if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT: + _reveal() + + func _interval_label_for(rating: String) -> String: for option in rating_options: if str(option.get("rating", "")) == rating: diff --git a/tests/flashcard_session_navigation_test.gd b/tests/flashcard_session_navigation_test.gd index 3f77290..b6dc807 100644 --- a/tests/flashcard_session_navigation_test.gd +++ b/tests/flashcard_session_navigation_test.gd @@ -135,8 +135,8 @@ func _run() -> void: screen._go_next() _assert(screen.front_label.text == "P3(live)" and screen.history_cursor == screen.session_history.size(), "stepping past the last history entry should return to the live card") - _assert(screen.reveal_button.visible and not screen.grade_row.visible, - "returning to a live, unrevealed card should restore the reveal prompt") + _assert(screen.tap_hint_label.visible and not screen.grade_row.visible, + "returning to a live, unrevealed card should restore the tap-to-reveal hint") screen._go_next() _assert(screen.session_history.size() == 3 and screen.session_history[2]["action"] == "skipped" and screen.session_history[2]["card_id"] == "card-3", diff --git a/tests/flashcard_study_render_test.gd b/tests/flashcard_study_render_test.gd index c574886..76f4751 100644 --- a/tests/flashcard_study_render_test.gd +++ b/tests/flashcard_study_render_test.gd @@ -29,7 +29,7 @@ func _initialize() -> void: ] screen._render_card() _assert(screen.front_label.text == "2 + 2 = ?", "the front should show only the prompt before reveal") - _assert(screen.reveal_button.visible, "the reveal button should be visible before the answer is shown") + _assert(screen.tap_hint_label.visible, "the tap-to-reveal hint should be visible before the answer is shown") _assert(not screen.grade_row.visible, "grading buttons should be hidden before reveal") _assert(not screen.back_label.visible, "the back should stay hidden before reveal") @@ -38,7 +38,7 @@ func _initialize() -> void: _assert(screen.extra_label.text == "Basic arithmetic" and screen.extra_label.visible, "the extra takeaway should render in its own labeled section") _assert(screen.answer_caption.visible and screen.extra_caption.visible, "revealing a card with an extra should show both the answer and takeaway captions") _assert(screen.grade_row.visible, "grading buttons should appear after reveal") - _assert(not screen.reveal_button.visible, "the reveal button should hide once the card is revealed") + _assert(not screen.tap_hint_label.visible, "the tap-to-reveal hint should hide once the card is revealed") _assert(screen.grade_buttons["good"].text.contains("1d"), "each grade button should show its computed next interval") # Cloze card: only the card's own variant is hidden on the front; back reveals everything. @@ -60,6 +60,23 @@ func _initialize() -> void: screen._reveal() _assert(not screen.extra_label.visible and not screen.extra_caption.visible, "a card with no extra takeaway should hide that section instead of showing an empty caption") + # Tapping the card panel reveals the answer, same as pressing Space. + screen.current_note = {"type": "basic", "prompt": "Tap test", "answer": "Tapped", "extra": ""} + screen.current_card = {"id": "card-4", "variant": 0, "revision": 1} + screen.revealed = false + screen._render_card() + var click := InputEventMouseButton.new() + click.button_index = MOUSE_BUTTON_LEFT + click.pressed = true + screen._on_card_panel_input(click) + _assert(screen.revealed and screen.back_label.text == "Tapped", "clicking the card panel should reveal the answer") + + # A second tap after reveal (or while browsing history) is a no-op - it must not re-trigger + # any reveal side effects (grading is guarded elsewhere; this only checks idempotence). + screen.back_label.text = "Tapped" + screen._on_card_panel_input(click) + _assert(screen.back_label.text == "Tapped", "tapping an already-revealed card should be a no-op") + screen.free() quit(1 if failures > 0 else 0) From 9f62444a63ed018dc42a824c47d99b7d1bd78a78 Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 22:42:19 -0500 Subject: [PATCH 16/68] Add a review-flag state for questions, independent of publish status Flagged questions disappear from every student-facing surface (search, exam simulation sampling, the missed-question review queue, bookmarks, direct fetch) while staying published - flagging and unpublishing are now separate, reversible actions with their own audit trail (who flagged it, when, why). Backend-only for now: SUPER-only flag/unflag/ list endpoints, no client UI. Includes a one-time CLI sweep (flag-media-questions) to flag every existing question with an image so they can be reviewed. --- .../QuestionVisibilityTests.cs | 17 ++++++ .../Controllers/QuestionReportsController.cs | 2 +- .../Controllers/QuestionsController.cs | 37 +++++++++++-- api/QuestionsApi/Models/Question.cs | 3 ++ api/QuestionsApi/Models/QuestionRequests.cs | 5 ++ api/QuestionsApi/Models/QuestionResponse.cs | 24 +++++++++ api/QuestionsApi/Program.cs | 10 ++++ .../Services/FlagMediaQuestionsCommand.cs | 21 ++++++++ .../Services/QuestionBookmarkStore.cs | 12 ++++- api/QuestionsApi/Services/QuestionStore.cs | 52 ++++++++++++++++++- .../Services/QuestionVisibility.cs | 9 ++++ api/QuestionsApi/Services/ReviewQueueStore.cs | 2 +- tests/flashcard_ownership_ui_test.gd.uid | 1 + .../flashcard_session_navigation_test.gd.uid | 1 + 14 files changed, 187 insertions(+), 9 deletions(-) create mode 100644 api/QuestionsApi.Tests/QuestionVisibilityTests.cs create mode 100644 api/QuestionsApi/Services/FlagMediaQuestionsCommand.cs create mode 100644 api/QuestionsApi/Services/QuestionVisibility.cs create mode 100644 tests/flashcard_ownership_ui_test.gd.uid create mode 100644 tests/flashcard_session_navigation_test.gd.uid diff --git a/api/QuestionsApi.Tests/QuestionVisibilityTests.cs b/api/QuestionsApi.Tests/QuestionVisibilityTests.cs new file mode 100644 index 0000000..b39965f --- /dev/null +++ b/api/QuestionsApi.Tests/QuestionVisibilityTests.cs @@ -0,0 +1,17 @@ +using QuestionsApi.Services; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class QuestionVisibilityTests +{ + [Theory] + [InlineData(true, false, true)] + [InlineData(true, true, false)] + [InlineData(false, false, false)] + [InlineData(false, true, false)] + public void IsVisibleToStudent_MatchesTruthTable(bool isPublished, bool isFlagged, bool expected) + { + Assert.Equal(expected, QuestionVisibility.IsVisibleToStudent(isPublished, isFlagged)); + } +} diff --git a/api/QuestionsApi/Controllers/QuestionReportsController.cs b/api/QuestionsApi/Controllers/QuestionReportsController.cs index f202fef..09c2373 100644 --- a/api/QuestionsApi/Controllers/QuestionReportsController.cs +++ b/api/QuestionsApi/Controllers/QuestionReportsController.cs @@ -39,7 +39,7 @@ public class QuestionReportsController : ControllerBase return BadRequest($"details must be between {MinDetailsLength} and {MaxDetailsLength} characters"); var question = await _questions.GetByExternalIdAsync(questionExternalId); - if (question is null || (!question.IsPublished && !User.IsInRole("SUPER"))) + if (question is null || (!QuestionVisibility.IsVisibleToStudent(question.IsPublished, question.FlaggedForReviewUtc != null) && !User.IsInRole("SUPER"))) return NotFound(); var userId = CurrentUserId(); diff --git a/api/QuestionsApi/Controllers/QuestionsController.cs b/api/QuestionsApi/Controllers/QuestionsController.cs index 0116d2b..defbb92 100644 --- a/api/QuestionsApi/Controllers/QuestionsController.cs +++ b/api/QuestionsApi/Controllers/QuestionsController.cs @@ -94,7 +94,7 @@ public class QuestionsController : ControllerBase public async Task Get(string id) { var question = await _questions.GetByIdAsync(id); - if (question is null || (!question.IsPublished && !User.IsInRole("SUPER"))) + if (question is null || (!QuestionVisibility.IsVisibleToStudent(question.IsPublished, question.FlaggedForReviewUtc != null) && !User.IsInRole("SUPER"))) return NotFound(); var percentages = await _statistics.GetPercentagesForQuestionAsync(question.ExternalId); @@ -119,7 +119,7 @@ public class QuestionsController : ControllerBase return BadRequest("choiceId required"); var question = await _questions.GetByExternalIdAsync(req.QuestionExternalId.Trim()); - if (question is null || (!question.IsPublished && !User.IsInRole("SUPER"))) + if (question is null || (!QuestionVisibility.IsVisibleToStudent(question.IsPublished, question.FlaggedForReviewUtc != null) && !User.IsInRole("SUPER"))) return NotFound(); if (!question.Choices.Any(c => c.Id == req.ChoiceId.Trim())) return BadRequest("choiceId must match a choice id"); @@ -258,7 +258,7 @@ public class QuestionsController : ControllerBase return BadRequest("externalId required"); var question = await _questions.GetByExternalIdAsync(externalId.Trim()); - if (question is null || (!question.IsPublished && !User.IsInRole("SUPER"))) + if (question is null || (!QuestionVisibility.IsVisibleToStudent(question.IsPublished, question.FlaggedForReviewUtc != null) && !User.IsInRole("SUPER"))) return NotFound(); var userId = CurrentUserId(); @@ -404,6 +404,37 @@ public class QuestionsController : ControllerBase return Ok("Deleted"); } + [HttpPost("{id}/flag")] + [Authorize(Roles = "SUPER")] + public async Task Flag(string id, [FromBody] FlagQuestionRequest req) + { + if (string.IsNullOrWhiteSpace(req.Reason)) + return BadRequest("reason required"); + + var flagged = await _questions.FlagAsync(id, req.Reason.Trim(), CurrentUserId()); + if (flagged is null) + return NotFound(); + return Ok(QuestionFlagResponse.FromModel(flagged)); + } + + [HttpPost("{id}/unflag")] + [Authorize(Roles = "SUPER")] + public async Task Unflag(string id) + { + var unflagged = await _questions.UnflagAsync(id); + if (unflagged is null) + return NotFound(); + return Ok(QuestionFlagResponse.FromModel(unflagged)); + } + + [HttpGet("admin/flagged")] + [Authorize(Roles = "SUPER")] + public async Task Flagged() + { + var flagged = await _questions.GetFlaggedAsync(); + return Ok(flagged.Select(QuestionFlagResponse.FromModel)); + } + private string CurrentUserId() => User.FindFirstValue(ClaimTypes.NameIdentifier) ?? User.FindFirstValue(ClaimTypes.Name) diff --git a/api/QuestionsApi/Models/Question.cs b/api/QuestionsApi/Models/Question.cs index f621fc1..0bf6a20 100644 --- a/api/QuestionsApi/Models/Question.cs +++ b/api/QuestionsApi/Models/Question.cs @@ -30,6 +30,9 @@ public class Question public List Tags { get; set; } = []; public List References { get; set; } = []; public bool IsPublished { get; set; } = true; + public DateTime? FlaggedForReviewUtc { get; set; } + public string FlagReason { get; set; } = ""; + public string FlaggedByUserId { get; set; } = ""; public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; } diff --git a/api/QuestionsApi/Models/QuestionRequests.cs b/api/QuestionsApi/Models/QuestionRequests.cs index 9ddbb26..7004cef 100644 --- a/api/QuestionsApi/Models/QuestionRequests.cs +++ b/api/QuestionsApi/Models/QuestionRequests.cs @@ -38,6 +38,11 @@ public class UpsertQuestionRequest public bool IsPublished { get; set; } = true; } +public class FlagQuestionRequest +{ + public string Reason { get; set; } = ""; +} + public class FirstQuestionAttemptRequest { public string QuestionExternalId { get; set; } = ""; diff --git a/api/QuestionsApi/Models/QuestionResponse.cs b/api/QuestionsApi/Models/QuestionResponse.cs index f9240ec..0c636ba 100644 --- a/api/QuestionsApi/Models/QuestionResponse.cs +++ b/api/QuestionsApi/Models/QuestionResponse.cs @@ -111,6 +111,30 @@ public class QuestionResponse } } +// Admin-only shape for the flag/unflag/list-flagged endpoints - deliberately separate from +// QuestionResponse (which is student-facing and never exposes IsPublished or the flag fields). +public class QuestionFlagResponse +{ + public string Id { get; set; } = ""; + public string ExternalId { get; set; } = ""; + public string Stem { get; set; } = ""; + public bool IsPublished { get; set; } + public DateTime? FlaggedForReviewUtc { get; set; } + public string FlagReason { get; set; } = ""; + public string FlaggedByUserId { get; set; } = ""; + + public static QuestionFlagResponse FromModel(Question question) => new() + { + Id = question.Id ?? "", + ExternalId = question.ExternalId, + Stem = question.Stem, + IsPublished = question.IsPublished, + FlaggedForReviewUtc = question.FlaggedForReviewUtc, + FlagReason = question.FlagReason, + FlaggedByUserId = question.FlaggedByUserId + }; +} + public class FirstQuestionAttemptResponse { public string QuestionExternalId { get; set; } = ""; diff --git a/api/QuestionsApi/Program.cs b/api/QuestionsApi/Program.cs index b62f74f..b1e094b 100644 --- a/api/QuestionsApi/Program.cs +++ b/api/QuestionsApi/Program.cs @@ -27,6 +27,16 @@ if (args.FirstOrDefault() == "seed-flashcards") return; } +if (args.FirstOrDefault() == "flag-media-questions") +{ + var flagConfiguration = new ConfigurationBuilder() + .AddJsonFile("appsettings.json", optional: true) + .AddEnvironmentVariables() + .Build(); + Environment.ExitCode = await FlagMediaQuestionsCommand.RunAsync(flagConfiguration, Console.Out); + return; +} + var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); builder.Services.Configure(options => diff --git a/api/QuestionsApi/Services/FlagMediaQuestionsCommand.cs b/api/QuestionsApi/Services/FlagMediaQuestionsCommand.cs new file mode 100644 index 0000000..ad5ee12 --- /dev/null +++ b/api/QuestionsApi/Services/FlagMediaQuestionsCommand.cs @@ -0,0 +1,21 @@ +namespace QuestionsApi.Services; + +// One-time sweep: flags every question that currently has at least one image so it can be +// pulled from student rotation for review, without touching IsPublished. Idempotent (only +// touches questions not already flagged, via QuestionStore.FlagAllWithMediaAsync's filter) - +// safe to re-run. +public static class FlagMediaQuestionsCommand +{ + private const string Reason = "Bulk-flagged for image review"; + private const string FlaggedBy = "system"; + + public static async Task RunAsync(IConfiguration configuration, TextWriter output) + { + var mongo = new MongoDatabaseProvider(configuration); + var questions = new QuestionStore(mongo); + + var flagged = await questions.FlagAllWithMediaAsync(FlaggedBy, Reason); + await output.WriteLineAsync($"Flagged {flagged} question(s) with images for review."); + return 0; + } +} diff --git a/api/QuestionsApi/Services/QuestionBookmarkStore.cs b/api/QuestionsApi/Services/QuestionBookmarkStore.cs index bfdc6fd..33310de 100644 --- a/api/QuestionsApi/Services/QuestionBookmarkStore.cs +++ b/api/QuestionsApi/Services/QuestionBookmarkStore.cs @@ -105,7 +105,11 @@ public sealed class QuestionBookmarkStore } var questionMatch = new BsonDocument(); - if (!includeUnpublished) questionMatch["Question.IsPublished"] = true; + if (!includeUnpublished) + { + questionMatch["Question.IsPublished"] = true; + questionMatch["Question.FlaggedForReviewUtc"] = BsonNull.Value; + } if (!string.IsNullOrWhiteSpace(system) && system != "All Systems") questionMatch["Question.System"] = system.Trim(); if (!string.IsNullOrWhiteSpace(discipline)) questionMatch["Question.Discipline"] = discipline.Trim(); if (!string.IsNullOrWhiteSpace(query)) @@ -172,7 +176,11 @@ public sealed class QuestionBookmarkStore new("$unwind", "$Question") }; if (!includeUnpublished) - pipeline.Add(new BsonDocument("$match", new BsonDocument("Question.IsPublished", true))); + pipeline.Add(new BsonDocument("$match", new BsonDocument + { + { "Question.IsPublished", true }, + { "Question.FlaggedForReviewUtc", BsonNull.Value } + })); pipeline.Add(new BsonDocument("$group", new BsonDocument { { "_id", BsonNull.Value }, diff --git a/api/QuestionsApi/Services/QuestionStore.cs b/api/QuestionsApi/Services/QuestionStore.cs index 710e89a..3e6b74e 100644 --- a/api/QuestionsApi/Services/QuestionStore.cs +++ b/api/QuestionsApi/Services/QuestionStore.cs @@ -26,7 +26,10 @@ public class QuestionStore var filters = new List>(); if (!includeUnpublished) + { filters.Add(builder.Eq(q => q.IsPublished, true)); + filters.Add(builder.Eq(q => q.FlaggedForReviewUtc, null)); + } if (!string.IsNullOrWhiteSpace(req.System) && req.System != "All Systems") filters.Add(builder.Eq(q => q.System, req.System.Trim())); if (!string.IsNullOrWhiteSpace(req.Discipline)) @@ -65,7 +68,7 @@ public class QuestionStore await _col.Find(Builders.Filter.Empty).ToListAsync(); public async Task> GetPublishedAsync() => - await _col.Find(question => question.IsPublished).ToListAsync(); + await _col.Find(question => question.IsPublished && question.FlaggedForReviewUtc == null).ToListAsync(); public async Task> GetByExternalIdsAsync(IEnumerable externalIds) { @@ -125,6 +128,9 @@ public class QuestionStore return null; question.CreatedUtc = existing.CreatedUtc; + question.FlaggedForReviewUtc = existing.FlaggedForReviewUtc; + question.FlagReason = existing.FlagReason; + question.FlaggedByUserId = existing.FlaggedByUserId; var result = await _col.ReplaceOneAsync(q => q.Id == id, question); return result.MatchedCount == 0 ? null : question; } @@ -143,6 +149,9 @@ public class QuestionStore { question.Id = existing.Id; question.CreatedUtc = existing.CreatedUtc; + question.FlaggedForReviewUtc = existing.FlaggedForReviewUtc; + question.FlagReason = existing.FlagReason; + question.FlaggedByUserId = existing.FlaggedByUserId; } else { @@ -167,7 +176,7 @@ public class QuestionStore { var filter = includeUnpublished ? Builders.Filter.Empty - : Builders.Filter.Eq(q => q.IsPublished, true); + : Builders.Filter.Eq(q => q.IsPublished, true) & Builders.Filter.Eq(q => q.FlaggedForReviewUtc, null); var systems = await _col.Distinct(q => q.System, filter).ToListAsync(); return systems.Where(s => !string.IsNullOrWhiteSpace(s)).OrderBy(s => s).ToList(); } @@ -181,6 +190,45 @@ public class QuestionStore return requested.Except(existing, StringComparer.Ordinal).OrderBy(id => id).ToList(); } + // One-time bulk sweep: flags every question that has at least one image and isn't already + // flagged, in a single update rather than fetching everything into memory. + public async Task FlagAllWithMediaAsync(string flaggedByUserId, string reason) + { + var filter = Builders.Filter.Exists("Media.0", true) + & Builders.Filter.Eq(q => q.FlaggedForReviewUtc, null); + var update = Builders.Update + .Set(q => q.FlaggedForReviewUtc, DateTime.UtcNow) + .Set(q => q.FlagReason, reason) + .Set(q => q.FlaggedByUserId, flaggedByUserId); + var result = await _col.UpdateManyAsync(filter, update); + return result.ModifiedCount; + } + + public async Task FlagAsync(string id, string reason, string flaggedByUserId) + { + var update = Builders.Update + .Set(q => q.FlaggedForReviewUtc, DateTime.UtcNow) + .Set(q => q.FlagReason, reason) + .Set(q => q.FlaggedByUserId, flaggedByUserId); + return await _col.FindOneAndUpdateAsync(q => q.Id == id, update, + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + } + + public async Task UnflagAsync(string id) + { + var update = Builders.Update + .Set(q => q.FlaggedForReviewUtc, null) + .Set(q => q.FlagReason, "") + .Set(q => q.FlaggedByUserId, ""); + return await _col.FindOneAndUpdateAsync(q => q.Id == id, update, + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + } + + public async Task> GetFlaggedAsync() => + await _col.Find(q => q.FlaggedForReviewUtc != null) + .SortByDescending(q => q.FlaggedForReviewUtc) + .ToListAsync(); + public async Task UpdateReferencesByExternalIdAsync(IEnumerable updates) { var now = DateTime.UtcNow; diff --git a/api/QuestionsApi/Services/QuestionVisibility.cs b/api/QuestionsApi/Services/QuestionVisibility.cs new file mode 100644 index 0000000..12687a3 --- /dev/null +++ b/api/QuestionsApi/Services/QuestionVisibility.cs @@ -0,0 +1,9 @@ +namespace QuestionsApi.Services; + +// Pure student-visibility decision for a question, kept dependency-free (like FlashcardScheduling) +// so it's unit testable without a controller or Mongo. Consolidates what used to be duplicated +// inline across QuestionsController/QuestionReportsController. +public static class QuestionVisibility +{ + public static bool IsVisibleToStudent(bool isPublished, bool isFlagged) => isPublished && !isFlagged; +} diff --git a/api/QuestionsApi/Services/ReviewQueueStore.cs b/api/QuestionsApi/Services/ReviewQueueStore.cs index bf63817..54d0125 100644 --- a/api/QuestionsApi/Services/ReviewQueueStore.cs +++ b/api/QuestionsApi/Services/ReviewQueueStore.cs @@ -129,7 +129,7 @@ public sealed class ReviewQueueStore foreach (var candidate in candidates) { var question = await _questions.GetByExternalIdAsync(candidate.QuestionExternalId); - if (question is { IsPublished: true }) return candidate; + if (question is { IsPublished: true, FlaggedForReviewUtc: null }) return candidate; await _items.UpdateOneAsync( value => value.Id == candidate.Id && value.State == ReviewQueueStates.Pending, Builders.Update diff --git a/tests/flashcard_ownership_ui_test.gd.uid b/tests/flashcard_ownership_ui_test.gd.uid new file mode 100644 index 0000000..65ff0be --- /dev/null +++ b/tests/flashcard_ownership_ui_test.gd.uid @@ -0,0 +1 @@ +uid://b1nkwx4qlt27l diff --git a/tests/flashcard_session_navigation_test.gd.uid b/tests/flashcard_session_navigation_test.gd.uid new file mode 100644 index 0000000..f4a39e1 --- /dev/null +++ b/tests/flashcard_session_navigation_test.gd.uid @@ -0,0 +1 @@ +uid://cmhk4acaxbsjs From f17797beccc0de68dd81944433ddbe4bb71a55bc Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 22:52:38 -0500 Subject: [PATCH 17/68] Don't show the session-expiry warning to actively-used sessions The warning was purely a token-expiry countdown with no concept of user activity, so it interrupted people who had been clicking through questions the whole time. AuthState now tracks real input activity globally and silently refreshes the session in the background when the user has interacted recently, only surfacing the "Stay logged in?" dialog for sessions that are genuinely idle. A failed background refresh still surfaces the dialog rather than silently logging the user out. --- scripts/autoload/auth_state.gd | 13 +++++++++++++ scripts/ui/session_expiry_dialog.gd | 4 ++-- tests/auth_session_test.gd | 21 +++++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/scripts/autoload/auth_state.gd b/scripts/autoload/auth_state.gd index 0e99b6f..e4b12ad 100644 --- a/scripts/autoload/auth_state.gd +++ b/scripts/autoload/auth_state.gd @@ -12,6 +12,7 @@ const EndpointConfig := preload("res://scripts/autoload/api_endpoint_config.gd") const DEFAULT_AUTH_BASE_URL := "https://us3q.ranaze.com/api/Auth" const WARNING_SECONDS := 120 const REFRESH_TIMEOUT_SECONDS := 20.0 +const ACTIVE_RECENTLY_SECONDS := 60 var is_logged_in := false var username := "" @@ -32,6 +33,7 @@ var expiry_timer: Timer var refresh_request: HTTPRequest var session_revision := 0 var refresh_revision := -1 +var last_activity_unix := 0.0 func _ready() -> void: @@ -46,6 +48,12 @@ func _ready() -> void: refresh_request.timeout = REFRESH_TIMEOUT_SECONDS refresh_request.request_completed.connect(_on_refresh_completed) add_child(refresh_request) + last_activity_unix = Time.get_unix_time_from_system() + + +func _input(_event: InputEvent) -> void: + last_activity_unix = Time.get_unix_time_from_system() + func set_session(new_username: String, token: String, new_refresh_token: String = "", new_role: String = "", token_expiration: String = "", legal: Dictionary = {}) -> void: session_revision += 1 @@ -59,6 +67,7 @@ func set_session(new_username: String, token: String, new_refresh_token: String refresh_in_progress = false refresh_revision = -1 warning_active = false + last_activity_unix = Time.get_unix_time_from_system() set_legal_state(legal, false) if is_logged_in and expiration_unix > 0.0: expiry_timer.start() @@ -151,6 +160,10 @@ func _evaluate_expiry() -> void: expire_session("expired") return if remaining <= WARNING_SECONDS: + var seconds_since_activity := Time.get_unix_time_from_system() - last_activity_unix + if seconds_since_activity <= ACTIVE_RECENTLY_SECONDS and not refresh_in_progress: + request_session_refresh() + return if not warning_active: warning_active = true session_warning.emit(remaining) diff --git a/scripts/ui/session_expiry_dialog.gd b/scripts/ui/session_expiry_dialog.gd index a81987b..a93826a 100644 --- a/scripts/ui/session_expiry_dialog.gd +++ b/scripts/ui/session_expiry_dialog.gd @@ -117,8 +117,8 @@ func _refresh_succeeded() -> void: func _refresh_failed(message: String, terminal: bool) -> void: - if not visible: - return + visible = true + move_to_front() error_label.text = message stay_button.text = "Stay logged in" stay_button.disabled = terminal diff --git a/tests/auth_session_test.gd b/tests/auth_session_test.gd index f58931d..6349df7 100644 --- a/tests/auth_session_test.gd +++ b/tests/auth_session_test.gd @@ -14,6 +14,7 @@ func _run() -> void: await process_frame _test_expiration_parsing() _test_warning_and_expiration() + _test_active_user_silently_refreshes_instead_of_warning() _test_refresh_preserves_identity() _test_refresh_in_flight_has_expiry_grace() _test_stale_responses_cannot_restore_or_end_session() @@ -40,6 +41,7 @@ func _test_warning_and_expiration() -> void: auth.session_warning.connect(warning_callback) auth.session_expired.connect(expiration_callback) auth.set_session("tester", "warning-token", "refresh-token", "USER", str(Time.get_unix_time_from_system() + 90.0)) + auth.last_activity_unix = Time.get_unix_time_from_system() - 3600.0 auth._evaluate_expiry() _assert(int(observed["warning_seconds"]) > 0 and int(observed["warning_seconds"]) <= 90, "session should warn inside the two-minute renewal window") auth.expiration_unix = Time.get_unix_time_from_system() - 1.0 @@ -49,6 +51,25 @@ func _test_warning_and_expiration() -> void: auth.session_expired.disconnect(expiration_callback) +func _test_active_user_silently_refreshes_instead_of_warning() -> void: + var observed := {"warning_seconds": -1} + var warning_callback := func(seconds: int): observed["warning_seconds"] = seconds + auth.session_warning.connect(warning_callback) + # Point at a local, always-refused port so the real refresh attempt this triggers fails + # fast and never touches the real network - the point of this test is that + # request_session_refresh() gets called at all, not that it succeeds. + auth.auth_base_url = "http://127.0.0.1:1" + auth.set_session("tester", "active-token", "refresh-token", "USER", str(Time.get_unix_time_from_system() + 90.0)) + auth.last_activity_unix = Time.get_unix_time_from_system() + auth._evaluate_expiry() + _assert(int(observed["warning_seconds"]) == -1 and not auth.warning_active, "an actively-used session should not show the expiry warning") + _assert(auth.refresh_in_progress, "an actively-used session nearing expiry should silently attempt a refresh instead of warning") + auth.session_warning.disconnect(warning_callback) + auth.refresh_in_progress = false + auth.auth_base_url = auth.DEFAULT_AUTH_BASE_URL + auth.clear_session() + + func _test_refresh_preserves_identity() -> void: var observed := {"refreshed": false} var refreshed_callback := func(): observed["refreshed"] = true From b56d48d570157d7f6249639a528eaf69609b187d Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 23:10:41 -0500 Subject: [PATCH 18/68] Fix eliminated-choice strikethrough disappearing on wrong/correct reveal A choice that was crossed out (right-click) and also happened to be locked as the submitted-wrong choice, or revealed as the correct answer, silently lost its strikethrough because the percentage-badge branches took precedence over the elimination check in the same if/elif chain. Decoupled the two so a choice can show both the strikethrough and its reveal percentage at once. --- scripts/ui/question_player.gd | 10 ++-------- tests/post_answer_review_test.gd | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index e23bb4d..7782d57 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -2968,17 +2968,11 @@ func _set_choice_button_text(index: int, choice: Dictionary) -> void: choice_buttons[index].custom_minimum_size = Vector2(0, 54) _set_choice_percent_label(index, "") _set_choice_top_label(index, "") - if locked_wrong_choice_ids.has(choice_id): + if locked_wrong_choice_ids.has(choice_id) or _should_show_correct_choice_percentage(choice_id): var percentage := _get_choice_selection_percentage(choice_id) if percentage >= 0: _set_choice_percent_label(index, "%d%%" % percentage) - choice_buttons[index].text = choice_text - elif _should_show_correct_choice_percentage(choice_id): - var correct_percentage := _get_choice_selection_percentage(choice_id) - if correct_percentage >= 0: - _set_choice_percent_label(index, "%d%%" % correct_percentage) - choice_buttons[index].text = choice_text - elif eliminated.has(choice_id): + if eliminated.has(choice_id): choice_buttons[index].text = "" _set_choice_top_label(index, "[s]%s[/s]" % _escape_bbcode(choice_text)) else: diff --git a/tests/post_answer_review_test.gd b/tests/post_answer_review_test.gd index 5b02a2a..4ec4139 100644 --- a/tests/post_answer_review_test.gd +++ b/tests/post_answer_review_test.gd @@ -11,6 +11,7 @@ func _initialize() -> void: _test_correct_feedback_does_not_auto_advance() _test_correct_review_locks_answer_interactions() _test_eliminated_choice_uses_rich_text_strikeout() + _test_eliminated_choice_that_is_also_locked_wrong_still_strikes_through() _test_explanation_highlighting_has_no_status_heading() _test_collapsed_followup_review_expands() _test_review_content_normalization() @@ -143,6 +144,27 @@ func _test_eliminated_choice_uses_rich_text_strikeout() -> void: player.free() +func _test_eliminated_choice_that_is_also_locked_wrong_still_strikes_through() -> void: + var player = load("res://scripts/ui/question_player.gd").new() + player.choice_buttons.append(Button.new()) + player.choice_percent_labels.append(Label.new()) + var strike_label := RichTextLabel.new() + strike_label.bbcode_enabled = true + player.choice_top_labels.append(strike_label) + player.choice_followup_panels.append(PanelContainer.new()) + player.eliminated = ["A"] + player.locked_wrong_choice_ids = ["A"] + player.presented_choices = [{"id": "A", "text": "Observation only"}] + player._set_choice_button_text(0, player.presented_choices[0]) + _assert(strike_label.text == "[s]Observation only[/s]", "a choice that's both eliminated and locked-wrong should still strike through") + _assert(player.choice_buttons[0].text == "", "the struck-through choice's button text should stay cleared") + player.choice_buttons[0].free() + player.choice_percent_labels[0].free() + strike_label.free() + player.choice_followup_panels[0].free() + player.free() + + func _test_explanation_highlighting_has_no_status_heading() -> void: var player = load("res://scripts/ui/question_player.gd").new() player.explanation_label = RichTextLabel.new() From 6c388dfa5e3ccd5a57a314dd6a2d97000ebb3492 Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 23:18:13 -0500 Subject: [PATCH 19/68] Redesign answer choice rows into a cleaner divided list Unselected/eliminated choices now sit in a flat list with a thin bottom divider instead of each getting its own bordered box, and only the selected/correct/wrong choice pops out as a rounded, tinted card - closer to the reference mockup and less visually busy than every option looking like an separate boxed card. --- scripts/ui/question_player.gd | 38 ++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 7782d57..1ca107a 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -423,10 +423,14 @@ func _ready() -> void: _set_scaled_label(question_elo_label, 16, Style.AMBER) question_content.add_child(question_elo_label) + var choices_container := VBoxContainer.new() + choices_container.add_theme_constant_override("separation", 8) + question_content.add_child(choices_container) + for index in range(5): var choice_row := VBoxContainer.new() choice_row.add_theme_constant_override("separation", 6) - question_content.add_child(choice_row) + choices_container.add_child(choice_row) choice_rows.append(choice_row) var button := Button.new() @@ -678,28 +682,30 @@ func _question_content_box(dark: bool) -> StyleBoxFlat: func _answer_box(dark: bool, state: String) -> StyleBoxFlat: var box := StyleBoxFlat.new() - var background := Color("0b172b") if dark else Color("ffffff") - var border := Color("2b3958") if dark else Brand.LIGHT_BORDER - if state == "selected": - background = Color("17183b") if dark else Color("f7f3ff") - border = Brand.PURPLE - elif state == "correct": + box.content_margin_left = 54 + box.content_margin_right = 82 + box.content_margin_top = 16 + box.content_margin_bottom = 16 + if state == "default" or state == "eliminated": + # Flat, divider-style row - most choices sit in a plain list; only the + # states below need to visually pop out as their own card. + box.bg_color = Color("0b172b") if dark else Color("ffffff") + box.border_color = Color("22304d") if dark else Color("e7ebf2") + box.border_width_bottom = 1 + box.set_corner_radius_all(0) + return box + var background := Color("17183b") if dark else Color("eff4ff") + var border := Brand.PURPLE + if state == "correct": background = Color("08251d") if dark else Color("ecfdf3") border = Brand.SUCCESS elif state == "wrong": background = Color("32131d") if dark else Color("fff1f2") border = Color("fb7185") - elif state == "eliminated": - background = Color("0a1323") if dark else Color("f8fafc") - border = Color("26344f") if dark else Color("e2e8f0") box.bg_color = background box.border_color = border - box.set_border_width_all(1) - box.set_corner_radius_all(7) - box.content_margin_left = 54 - box.content_margin_right = 82 - box.content_margin_top = 12 - box.content_margin_bottom = 12 + box.set_border_width_all(2) + box.set_corner_radius_all(14) return box From aef287ac2639332e85285f263de740fb1a27a5ee Mon Sep 17 00:00:00 2001 From: hz Date: Wed, 22 Jul 2026 23:48:00 -0500 Subject: [PATCH 20/68] Fix pixelated circle badges with a seam through the center icon_circle_box's perfectly-circular StyleBoxFlat (corner radius equal to half the box size, no straight edges between corners) is a known Godot degenerate case that draws a faint seam through the middle when antialiasing is on and looks faceted at low corner_detail. Bumping corner_detail and disabling antialiasing renders a clean circle at these small badge/icon sizes instead - affects every icon_circle_box call site (answer badges, stat tiles, avatars, etc.), not just the question player. --- scripts/ui/medmind_style.gd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/ui/medmind_style.gd b/scripts/ui/medmind_style.gd index 69c86fc..bbe48a1 100644 --- a/scripts/ui/medmind_style.gd +++ b/scripts/ui/medmind_style.gd @@ -146,6 +146,12 @@ static func icon_circle_box(dark: bool, accent: Color, radius: int, filled: bool box.border_color = Color(accent, 0.48 if dark else 0.18) box.set_border_width_all(1) box.set_corner_radius_all(radius) + # A perfectly circular StyleBoxFlat (radius == half the box size, no straight edges + # between corners) is a known Godot degenerate case that can draw a faint seam through + # the middle when antialiasing is on; more corner segments plus disabling AA renders a + # clean circle instead at these small badge sizes. + box.corner_detail = 20 + box.anti_aliasing = false return box From 9d18704ad07a9313022c762bb24ee54479aad28b Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 00:14:49 -0500 Subject: [PATCH 21/68] Render answer-choice badges as SVGs and give rows more breathing room StyleBoxFlat-drawn circles kept looking rough at this size even after tuning corner detail/antialiasing, so the badges are now two small SVG assets (outline and filled) tinted per-state via modulate instead - crisp regardless of size. Also increased row height, badge size, and margins across the board; the previous pass's padding bump was too timid and the rows still read as cramped. --- assets/icons/medmind/badge-circle-filled.svg | 3 + .../medmind/badge-circle-filled.svg.import | 43 ++++++++++++ assets/icons/medmind/badge-circle-outline.svg | 3 + .../medmind/badge-circle-outline.svg.import | 43 ++++++++++++ scripts/ui/question_player.gd | 67 +++++++++++++------ 5 files changed, 137 insertions(+), 22 deletions(-) create mode 100644 assets/icons/medmind/badge-circle-filled.svg create mode 100644 assets/icons/medmind/badge-circle-filled.svg.import create mode 100644 assets/icons/medmind/badge-circle-outline.svg create mode 100644 assets/icons/medmind/badge-circle-outline.svg.import diff --git a/assets/icons/medmind/badge-circle-filled.svg b/assets/icons/medmind/badge-circle-filled.svg new file mode 100644 index 0000000..5661376 --- /dev/null +++ b/assets/icons/medmind/badge-circle-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/medmind/badge-circle-filled.svg.import b/assets/icons/medmind/badge-circle-filled.svg.import new file mode 100644 index 0000000..d50f21c --- /dev/null +++ b/assets/icons/medmind/badge-circle-filled.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://neyyjsv1yi2y" +path="res://.godot/imported/badge-circle-filled.svg-c615dfa6e3ba91563385092d88757ba4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/medmind/badge-circle-filled.svg" +dest_files=["res://.godot/imported/badge-circle-filled.svg-c615dfa6e3ba91563385092d88757ba4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/assets/icons/medmind/badge-circle-outline.svg b/assets/icons/medmind/badge-circle-outline.svg new file mode 100644 index 0000000..5c299dc --- /dev/null +++ b/assets/icons/medmind/badge-circle-outline.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/medmind/badge-circle-outline.svg.import b/assets/icons/medmind/badge-circle-outline.svg.import new file mode 100644 index 0000000..3edb651 --- /dev/null +++ b/assets/icons/medmind/badge-circle-outline.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2epi5x1l2k3k" +path="res://.godot/imported/badge-circle-outline.svg-48e5795ac9a851c7826f85026138d065.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/medmind/badge-circle-outline.svg" +dest_files=["res://.godot/imported/badge-circle-outline.svg-48e5795ac9a851c7826f85026138d065.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 1ca107a..96eeecc 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -9,6 +9,8 @@ const LABS_DARK_ICON := preload("res://assets/icons/medmind/labs-dark.svg") const LABS_LIGHT_ICON := preload("res://assets/icons/medmind/labs-light.svg") const REPORT_QUESTION_DARK_ICON := preload("res://assets/icons/medmind/report-question-dark.svg") const REPORT_QUESTION_LIGHT_ICON := preload("res://assets/icons/medmind/report-question-light.svg") +const BADGE_CIRCLE_OUTLINE_ICON := preload("res://assets/icons/medmind/badge-circle-outline.svg") +const BADGE_CIRCLE_FILLED_ICON := preload("res://assets/icons/medmind/badge-circle-filled.svg") const FEEDBACK_FADE_SECONDS := 0.45 const CORRECT_ADVANCE_DELAY_SECONDS := 1.25 const TEXT_SCALE_MIN := 0.85 @@ -104,6 +106,7 @@ var question_content: VBoxContainer var media_container: VBoxContainer var timer_bar: ProgressBar var choice_badges: Array[Label] = [] +var choice_badge_textures: Array[TextureRect] = [] var feedback_fog: ColorRect var labs_overlay: Control var labs_panel: PanelContainer @@ -424,7 +427,7 @@ func _ready() -> void: question_content.add_child(question_elo_label) var choices_container := VBoxContainer.new() - choices_container.add_theme_constant_override("separation", 8) + choices_container.add_theme_constant_override("separation", 10) question_content.add_child(choices_container) for index in range(5): @@ -434,7 +437,7 @@ func _ready() -> void: choice_rows.append(choice_row) var button := Button.new() - button.custom_minimum_size = Vector2(0, 54) + button.custom_minimum_size = Vector2(0, 68) button.alignment = HORIZONTAL_ALIGNMENT_LEFT Style.style_answer_button(button) UISoundService.set_button_sound(button, "select") @@ -443,20 +446,36 @@ func _ready() -> void: button.gui_input.connect(func(event: InputEvent, i := index): _choice_gui_input(event, i)) choice_buttons.append(button) + var badge_wrap := Control.new() + badge_wrap.mouse_filter = Control.MOUSE_FILTER_IGNORE + badge_wrap.anchor_left = 0.0 + badge_wrap.anchor_top = 0.0 + badge_wrap.anchor_right = 0.0 + badge_wrap.anchor_bottom = 0.0 + badge_wrap.offset_left = 16 + badge_wrap.offset_top = 17 + badge_wrap.offset_right = 50 + badge_wrap.offset_bottom = 51 + button.add_child(badge_wrap) + + # The badge circle is a pre-rendered SVG (tinted per-state via modulate) rather than a + # StyleBoxFlat corner-radius circle - a perfectly circular StyleBoxFlat is a known Godot + # degenerate case that can show a seam/faceting at this size even with AA tuned. + var badge_texture := TextureRect.new() + badge_texture.mouse_filter = Control.MOUSE_FILTER_IGNORE + badge_texture.texture = BADGE_CIRCLE_OUTLINE_ICON + badge_texture.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED + badge_texture.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + badge_wrap.add_child(badge_texture) + choice_badge_textures.append(badge_texture) + var badge := Label.new() badge.mouse_filter = Control.MOUSE_FILTER_IGNORE badge.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER badge.vertical_alignment = VERTICAL_ALIGNMENT_CENTER - badge.anchor_left = 0.0 - badge.anchor_top = 0.0 - badge.anchor_right = 0.0 - badge.anchor_bottom = 0.0 - badge.offset_left = 12 - badge.offset_top = 12 - badge.offset_right = 42 - badge.offset_bottom = 42 - _set_scaled_label(badge, 14, Brand.muted_color(true)) - button.add_child(badge) + badge.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + _set_scaled_label(badge, 15, Brand.muted_color(true)) + badge_wrap.add_child(badge) choice_badges.append(badge) var percent_label := Label.new() @@ -469,9 +488,9 @@ func _ready() -> void: percent_label.anchor_right = 1.0 percent_label.anchor_bottom = 0.0 percent_label.offset_left = -82 - percent_label.offset_top = 8 + percent_label.offset_top = 18 percent_label.offset_right = -18 - percent_label.offset_bottom = 40 + percent_label.offset_bottom = 50 _set_scaled_label(percent_label, 18, Style.TEXT) button.add_child(percent_label) choice_percent_labels.append(percent_label) @@ -486,10 +505,10 @@ func _ready() -> void: top_label.anchor_top = 0.0 top_label.anchor_right = 1.0 top_label.anchor_bottom = 0.0 - top_label.offset_left = 54 - top_label.offset_top = 10 + top_label.offset_left = 62 + top_label.offset_top = 18 top_label.offset_right = -96 - top_label.offset_bottom = 42 + top_label.offset_bottom = 50 _set_scaled_rich_text(top_label, 16) top_label.add_theme_color_override("default_color", Style.RED) button.add_child(top_label) @@ -682,10 +701,10 @@ func _question_content_box(dark: bool) -> StyleBoxFlat: func _answer_box(dark: bool, state: String) -> StyleBoxFlat: var box := StyleBoxFlat.new() - box.content_margin_left = 54 + box.content_margin_left = 62 box.content_margin_right = 82 - box.content_margin_top = 16 - box.content_margin_bottom = 16 + box.content_margin_top = 22 + box.content_margin_bottom = 22 if state == "default" or state == "eliminated": # Flat, divider-style row - most choices sit in a plain list; only the # states below need to visually pop out as their own card. @@ -3015,8 +3034,12 @@ func _style_choice_button_for_state(index: int, choice_id: String) -> void: if state == "selected": accent = Brand.PURPLE elif state == "correct": accent = Brand.SUCCESS elif state == "wrong": accent = Color("fb7185") - badge.add_theme_stylebox_override("normal", Brand.icon_circle_box(dark, accent, 15, state in ["selected", "correct", "wrong"])) - badge.add_theme_color_override("font_color", Color.WHITE if state in ["selected", "correct", "wrong"] else Brand.muted_color(dark)) + var filled := state in ["selected", "correct", "wrong"] + if index < choice_badge_textures.size(): + var badge_texture := choice_badge_textures[index] + badge_texture.texture = BADGE_CIRCLE_FILLED_ICON if filled else BADGE_CIRCLE_OUTLINE_ICON + badge_texture.modulate = accent + badge.add_theme_color_override("font_color", Color.WHITE if filled else Brand.muted_color(dark)) func _mark_review_input_handled() -> void: From 5f3289bb8e1811b1b90a47d0dd4d5e30fd5c222b Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 00:33:52 -0500 Subject: [PATCH 22/68] Vertically center the question+choices block before an answer is submitted Fixes the large empty gap below the answer choices reported after the answer-row redesign - the stem+choices VBox was pinned to the top of an expand-filled scroll panel with all the leftover height sitting unused below choice E. Now centers that block when unanswered and reverts to top alignment once the explanation/review content grows underneath it. --- scripts/ui/question_player.gd | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 96eeecc..68da0eb 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -386,12 +386,14 @@ func _ready() -> void: var content_margin := MarginContainer.new() content_margin.size_flags_horizontal = Control.SIZE_EXPAND_FILL + content_margin.size_flags_vertical = Control.SIZE_EXPAND_FILL content_margin.add_theme_constant_override("margin_left", 4) content_margin.add_theme_constant_override("margin_right", 12) question_scroll.add_child(content_margin) question_content = VBoxContainer.new() question_content.size_flags_horizontal = Control.SIZE_EXPAND_FILL + question_content.size_flags_vertical = Control.SIZE_EXPAND_FILL question_content.add_theme_constant_override("separation", 12) content_margin.add_child(question_content) @@ -1498,6 +1500,7 @@ func _show_explanation() -> void: correct_answer_heading.text = "Correct Answer: %s" % _display_label_for_choice_id(correct_id) _update_question_elo_label(true) _refresh_nav_palette() + _update_content_vertical_alignment() func _render_answer_review_sections() -> void: @@ -1520,6 +1523,19 @@ func _clear_answer_review() -> void: review_followups_section.visible = false if wrong_options_section != null: wrong_options_section.visible = false + _update_content_vertical_alignment() + + +func _update_content_vertical_alignment() -> void: + if question_content == null: + return + # Before an answer is submitted the stem+choices block is usually shorter than the + # available panel height; center it so it doesn't sit pinned to the top with a slab + # of empty space below. Once the answer review content appears, go back to top + # alignment so the growing explanation/follow-up sections read top-down and scroll + # naturally instead of being centered mid-panel. + var answered := correct_review_panel != null and correct_review_panel.visible + question_content.alignment = BoxContainer.ALIGNMENT_BEGIN if answered else BoxContainer.ALIGNMENT_CENTER func _clear_container_children(container: Control) -> void: From b822fe53140a4ebce4c6413304f5a1b3b175483f Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 00:42:50 -0500 Subject: [PATCH 23/68] Redesign clear-highlight icon as an eraser with sparkles Also drop a stale custom_minimum_size(0, 54) reset left over in _set_choice_button_text from before the answer row redesign - it was silently overriding the button's real 68px minimum height on every question load and on every elimination/strikethrough toggle, which is why choice rows never actually got taller and why striking a choice through visibly shrank its card. --- assets/icons/medmind/clear-highlight-dark.svg | 10 +++++++--- assets/icons/medmind/clear-highlight-dark.svg.import | 2 +- assets/icons/medmind/clear-highlight-light.svg | 10 +++++++--- assets/icons/medmind/clear-highlight-light.svg.import | 2 +- scripts/ui/question_player.gd | 1 - 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/assets/icons/medmind/clear-highlight-dark.svg b/assets/icons/medmind/clear-highlight-dark.svg index 9a1932e..63368e5 100644 --- a/assets/icons/medmind/clear-highlight-dark.svg +++ b/assets/icons/medmind/clear-highlight-dark.svg @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/assets/icons/medmind/clear-highlight-dark.svg.import b/assets/icons/medmind/clear-highlight-dark.svg.import index 1e99851..06e2d62 100644 --- a/assets/icons/medmind/clear-highlight-dark.svg.import +++ b/assets/icons/medmind/clear-highlight-dark.svg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bx3x2rqpurqqw" +uid="uid://fl5g0hqtqegt" path="res://.godot/imported/clear-highlight-dark.svg-67d9eee7c448efe7f572e5fc819b8ea0.ctex" metadata={ "vram_texture": false diff --git a/assets/icons/medmind/clear-highlight-light.svg b/assets/icons/medmind/clear-highlight-light.svg index 454dd9e..94fc078 100644 --- a/assets/icons/medmind/clear-highlight-light.svg +++ b/assets/icons/medmind/clear-highlight-light.svg @@ -1,5 +1,9 @@ - - - + + + + + + + diff --git a/assets/icons/medmind/clear-highlight-light.svg.import b/assets/icons/medmind/clear-highlight-light.svg.import index c18ede7..8c2773c 100644 --- a/assets/icons/medmind/clear-highlight-light.svg.import +++ b/assets/icons/medmind/clear-highlight-light.svg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bgpsqicfixhew" +uid="uid://4vrs2omb0iy6" path="res://.godot/imported/clear-highlight-light.svg-93f7a6cb5f22325bc90fadf2e89641fc.ctex" metadata={ "vram_texture": false diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 68da0eb..d625eb9 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -3006,7 +3006,6 @@ func _set_choice_button_text(index: int, choice: Dictionary) -> void: var display_label := _display_label_for_index(index) if index < choice_badges.size(): choice_badges[index].text = display_label - choice_buttons[index].custom_minimum_size = Vector2(0, 54) _set_choice_percent_label(index, "") _set_choice_top_label(index, "") if locked_wrong_choice_ids.has(choice_id) or _should_show_correct_choice_percentage(choice_id): From 5ba7af9d3ebce4c3ace111b72c161ce249174a79 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 01:23:53 -0500 Subject: [PATCH 24/68] Redesign flag/report icons as vector assets and dock review panels inside their choice card Flag question now uses a clean vector flag (dark/light SVG variants, replacing a hand-drawn pixel-art icon that got muddied by the shared toolbar icon-tint override). Report question is now a megaphone instead of a second flag glyph, since both toolbar buttons looked identical before. The correct-answer explanation and the wrong-answer follow-up quiz previously rendered as separate bordered boxes sitting below the entire choice list. Both now dock inside their own choice's card: the explanation panel reparents onto the correct choice's row, the follow-up panel was already there but visually detached. A shared _attached_panel_box style drops the shared border/corner between the choice button and its panel so they read as one continuous card. --- assets/icons/medmind/flag-dark.svg | 4 + assets/icons/medmind/flag-dark.svg.import | 43 ++++++ assets/icons/medmind/flag-light.svg | 4 + assets/icons/medmind/flag-light.svg.import | 43 ++++++ assets/icons/medmind/report-question-dark.svg | 6 +- .../medmind/report-question-dark.svg.import | 2 +- .../icons/medmind/report-question-light.svg | 6 +- .../medmind/report-question-light.svg.import | 2 +- scripts/ui/question_player.gd | 135 ++++++++++-------- 9 files changed, 181 insertions(+), 64 deletions(-) create mode 100644 assets/icons/medmind/flag-dark.svg create mode 100644 assets/icons/medmind/flag-dark.svg.import create mode 100644 assets/icons/medmind/flag-light.svg create mode 100644 assets/icons/medmind/flag-light.svg.import diff --git a/assets/icons/medmind/flag-dark.svg b/assets/icons/medmind/flag-dark.svg new file mode 100644 index 0000000..61b57f3 --- /dev/null +++ b/assets/icons/medmind/flag-dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/medmind/flag-dark.svg.import b/assets/icons/medmind/flag-dark.svg.import new file mode 100644 index 0000000..3e8ff28 --- /dev/null +++ b/assets/icons/medmind/flag-dark.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pffbgabfvqoi" +path="res://.godot/imported/flag-dark.svg-991f8446e8d6e35dda3f6918b79c2529.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/medmind/flag-dark.svg" +dest_files=["res://.godot/imported/flag-dark.svg-991f8446e8d6e35dda3f6918b79c2529.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/assets/icons/medmind/flag-light.svg b/assets/icons/medmind/flag-light.svg new file mode 100644 index 0000000..c760024 --- /dev/null +++ b/assets/icons/medmind/flag-light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/medmind/flag-light.svg.import b/assets/icons/medmind/flag-light.svg.import new file mode 100644 index 0000000..c47f1b6 --- /dev/null +++ b/assets/icons/medmind/flag-light.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rrjvnmtbkc2c" +path="res://.godot/imported/flag-light.svg-028b26500c0b5f2e10e3a85231e2e56d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/medmind/flag-light.svg" +dest_files=["res://.godot/imported/flag-light.svg-028b26500c0b5f2e10e3a85231e2e56d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/assets/icons/medmind/report-question-dark.svg b/assets/icons/medmind/report-question-dark.svg index 442a927..007fb72 100644 --- a/assets/icons/medmind/report-question-dark.svg +++ b/assets/icons/medmind/report-question-dark.svg @@ -1,5 +1,5 @@ - - - + + + diff --git a/assets/icons/medmind/report-question-dark.svg.import b/assets/icons/medmind/report-question-dark.svg.import index c2a2de3..9d75388 100644 --- a/assets/icons/medmind/report-question-dark.svg.import +++ b/assets/icons/medmind/report-question-dark.svg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://d1rf1y5ym0abp" +uid="uid://2h8hksovbjvl" path="res://.godot/imported/report-question-dark.svg-0c56358e403130829c20d7684d988f4f.ctex" metadata={ "vram_texture": false diff --git a/assets/icons/medmind/report-question-light.svg b/assets/icons/medmind/report-question-light.svg index 425c867..acb7af3 100644 --- a/assets/icons/medmind/report-question-light.svg +++ b/assets/icons/medmind/report-question-light.svg @@ -1,5 +1,5 @@ - - - + + + diff --git a/assets/icons/medmind/report-question-light.svg.import b/assets/icons/medmind/report-question-light.svg.import index 856d312..8b09f03 100644 --- a/assets/icons/medmind/report-question-light.svg.import +++ b/assets/icons/medmind/report-question-light.svg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://btqfcwm8c1ymy" +uid="uid://gljo3k630b6f" path="res://.godot/imported/report-question-light.svg-d6a637ee28802ff5e54da98728d1db20.ctex" metadata={ "vram_texture": false diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index d625eb9..a8cfe39 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -9,6 +9,8 @@ const LABS_DARK_ICON := preload("res://assets/icons/medmind/labs-dark.svg") const LABS_LIGHT_ICON := preload("res://assets/icons/medmind/labs-light.svg") const REPORT_QUESTION_DARK_ICON := preload("res://assets/icons/medmind/report-question-dark.svg") const REPORT_QUESTION_LIGHT_ICON := preload("res://assets/icons/medmind/report-question-light.svg") +const FLAG_DARK_ICON := preload("res://assets/icons/medmind/flag-dark.svg") +const FLAG_LIGHT_ICON := preload("res://assets/icons/medmind/flag-light.svg") const BADGE_CIRCLE_OUTLINE_ICON := preload("res://assets/icons/medmind/badge-circle-outline.svg") const BADGE_CIRCLE_FILLED_ICON := preload("res://assets/icons/medmind/badge-circle-filled.svg") const FEEDBACK_FADE_SECONDS := 0.45 @@ -274,7 +276,6 @@ func _ready() -> void: flag_button = Button.new() flag_button.toggle_mode = true flag_button.tooltip_text = "Flag question" - flag_button.icon = _make_flag_icon() flag_button.custom_minimum_size = Vector2(44, 44) Style.style_chip(flag_button, Style.AMBER) UISoundService.set_button_sound(flag_button, "toggle") @@ -434,7 +435,7 @@ func _ready() -> void: for index in range(5): var choice_row := VBoxContainer.new() - choice_row.add_theme_constant_override("separation", 6) + choice_row.add_theme_constant_override("separation", 0) choices_container.add_child(choice_row) choice_rows.append(choice_row) @@ -701,7 +702,7 @@ func _question_content_box(dark: bool) -> StyleBoxFlat: return box -func _answer_box(dark: bool, state: String) -> StyleBoxFlat: +func _answer_box(dark: bool, state: String, attached: bool = false) -> StyleBoxFlat: var box := StyleBoxFlat.new() box.content_margin_left = 62 box.content_margin_right = 82 @@ -727,6 +728,46 @@ func _answer_box(dark: bool, state: String) -> StyleBoxFlat: box.border_color = border box.set_border_width_all(2) box.set_corner_radius_all(14) + if attached: + # A review/follow-up panel is docked directly beneath this choice - drop the + # shared edge so the two read as one continuous card instead of two stacked boxes. + box.border_width_bottom = 0 + box.corner_radius_bottom_left = 0 + box.corner_radius_bottom_right = 0 + return box + + +func _attached_panel_box(dark: bool, accent: Color) -> StyleBoxFlat: + var box := StyleBoxFlat.new() + box.bg_color = Color("17183b") if dark else Color("eff4ff") + if accent == Brand.SUCCESS: + box.bg_color = Color("08251d") if dark else Color("ecfdf3") + elif accent == Color("fb7185"): + box.bg_color = Color("32131d") if dark else Color("fff1f2") + box.border_color = accent + box.border_width_left = 2 + box.border_width_right = 2 + box.border_width_bottom = 2 + box.border_width_top = 0 + box.corner_radius_top_left = 0 + box.corner_radius_top_right = 0 + box.corner_radius_bottom_left = 14 + box.corner_radius_bottom_right = 14 + box.content_margin_left = 12 + box.content_margin_right = 12 + box.content_margin_top = 10 + box.content_margin_bottom = 10 + return box + + +func _correct_review_panel_box(dark: bool) -> StyleBoxFlat: + # correct_review_panel already pads its content via an inner MarginContainer, + # so skip the shared attached-panel content margin to avoid doubling it up. + var box := _attached_panel_box(dark, Brand.SUCCESS) + box.content_margin_left = 0 + box.content_margin_right = 0 + box.content_margin_top = 0 + box.content_margin_bottom = 0 return box @@ -768,7 +809,7 @@ func _style_theme_toggle_button(dark: bool) -> void: theme_button.add_theme_constant_override("h_separation", 0) -func _style_asset_toolbar_button(button: Button, texture: Texture2D, dark: bool) -> void: +func _style_asset_toolbar_button(button: Button, texture: Texture2D, dark: bool, active: bool = false) -> void: if button == null: return button.text = "" @@ -782,7 +823,7 @@ func _style_asset_toolbar_button(button: Button, texture: Texture2D, dark: bool) button.size_flags_vertical = Control.SIZE_SHRINK_CENTER button.add_theme_constant_override("h_separation", 0) button.add_theme_constant_override("icon_max_width", 23) - button.add_theme_stylebox_override("normal", _toolbar_box(dark)) + button.add_theme_stylebox_override("normal", _toolbar_box(dark, active)) button.add_theme_stylebox_override("hover", _toolbar_box(dark, true)) button.add_theme_stylebox_override("pressed", _toolbar_box(dark, true)) button.add_theme_stylebox_override("focus", StyleBoxEmpty.new()) @@ -813,15 +854,6 @@ func _primary_action_box(dark: bool, state: String) -> StyleBoxFlat: return box -func _correct_review_box(dark: bool) -> StyleBoxFlat: - var box := StyleBoxFlat.new() - box.bg_color = Color("08251d") if dark else Color("f0fdf4") - box.border_color = Color(Brand.SUCCESS, 0.62) - box.set_border_width_all(1) - box.set_corner_radius_all(7) - return box - - func _teaching_card_box(dark: bool, accent: Color) -> StyleBoxFlat: var box := StyleBoxFlat.new() box.bg_color = Color(accent, 0.08 if dark else 0.045) @@ -906,15 +938,15 @@ func _apply_question_theme() -> void: if wrong_options_heading != null: wrong_options_heading.add_theme_color_override("font_color", Brand.text_color(dark)) if correct_review_panel != null: - correct_review_panel.add_theme_stylebox_override("panel", _correct_review_box(dark)) + correct_review_panel.add_theme_stylebox_override("panel", _correct_review_panel_box(dark)) question_elo_label.add_theme_color_override("font_color", Brand.AMBER) var navigator_heading := navigator_popup.find_child("NavigatorHeading", true, false) as Label if navigator_heading != null: navigator_heading.add_theme_color_override("font_color", Brand.text_color(dark)) - for control in [text_smaller_button, text_larger_button, flag_button, bookmark_button, notes_button, flashcard_button, app_feedback_button]: + for control in [text_smaller_button, text_larger_button, bookmark_button, notes_button, flashcard_button, app_feedback_button]: if control == null: continue - var active: bool = (control == flag_button and flagged) or (control == bookmark_button and BookmarkService.is_bookmarked(str(BlockSessionService.get_current_question().get("id", "")))) + var active: bool = control == bookmark_button and BookmarkService.is_bookmarked(str(BlockSessionService.get_current_question().get("id", ""))) control.add_theme_stylebox_override("normal", _toolbar_box(dark, active)) control.add_theme_stylebox_override("hover", _toolbar_box(dark, true)) control.add_theme_stylebox_override("pressed", _toolbar_box(dark, true)) @@ -923,6 +955,7 @@ func _apply_question_theme() -> void: _style_asset_toolbar_button(labs_button, LABS_DARK_ICON if dark else LABS_LIGHT_ICON, dark) _style_asset_toolbar_button(clear_highlight_button, CLEAR_HIGHLIGHT_DARK_ICON if dark else CLEAR_HIGHLIGHT_LIGHT_ICON, dark) _style_asset_toolbar_button(report_button, REPORT_QUESTION_DARK_ICON if dark else REPORT_QUESTION_LIGHT_ICON, dark) + _style_asset_toolbar_button(flag_button, FLAG_DARK_ICON if dark else FLAG_LIGHT_ICON, dark, flagged) _style_theme_toggle_button(dark) if skip_button != null: skip_button.add_theme_stylebox_override("normal", _toolbar_box(dark)) @@ -1485,6 +1518,10 @@ func _show_explanation() -> void: var question := BlockSessionService.get_current_question() for button in choice_buttons: button.disabled = true + var correct_id := str(question.get("correct_choice_id", "")) + _dock_correct_review_panel(correct_id) + correct_review_panel.visible = true + correct_answer_heading.text = "Correct Answer: %s" % _display_label_for_choice_id(correct_id) var choices := _get_presented_choices() for index in range(choices.size()): var choice: Dictionary = choices[index] @@ -1495,14 +1532,19 @@ func _show_explanation() -> void: explanation_plain_text = str(question.get("explanation", "")) _render_explanation() explanation_label.visible = true - correct_review_panel.visible = true - var correct_id := str(question.get("correct_choice_id", "")) - correct_answer_heading.text = "Correct Answer: %s" % _display_label_for_choice_id(correct_id) _update_question_elo_label(true) _refresh_nav_palette() _update_content_vertical_alignment() +func _dock_correct_review_panel(correct_id: String) -> void: + var index := _choice_index_for_id(correct_id) + if index < 0 or index >= choice_rows.size(): + return + if correct_review_panel.get_parent() != choice_rows[index]: + correct_review_panel.reparent(choice_rows[index]) + + func _render_answer_review_sections() -> void: _render_teaching_cards() _render_review_followups() @@ -2110,8 +2152,6 @@ func _on_review_pass_completed(summary: Dictionary) -> void: func refresh_theme_controls() -> void: if media_viewer_background != null: media_viewer_background.color = Style.BACKGROUND - if flag_button != null: - flag_button.icon = _make_flag_icon() _refresh_toolbar_state() _apply_saved_choice_state() _apply_question_theme() @@ -3035,11 +3075,12 @@ func _style_choice_button_for_state(index: int, choice_id: String) -> void: elif eliminated.has(choice_id): state = "eliminated" var button := choice_buttons[index] - var normal_box := _answer_box(dark, state) + var attached := _row_has_attached_panel(index) + var normal_box := _answer_box(dark, state, attached) button.add_theme_stylebox_override("normal", normal_box) button.add_theme_stylebox_override("disabled", normal_box) - button.add_theme_stylebox_override("pressed", _answer_box(dark, "selected" if state == "default" else state)) - button.add_theme_stylebox_override("hover", _answer_box(dark, "selected" if state == "default" else state)) + button.add_theme_stylebox_override("pressed", _answer_box(dark, "selected" if state == "default" else state, attached)) + button.add_theme_stylebox_override("hover", _answer_box(dark, "selected" if state == "default" else state, attached)) var text_color := Brand.muted_color(dark) if state == "eliminated" else Brand.text_color(dark) button.add_theme_color_override("font_color", text_color) button.add_theme_color_override("font_disabled_color", text_color) @@ -3057,6 +3098,16 @@ func _style_choice_button_for_state(index: int, choice_id: String) -> void: badge.add_theme_color_override("font_color", Color.WHITE if filled else Brand.muted_color(dark)) +func _row_has_attached_panel(index: int) -> bool: + if index < 0 or index >= choice_rows.size(): + return false + if index < choice_followup_panels.size() and choice_followup_panels[index].visible: + return true + if correct_review_panel != null and correct_review_panel.visible and correct_review_panel.get_parent() == choice_rows[index]: + return true + return false + + func _mark_review_input_handled() -> void: get_viewport().set_input_as_handled() @@ -3266,6 +3317,7 @@ func _render_followup_state(choice_id: String) -> void: else: _build_resolved_followup(index, state) choice_followup_panels[index].visible = true + _style_choice_button_for_state(index, choice_id) func _build_resolved_followup(index: int, state: Dictionary) -> void: @@ -3351,26 +3403,13 @@ func _add_followup_body(content: VBoxContainer, is_correct: bool) -> VBoxContain func _style_followup_card(index: int, state: Dictionary) -> void: if index < 0 or index >= choice_followup_panels.size(): return + var is_correct := bool(state.get("is_main_correct", false)) choice_followup_panels[index].add_theme_stylebox_override( "panel", - _followup_card_box(_followup_is_dark(), bool(state.get("is_main_correct", false))) + _attached_panel_box(_followup_is_dark(), Brand.SUCCESS if is_correct else Color("fb7185")) ) -func _followup_card_box(dark: bool, is_correct: bool) -> StyleBoxFlat: - var accent := Brand.SUCCESS if is_correct else Color("fb5f6d") - var box := StyleBoxFlat.new() - box.bg_color = Color("0b172b") if dark else Color("ffffff") - box.border_color = Color(accent, 0.72) - box.set_border_width_all(1) - box.set_corner_radius_all(7) - box.content_margin_left = 12 - box.content_margin_right = 12 - box.content_margin_top = 10 - box.content_margin_bottom = 10 - return box - - func _followup_body_box(dark: bool, is_correct: bool) -> StyleBoxFlat: var accent := Brand.SUCCESS if is_correct else Color("fb5f6d") var box := StyleBoxFlat.new() @@ -3529,22 +3568,6 @@ func _update_question_elo_label(show_label: bool) -> void: question_elo_label.visible = true -func _make_flag_icon() -> Texture2D: - var image := Image.create(24, 24, false, Image.FORMAT_RGBA8) - image.fill(Color(0, 0, 0, 0)) - for y in range(4, 20): - image.set_pixel(6, y, Style.TEXT) - image.set_pixel(7, y, Style.TEXT) - for x in range(8, 18): - for y in range(4, 11): - if x < 16 or y < 9: - image.set_pixel(x, y, Style.AMBER) - for y in range(11, 14): - for x in range(8, 14 - (y - 11)): - image.set_pixel(x, y, Style.AMBER) - return ImageTexture.create_from_image(image) - - func _refresh_nav_palette() -> void: if nav_palette == null: return From 2a2ff29389ea0dabdfd6e8fa8d2a93beb32940bc Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 01:42:31 -0500 Subject: [PATCH 25/68] Remove redundant "Correct Answer: X" heading from the review panel Now that the explanation panel is docked inside the correct choice's own green card, the heading was redundant with the badge/border color already conveying it's the correct answer. --- scripts/ui/question_player.gd | 6 ------ 1 file changed, 6 deletions(-) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index a8cfe39..4d4b249 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -70,7 +70,6 @@ var lead_label: Label var explanation_label: RichTextLabel var references_container: VBoxContainer var correct_review_panel: PanelContainer -var correct_answer_heading: Label var teaching_cards: HFlowContainer var review_followups_section: VBoxContainer var review_followups_content: VBoxContainer @@ -598,10 +597,6 @@ func _build_answer_review_ui() -> void: review_content.add_theme_constant_override("separation", 10) review_margin.add_child(review_content) - correct_answer_heading = Label.new() - _set_scaled_label(correct_answer_heading, 17, Brand.SUCCESS) - review_content.add_child(correct_answer_heading) - explanation_label = RichTextLabel.new() explanation_label.bbcode_enabled = true explanation_label.fit_content = true @@ -1521,7 +1516,6 @@ func _show_explanation() -> void: var correct_id := str(question.get("correct_choice_id", "")) _dock_correct_review_panel(correct_id) correct_review_panel.visible = true - correct_answer_heading.text = "Correct Answer: %s" % _display_label_for_choice_id(correct_id) var choices := _get_presented_choices() for index in range(choices.size()): var choice: Dictionary = choices[index] From 4db5b9d37468f9bb152fc7e14a43e4771c9b6abd Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 01:47:11 -0500 Subject: [PATCH 26/68] Drop the redundant status icon and "Review: B..." label from follow-up panels The choice button above the panel already shows the letter badge, choice text, and percentage, so repeating them in the panel header was redundant now that the panel is docked inside the choice's card. Keeps the collapse toggle, now named FollowupToggle since the old FollowupSummary button it lived on is gone. --- scripts/ui/question_player.gd | 30 +++++++----------------------- tests/post_answer_review_test.gd | 4 ++-- 2 files changed, 9 insertions(+), 25 deletions(-) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 4d4b249..d3e04ae 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -3339,29 +3339,12 @@ func _build_followup_header(content: VBoxContainer, state: Dictionary, expanded: row.add_theme_constant_override("separation", 10) content.add_child(row) - var status := Label.new() - status.text = "✓" if is_main_correct else "x" - status.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - status.vertical_alignment = VERTICAL_ALIGNMENT_CENTER - status.custom_minimum_size = Vector2(30, 30) - status.add_theme_stylebox_override("normal", Brand.icon_circle_box(dark, accent, 15, true)) - _set_scaled_label(status, 15, Color.WHITE) - row.add_child(status) - - var summary := Button.new() - summary.name = "FollowupSummary" - summary.flat = true - summary.text = "Review: %s. %s" % [_display_label_for_choice_id(str(state.get("choice_id", ""))), str(state.get("choice_text", ""))] - summary.alignment = HORIZONTAL_ALIGNMENT_LEFT - summary.size_flags_horizontal = Control.SIZE_EXPAND_FILL - summary.disabled = not interactive - _set_scaled_button_font(summary, 15) - summary.add_theme_color_override("font_color", Brand.text_color(dark)) - summary.add_theme_color_override("font_hover_color", accent) - summary.add_theme_color_override("font_disabled_color", Brand.text_color(dark)) - if interactive: - summary.pressed.connect(_toggle_followup_state.bind(str(state.get("choice_id", "")))) - row.add_child(summary) + # The choice button above this panel already shows the letter badge, choice + # text, and percentage, so the header only needs a spacer plus the collapse + # toggle - repeating "Review: B. ..." and a status icon here was redundant. + var spacer := Control.new() + spacer.size_flags_horizontal = Control.SIZE_EXPAND_FILL + row.add_child(spacer) var percentage := _get_choice_selection_percentage(str(state.get("choice_id", ""))) if percentage >= 0: @@ -3375,6 +3358,7 @@ func _build_followup_header(content: VBoxContainer, state: Dictionary, expanded: if interactive: var toggle := Button.new() + toggle.name = "FollowupToggle" toggle.flat = true toggle.tooltip_text = "Collapse review" if expanded else "Expand review" toggle.icon = preload("res://assets/icons/lucide/chevron-down.svg") if expanded else preload("res://assets/icons/lucide/chevron-right.svg") diff --git a/tests/post_answer_review_test.gd b/tests/post_answer_review_test.gd index 4ec4139..8924439 100644 --- a/tests/post_answer_review_test.gd +++ b/tests/post_answer_review_test.gd @@ -196,8 +196,8 @@ func _test_collapsed_followup_review_expands() -> void: "teaching_point": "Review the finding.", "resolved": true, "collapsed": true } player._render_followup_state("B") - var review_button := content.find_child("FollowupSummary", true, false) as Button - _assert(review_button != null, "collapsed follow-up should render a review button") + var review_button := content.find_child("FollowupToggle", true, false) as Button + _assert(review_button != null, "collapsed follow-up should render a toggle button") if review_button != null: review_button.pressed.emit() _assert(not bool(player.followup_states["B"].get("collapsed", true)), "review button should expand the resolved follow-up") From 59ffaf43767537554780b4e98c1bb8733980e871 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 02:01:29 -0500 Subject: [PATCH 27/68] Move distractor explanations inline instead of a repeated bottom section The "WHY OTHER OPTIONS ARE INCORRECT" aggregate section duplicated explanations that selected wrong choices already showed inside their own resolved follow-up quiz. Removed that section entirely; choices the user never picked now get their "why incorrect" explanation docked directly inside their own card (reusing the same followup panel/attached-card styling), so every distractor's explanation lives with its choice instead of in a separate list at the bottom. --- scripts/ui/question_player.gd | 123 ++++++++++++---------------------- 1 file changed, 41 insertions(+), 82 deletions(-) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index d3e04ae..9aa0b38 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -73,10 +73,7 @@ var correct_review_panel: PanelContainer var teaching_cards: HFlowContainer var review_followups_section: VBoxContainer var review_followups_content: VBoxContainer -var wrong_options_section: VBoxContainer -var wrong_options_content: VBoxContainer var review_followup_states: Array = [] -var wrong_option_expanded := {} var question_scroll: ScrollContainer var question_elo_label: Label var next_button: Button @@ -635,19 +632,6 @@ func _build_answer_review_ui() -> void: review_followups_content.add_theme_constant_override("separation", 8) review_followups_section.add_child(review_followups_content) - wrong_options_section = VBoxContainer.new() - wrong_options_section.visible = false - wrong_options_section.add_theme_constant_override("separation", 8) - question_content.add_child(wrong_options_section) - var wrong_options_heading := Label.new() - wrong_options_heading.text = "WHY OTHER OPTIONS ARE INCORRECT" - wrong_options_heading.name = "WrongOptionsHeading" - _set_scaled_label(wrong_options_heading, 15, Brand.text_color(true)) - wrong_options_section.add_child(wrong_options_heading) - wrong_options_content = VBoxContainer.new() - wrong_options_content.add_theme_constant_override("separation", 6) - wrong_options_section.add_child(wrong_options_content) - func _fit_modal_panels() -> void: var available := get_viewport_rect().size - Vector2(32, 32) @@ -875,19 +859,6 @@ func _review_followup_box(_dark: bool, accent: Color, answered: bool) -> StyleBo return box -func _wrong_option_box(dark: bool) -> StyleBoxFlat: - var box := StyleBoxFlat.new() - box.bg_color = Color("0b172b") if dark else Color("ffffff") - box.border_color = Color("2b3958") if dark else Brand.LIGHT_BORDER - box.set_border_width_all(1) - box.set_corner_radius_all(6) - box.content_margin_left = 10 - box.content_margin_right = 10 - box.content_margin_top = 6 - box.content_margin_bottom = 6 - return box - - func _style_review_followup_option(button: Button, dark: bool, option_id: String, selected_id: String, correct_id: String, answered: bool) -> void: var state := "default" if answered and option_id == correct_id: @@ -929,9 +900,6 @@ func _apply_question_theme() -> void: var review_followup_subtitle := find_child("ReviewFollowupSubtitle", true, false) as Label if review_followup_subtitle != null: review_followup_subtitle.add_theme_color_override("font_color", Brand.muted_color(dark)) - var wrong_options_heading := find_child("WrongOptionsHeading", true, false) as Label - if wrong_options_heading != null: - wrong_options_heading.add_theme_color_override("font_color", Brand.text_color(dark)) if correct_review_panel != null: correct_review_panel.add_theme_stylebox_override("panel", _correct_review_panel_box(dark)) question_elo_label.add_theme_color_override("font_color", Brand.AMBER) @@ -975,7 +943,7 @@ func _apply_question_theme() -> void: if correct_review_panel != null and correct_review_panel.visible: _render_teaching_cards() _render_review_followups() - _render_wrong_option_reviews() + _render_unselected_distractor_explanations() func on_show(_payload: Variant = null) -> void: @@ -1542,7 +1510,7 @@ func _dock_correct_review_panel(correct_id: String) -> void: func _render_answer_review_sections() -> void: _render_teaching_cards() _render_review_followups() - _render_wrong_option_reviews() + _render_unselected_distractor_explanations() func _clear_answer_review() -> void: @@ -1552,13 +1520,9 @@ func _clear_answer_review() -> void: correct_review_panel.visible = false _clear_container_children(teaching_cards) _clear_container_children(review_followups_content) - _clear_container_children(wrong_options_content) review_followup_states.clear() - wrong_option_expanded.clear() if review_followups_section != null: review_followups_section.visible = false - if wrong_options_section != null: - wrong_options_section.visible = false _update_content_vertical_alignment() @@ -1699,58 +1663,53 @@ func _answer_review_followup(index: int, choice_id: String) -> void: _render_review_followups() -func _render_wrong_option_reviews() -> void: - if wrong_options_content == null: - return - _clear_container_children(wrong_options_content) +func _render_unselected_distractor_explanations() -> void: + # Choices the user never picked (so never triggered the wrong-answer + # follow-up quiz) still need their "why incorrect" explanation shown - + # nest it directly in that choice's own card instead of a repeated + # aggregate list at the bottom. Choices that DID trigger a follow-up + # already show this same explanation inside the resolved quiz view. var question := BlockSessionService.get_current_question() var correct_id := str(question.get("correct_choice_id", "")) - var explanations: Dictionary = question.get("choice_explanations", {}) - var incorrect_count := 0 - for choice in _get_presented_choices(): + var choices := _get_presented_choices() + for index in range(choices.size()): + if index >= choice_followup_panels.size(): + continue + var choice: Dictionary = choices[index] if typeof(choice) != TYPE_DICTIONARY: continue var choice_id := str(choice.get("id", "")) - if choice_id == correct_id: + if choice_id == "" or choice_id == correct_id or followup_states.has(choice_id): continue - incorrect_count += 1 - _add_wrong_option_review(choice, str(explanations.get(choice_id, ""))) - wrong_options_section.visible = incorrect_count > 0 + _clear_followup_content(index) + var content := choice_followup_contents[index] + var body_content := _add_followup_body(content, false) + var heading := Label.new() + heading.text = "Why this is incorrect:" + _set_scaled_label(heading, 14, Color("fb5f6d")) + body_content.add_child(heading) + var explanation := Label.new() + explanation.text = _distractor_explanation_text(choice_id) + explanation.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + _set_scaled_label(explanation, 14, Brand.text_color(_followup_is_dark())) + body_content.add_child(explanation) + choice_followup_panels[index].add_theme_stylebox_override( + "panel", + _attached_panel_box(_followup_is_dark(), Color("fb7185")) + ) + choice_followup_panels[index].visible = true + _style_choice_button_for_state(index, choice_id) -func _add_wrong_option_review(choice: Dictionary, explanation: String) -> void: - var dark := _followup_is_dark() - var choice_id := str(choice.get("id", "")) - var expanded := bool(wrong_option_expanded.get(choice_id, false)) - var card := PanelContainer.new() - card.add_theme_stylebox_override("panel", _wrong_option_box(dark)) - wrong_options_content.add_child(card) - var content := VBoxContainer.new() - content.add_theme_constant_override("separation", 6) - card.add_child(content) - var header := Button.new() - header.flat = true - header.alignment = HORIZONTAL_ALIGNMENT_LEFT - header.text = "%s. %s" % [_display_label_for_choice_id(choice_id), str(choice.get("text", ""))] - header.icon = preload("res://assets/icons/lucide/chevron-down.svg") if expanded else preload("res://assets/icons/lucide/chevron-right.svg") - header.icon_alignment = HORIZONTAL_ALIGNMENT_RIGHT - header.expand_icon = false - header.add_theme_color_override("font_color", Brand.text_color(dark)) - header.add_theme_color_override("icon_normal_color", Brand.muted_color(dark)) - _set_scaled_button_font(header, 14) - header.pressed.connect(_toggle_wrong_option_review.bind(choice_id)) - content.add_child(header) - if expanded: - var detail := Label.new() - detail.text = explanation - detail.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART - _set_scaled_label(detail, 14, Brand.muted_color(dark)) - content.add_child(detail) - - -func _toggle_wrong_option_review(choice_id: String) -> void: - wrong_option_expanded[choice_id] = not bool(wrong_option_expanded.get(choice_id, false)) - _render_wrong_option_reviews() +func _distractor_explanation_text(choice_id: String) -> String: + var question := BlockSessionService.get_current_question() + var explanations: Dictionary = question.get("choice_explanations", {}) + var explanation := str(explanations.get(choice_id, "")).strip_edges() + if explanation.begins_with("Correct. "): + explanation = explanation.substr(9) + if explanation != "": + return explanation + return "Review the stem finding that makes this option less appropriate." func _strip_correct_prefix(value: String) -> String: From c62eff88468bd9b2e1784b85b730ea5670c8261c Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 03:29:57 -0500 Subject: [PATCH 28/68] Auto-flag questions with media at write time, not just via one-time sweep The flag-media-questions CLI command only caught questions that existed in the DB when it ran once. Any question created, imported, or edited afterward could add media without ever being flagged for review, since nothing gated new writes going forward. CreateAsync, UpdateAsync, and UpsertManyByExternalIdAsync now all run new/updated questions through ApplyMediaReviewGate, which flags any question that has media and isn't already flagged. --- api/QuestionsApi.Tests/QuestionStoreTests.cs | 49 ++++++++++++++++++++ api/QuestionsApi/Services/QuestionStore.cs | 18 +++++++ 2 files changed, 67 insertions(+) create mode 100644 api/QuestionsApi.Tests/QuestionStoreTests.cs diff --git a/api/QuestionsApi.Tests/QuestionStoreTests.cs b/api/QuestionsApi.Tests/QuestionStoreTests.cs new file mode 100644 index 0000000..88146f8 --- /dev/null +++ b/api/QuestionsApi.Tests/QuestionStoreTests.cs @@ -0,0 +1,49 @@ +using QuestionsApi.Models; +using QuestionsApi.Services; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class QuestionStoreTests +{ + [Fact] + public void ApplyMediaReviewGate_FlagsUnflaggedQuestionWithMedia() + { + var question = new Question { Media = ["asset-1"] }; + + QuestionStore.ApplyMediaReviewGate(question); + + Assert.NotNull(question.FlaggedForReviewUtc); + Assert.Equal("system", question.FlaggedByUserId); + Assert.False(string.IsNullOrWhiteSpace(question.FlagReason)); + } + + [Fact] + public void ApplyMediaReviewGate_LeavesMediaFreeQuestionsAlone() + { + var question = new Question { Media = [] }; + + QuestionStore.ApplyMediaReviewGate(question); + + Assert.Null(question.FlaggedForReviewUtc); + } + + [Fact] + public void ApplyMediaReviewGate_DoesNotOverwriteAnExistingFlag() + { + var flaggedAt = DateTime.UtcNow.AddDays(-1); + var question = new Question + { + Media = ["asset-1"], + FlaggedForReviewUtc = flaggedAt, + FlagReason = "Reported by student", + FlaggedByUserId = "user-42" + }; + + QuestionStore.ApplyMediaReviewGate(question); + + Assert.Equal(flaggedAt, question.FlaggedForReviewUtc); + Assert.Equal("Reported by student", question.FlagReason); + Assert.Equal("user-42", question.FlaggedByUserId); + } +} diff --git a/api/QuestionsApi/Services/QuestionStore.cs b/api/QuestionsApi/Services/QuestionStore.cs index 3e6b74e..9ade674 100644 --- a/api/QuestionsApi/Services/QuestionStore.cs +++ b/api/QuestionsApi/Services/QuestionStore.cs @@ -6,6 +6,9 @@ namespace QuestionsApi.Services; public class QuestionStore { + private const string MediaReviewReason = "Contains media - pending review"; + private const string MediaReviewFlaggedBy = "system"; + private readonly IMongoCollection _col; public QuestionStore(MongoDatabaseProvider mongo) @@ -105,6 +108,7 @@ public class QuestionStore var question = FromRequest(req); question.CreatedUtc = DateTime.UtcNow; question.UpdatedUtc = DateTime.UtcNow; + ApplyMediaReviewGate(question); try { @@ -131,6 +135,7 @@ public class QuestionStore question.FlaggedForReviewUtc = existing.FlaggedForReviewUtc; question.FlagReason = existing.FlagReason; question.FlaggedByUserId = existing.FlaggedByUserId; + ApplyMediaReviewGate(question); var result = await _col.ReplaceOneAsync(q => q.Id == id, question); return result.MatchedCount == 0 ? null : question; } @@ -158,6 +163,7 @@ public class QuestionStore question.Id = ObjectId.GenerateNewId().ToString(); question.CreatedUtc = DateTime.UtcNow; } + ApplyMediaReviewGate(question); await _col.ReplaceOneAsync(filter, question, new ReplaceOptions { IsUpsert = true }); count++; @@ -246,6 +252,18 @@ public class QuestionStore return (int)result.MatchedCount; } + // Questions with media must be reviewed before reaching students - gate any question that + // gains media and isn't already flagged, so newly created/imported/edited questions can't + // slip past the media-review requirement the way a one-time sweep alone would miss. + internal static void ApplyMediaReviewGate(Question question) + { + if (question.Media.Count == 0 || question.FlaggedForReviewUtc is not null) + return; + question.FlaggedForReviewUtc = DateTime.UtcNow; + question.FlagReason = MediaReviewReason; + question.FlaggedByUserId = MediaReviewFlaggedBy; + } + private static Question FromRequest(UpsertQuestionRequest req) => new() { ExternalId = req.ExternalId.Trim(), From b88f38f29b0eb22c3eb19367802e7b3b24e3b6b8 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 03:42:17 -0500 Subject: [PATCH 29/68] Persist text zoom level across sessions Question bank and CCS case text-size (A-/A+) previously reset to 1.0 on every app launch. Both now load their saved scale from user://settings.cfg at startup and save on every adjustment, mirroring the existing pattern used for dark/light mode and sound preferences. --- scripts/autoload/ccs_service.gd | 21 +++++++++++++++++++++ scripts/ui/question_player.gd | 21 +++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/scripts/autoload/ccs_service.gd b/scripts/autoload/ccs_service.gd index ac446bf..b555d0a 100644 --- a/scripts/autoload/ccs_service.gd +++ b/scripts/autoload/ccs_service.gd @@ -17,6 +17,9 @@ signal request_failed(message: String) const TEXT_SCALE_MIN := 0.85 const TEXT_SCALE_MAX := 1.35 const TEXT_SCALE_STEP := 0.1 +const TEXT_SCALE_SETTINGS_PATH := "user://settings.cfg" +const TEXT_SCALE_SETTINGS_SECTION := "study" +const TEXT_SCALE_SETTINGS_KEY := "ccs_text_scale" var api_url := DEFAULT_API_URL var request: HTTPRequest @@ -37,6 +40,7 @@ var request_access_token := "" func _ready() -> void: api_url = EndpointConfig.resolve(str(ProjectSettings.get_setting("step3/ccs_api_url", DEFAULT_API_URL)), "/api/ccs") + text_scale = _load_text_scale_preference() request = HTTPRequest.new() request.request_completed.connect(_on_request_completed) add_child(request) @@ -100,6 +104,23 @@ func submit_report(attempt_id: String, category: String, details: String) -> voi func adjust_text_scale(delta: float) -> void: text_scale = clampf(text_scale + delta, TEXT_SCALE_MIN, TEXT_SCALE_MAX) + _save_text_scale_preference(text_scale) + + +func _load_text_scale_preference() -> float: + var config := ConfigFile.new() + if config.load(TEXT_SCALE_SETTINGS_PATH) == OK: + var saved: float = config.get_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, 1.0) + return clampf(saved, TEXT_SCALE_MIN, TEXT_SCALE_MAX) + return 1.0 + + +func _save_text_scale_preference(value: float) -> void: + var config := ConfigFile.new() + config.load(TEXT_SCALE_SETTINGS_PATH) + config.set_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, value) + if config.save(TEXT_SCALE_SETTINGS_PATH) != OK: + push_warning("Unable to save CCS text scale preference.") func toggle_highlight(attempt_id: String, region_id: String, start: int, end: int) -> void: diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 9aa0b38..d9e6591 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -18,6 +18,9 @@ const CORRECT_ADVANCE_DELAY_SECONDS := 1.25 const TEXT_SCALE_MIN := 0.85 const TEXT_SCALE_MAX := 1.35 const TEXT_SCALE_STEP := 0.1 +const TEXT_SCALE_SETTINGS_PATH := "user://settings.cfg" +const TEXT_SCALE_SETTINGS_SECTION := "study" +const TEXT_SCALE_SETTINGS_KEY := "question_text_scale" const REPORT_DETAILS_MIN := 10 const REPORT_DETAILS_MAX := 2000 const MEDIA_ZOOM_MIN := 0.25 @@ -146,6 +149,7 @@ var shake_origin := Vector2.ZERO func _ready() -> void: theme_service = get_node("/root/UIThemeService") + question_text_scale = _load_text_scale_preference() set_anchors_preset(Control.PRESET_FULL_RECT) add_theme_constant_override("separation", 10) if not QuestionBankService.choice_percentages_updated.is_connected(_on_choice_percentages_updated): @@ -2121,11 +2125,28 @@ func _adjust_question_text_scale(delta: float) -> void: if is_equal_approx(next_scale, question_text_scale): return question_text_scale = next_scale + _save_text_scale_preference(next_scale) _refresh_scaled_fonts(self) _render_stem() _apply_saved_choice_state() +func _load_text_scale_preference() -> float: + var config := ConfigFile.new() + if config.load(TEXT_SCALE_SETTINGS_PATH) == OK: + var saved: float = config.get_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, 1.0) + return clamp(saved, TEXT_SCALE_MIN, TEXT_SCALE_MAX) + return 1.0 + + +func _save_text_scale_preference(value: float) -> void: + var config := ConfigFile.new() + config.load(TEXT_SCALE_SETTINGS_PATH) + config.set_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, value) + if config.save(TEXT_SCALE_SETTINGS_PATH) != OK: + push_warning("Unable to save question text scale preference.") + + func _set_scaled_label(label: Label, base_size: int, color: Color = Style.TEXT) -> void: label.set_meta("question_base_font_size", base_size) label.add_theme_color_override("font_color", color) From d69a1fd0e38758fa771f90a0c3926a9d60637217 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 03:59:02 -0500 Subject: [PATCH 30/68] Sync text zoom preference through the account instead of local settings Local user://settings.cfg meant zoom level didn't follow a student across devices/browsers. Question bank and CCS text scale now live on the user's study profile in Mongo (QuestionTextScale/CcsTextScale), synced through a new PUT /api/profile/me/text-scale endpoint and the existing preferences GET/cache already used for study preferences. Both question_player.gd and ccs_service.gd read the synced value at startup and react to AccountProfileService.profile_changed so a value pulled down after login (or changed from another session) applies without a restart. Backend validates the 0.85-1.35 range and updates only the field(s) provided via a targeted $set, so it can't clobber the other scale or the unrelated study-profile preferences. --- .../UserProfileModelsTests.cs | 22 ++++++++++++ .../Controllers/ProfileController.cs | 8 +++++ api/QuestionsApi/Models/UserProfileModels.cs | 23 +++++++++++++ api/QuestionsApi/Services/UserProfileStore.cs | 14 ++++++++ scripts/autoload/account_profile_service.gd | 21 ++++++++++-- scripts/autoload/ccs_service.gd | 34 +++++++++---------- scripts/ui/ccs_player.gd | 2 ++ scripts/ui/ccs_review.gd | 1 + scripts/ui/question_player.gd | 32 ++++++++--------- tests/ccs_player_test.gd | 3 ++ 10 files changed, 124 insertions(+), 36 deletions(-) create mode 100644 api/QuestionsApi.Tests/UserProfileModelsTests.cs diff --git a/api/QuestionsApi.Tests/UserProfileModelsTests.cs b/api/QuestionsApi.Tests/UserProfileModelsTests.cs new file mode 100644 index 0000000..4fa0073 --- /dev/null +++ b/api/QuestionsApi.Tests/UserProfileModelsTests.cs @@ -0,0 +1,22 @@ +using QuestionsApi.Models; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class UserProfileModelsTests +{ + [Theory] + [InlineData(null, null, true)] + [InlineData(1.0, 1.0, true)] + [InlineData(0.85, 1.35, true)] + [InlineData(0.84, null, false)] + [InlineData(null, 1.36, false)] + public void UpdateTextScaleRequestValidator_EnforcesRange(double? questionScale, double? ccsScale, bool expectedValid) + { + var request = new UpdateTextScaleRequest { QuestionTextScale = questionScale, CcsTextScale = ccsScale }; + + var error = UpdateTextScaleRequestValidator.Validate(request); + + Assert.Equal(expectedValid, error is null); + } +} diff --git a/api/QuestionsApi/Controllers/ProfileController.cs b/api/QuestionsApi/Controllers/ProfileController.cs index 0adef3c..5da4a6b 100644 --- a/api/QuestionsApi/Controllers/ProfileController.cs +++ b/api/QuestionsApi/Controllers/ProfileController.cs @@ -27,6 +27,14 @@ public sealed class ProfileController(UserProfileStore profiles, IConfiguration return Ok(await profiles.UpsertAsync(UserId(), request)); } + [HttpPut("me/text-scale")] + [Authorize(Roles = "USER,SUPER")] + public async Task UpdateTextScale(UpdateTextScaleRequest request) + { + if (UpdateTextScaleRequestValidator.Validate(request) is { } error) return BadRequest(error); + return Ok(await profiles.UpdateTextScaleAsync(UserId(), request)); + } + [HttpGet("me/export")] [Authorize(Roles = "USER,SUPER")] public async Task Export() => Ok(new diff --git a/api/QuestionsApi/Models/UserProfileModels.cs b/api/QuestionsApi/Models/UserProfileModels.cs index aedfb6c..64d5a6a 100644 --- a/api/QuestionsApi/Models/UserProfileModels.cs +++ b/api/QuestionsApi/Models/UserProfileModels.cs @@ -13,6 +13,8 @@ public sealed class UserStudyProfile public string PreparationStage { get; set; } = "pre_dedicated"; public int WeeklyGoalHours { get; set; } = 10; public string PreferredStudyMode { get; set; } = "mixed"; + public double QuestionTextScale { get; set; } = 1.0; + public double CcsTextScale { get; set; } = 1.0; public int Revision { get; set; } public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; } @@ -25,6 +27,12 @@ public sealed class UpdateUserStudyProfileRequest public string PreferredStudyMode { get; set; } = "mixed"; } +public sealed class UpdateTextScaleRequest +{ + public double? QuestionTextScale { get; set; } + public double? CcsTextScale { get; set; } +} + public sealed class DeletedUserTombstone { [BsonId] @@ -48,3 +56,18 @@ public static class UserStudyProfileValidator return null; } } + +public static class UpdateTextScaleRequestValidator +{ + private const double Min = 0.85; + private const double Max = 1.35; + + public static string? Validate(UpdateTextScaleRequest request) + { + if (request.QuestionTextScale is { } questionScale && (questionScale < Min || questionScale > Max)) + return "Question text scale must be between 0.85 and 1.35."; + if (request.CcsTextScale is { } ccsScale && (ccsScale < Min || ccsScale > Max)) + return "CCS text scale must be between 0.85 and 1.35."; + return null; + } +} diff --git a/api/QuestionsApi/Services/UserProfileStore.cs b/api/QuestionsApi/Services/UserProfileStore.cs index 7076882..c943c55 100644 --- a/api/QuestionsApi/Services/UserProfileStore.cs +++ b/api/QuestionsApi/Services/UserProfileStore.cs @@ -50,6 +50,20 @@ public sealed class UserProfileStore new FindOneAndUpdateOptions { IsUpsert = true, ReturnDocument = ReturnDocument.After }); } + public async Task UpdateTextScaleAsync(string userId, UpdateTextScaleRequest request) + { + var update = Builders.Update.Set(value => value.UpdatedUtc, DateTime.UtcNow); + if (request.QuestionTextScale is { } questionScale) + update = update.Set(value => value.QuestionTextScale, questionScale); + if (request.CcsTextScale is { } ccsScale) + update = update.Set(value => value.CcsTextScale, ccsScale); + update = update.SetOnInsert(value => value.UserId, userId); + return await _profiles.FindOneAndUpdateAsync( + value => value.UserId == userId, + update, + new FindOneAndUpdateOptions { IsUpsert = true, ReturnDocument = ReturnDocument.After }); + } + public Task IsDeletedAsync(string userId) => _deletedUsers.Find(value => value.UserId == userId).AnyAsync(); diff --git a/scripts/autoload/account_profile_service.gd b/scripts/autoload/account_profile_service.gd index 4c9ff0c..88756b0 100644 --- a/scripts/autoload/account_profile_service.gd +++ b/scripts/autoload/account_profile_service.gd @@ -84,6 +84,20 @@ func update_preferences(target_exam_date: String, preparation_stage: String, wee _request_profile("update_preferences", HTTPClient.METHOD_PUT, "/me/preferences", preferences) +func update_text_scale(question_text_scale: Variant = null, ccs_text_scale: Variant = null) -> void: + var payload := {} + if question_text_scale != null: + payload["questionTextScale"] = question_text_scale + preferences["questionTextScale"] = question_text_scale + if ccs_text_scale != null: + payload["ccsTextScale"] = ccs_text_scale + preferences["ccsTextScale"] = ccs_text_scale + if payload.is_empty(): + return + _save_cache(preferences_pending) + _request_profile("update_text_scale", HTTPClient.METHOD_PUT, "/me/text-scale", payload) + + func change_password(current_password: String, new_password: String) -> void: _request_auth("change_password", HTTPClient.METHOD_POST, "/me/change-password", { "currentPassword": current_password, "newPassword": new_password @@ -192,7 +206,7 @@ func _on_profile_completed(result: int, response_code: int, _headers: PackedStri if typeof(parsed) != TYPE_DICTIONARY: request_failed.emit("The profile service returned invalid data.") return - if operation in ["preferences", "update_preferences"]: + if operation in ["preferences", "update_preferences", "update_text_scale"]: preferences = parsed preferences_pending = false _save_cache(false) @@ -345,4 +359,7 @@ func _error_message(body: PackedByteArray, fallback: String) -> String: static func _default_preferences() -> Dictionary: - return {"targetExamDate": null, "preparationStage": "pre_dedicated", "weeklyGoalHours": 10, "preferredStudyMode": "mixed"} + return { + "targetExamDate": null, "preparationStage": "pre_dedicated", "weeklyGoalHours": 10, "preferredStudyMode": "mixed", + "questionTextScale": 1.0, "ccsTextScale": 1.0 + } diff --git a/scripts/autoload/ccs_service.gd b/scripts/autoload/ccs_service.gd index b555d0a..ef7d6e0 100644 --- a/scripts/autoload/ccs_service.gd +++ b/scripts/autoload/ccs_service.gd @@ -13,13 +13,11 @@ signal attempt_abandoned signal report_submitted(report_id: String) signal report_failed(message: String) signal request_failed(message: String) +signal text_scale_changed const TEXT_SCALE_MIN := 0.85 const TEXT_SCALE_MAX := 1.35 const TEXT_SCALE_STEP := 0.1 -const TEXT_SCALE_SETTINGS_PATH := "user://settings.cfg" -const TEXT_SCALE_SETTINGS_SECTION := "study" -const TEXT_SCALE_SETTINGS_KEY := "ccs_text_scale" var api_url := DEFAULT_API_URL var request: HTTPRequest @@ -40,11 +38,16 @@ var request_access_token := "" func _ready() -> void: api_url = EndpointConfig.resolve(str(ProjectSettings.get_setting("step3/ccs_api_url", DEFAULT_API_URL)), "/api/ccs") - text_scale = _load_text_scale_preference() request = HTTPRequest.new() request.request_completed.connect(_on_request_completed) add_child(request) AuthState.auth_changed.connect(_on_auth_changed) + call_deferred("_connect_account_profile_service") + + +func _connect_account_profile_service() -> void: + text_scale = _synced_text_scale() + AccountProfileService.profile_changed.connect(_on_account_profile_changed) func load_cases() -> void: @@ -104,23 +107,20 @@ func submit_report(attempt_id: String, category: String, details: String) -> voi func adjust_text_scale(delta: float) -> void: text_scale = clampf(text_scale + delta, TEXT_SCALE_MIN, TEXT_SCALE_MAX) - _save_text_scale_preference(text_scale) + AccountProfileService.update_text_scale(null, text_scale) -func _load_text_scale_preference() -> float: - var config := ConfigFile.new() - if config.load(TEXT_SCALE_SETTINGS_PATH) == OK: - var saved: float = config.get_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, 1.0) - return clampf(saved, TEXT_SCALE_MIN, TEXT_SCALE_MAX) - return 1.0 +func _synced_text_scale() -> float: + var saved: float = AccountProfileService.preferences.get("ccsTextScale", 1.0) + return clampf(saved, TEXT_SCALE_MIN, TEXT_SCALE_MAX) -func _save_text_scale_preference(value: float) -> void: - var config := ConfigFile.new() - config.load(TEXT_SCALE_SETTINGS_PATH) - config.set_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, value) - if config.save(TEXT_SCALE_SETTINGS_PATH) != OK: - push_warning("Unable to save CCS text scale preference.") +func _on_account_profile_changed() -> void: + var synced := _synced_text_scale() + if is_equal_approx(synced, text_scale): + return + text_scale = synced + text_scale_changed.emit() func toggle_highlight(attempt_id: String, region_id: String, start: int, end: int) -> void: diff --git a/scripts/ui/ccs_player.gd b/scripts/ui/ccs_player.gd index b272363..0e59d63 100644 --- a/scripts/ui/ccs_player.gd +++ b/scripts/ui/ccs_player.gd @@ -58,6 +58,8 @@ func _ready() -> void: resized.connect(_update_responsive_layout) if not theme_service.theme_changed.is_connected(_on_theme_changed): theme_service.theme_changed.connect(_on_theme_changed) + if not CCSService.text_scale_changed.is_connected(_apply_text_scale): + CCSService.text_scale_changed.connect(_apply_text_scale) _apply_theme() call_deferred("_update_responsive_layout") diff --git a/scripts/ui/ccs_review.gd b/scripts/ui/ccs_review.gd index ce78164..449ab1c 100644 --- a/scripts/ui/ccs_review.gd +++ b/scripts/ui/ccs_review.gd @@ -40,6 +40,7 @@ func _ready() -> void: status = Label.new(); Style.set_label(status, 14, Style.RED); row.add_child(status) CCSService.request_failed.connect(_request_failed) if not theme_service.theme_changed.is_connected(_on_theme_changed): theme_service.theme_changed.connect(_on_theme_changed) + if not CCSService.text_scale_changed.is_connected(_apply_text_scale): CCSService.text_scale_changed.connect(_apply_text_scale) func _study_label(region: String) -> RichTextLabel: var label := RichTextLabel.new(); label.bbcode_enabled = true; label.fit_content = true; label.selection_enabled = true; label.set_meta("ccs_region", region); label.gui_input.connect(_text_input.bind(label)); return label diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index d9e6591..c7c5b38 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -18,9 +18,6 @@ const CORRECT_ADVANCE_DELAY_SECONDS := 1.25 const TEXT_SCALE_MIN := 0.85 const TEXT_SCALE_MAX := 1.35 const TEXT_SCALE_STEP := 0.1 -const TEXT_SCALE_SETTINGS_PATH := "user://settings.cfg" -const TEXT_SCALE_SETTINGS_SECTION := "study" -const TEXT_SCALE_SETTINGS_KEY := "question_text_scale" const REPORT_DETAILS_MIN := 10 const REPORT_DETAILS_MAX := 2000 const MEDIA_ZOOM_MIN := 0.25 @@ -149,7 +146,9 @@ var shake_origin := Vector2.ZERO func _ready() -> void: theme_service = get_node("/root/UIThemeService") - question_text_scale = _load_text_scale_preference() + question_text_scale = _synced_question_text_scale() + if not AccountProfileService.profile_changed.is_connected(_on_account_profile_changed): + AccountProfileService.profile_changed.connect(_on_account_profile_changed) set_anchors_preset(Control.PRESET_FULL_RECT) add_theme_constant_override("separation", 10) if not QuestionBankService.choice_percentages_updated.is_connected(_on_choice_percentages_updated): @@ -2125,26 +2124,25 @@ func _adjust_question_text_scale(delta: float) -> void: if is_equal_approx(next_scale, question_text_scale): return question_text_scale = next_scale - _save_text_scale_preference(next_scale) + AccountProfileService.update_text_scale(next_scale) _refresh_scaled_fonts(self) _render_stem() _apply_saved_choice_state() -func _load_text_scale_preference() -> float: - var config := ConfigFile.new() - if config.load(TEXT_SCALE_SETTINGS_PATH) == OK: - var saved: float = config.get_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, 1.0) - return clamp(saved, TEXT_SCALE_MIN, TEXT_SCALE_MAX) - return 1.0 +func _synced_question_text_scale() -> float: + var saved: float = AccountProfileService.preferences.get("questionTextScale", 1.0) + return clamp(saved, TEXT_SCALE_MIN, TEXT_SCALE_MAX) -func _save_text_scale_preference(value: float) -> void: - var config := ConfigFile.new() - config.load(TEXT_SCALE_SETTINGS_PATH) - config.set_value(TEXT_SCALE_SETTINGS_SECTION, TEXT_SCALE_SETTINGS_KEY, value) - if config.save(TEXT_SCALE_SETTINGS_PATH) != OK: - push_warning("Unable to save question text scale preference.") +func _on_account_profile_changed() -> void: + var synced := _synced_question_text_scale() + if is_equal_approx(synced, question_text_scale): + return + question_text_scale = synced + _refresh_scaled_fonts(self) + _render_stem() + _apply_saved_choice_state() func _set_scaled_label(label: Label, base_size: int, color: Color = Style.TEXT) -> void: diff --git a/tests/ccs_player_test.gd b/tests/ccs_player_test.gd index 8b4d79b..1dc10e5 100644 --- a/tests/ccs_player_test.gd +++ b/tests/ccs_player_test.gd @@ -52,7 +52,10 @@ func _run() -> void: var clerk_font_size: int = player.search.get_theme_font_size("font_size") var chart_font_size: int = player.summary.get_theme_font_size("normal_font_size") + var prior_profile_api_url: String = ProjectSettings.get_setting("step3/profile_api_url", "") + ProjectSettings.set_setting("step3/profile_api_url", "http://127.0.0.1:1") player._zoom(ccs_service.TEXT_SCALE_STEP) + ProjectSettings.set_setting("step3/profile_api_url", prior_profile_api_url) _assert(player.summary.get_theme_font_size("normal_font_size") > chart_font_size, "text zoom should enlarge clinical chart text") _assert(player.search.get_theme_font_size("font_size") == clerk_font_size, "text zoom should not resize Order Clerk controls") From b3a8dec3797571eb3a921ae102b70e48b34d676b Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 04:19:10 -0500 Subject: [PATCH 31/68] Simplify resolved wrong-answer explanation cards per design feedback Drop the redundant header row (duplicate percentage badge + collapse chevron), the "Why this is appropriate/less appropriate:"/"Why this is incorrect:" heading labels, and the nested sub-box - now that these cards live inside their own choice's colored border, all of that was repeating what the color and position already say. Both the selected-wrong-choice resolved follow-up and the never-selected distractor cards now just show the plain explanation sentence, with the leading "Correct."/"Incorrect." verdict word stripped too. Removing the toggle chevron removes the only way to reach the collapse/expand behavior, so that machinery (_collapse_resolved_followups, _toggle_followup_state, the "collapsed" state field) comes out too rather than linger unreachable. --- scripts/ui/question_player.gd | 85 +++++--------------------------- tests/post_answer_review_test.gd | 29 ++++------- 2 files changed, 23 insertions(+), 91 deletions(-) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index c7c5b38..1bbb63f 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -1346,7 +1346,6 @@ func _submit_or_next() -> void: return var question_id_for_attempt := str(BlockSessionService.get_current_question().get("id", "")) if BlockSessionService.session_kind in ["core", "bookmark", "review"]: - _collapse_resolved_followups() var attempted_choice := selected_choice if BlockSessionService.session_kind == "core": QuestionBankService.record_first_attempt( @@ -1558,7 +1557,7 @@ func _render_teaching_cards() -> void: if takeaway == "": var correct_id := str(question.get("correct_choice_id", "")) var explanations: Dictionary = question.get("choice_explanations", {}) - takeaway = _strip_correct_prefix(str(explanations.get(correct_id, "")).strip_edges()) + takeaway = _strip_verdict_prefix(str(explanations.get(correct_id, "")).strip_edges()) var pearl := str(question.get("usmle_pearl", "")).strip_edges() if takeaway != "": _add_teaching_card("KEY TAKEAWAY", takeaway, Brand.SKY_BLUE) @@ -1686,16 +1685,11 @@ func _render_unselected_distractor_explanations() -> void: continue _clear_followup_content(index) var content := choice_followup_contents[index] - var body_content := _add_followup_body(content, false) - var heading := Label.new() - heading.text = "Why this is incorrect:" - _set_scaled_label(heading, 14, Color("fb5f6d")) - body_content.add_child(heading) var explanation := Label.new() - explanation.text = _distractor_explanation_text(choice_id) + explanation.text = _strip_verdict_prefix(_distractor_explanation_text(choice_id)) explanation.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART _set_scaled_label(explanation, 14, Brand.text_color(_followup_is_dark())) - body_content.add_child(explanation) + content.add_child(explanation) choice_followup_panels[index].add_theme_stylebox_override( "panel", _attached_panel_box(_followup_is_dark(), Color("fb7185")) @@ -1708,16 +1702,16 @@ func _distractor_explanation_text(choice_id: String) -> String: var question := BlockSessionService.get_current_question() var explanations: Dictionary = question.get("choice_explanations", {}) var explanation := str(explanations.get(choice_id, "")).strip_edges() - if explanation.begins_with("Correct. "): - explanation = explanation.substr(9) if explanation != "": return explanation return "Review the stem finding that makes this option less appropriate." -func _strip_correct_prefix(value: String) -> String: +func _strip_verdict_prefix(value: String) -> String: if value.begins_with("Correct. "): return value.substr(9) + if value.begins_with("Incorrect. "): + return value.substr(11) return value @@ -3162,7 +3156,6 @@ func _build_followup_panel(_index: int, choice_id: String) -> void: "selected_option_text": "", "was_correct": false, "resolved": false, - "collapsed": false, "has_authored_choices": bool(followup.get("has_authored_choices", false)), "is_main_correct": false } @@ -3177,7 +3170,7 @@ func _append_followup_attempt(choice_id: String) -> void: func _render_active_followup(index: int, state: Dictionary) -> void: var content := choice_followup_contents[index] - _build_followup_header(content, state, true, false) + _build_followup_header(content, state) var body_content := _add_followup_body(content, false) var prompt := Label.new() @@ -3235,7 +3228,6 @@ func _resolve_followup(_followup: Dictionary, selected_button: Button, _style_se state["selected_option_text"] = selected_option_text state["was_correct"] = is_correct state["resolved"] = true - state["collapsed"] = false followup_states[resolved_choice_id] = state _render_followup_state(resolved_choice_id) @@ -3251,28 +3243,6 @@ func _unlock_after_followup() -> void: _apply_saved_choice_state() -func _collapse_resolved_followups() -> void: - for choice_id in followup_states.keys(): - var state: Dictionary = followup_states[choice_id] - if bool(state.get("resolved", false)): - state["collapsed"] = true - followup_states[choice_id] = state - _render_followup_state(choice_id) - _apply_saved_choice_state() - - -func _toggle_followup_state(choice_id: String) -> void: - if not followup_states.has(choice_id) or followup_required: - return - var state: Dictionary = followup_states[choice_id] - if not bool(state.get("resolved", false)): - return - state["collapsed"] = not bool(state.get("collapsed", false)) - followup_states[choice_id] = state - _render_followup_state(choice_id) - _apply_saved_choice_state() - - func _render_followup_state(choice_id: String) -> void: if not followup_states.has(choice_id): return @@ -3284,8 +3254,6 @@ func _render_followup_state(choice_id: String) -> void: _style_followup_card(index, state) if not bool(state.get("resolved", false)): _render_active_followup(index, state) - elif bool(state.get("collapsed", false)): - _build_followup_header(choice_followup_contents[index], state, false, true) else: _build_resolved_followup(index, state) choice_followup_panels[index].visible = true @@ -3294,22 +3262,14 @@ func _render_followup_state(choice_id: String) -> void: func _build_resolved_followup(index: int, state: Dictionary) -> void: var content := choice_followup_contents[index] - _build_followup_header(content, state, true, true) - var is_main_correct := bool(state.get("is_main_correct", false)) - var body_content := _add_followup_body(content, is_main_correct) - - var heading := Label.new() - heading.text = "Why this is appropriate:" if is_main_correct else "Why this is less appropriate:" - _set_scaled_label(heading, 14, Brand.SUCCESS if is_main_correct else Color("fb5f6d")) - body_content.add_child(heading) - var explanation := Label.new() - explanation.text = _choice_review_explanation(str(state.get("choice_id", "")), state) + explanation.text = _strip_verdict_prefix(_choice_review_explanation(str(state.get("choice_id", "")), state)) explanation.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART _set_scaled_label(explanation, 14, Brand.text_color(_followup_is_dark())) - body_content.add_child(explanation) + content.add_child(explanation) -func _build_followup_header(content: VBoxContainer, state: Dictionary, expanded: bool, interactive: bool) -> void: + +func _build_followup_header(content: VBoxContainer, state: Dictionary) -> void: var dark := _followup_is_dark() var is_main_correct := bool(state.get("is_main_correct", false)) var accent := Brand.SUCCESS if is_main_correct else Color("fb5f6d") @@ -3317,9 +3277,8 @@ func _build_followup_header(content: VBoxContainer, state: Dictionary, expanded: row.add_theme_constant_override("separation", 10) content.add_child(row) - # The choice button above this panel already shows the letter badge, choice - # text, and percentage, so the header only needs a spacer plus the collapse - # toggle - repeating "Review: B. ..." and a status icon here was redundant. + # The choice button above this panel already shows the letter badge and + # choice text, so the header only needs a spacer plus the percentage badge. var spacer := Control.new() spacer.size_flags_horizontal = Control.SIZE_EXPAND_FILL row.add_child(spacer) @@ -3334,17 +3293,6 @@ func _build_followup_header(content: VBoxContainer, state: Dictionary, expanded: _set_scaled_label(percentage_label, 14, accent) row.add_child(percentage_label) - if interactive: - var toggle := Button.new() - toggle.name = "FollowupToggle" - toggle.flat = true - toggle.tooltip_text = "Collapse review" if expanded else "Expand review" - toggle.icon = preload("res://assets/icons/lucide/chevron-down.svg") if expanded else preload("res://assets/icons/lucide/chevron-right.svg") - toggle.custom_minimum_size = Vector2(34, 30) - toggle.add_theme_color_override("icon_normal_color", Brand.text_color(dark)) - toggle.pressed.connect(_toggle_followup_state.bind(str(state.get("choice_id", "")))) - row.add_child(toggle) - func _add_followup_body(content: VBoxContainer, is_correct: bool) -> VBoxContainer: var body := PanelContainer.new() @@ -3390,8 +3338,6 @@ func _choice_review_explanation(choice_id: String, state: Dictionary) -> String: var question := BlockSessionService.get_current_question() var explanations: Dictionary = question.get("choice_explanations", {}) var explanation := str(explanations.get(choice_id, "")).strip_edges() - if explanation.begins_with("Correct. "): - explanation = explanation.substr(9) if explanation != "": return explanation var teaching_point := str(state.get("teaching_point", "")).strip_edges() @@ -3403,11 +3349,6 @@ func _choice_review_explanation(choice_id: String, state: Dictionary) -> String: func _ensure_answer_review_followups() -> void: - for attempted_id in followup_states.keys(): - var attempted_state: Dictionary = followup_states[attempted_id] - if bool(attempted_state.get("resolved", false)): - attempted_state["collapsed"] = true - followup_states[attempted_id] = attempted_state for choice_id in followup_attempt_order: _render_followup_state(str(choice_id)) diff --git a/tests/post_answer_review_test.gd b/tests/post_answer_review_test.gd index 8924439..4574020 100644 --- a/tests/post_answer_review_test.gd +++ b/tests/post_answer_review_test.gd @@ -13,10 +13,9 @@ func _initialize() -> void: _test_eliminated_choice_uses_rich_text_strikeout() _test_eliminated_choice_that_is_also_locked_wrong_still_strikes_through() _test_explanation_highlighting_has_no_status_heading() - _test_collapsed_followup_review_expands() + _test_resolved_followup_has_no_header_or_verdict_prefix() _test_review_content_normalization() _test_followup_attempt_order_is_stable() - _test_answer_review_collapses_nested_wrong_followups() _test_review_followup_is_optional_and_single_attempt() _test_question_failure_retry_classification() _test_transient_question_failure_keeps_player_waiting() @@ -178,7 +177,7 @@ func _test_explanation_highlighting_has_no_status_heading() -> void: player.free() -func _test_collapsed_followup_review_expands() -> void: +func _test_resolved_followup_has_no_header_or_verdict_prefix() -> void: var player = load("res://scripts/ui/question_player.gd").new() var panel := PanelContainer.new() var content := VBoxContainer.new() @@ -193,14 +192,16 @@ func _test_collapsed_followup_review_expands() -> void: player.followup_states["B"] = { "choice_id": "B", "choice_text": "Wrong answer", "prompt": "Why?", "selected_option_text": "Finding", "was_correct": false, - "teaching_point": "Review the finding.", "resolved": true, "collapsed": true + "teaching_point": "Incorrect. Review the finding.", "resolved": true } player._render_followup_state("B") - var review_button := content.find_child("FollowupToggle", true, false) as Button - _assert(review_button != null, "collapsed follow-up should render a toggle button") - if review_button != null: - review_button.pressed.emit() - _assert(not bool(player.followup_states["B"].get("collapsed", true)), "review button should expand the resolved follow-up") + _assert(content.find_child("FollowupToggle", true, false) == null, "a resolved follow-up should not render a collapse toggle") + var explanation_text := "" + for child in content.get_children(): + if child is Label: + explanation_text += child.text + _assert(not explanation_text.contains("Why this is"), "a resolved follow-up should not repeat a 'Why this is...' heading") + _assert(not explanation_text.begins_with("Incorrect."), "a resolved follow-up explanation should not repeat the verdict prefix") player.choice_buttons[0].free() player.choice_percent_labels[0].free() player.choice_top_labels[0].free() @@ -248,16 +249,6 @@ func _test_followup_attempt_order_is_stable() -> void: player.free() -func _test_answer_review_collapses_nested_wrong_followups() -> void: - var player = load("res://scripts/ui/question_player.gd").new() - player.followup_states["C"] = {"resolved": true, "collapsed": false, "is_main_correct": false} - player.followup_attempt_order = ["C"] - player._ensure_answer_review_followups() - _assert(bool(player.followup_states["C"].get("collapsed", false)), "resolved distractor remediation should collapse for final review") - _assert(not player.followup_states.has("B"), "the correct answer should not become a distractor-remediation card") - player.free() - - func _test_review_followup_is_optional_and_single_attempt() -> void: var session = root.get_node("BlockSessionService") var prior_questions: Array = session.active_questions.duplicate(true) From 489b9c3d7c841efb135871d4ef2fca0cd1c0b81c Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 04:37:45 -0500 Subject: [PATCH 32/68] Fix text zoom not actually syncing, and expose it in Settings Two real gaps meant the account-synced zoom (from the previous "sync through the account" change) never reached the screen: _load_cache() updated AccountProfileService.preferences but never emitted profile_changed, so question_player.gd/ccs_service.gd (already built and listening before login even happens) never found out a cached value had loaded. And nothing forced a server refresh right after login - it only fired if the user happened to open the profile/progress screen, so a fresh device/session had no path to the true synced value at all. main.gd now calls AccountProfileService.refresh() once per login (not on every silent token refresh) so the real preferences GET always runs right after signing in, on any device. Also added Question bank/CCS case text size steppers to the Settings screen next to dark mode, per user request, reusing the same AccountProfileService/CCSService plumbing as the in-screen A-/A+ buttons. --- scripts/autoload/account_profile_service.gd | 2 + scripts/ui/main.gd | 7 +++ scripts/ui/settings_screen.gd | 70 +++++++++++++++++++++ tests/settings_screen_test.gd | 69 ++++++++++++++++++++ tests/settings_screen_test.gd.uid | 1 + 5 files changed, 149 insertions(+) create mode 100644 tests/settings_screen_test.gd create mode 100644 tests/settings_screen_test.gd.uid diff --git a/scripts/autoload/account_profile_service.gd b/scripts/autoload/account_profile_service.gd index 88756b0..6d27b9f 100644 --- a/scripts/autoload/account_profile_service.gd +++ b/scripts/autoload/account_profile_service.gd @@ -318,6 +318,7 @@ func _on_auth_changed() -> void: else: account = {} preferences = _default_preferences() + profile_changed.emit() func _cache_path() -> String: @@ -331,6 +332,7 @@ func _load_cache() -> void: if typeof(parsed) == TYPE_DICTIONARY: preferences = parsed.get("preferences", _default_preferences()) preferences_pending = bool(parsed.get("pending", false)) + profile_changed.emit() func _save_cache(pending: bool) -> void: diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index 33a6a58..369c05d 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -5,6 +5,7 @@ const Brand := preload("res://scripts/ui/medmind_style.gd") const NavigationRoutes := preload("res://scripts/ui/navigation_routes.gd") var screens := {} +var _account_profile_synced := false var header_panel: PanelContainer var header_title: Label var environment_badge: Label @@ -755,6 +756,12 @@ func open_legal_document(kind: String) -> void: func _on_auth_changed() -> void: _refresh_header_controls() + if AuthState.is_logged_in: + if not _account_profile_synced: + _account_profile_synced = true + AccountProfileService.refresh() + else: + _account_profile_synced = false if AuthState.is_logged_in and AuthState.requires_legal_acceptance and current_screen_name not in ["login", "legal_consent"]: show_screen("legal_consent") diff --git a/scripts/ui/settings_screen.gd b/scripts/ui/settings_screen.gd index 607f545..7de9f93 100644 --- a/scripts/ui/settings_screen.gd +++ b/scripts/ui/settings_screen.gd @@ -1,10 +1,15 @@ extends VBoxContainer const Brand := preload("res://scripts/ui/medmind_style.gd") +const QUESTION_TEXT_SCALE_MIN := 0.85 +const QUESTION_TEXT_SCALE_MAX := 1.35 +const QUESTION_TEXT_SCALE_STEP := 0.1 var main: Control var theme_toggle: CheckButton var sound_toggle: CheckButton +var question_scale_value_label: Label +var ccs_scale_value_label: Label func _ready() -> void: @@ -52,6 +57,9 @@ func _ready() -> void: sound_toggle.toggled.connect(UISoundService.set_sounds_enabled) content.add_child(sound_toggle) + content.add_child(_build_text_scale_row("Question bank text size", "question")) + content.add_child(_build_text_scale_row("CCS case text size", "ccs")) + var legal_panel := PanelContainer.new() legal_panel.custom_minimum_size = Vector2(520, 0) legal_panel.size_flags_horizontal = Control.SIZE_SHRINK_BEGIN @@ -74,11 +82,73 @@ func _ready() -> void: legal_content.add_child(button) UIThemeService.theme_changed.connect(_on_theme_changed) + AccountProfileService.profile_changed.connect(_refresh_text_scale_labels) + CCSService.text_scale_changed.connect(_refresh_text_scale_labels) + _refresh_text_scale_labels() func on_show(_payload: Variant = null) -> void: theme_toggle.set_pressed_no_signal(UIThemeService.is_dark_mode()) sound_toggle.set_pressed_no_signal(UISoundService.are_sounds_enabled()) + _refresh_text_scale_labels() + + +func _build_text_scale_row(label_text: String, kind: String) -> HBoxContainer: + var row := HBoxContainer.new() + row.custom_minimum_size = Vector2(0, 52) + row.add_theme_constant_override("separation", 12) + + var label := Label.new() + label.text = label_text + label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + row.add_child(label) + + var smaller := Button.new() + smaller.text = "A-" + smaller.tooltip_text = "Decrease text size" + smaller.custom_minimum_size = Vector2(44, 44) + row.add_child(smaller) + + var value_label := Label.new() + value_label.custom_minimum_size = Vector2(56, 0) + value_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + row.add_child(value_label) + + var larger := Button.new() + larger.text = "A+" + larger.tooltip_text = "Increase text size" + larger.custom_minimum_size = Vector2(44, 44) + row.add_child(larger) + + if kind == "question": + question_scale_value_label = value_label + smaller.pressed.connect(_adjust_question_text_scale.bind(-QUESTION_TEXT_SCALE_STEP)) + larger.pressed.connect(_adjust_question_text_scale.bind(QUESTION_TEXT_SCALE_STEP)) + else: + ccs_scale_value_label = value_label + smaller.pressed.connect(_adjust_ccs_text_scale.bind(-CCSService.TEXT_SCALE_STEP)) + larger.pressed.connect(_adjust_ccs_text_scale.bind(CCSService.TEXT_SCALE_STEP)) + return row + + +func _adjust_question_text_scale(delta: float) -> void: + var current: float = AccountProfileService.preferences.get("questionTextScale", 1.0) + var next_scale: float = clamp(current + delta, QUESTION_TEXT_SCALE_MIN, QUESTION_TEXT_SCALE_MAX) + AccountProfileService.update_text_scale(next_scale) + _refresh_text_scale_labels() + + +func _adjust_ccs_text_scale(delta: float) -> void: + CCSService.adjust_text_scale(delta) + _refresh_text_scale_labels() + + +func _refresh_text_scale_labels() -> void: + if question_scale_value_label != null: + var question_scale: float = AccountProfileService.preferences.get("questionTextScale", 1.0) + question_scale_value_label.text = "%d%%" % round(question_scale * 100) + if ccs_scale_value_label != null: + ccs_scale_value_label.text = "%d%%" % round(CCSService.text_scale * 100) func _on_theme_toggled(enabled: bool) -> void: diff --git a/tests/settings_screen_test.gd b/tests/settings_screen_test.gd new file mode 100644 index 0000000..95c178f --- /dev/null +++ b/tests/settings_screen_test.gd @@ -0,0 +1,69 @@ +extends SceneTree + +var failures := 0 + + +func _initialize() -> void: + call_deferred("_run") + + +func _run() -> void: + var account_profile = root.get_node("AccountProfileService") + var ccs_service = root.get_node("CCSService") + var prior_preferences: Dictionary = account_profile.preferences.duplicate(true) + var prior_ccs_scale: float = ccs_service.text_scale + account_profile.preferences["questionTextScale"] = 1.0 + ccs_service.text_scale = 1.0 + + var host := Control.new() + root.add_child(host) + var screen = load("res://scripts/ui/settings_screen.gd").new() + screen.main = host + host.add_child(screen) + await process_frame + + _assert(screen.question_scale_value_label != null, "settings should expose a question bank text size control") + _assert(screen.ccs_scale_value_label != null, "settings should expose a CCS case text size control") + _assert(screen.question_scale_value_label.text == "100%", "question bank text size should start at 100%") + _assert(screen.ccs_scale_value_label.text == "100%", "CCS case text size should start at 100%") + + _assert(_find_button(screen, "A+", 0) != null, "question bank row should have an A+ button") + _assert(_find_button(screen, "A+", 1) != null, "CCS row should have an A+ button") + + var prior_profile_api_url: String = ProjectSettings.get_setting("step3/profile_api_url", "") + ProjectSettings.set_setting("step3/profile_api_url", "http://127.0.0.1:1") + + # Call the handlers directly rather than emitting Button.pressed - the real + # signal path also fires UISoundService's click sound, whose OGG playback + # doesn't release cleanly before this short-lived headless process exits. + screen._adjust_question_text_scale(0.1) + _assert(is_equal_approx(float(account_profile.preferences.get("questionTextScale", 1.0)), 1.1), "question bank A+ should increase the synced scale") + _assert(screen.question_scale_value_label.text == "110%", "question bank text size label should reflect the new scale") + + screen._adjust_ccs_text_scale(0.1) + _assert(is_equal_approx(ccs_service.text_scale, 1.1), "CCS A+ should increase the shared CCS text scale") + _assert(screen.ccs_scale_value_label.text == "110%", "CCS text size label should reflect the new scale") + + ProjectSettings.set_setting("step3/profile_api_url", prior_profile_api_url) + host.queue_free() + await process_frame + account_profile.preferences = prior_preferences + ccs_service.text_scale = prior_ccs_scale + quit(1 if failures > 0 else 0) + + +func _find_button(root_node: Node, text: String, occurrence: int) -> Button: + var found := 0 + for node in root_node.find_children("*", "Button", true, false): + if node.text == text: + if found == occurrence: + return node + found += 1 + return null + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) diff --git a/tests/settings_screen_test.gd.uid b/tests/settings_screen_test.gd.uid new file mode 100644 index 0000000..8aedcff --- /dev/null +++ b/tests/settings_screen_test.gd.uid @@ -0,0 +1 @@ +uid://dysbx2e58xwm8 From 8e216eac32d7033574701e0062fd25877665c645 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 04:43:02 -0500 Subject: [PATCH 33/68] Rebuild CCS case workflow --- api/QuestionsApi.Tests/CcsCaseTests.cs | 35 + api/QuestionsApi/Controllers/CcsController.cs | 10 + api/QuestionsApi/Models/CcsModels.cs | 82 +- api/QuestionsApi/Services/CcsCaseValidator.cs | 37 +- api/QuestionsApi/Services/CcsStore.cs | 228 ++- content/ccs/dka-emergency-001.json | 49 +- docs/CCS_CASE_AUTHORING.md | 13 +- scripts/autoload/ccs_service.gd | 28 +- scripts/ui/ccs_hub.gd | 2 +- scripts/ui/ccs_player.gd | 1444 ++++++++++------- scripts/ui/main.gd | 2 +- tests/ccs_player_test.gd | 103 +- tests/smoke/uat-smoke.spec.mjs | 31 +- 13 files changed, 1374 insertions(+), 690 deletions(-) diff --git a/api/QuestionsApi.Tests/CcsCaseTests.cs b/api/QuestionsApi.Tests/CcsCaseTests.cs index 81b6e00..0410b07 100644 --- a/api/QuestionsApi.Tests/CcsCaseTests.cs +++ b/api/QuestionsApi.Tests/CcsCaseTests.cs @@ -8,6 +8,41 @@ namespace QuestionsApi.Tests; public sealed class CcsCaseTests { + [Fact] + public void NewCcsAttemptsAreTimedOnly() + { + Assert.Null(CcsCaseValidator.ValidateCreate(new CreateCcsAttemptRequest())); + Assert.Equal("new CCS attempts must be timed", + CcsCaseValidator.ValidateCreate(new CreateCcsAttemptRequest { Mode = CcsAttemptModes.Practice })); + } + + [Fact] + public void CcsBatchCommandsAreBoundedAndHomogeneous() + { + var valid = new CcsBatchCommandRequest + { + CommandId = "batch-1", + Commands = + [ + new() { Type = "exam", Code = "general" }, + new() { Type = "exam", Code = "cardiac" } + ] + }; + Assert.Null(CcsCaseValidator.ValidateBatch(valid)); + valid.Commands.Add(new() { Type = "order", Code = "bmp" }); + Assert.Contains("cannot be mixed", CcsCaseValidator.ValidateBatch(valid), StringComparison.OrdinalIgnoreCase); + } + + [Fact] + public void CcsTimingReservesTwoMinutesWithoutExtendingTheHardDeadline() + { + Assert.Equal(18, CcsStore.ActivePhaseMinutes(20)); + Assert.Equal(8, CcsStore.ActivePhaseMinutes(10)); + var now = new DateTime(2026, 7, 23, 12, 0, 0, DateTimeKind.Utc); + Assert.Equal(now.AddMinutes(2), CcsStore.FinalOrdersDeadline(now, now.AddMinutes(5))); + Assert.Equal(now.AddMinutes(1), CcsStore.FinalOrdersDeadline(now, now.AddMinutes(1))); + } + [Fact] public void CcsHistoryCursorRoundTripsTimestampAndId() { diff --git a/api/QuestionsApi/Controllers/CcsController.cs b/api/QuestionsApi/Controllers/CcsController.cs index 2e6c76f..56e4ada 100644 --- a/api/QuestionsApi/Controllers/CcsController.cs +++ b/api/QuestionsApi/Controllers/CcsController.cs @@ -51,6 +51,16 @@ public sealed class CcsController(CcsStore store, CcsRatingStore ratings) : Cont catch (InvalidOperationException exception) { return Conflict(exception.Message); } } + [HttpPost("attempts/{id}/commands/batch")] + public async Task BatchCommand(string id, CcsBatchCommandRequest request) + { + var attempt = await store.GetOwnedAsync(id, UserId()); + if (attempt is null) return NotFound(); + try { return Ok(await store.ToResponseAsync(await store.ApplyBatchCommandAsync(attempt, request))); } + catch (ArgumentException exception) { return BadRequest(exception.Message); } + catch (InvalidOperationException exception) { return Conflict(exception.Message); } + } + [HttpPost("attempts/{id}/abandon")] public async Task Abandon(string id) { diff --git a/api/QuestionsApi/Models/CcsModels.cs b/api/QuestionsApi/Models/CcsModels.cs index f920171..bc2f72d 100644 --- a/api/QuestionsApi/Models/CcsModels.cs +++ b/api/QuestionsApi/Models/CcsModels.cs @@ -17,6 +17,26 @@ public static class CcsAttemptModes public const string Timed = "timed"; } +public static class CcsChartCategories +{ + public const string Orders = "orders"; + public const string Progress = "progress"; + public const string Vitals = "vitals"; + public const string Lab = "lab"; + public const string Imaging = "imaging"; + public const string OtherTest = "other_test"; + public const string Treatment = "treatment"; + + public static readonly IReadOnlySet All = new HashSet(StringComparer.OrdinalIgnoreCase) + { + Orders, Progress, Vitals, Lab, Imaging, OtherTest, Treatment + }; + public static readonly IReadOnlySet ResultSections = new HashSet(StringComparer.OrdinalIgnoreCase) + { + Lab, Imaging, OtherTest, Treatment + }; +} + public class CcsOrderDefinition { [BsonId] public string Code { get; set; } = ""; @@ -25,6 +45,9 @@ public class CcsOrderDefinition public List Aliases { get; set; } = []; public int DefaultTurnaroundMinutes { get; set; } public List AvailableLocations { get; set; } = []; + public string DisplayRoute { get; set; } = ""; + public string DisplayFrequency { get; set; } = ""; + public string ResultSection { get; set; } = ""; public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; } @@ -57,11 +80,19 @@ public class CcsInitialChart public string ReasonForEncounter { get; set; } = ""; public string Appearance { get; set; } = ""; public string History { get; set; } = ""; + public List HistorySections { get; set; } = []; public Dictionary Vitals { get; set; } = []; public DateTime SimulatedStartUtc { get; set; } = DateTime.UtcNow; public List InitialOrderCodes { get; set; } = []; } +public class CcsNarrativeSection +{ + public string Code { get; set; } = ""; + public string Title { get; set; } = ""; + public string Text { get; set; } = ""; +} + public class CcsExamDefinition { public string Code { get; set; } = ""; @@ -75,6 +106,7 @@ public class CcsCaseOrderDefinition public string OrderCode { get; set; } = ""; public int? TurnaroundMinutes { get; set; } public string Result { get; set; } = ""; + public string ResultSection { get; set; } = ""; public Dictionary VitalPatches { get; set; } = []; } @@ -111,19 +143,22 @@ public class CcsAttempt public string CaseExternalId { get; set; } = ""; [BsonRepresentation(BsonType.ObjectId)] public string CaseRevisionId { get; set; } = ""; public int CaseVersion { get; set; } - public string Mode { get; set; } = CcsAttemptModes.Practice; + public string Mode { get; set; } = CcsAttemptModes.Timed; public string State { get; set; } = CcsAttemptStates.Active; public int Revision { get; set; } public int SimulatedMinute { get; set; } + [BsonIgnoreIfNull] public bool? OpeningCompleted { get; set; } public string Location { get; set; } = ""; public Dictionary CurrentVitals { get; set; } = []; public List Actions { get; set; } = []; public List PendingResults { get; set; } = []; public List Chart { get; set; } = []; + public List VitalHistory { get; set; } = []; public List ActiveOrderCodes { get; set; } = []; public List ProcessedEventIds { get; set; } = []; public List ProcessedCommandIds { get; set; } = []; public DateTime? DeadlineUtc { get; set; } + public DateTime? HardDeadlineUtc { get; set; } public DateTime? FinalOrdersDeadlineUtc { get; set; } public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; @@ -144,6 +179,8 @@ public class CcsAttemptAction public class CcsPendingResult { public string OrderCode { get; set; } = ""; + public string Category { get; set; } = ""; + public string Title { get; set; } = ""; public int DueMinute { get; set; } public string Result { get; set; } = ""; public Dictionary VitalPatches { get; set; } = []; @@ -153,9 +190,30 @@ public class CcsChartEntry { public string Category { get; set; } = "progress"; public int SimulatedMinute { get; set; } + public string Code { get; set; } = ""; + public string Title { get; set; } = ""; public string Text { get; set; } = ""; } +public class CcsVitalSnapshot +{ + public int SimulatedMinute { get; set; } + public Dictionary Values { get; set; } = []; +} + +public class CcsActiveOrder +{ + public string Code { get; set; } = ""; + public string Name { get; set; } = ""; + public string Category { get; set; } = ""; + public string Route { get; set; } = ""; + public string Frequency { get; set; } = ""; + public int OrderedMinute { get; set; } + public int? ReportMinute { get; set; } + public bool IsPending { get; set; } + public bool HasResult { get; set; } +} + public class CcsCaseScore { public double Percent { get; set; } @@ -194,7 +252,7 @@ public class CcsImportResponse public class CreateCcsAttemptRequest { public string CaseExternalId { get; set; } = ""; - public string Mode { get; set; } = CcsAttemptModes.Practice; + public string Mode { get; set; } = CcsAttemptModes.Timed; } public class CcsCommandRequest @@ -206,6 +264,20 @@ public class CcsCommandRequest public int Minutes { get; set; } } +public class CcsBatchCommandRequest +{ + public string CommandId { get; set; } = ""; + public int ExpectedRevision { get; set; } + public List Commands { get; set; } = []; +} + +public class CcsBatchCommandItem +{ + public string Type { get; set; } = ""; + public string Code { get; set; } = ""; + public int Minutes { get; set; } +} + public class CcsCaseSummary { public string ExternalId { get; set; } = ""; @@ -226,8 +298,11 @@ public class CcsAttemptResponse public string State { get; set; } = ""; public int Revision { get; set; } public int SimulatedMinute { get; set; } + public DateTime SimulatedStartUtc { get; set; } + public bool OpeningCompleted { get; set; } public string Location { get; set; } = ""; public DateTime? DeadlineUtc { get; set; } + public DateTime? HardDeadlineUtc { get; set; } public DateTime? FinalOrdersDeadlineUtc { get; set; } public DateTime CreatedUtc { get; set; } public int RealTimeMinutes { get; set; } @@ -236,9 +311,12 @@ public class CcsAttemptResponse public string ReasonForEncounter { get; set; } = ""; public string Appearance { get; set; } = ""; public string History { get; set; } = ""; + public List HistorySections { get; set; } = []; public Dictionary Vitals { get; set; } = []; public List Chart { get; set; } = []; public List ActiveOrderCodes { get; set; } = []; + public List ActiveOrders { get; set; } = []; + public List VitalHistory { get; set; } = []; public List PendingResults { get; set; } = []; public List AvailableExams { get; set; } = []; public List AllowedLocations { get; set; } = []; diff --git a/api/QuestionsApi/Services/CcsCaseValidator.cs b/api/QuestionsApi/Services/CcsCaseValidator.cs index caba486..1993015 100644 --- a/api/QuestionsApi/Services/CcsCaseValidator.cs +++ b/api/QuestionsApi/Services/CcsCaseValidator.cs @@ -4,8 +4,7 @@ namespace QuestionsApi.Services; public static class CcsCaseValidator { - private static readonly HashSet Modes = [CcsAttemptModes.Practice, CcsAttemptModes.Timed]; - private static readonly HashSet CommandTypes = ["exam", "order", "cancel_order", "location", "advance", "interval_history", "end_case", "exit_case"]; + private static readonly HashSet CommandTypes = ["exam", "order", "cancel_order", "location", "advance", "interval_history", "acknowledge_opening", "end_case", "exit_case"]; public static List ValidateImport(CcsImportRequest request, IReadOnlySet existingOrderCodes) { @@ -18,6 +17,8 @@ public static class CcsCaseValidator if (string.IsNullOrWhiteSpace(order.CanonicalName)) errors.Add(prefix + "canonicalName required"); if (string.IsNullOrWhiteSpace(order.Category)) errors.Add(prefix + "category required"); if (order.DefaultTurnaroundMinutes < 0) errors.Add(prefix + "defaultTurnaroundMinutes cannot be negative"); + if (!string.IsNullOrWhiteSpace(order.ResultSection) && !CcsChartCategories.ResultSections.Contains(order.ResultSection)) + errors.Add(prefix + "resultSection is invalid"); } if (request.Orders.Select(order => order.Code).Distinct(StringComparer.OrdinalIgnoreCase).Count() != request.Orders.Count) errors.Add("order codes must be unique within an import"); @@ -50,7 +51,11 @@ public static class CcsCaseValidator if (eventIds.Any(string.IsNullOrWhiteSpace) || eventIds.Distinct(StringComparer.OrdinalIgnoreCase).Count() != eventIds.Count) errors.Add(prefix + "event ids must be present and unique"); foreach (var response in item.OrderResponses) + { if (!orderCodes.Contains(response.OrderCode)) errors.Add(prefix + $"unknown order code {response.OrderCode}"); + if (!string.IsNullOrWhiteSpace(response.ResultSection) && !CcsChartCategories.ResultSections.Contains(response.ResultSection)) + errors.Add(prefix + $"order response {response.OrderCode} resultSection is invalid"); + } foreach (var code in item.InitialChart.InitialOrderCodes.Concat(item.Events.SelectMany(value => value.RequiresOrderCodes.Concat(value.RequiresAnyOrderCodes)))) if (!orderCodes.Contains(code)) errors.Add(prefix + $"unknown order code {code}"); var criteriaIds = item.ScoringCriteria.Select(value => value.Id).ToList(); @@ -75,7 +80,8 @@ public static class CcsCaseValidator public static string? ValidateCreate(CreateCcsAttemptRequest request) { - if (!Modes.Contains(request.Mode)) return "mode must be practice or timed"; + if (!request.Mode.Equals(CcsAttemptModes.Timed, StringComparison.OrdinalIgnoreCase)) + return "new CCS attempts must be timed"; return null; } @@ -88,4 +94,29 @@ public static class CcsCaseValidator if (request.Type == "advance" && request.Minutes is < 1 or > 525600) return "advance minutes must be between 1 and 525600"; return null; } + + public static string? ValidateBatch(CcsBatchCommandRequest request) + { + if (string.IsNullOrWhiteSpace(request.CommandId)) return "commandId required"; + if (request.ExpectedRevision < 0) return "expectedRevision cannot be negative"; + if (request.Commands.Count is < 1 or > 50) return "commands must contain between 1 and 50 items"; + foreach (var item in request.Commands) + { + var error = ValidateCommand(new CcsCommandRequest + { + CommandId = request.CommandId, + ExpectedRevision = request.ExpectedRevision, + Type = item.Type, + Code = item.Code, + Minutes = item.Minutes + }); + if (error is not null) return error; + if (item.Type is not ("exam" or "interval_history" or "order" or "cancel_order")) + return "batch commands support history/exams, orders, and order cancellations only"; + } + var hasClinicalAssessment = request.Commands.Any(value => value.Type is "exam" or "interval_history"); + if (hasClinicalAssessment && request.Commands.Any(value => value.Type is not ("exam" or "interval_history"))) + return "history and examinations cannot be mixed with order changes in one batch"; + return null; + } } diff --git a/api/QuestionsApi/Services/CcsStore.cs b/api/QuestionsApi/Services/CcsStore.cs index d938022..1d286f9 100644 --- a/api/QuestionsApi/Services/CcsStore.cs +++ b/api/QuestionsApi/Services/CcsStore.cs @@ -115,16 +115,22 @@ public sealed class CcsStore CaseExternalId = definition.ExternalId, CaseRevisionId = definition.Id ?? "", CaseVersion = definition.Version, - Mode = request.Mode, + Mode = CcsAttemptModes.Timed, + OpeningCompleted = false, Location = definition.PresentingLocation, CurrentVitals = new Dictionary(definition.InitialChart.Vitals), + VitalHistory = + [ + new CcsVitalSnapshot { SimulatedMinute = 0, Values = new Dictionary(definition.InitialChart.Vitals) } + ], ActiveOrderCodes = definition.InitialChart.InitialOrderCodes.Distinct(StringComparer.OrdinalIgnoreCase).ToList(), - DeadlineUtc = request.Mode == CcsAttemptModes.Timed ? now.AddMinutes(definition.RealTimeMinutes) : null, - RatingEligible = request.Mode == CcsAttemptModes.Timed, + DeadlineUtc = now.AddMinutes(ActivePhaseMinutes(definition.RealTimeMinutes)), + HardDeadlineUtc = now.AddMinutes(definition.RealTimeMinutes), + RatingEligible = true, Chart = [ - new CcsChartEntry { Category = "progress", Text = definition.InitialChart.ReasonForEncounter }, - new CcsChartEntry { Category = "progress", Text = definition.InitialChart.Appearance } + new CcsChartEntry { Category = CcsChartCategories.Progress, Code = "reason_for_encounter", Title = "Reason for encounter", Text = definition.InitialChart.ReasonForEncounter }, + new CcsChartEntry { Category = CcsChartCategories.Progress, Code = "initial_appearance", Title = "Initial appearance", Text = definition.InitialChart.Appearance } ] }; try { await _attempts.InsertOneAsync(attempt); } @@ -173,7 +179,12 @@ public sealed class CcsStore if (attempt.State == CcsAttemptStates.Active && attempt.DeadlineUtc <= DateTime.UtcNow) { attempt.State = CcsAttemptStates.FinalOrders; - attempt.FinalOrdersDeadlineUtc = DateTime.UtcNow.AddMinutes(2); + attempt.FinalOrdersDeadlineUtc = FinalOrdersDeadline(DateTime.UtcNow, attempt.HardDeadlineUtc); + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Progress, Code = "case_end", Title = "Case-end instructions", + SimulatedMinute = attempt.SimulatedMinute, Text = "Finalize patient care orders." + }); attempt.Revision++; await SaveAsync(attempt); } @@ -206,9 +217,16 @@ public sealed class CcsStore case "advance": Advance(attempt, definition, command.Minutes); break; case "interval_history": attempt.Actions.Add(Action("interval_history", "interval_history", attempt.SimulatedMinute, now)); - attempt.Chart.Add(new CcsChartEntry { Category = "progress", SimulatedMinute = attempt.SimulatedMinute, Text = "The patient was reassessed for interval change." }); + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Progress, Code = "interval_history", Title = "Interval history", + SimulatedMinute = attempt.SimulatedMinute, Text = "The patient was reassessed for interval change." + }); Advance(attempt, definition, 1); break; + case "acknowledge_opening": + attempt.OpeningCompleted = true; + break; case "end_case": EnterFinalOrders(attempt); break; case "exit_case": await CompleteAsync(attempt); break; } @@ -220,6 +238,63 @@ public sealed class CcsStore return attempt; } + public async Task ApplyBatchCommandAsync(CcsAttempt attempt, CcsBatchCommandRequest request) + { + var validation = CcsCaseValidator.ValidateBatch(request); + if (validation is not null) throw new ArgumentException(validation); + if (attempt.ProcessedCommandIds.Contains(request.CommandId, StringComparer.Ordinal)) return attempt; + if (attempt.Revision != request.ExpectedRevision) throw new InvalidOperationException("Attempt revision is stale."); + if (attempt.State is CcsAttemptStates.Completed or CcsAttemptStates.Abandoned) + throw new InvalidOperationException("The CCS attempt is closed."); + if (attempt.State == CcsAttemptStates.FinalOrders && request.Commands.Any(value => value.Type is not ("order" or "cancel_order"))) + throw new InvalidOperationException("Only final orders may be changed now."); + + var definition = await DefinitionAsync(attempt); + var now = DateTime.UtcNow; + if (request.Commands.Any(value => value.Type is "exam" or "interval_history")) + { + var selected = request.Commands.Where(item => item.Type == "exam").Select(item => + definition.Exams.FirstOrDefault(value => value.Code.Equals(item.Code, StringComparison.OrdinalIgnoreCase)) + ?? throw new ArgumentException($"Unknown examination component: {item.Code}.")).ToList(); + var includeHistory = request.Commands.Any(item => item.Type == "interval_history"); + var startingMinute = attempt.SimulatedMinute; + foreach (var exam in selected) + attempt.Actions.Add(Action("exam", exam.Code, startingMinute, now)); + if (includeHistory) + attempt.Actions.Add(Action("interval_history", "interval_history", startingMinute, now)); + Advance(attempt, definition, selected.Sum(value => Math.Max(1, value.DurationMinutes)) + (includeHistory ? 1 : 0)); + if (includeHistory) + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Progress, Code = "interval_history", Title = "Interval history", + SimulatedMinute = attempt.SimulatedMinute, Text = "The patient was reassessed for interval change." + }); + foreach (var exam in selected) + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Progress, Code = exam.Code, Title = exam.Name, + SimulatedMinute = attempt.SimulatedMinute, Text = exam.Finding + }); + } + else + { + foreach (var item in request.Commands) + { + if (item.Type == "order") await ApplyOrderAsync(attempt, definition, item.Code, now, false); + else CancelOrder(attempt, item.Code, now); + } + ProcessDue(attempt); + } + + attempt.ProcessedCommandIds.Add(request.CommandId); + if (attempt.ProcessedCommandIds.Count > 100) + attempt.ProcessedCommandIds.RemoveRange(0, attempt.ProcessedCommandIds.Count - 100); + attempt.Revision++; + attempt.UpdatedUtc = now; + await SaveAsync(attempt); + return attempt; + } + public async Task HistoryAsync(string userId, int limit, string status = "all", string sort = "newest", string? cursor = null) { limit = Math.Clamp(limit, 1, 50); @@ -314,19 +389,49 @@ public sealed class CcsStore { var definition = await DefinitionAsync(attempt); var completed = attempt.State == CcsAttemptStates.Completed; + List activeCatalog = attempt.ActiveOrderCodes.Count == 0 + ? [] + : await _orders.Find(value => attempt.ActiveOrderCodes.Contains(value.Code)).ToListAsync(); + var activeOrders = activeCatalog.Select(order => + { + var orderedMinute = attempt.Actions.LastOrDefault(value => + value.Type == "order" && value.Code.Equals(order.Code, StringComparison.OrdinalIgnoreCase))?.SimulatedMinute ?? 0; + var pending = attempt.PendingResults.FirstOrDefault(value => + value.OrderCode.Equals(order.Code, StringComparison.OrdinalIgnoreCase)); + var reported = attempt.Chart.LastOrDefault(value => + value.Code.Equals(order.Code, StringComparison.OrdinalIgnoreCase) + && value.Category is not CcsChartCategories.Orders); + return new CcsActiveOrder + { + Code = order.Code, Name = order.CanonicalName, Category = order.Category, + Route = order.DisplayRoute, Frequency = order.DisplayFrequency, OrderedMinute = orderedMinute, + ReportMinute = pending is not null ? null : reported?.SimulatedMinute, + IsPending = pending is not null, HasResult = reported is not null + }; + }).OrderBy(value => value.OrderedMinute).ThenBy(value => value.Name).ToList(); + List vitalHistory = attempt.VitalHistory.Count > 0 + ? attempt.VitalHistory + : [new CcsVitalSnapshot { SimulatedMinute = attempt.SimulatedMinute, Values = new Dictionary(attempt.CurrentVitals) }]; return new CcsAttemptResponse { Id = attempt.Id ?? "", CaseExternalId = attempt.CaseExternalId, CaseTitle = completed ? definition.Title : $"CCS Case {attempt.CaseExternalId}", Mode = attempt.Mode, State = attempt.State, Revision = attempt.Revision, - SimulatedMinute = attempt.SimulatedMinute, Location = attempt.Location, - DeadlineUtc = attempt.DeadlineUtc, FinalOrdersDeadlineUtc = attempt.FinalOrdersDeadlineUtc, + SimulatedMinute = attempt.SimulatedMinute, SimulatedStartUtc = definition.InitialChart.SimulatedStartUtc, + OpeningCompleted = attempt.OpeningCompleted ?? true, Location = attempt.Location, + DeadlineUtc = attempt.DeadlineUtc, HardDeadlineUtc = attempt.HardDeadlineUtc, + FinalOrdersDeadlineUtc = attempt.FinalOrdersDeadlineUtc, CreatedUtc = attempt.CreatedUtc, RealTimeMinutes = definition.RealTimeMinutes, ElapsedSeconds = Math.Max(0, (int)Math.Round(((attempt.CompletedUtc ?? DateTime.UtcNow) - attempt.CreatedUtc).TotalSeconds)), PatientSummary = definition.InitialChart.PatientSummary, ReasonForEncounter = definition.InitialChart.ReasonForEncounter, Appearance = definition.InitialChart.Appearance, History = definition.InitialChart.History, + HistorySections = definition.InitialChart.HistorySections, Vitals = attempt.CurrentVitals, Chart = attempt.Chart, ActiveOrderCodes = attempt.ActiveOrderCodes, - PendingResults = attempt.PendingResults.Select(value => new CcsPendingResult { OrderCode = value.OrderCode, DueMinute = value.DueMinute }).ToList(), + ActiveOrders = activeOrders, VitalHistory = vitalHistory, + PendingResults = attempt.PendingResults.Select(value => new CcsPendingResult + { + OrderCode = value.OrderCode, DueMinute = value.DueMinute, Category = value.Category, Title = value.Title + }).ToList(), AvailableExams = attempt.State == CcsAttemptStates.Active ? definition.Exams : [], AllowedLocations = attempt.State == CcsAttemptStates.Active ? definition.AllowedLocations : [], Score = completed ? attempt.Score : null, Rating = completed ? attempt.Rating : null, @@ -342,7 +447,7 @@ public sealed class CcsStore await SaveAsync(attempt); } - private async Task ApplyOrderAsync(CcsAttempt attempt, CcsCaseRevision definition, string code, DateTime now) + private async Task ApplyOrderAsync(CcsAttempt attempt, CcsCaseRevision definition, string code, DateTime now, bool processImmediately = true) { code = code.Trim().ToLowerInvariant(); var catalog = await _orders.Find(value => value.Code == code).FirstOrDefaultAsync() ?? throw new ArgumentException("Unknown order code."); @@ -352,17 +457,30 @@ public sealed class CcsStore if (!attempt.ActiveOrderCodes.Contains(code, StringComparer.OrdinalIgnoreCase)) attempt.ActiveOrderCodes.Add(code); var response = definition.OrderResponses.FirstOrDefault(value => value.OrderCode.Equals(code, StringComparison.OrdinalIgnoreCase)); var delay = response?.TurnaroundMinutes ?? catalog.DefaultTurnaroundMinutes; + var resultCategory = ResultCategory(response?.ResultSection, catalog.ResultSection, catalog.Category); if (response is not null && (!string.IsNullOrWhiteSpace(response.Result) || response.VitalPatches.Count > 0)) - attempt.PendingResults.Add(new CcsPendingResult { OrderCode = code, DueMinute = attempt.SimulatedMinute + delay, Result = response.Result, VitalPatches = response.VitalPatches }); - attempt.Chart.Add(new CcsChartEntry { Category = "orders", SimulatedMinute = attempt.SimulatedMinute, Text = $"Ordered: {catalog.CanonicalName}" }); - if (delay == 0) ProcessDue(attempt); + attempt.PendingResults.Add(new CcsPendingResult + { + OrderCode = code, Category = resultCategory, Title = catalog.CanonicalName, + DueMinute = attempt.SimulatedMinute + delay, Result = response.Result, VitalPatches = response.VitalPatches + }); + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Orders, Code = code, Title = catalog.CanonicalName, + SimulatedMinute = attempt.SimulatedMinute, Text = $"Ordered: {catalog.CanonicalName}" + }); + if (delay == 0 && processImmediately) ProcessDue(attempt); } private static void ApplyExam(CcsAttempt attempt, CcsCaseRevision definition, string code, DateTime now) { var exam = definition.Exams.FirstOrDefault(value => value.Code.Equals(code, StringComparison.OrdinalIgnoreCase)) ?? throw new ArgumentException("Unknown examination component."); attempt.Actions.Add(Action("exam", exam.Code, attempt.SimulatedMinute, now)); - attempt.Chart.Add(new CcsChartEntry { Category = "exam", SimulatedMinute = attempt.SimulatedMinute, Text = $"{exam.Name}: {exam.Finding}" }); + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Progress, Code = exam.Code, Title = exam.Name, + SimulatedMinute = attempt.SimulatedMinute, Text = exam.Finding + }); Advance(attempt, definition, Math.Max(1, exam.DurationMinutes)); } @@ -371,7 +489,11 @@ public sealed class CcsStore attempt.Actions.Add(Action("cancel_order", code, attempt.SimulatedMinute, now)); attempt.ActiveOrderCodes.RemoveAll(value => value.Equals(code, StringComparison.OrdinalIgnoreCase)); attempt.PendingResults.RemoveAll(value => value.OrderCode.Equals(code, StringComparison.OrdinalIgnoreCase)); - attempt.Chart.Add(new CcsChartEntry { Category = "orders", SimulatedMinute = attempt.SimulatedMinute, Text = $"Canceled: {code}" }); + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Orders, Code = code, Title = Humanize(code), + SimulatedMinute = attempt.SimulatedMinute, Text = $"Canceled: {Humanize(code)}" + }); } private static void ChangeLocation(CcsAttempt attempt, CcsCaseRevision definition, string location, DateTime now) @@ -379,7 +501,11 @@ public sealed class CcsStore if (!definition.AllowedLocations.Contains(location, StringComparer.OrdinalIgnoreCase)) throw new ArgumentException("Unsupported location."); attempt.Location = location; attempt.Actions.Add(Action("location", location, attempt.SimulatedMinute, now)); - attempt.Chart.Add(new CcsChartEntry { Category = "progress", SimulatedMinute = attempt.SimulatedMinute, Text = $"Patient moved to {location}." }); + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Progress, Code = "location", Title = "Location change", + SimulatedMinute = attempt.SimulatedMinute, Text = $"Patient moved to {Humanize(location)}." + }); } private static void Advance(CcsAttempt attempt, CcsCaseRevision definition, int minutes) @@ -403,13 +529,20 @@ public sealed class CcsStore private static void ProcessDue(CcsAttempt attempt) { var due = attempt.PendingResults.Where(value => value.DueMinute <= attempt.SimulatedMinute).ToList(); + var vitalsChanged = false; foreach (var result in due) { if (!string.IsNullOrWhiteSpace(result.Result)) - attempt.Chart.Add(new CcsChartEntry { Category = "results", SimulatedMinute = attempt.SimulatedMinute, Text = result.Result }); + attempt.Chart.Add(new CcsChartEntry + { + Category = string.IsNullOrWhiteSpace(result.Category) ? CcsChartCategories.OtherTest : result.Category, + Code = result.OrderCode, Title = result.Title, SimulatedMinute = attempt.SimulatedMinute, Text = result.Result + }); foreach (var patch in result.VitalPatches) attempt.CurrentVitals[patch.Key] = patch.Value; + vitalsChanged |= result.VitalPatches.Count > 0; attempt.PendingResults.Remove(result); } + if (vitalsChanged) SnapshotVitals(attempt); } private static bool ProcessEvents(CcsAttempt attempt, CcsCaseRevision definition) @@ -419,13 +552,20 @@ public sealed class CcsStore && value.TriggerMinute <= attempt.SimulatedMinute && value.RequiresOrderCodes.All(activeOrders.Contains) && (value.RequiresAnyOrderCodes.Count == 0 || value.RequiresAnyOrderCodes.Any(activeOrders.Contains))).ToList(); + var vitalsChanged = false; foreach (var item in events) { attempt.ProcessedEventIds.Add(item.Id); foreach (var patch in item.VitalPatches) attempt.CurrentVitals[patch.Key] = patch.Value; - if (!string.IsNullOrWhiteSpace(item.Message)) attempt.Chart.Add(new CcsChartEntry { Category = "progress", SimulatedMinute = attempt.SimulatedMinute, Text = item.Message }); + vitalsChanged |= item.VitalPatches.Count > 0; + if (!string.IsNullOrWhiteSpace(item.Message)) attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Progress, Code = item.Id, Title = "Clinical update", + SimulatedMinute = attempt.SimulatedMinute, Text = item.Message + }); if (item.EndCase) EnterFinalOrders(attempt); } + if (vitalsChanged) SnapshotVitals(attempt); return events.Any(value => !string.IsNullOrWhiteSpace(value.Message) || value.EndCase); } @@ -433,9 +573,21 @@ public sealed class CcsStore { if (attempt.State != CcsAttemptStates.Active) return; attempt.State = CcsAttemptStates.FinalOrders; - var remaining = attempt.DeadlineUtc is null ? TimeSpan.FromMinutes(2) : attempt.DeadlineUtc.Value - DateTime.UtcNow; - attempt.FinalOrdersDeadlineUtc = DateTime.UtcNow.Add(remaining < TimeSpan.FromMinutes(2) ? TimeSpan.FromSeconds(Math.Max(0, remaining.TotalSeconds)) : TimeSpan.FromMinutes(2)); - attempt.Chart.Add(new CcsChartEntry { Category = "progress", SimulatedMinute = attempt.SimulatedMinute, Text = "Case-end instructions: finalize patient care orders." }); + if (attempt.HardDeadlineUtc is not null) + { + attempt.FinalOrdersDeadlineUtc = FinalOrdersDeadline(DateTime.UtcNow, attempt.HardDeadlineUtc); + } + else + { + var remaining = attempt.DeadlineUtc is null ? TimeSpan.FromMinutes(2) : attempt.DeadlineUtc.Value - DateTime.UtcNow; + attempt.FinalOrdersDeadlineUtc = DateTime.UtcNow.Add( + remaining < TimeSpan.FromMinutes(2) ? TimeSpan.FromSeconds(Math.Max(0, remaining.TotalSeconds)) : TimeSpan.FromMinutes(2)); + } + attempt.Chart.Add(new CcsChartEntry + { + Category = CcsChartCategories.Progress, Code = "case_end", Title = "Case-end instructions", + SimulatedMinute = attempt.SimulatedMinute, Text = "Finalize patient care orders." + }); } private async Task CompleteAsync(CcsAttempt attempt) @@ -489,12 +641,44 @@ public sealed class CcsStore }; } + public static int ActivePhaseMinutes(int totalMinutes) => Math.Max(1, totalMinutes - 2); + + public static DateTime FinalOrdersDeadline(DateTime now, DateTime? hardDeadline) + { + var proposed = now.AddMinutes(2); + return hardDeadline is null || proposed <= hardDeadline ? proposed : hardDeadline.Value; + } + public async Task DefinitionAsync(CcsAttempt attempt) => await _cases.Find(value => value.Id == attempt.CaseRevisionId).FirstOrDefaultAsync() ?? throw new InvalidOperationException("The case revision is unavailable."); private Task SaveAsync(CcsAttempt attempt) => _attempts.ReplaceOneAsync(value => value.Id == attempt.Id, attempt); private static CcsAttemptAction Action(string type, string code, int minute, DateTime now) => new() { Type = type, Code = code, SimulatedMinute = minute, RealUtc = now }; + private static void SnapshotVitals(CcsAttempt attempt) + { + if (attempt.VitalHistory.Count > 0 + && attempt.VitalHistory[^1].SimulatedMinute == attempt.SimulatedMinute + && attempt.VitalHistory[^1].Values.OrderBy(value => value.Key).SequenceEqual(attempt.CurrentVitals.OrderBy(value => value.Key))) + return; + attempt.VitalHistory.Add(new CcsVitalSnapshot + { + SimulatedMinute = attempt.SimulatedMinute, + Values = new Dictionary(attempt.CurrentVitals) + }); + } + private static string ResultCategory(string? responseSection, string catalogSection, string catalogCategory) + { + var explicitSection = string.IsNullOrWhiteSpace(responseSection) ? catalogSection : responseSection; + if (!string.IsNullOrWhiteSpace(explicitSection)) return explicitSection; + return catalogCategory.ToLowerInvariant() switch + { + "laboratory" => CcsChartCategories.Lab, + "imaging" => CcsChartCategories.Imaging, + "medication" or "procedure" or "monitoring" => CcsChartCategories.Treatment, + _ => CcsChartCategories.OtherTest + }; + } private static string Humanize(string value) => string.Join(' ', value.Split('_', StringSplitOptions.RemoveEmptyEntries).Select(word => char.ToUpperInvariant(word[0]) + word[1..])); private static string DescribeExpected(CcsScoringCriterion criterion, List targets) { diff --git a/content/ccs/dka-emergency-001.json b/content/ccs/dka-emergency-001.json index 65a5bfc..0e023dd 100644 --- a/content/ccs/dka-emergency-001.json +++ b/content/ccs/dka-emergency-001.json @@ -1,25 +1,25 @@ { "orders": [ - { "code": "iv_access", "canonicalName": "Peripheral intravenous access", "category": "procedure", "aliases": ["iv", "intravenous line"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "cardiac_monitor", "canonicalName": "Continuous cardiac monitoring", "category": "monitoring", "aliases": ["telemetry", "cardiac monitor"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "pulse_oximetry", "canonicalName": "Continuous pulse oximetry", "category": "monitoring", "aliases": ["pulse ox", "oxygen saturation"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "normal_saline_bolus", "canonicalName": "0.9% sodium chloride intravenous bolus", "category": "medication", "aliases": ["normal saline", "isotonic saline", "fluid bolus"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "balanced_crystalloid_bolus", "canonicalName": "Balanced crystalloid intravenous bolus", "category": "medication", "aliases": ["lactated ringers", "ringer lactate", "iv fluids"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "bmp", "canonicalName": "Basic metabolic panel", "category": "laboratory", "aliases": ["electrolytes", "chemistry", "potassium", "creatinine"], "defaultTurnaroundMinutes": 12, "availableLocations": ["emergency_department", "icu", "ward"] }, - { "code": "venous_blood_gas", "canonicalName": "Venous blood gas", "category": "laboratory", "aliases": ["vbg", "venous ph"], "defaultTurnaroundMinutes": 8, "availableLocations": ["emergency_department", "icu"] }, - { "code": "beta_hydroxybutyrate", "canonicalName": "Serum beta-hydroxybutyrate", "category": "laboratory", "aliases": ["ketones", "serum ketones", "bohb"], "defaultTurnaroundMinutes": 15, "availableLocations": ["emergency_department", "icu", "ward"] }, - { "code": "cbc", "canonicalName": "Complete blood count", "category": "laboratory", "aliases": ["cbc", "blood count"], "defaultTurnaroundMinutes": 12, "availableLocations": [] }, - { "code": "urinalysis", "canonicalName": "Urinalysis", "category": "laboratory", "aliases": ["urine test", "ua"], "defaultTurnaroundMinutes": 15, "availableLocations": [] }, - { "code": "pregnancy_test", "canonicalName": "Serum beta-hCG pregnancy test", "category": "laboratory", "aliases": ["pregnancy test", "hcg"], "defaultTurnaroundMinutes": 15, "availableLocations": [] }, - { "code": "ecg", "canonicalName": "12-lead electrocardiogram", "category": "diagnostic", "aliases": ["ekg", "electrocardiogram"], "defaultTurnaroundMinutes": 10, "availableLocations": ["emergency_department", "icu", "ward"] }, - { "code": "insulin_infusion", "canonicalName": "Regular insulin intravenous infusion", "category": "medication", "aliases": ["insulin drip", "iv insulin", "regular insulin"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "potassium_chloride_iv", "canonicalName": "Potassium chloride added to intravenous fluid", "category": "medication", "aliases": ["potassium replacement", "kcl", "replace potassium"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "dextrose_half_normal_saline", "canonicalName": "Dextrose 5% in 0.45% sodium chloride", "category": "medication", "aliases": ["d5 half normal", "dextrose fluid", "d5 0.45 saline"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "sodium_bicarbonate_iv", "canonicalName": "Intravenous sodium bicarbonate", "category": "medication", "aliases": ["bicarbonate", "bicarb"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "ceftriaxone", "canonicalName": "Intravenous ceftriaxone", "category": "medication", "aliases": ["rocephin", "antibiotic"], "defaultTurnaroundMinutes": 0, "availableLocations": [] }, - { "code": "serial_bmp", "canonicalName": "Basic metabolic panel every 4 hours", "category": "laboratory", "aliases": ["repeat electrolytes", "serial chemistry", "monitor potassium"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "hourly_glucose", "canonicalName": "Capillary glucose every hour", "category": "monitoring", "aliases": ["hourly glucose", "fingerstick glucose", "poc glucose"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"] }, - { "code": "icu_admission", "canonicalName": "Admit to intensive care unit", "category": "disposition", "aliases": ["icu", "intensive care admission"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department"] } + { "code": "iv_access", "canonicalName": "Peripheral intravenous access", "category": "procedure", "aliases": ["iv", "intravenous line"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "Peripheral IV", "displayFrequency": "Once", "resultSection": "treatment" }, + { "code": "cardiac_monitor", "canonicalName": "Continuous cardiac monitoring", "category": "monitoring", "aliases": ["telemetry", "cardiac monitor"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "", "displayFrequency": "Continuous", "resultSection": "treatment" }, + { "code": "pulse_oximetry", "canonicalName": "Continuous pulse oximetry", "category": "monitoring", "aliases": ["pulse ox", "oxygen saturation"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "", "displayFrequency": "Continuous", "resultSection": "treatment" }, + { "code": "normal_saline_bolus", "canonicalName": "0.9% sodium chloride intravenous bolus", "category": "medication", "aliases": ["normal saline", "isotonic saline", "fluid bolus"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "IV", "displayFrequency": "Bolus", "resultSection": "treatment" }, + { "code": "balanced_crystalloid_bolus", "canonicalName": "Balanced crystalloid intravenous bolus", "category": "medication", "aliases": ["lactated ringers", "ringer lactate", "iv fluids"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "IV", "displayFrequency": "Bolus", "resultSection": "treatment" }, + { "code": "bmp", "canonicalName": "Basic metabolic panel", "category": "laboratory", "aliases": ["electrolytes", "chemistry", "potassium", "creatinine"], "defaultTurnaroundMinutes": 12, "availableLocations": ["emergency_department", "icu", "ward"], "displayRoute": "Blood", "displayFrequency": "Once", "resultSection": "lab" }, + { "code": "venous_blood_gas", "canonicalName": "Venous blood gas", "category": "laboratory", "aliases": ["vbg", "venous ph"], "defaultTurnaroundMinutes": 8, "availableLocations": ["emergency_department", "icu"], "displayRoute": "Venous blood", "displayFrequency": "Once", "resultSection": "lab" }, + { "code": "beta_hydroxybutyrate", "canonicalName": "Serum beta-hydroxybutyrate", "category": "laboratory", "aliases": ["ketones", "serum ketones", "bohb"], "defaultTurnaroundMinutes": 15, "availableLocations": ["emergency_department", "icu", "ward"], "displayRoute": "Blood", "displayFrequency": "Once", "resultSection": "lab" }, + { "code": "cbc", "canonicalName": "Complete blood count", "category": "laboratory", "aliases": ["cbc", "blood count"], "defaultTurnaroundMinutes": 12, "availableLocations": [], "displayRoute": "Blood", "displayFrequency": "Once", "resultSection": "lab" }, + { "code": "urinalysis", "canonicalName": "Urinalysis", "category": "laboratory", "aliases": ["urine test", "ua"], "defaultTurnaroundMinutes": 15, "availableLocations": [], "displayRoute": "Urine", "displayFrequency": "Once", "resultSection": "lab" }, + { "code": "pregnancy_test", "canonicalName": "Serum beta-hCG pregnancy test", "category": "laboratory", "aliases": ["pregnancy test", "hcg"], "defaultTurnaroundMinutes": 15, "availableLocations": [], "displayRoute": "Blood", "displayFrequency": "Once", "resultSection": "lab" }, + { "code": "ecg", "canonicalName": "12-lead electrocardiogram", "category": "diagnostic", "aliases": ["ekg", "electrocardiogram"], "defaultTurnaroundMinutes": 10, "availableLocations": ["emergency_department", "icu", "ward"], "displayRoute": "", "displayFrequency": "Once", "resultSection": "other_test" }, + { "code": "insulin_infusion", "canonicalName": "Regular insulin intravenous infusion", "category": "medication", "aliases": ["insulin drip", "iv insulin", "regular insulin"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "IV", "displayFrequency": "Continuous", "resultSection": "treatment" }, + { "code": "potassium_chloride_iv", "canonicalName": "Potassium chloride added to intravenous fluid", "category": "medication", "aliases": ["potassium replacement", "kcl", "replace potassium"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "IV", "displayFrequency": "Continuous", "resultSection": "treatment" }, + { "code": "dextrose_half_normal_saline", "canonicalName": "Dextrose 5% in 0.45% sodium chloride", "category": "medication", "aliases": ["d5 half normal", "dextrose fluid", "d5 0.45 saline"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "IV", "displayFrequency": "Continuous", "resultSection": "treatment" }, + { "code": "sodium_bicarbonate_iv", "canonicalName": "Intravenous sodium bicarbonate", "category": "medication", "aliases": ["bicarbonate", "bicarb"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "IV", "displayFrequency": "Once", "resultSection": "treatment" }, + { "code": "ceftriaxone", "canonicalName": "Intravenous ceftriaxone", "category": "medication", "aliases": ["rocephin", "antibiotic"], "defaultTurnaroundMinutes": 0, "availableLocations": [], "displayRoute": "IV", "displayFrequency": "Once", "resultSection": "treatment" }, + { "code": "serial_bmp", "canonicalName": "Basic metabolic panel every 4 hours", "category": "laboratory", "aliases": ["repeat electrolytes", "serial chemistry", "monitor potassium"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "Blood", "displayFrequency": "Every 4 hours", "resultSection": "lab" }, + { "code": "hourly_glucose", "canonicalName": "Capillary glucose every hour", "category": "monitoring", "aliases": ["hourly glucose", "fingerstick glucose", "poc glucose"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department", "icu"], "displayRoute": "Capillary", "displayFrequency": "Every hour", "resultSection": "treatment" }, + { "code": "icu_admission", "canonicalName": "Admit to intensive care unit", "category": "disposition", "aliases": ["icu", "intensive care admission"], "defaultTurnaroundMinutes": 0, "availableLocations": ["emergency_department"], "displayRoute": "", "displayFrequency": "Once", "resultSection": "treatment" } ], "cases": [ { @@ -36,7 +36,14 @@ "reasonForEncounter": "Two days of vomiting, abdominal discomfort, and progressive lethargy after stopping insulin when oral intake declined.", "appearance": "She is lethargic but arousable. Mucous membranes are dry, and respirations are deep and rapid.", "history": "She uses basal-bolus insulin and has no known kidney disease. She reports no dysuria, cough, diarrhea, alcohol use, or pregnancy symptoms. She has taken no insulin for approximately 36 hours.", - "vitals": { "temperature": "37.3 C (99.1 F)", "bloodPressure": "88/56 mm Hg", "pulse": "118/min", "respirations": "28/min", "oxygenSaturation": "98% on room air" }, + "historySections": [ + { "code": "hpi", "title": "History of present illness", "text": "Two days of vomiting, abdominal discomfort, and progressive lethargy followed reduced oral intake. She stopped all insulin approximately 36 hours ago." }, + { "code": "past_medical_history", "title": "Past medical history", "text": "Type 1 diabetes mellitus treated with a basal-bolus insulin regimen. No known kidney disease." }, + { "code": "medications", "title": "Medications", "text": "Basal and mealtime insulin; no doses for approximately 36 hours." }, + { "code": "allergies", "title": "Allergies", "text": "No known drug allergies." }, + { "code": "review_of_systems", "title": "Review of systems", "text": "No dysuria, cough, diarrhea, alcohol use, or pregnancy symptoms." } + ], + "vitals": { "temperature": "37.3 C (99.1 F)", "bloodPressure": "88/56 mm Hg", "pulse": "118/min", "respirations": "28/min", "oxygenSaturation": "98% on room air", "height": "165 cm (65 in)", "weight": "62 kg (137 lb)", "bmi": "22.8 kg/m²" }, "simulatedStartUtc": "2026-07-15T08:00:00Z", "initialOrderCodes": [] }, diff --git a/docs/CCS_CASE_AUTHORING.md b/docs/CCS_CASE_AUTHORING.md index 2fa2eff..f35ec76 100644 --- a/docs/CCS_CASE_AUTHORING.md +++ b/docs/CCS_CASE_AUTHORING.md @@ -6,16 +6,21 @@ Use `content/ccs/dka-emergency-001.json` as the canonical example. Set `validate ## Case structure -- `initialChart` defines the opening history, appearance, vitals, location, simulated start, and standing orders. +- `initialChart` defines the opening history, appearance, vitals, simulated start, and standing orders. Use ordered `historySections` (`code`, `title`, `text`) for the HPI, medical history, medications, allergies, family/social history, and review of systems. The legacy `history` field remains the fallback. - `allowedLocations` controls patient movement. - `exams` defines selectable examination components and their simulated duration. -- `orderResponses` maps reusable catalog codes to case-specific results, delays, and vital-sign changes. +- Catalog orders may define `displayRoute`, `displayFrequency`, and `resultSection`. These are presentation defaults, not user-entered dosing instructions. +- `orderResponses` maps reusable catalog codes to case-specific results, delays, vital-sign changes, and an optional result-section override. - `events` defines timed progression. `requiresOrderCodes` requires every listed order; `requiresAnyOrderCodes` supports equivalent alternatives. - `scoringCriteria` awards or subtracts points for timing, sequence, and harmful care. `targetCodes` supports clinically equivalent actions; `afterTargetCode` enforces sequence. - `references` stores the source title, publisher, HTTPS URL, supported claims, access date, and reviewer inside each case revision. Order codes and event/criterion IDs must be stable lowercase identifiers. Case content should not expose the diagnosis in the opening chart or rely on unstructured text matching for scoring. Add aliases to the order catalog so users can find an order using common clinical wording. -## Scoring and prediction +Valid result sections are `lab`, `imaging`, `other_test`, and `treatment`; progress notes, vital snapshots, and the order sheet are generated by the runtime. -Practice attempts are scored for feedback but do not affect prediction. Only the first completed timed attempt for each distinct case contributes to the CCS estimate. The combined provisional prediction uses the latest Day 1 simulation and a separately reported CCS estimate; it is not presented as an official USMLE scoring formula. +## Timing, scoring, and prediction + +New CCS attempts are timed. `realTimeMinutes` is the total wall-clock allowance: the runtime reserves its final two minutes for final orders, so a 20-minute case has 18 minutes of active management plus two minutes of case-end orders. Opening dialogs count against this limit and reconnecting does not pause it. + +Only the first completed timed attempt for each distinct case contributes to the CCS estimate. Legacy practice attempts remain reviewable but cannot be newly created. The combined provisional prediction uses the latest Day 1 simulation and a separately reported CCS estimate; it is not presented as an official USMLE scoring formula. diff --git a/scripts/autoload/ccs_service.gd b/scripts/autoload/ccs_service.gd index ef7d6e0..e664191 100644 --- a/scripts/autoload/ccs_service.gd +++ b/scripts/autoload/ccs_service.gd @@ -54,8 +54,8 @@ func load_cases() -> void: _send("cases", HTTPClient.METHOD_GET, "/cases") -func create_attempt(case_external_id: String, mode: String) -> void: - _send("attempt", HTTPClient.METHOD_POST, "/attempts", {"caseExternalId": case_external_id, "mode": mode}) +func create_attempt(case_external_id: String, _mode: String = "timed") -> void: + _send("attempt", HTTPClient.METHOD_POST, "/attempts", {"caseExternalId": case_external_id, "mode": "timed"}) func load_active() -> void: @@ -77,6 +77,15 @@ func send_command(type: String, code: String = "", minutes: int = 0) -> void: "minutes": minutes }) +func send_batch(commands: Array) -> void: + if attempt.is_empty() or commands.is_empty(): + return + _send("attempt", HTTPClient.METHOD_POST, "/attempts/%s/commands/batch" % str(attempt.get("id", "")).uri_encode(), { + "commandId": "%d-%d" % [Time.get_ticks_usec(), randi()], + "expectedRevision": int(attempt.get("revision", 0)), + "commands": commands + }) + func search_orders(query: String) -> void: if query.strip_edges().length() < 2: @@ -169,7 +178,20 @@ func abandon() -> void: func deadline_unix() -> float: - var value := str(attempt.get("finalOrdersDeadlineUtc", attempt.get("deadlineUtc", ""))) + var raw: Variant = attempt.get("finalOrdersDeadlineUtc", null) + if raw == null or str(raw).is_empty() or str(raw) == "": + raw = attempt.get("deadlineUtc", "") + var value := str(raw) + return 0.0 if value.is_empty() or value == "" else float(Time.get_unix_time_from_datetime_string(value)) + + +func hard_deadline_unix() -> float: + var raw: Variant = attempt.get("hardDeadlineUtc", null) + if raw == null or str(raw).is_empty() or str(raw) == "": + raw = attempt.get("finalOrdersDeadlineUtc", null) + if raw == null or str(raw).is_empty() or str(raw) == "": + raw = attempt.get("deadlineUtc", "") + var value := str(raw) return 0.0 if value.is_empty() or value == "" else float(Time.get_unix_time_from_datetime_string(value)) diff --git a/scripts/ui/ccs_hub.gd b/scripts/ui/ccs_hub.gd index e791a04..7a540a2 100644 --- a/scripts/ui/ccs_hub.gd +++ b/scripts/ui/ccs_hub.gd @@ -398,7 +398,7 @@ func _case_cell(item: Dictionary, dark: bool) -> Control: title.add_theme_color_override("font_color", Brand.text_color(dark)) column.add_child(title) var mode := Label.new() - mode.text = "Timed case" + mode.text = "Legacy practice case" if str(item.get("mode", "timed")) == "practice" else "Timed case" _style_muted_label(mode, dark, 12) column.add_child(mode) return column diff --git a/scripts/ui/ccs_player.gd b/scripts/ui/ccs_player.gd index 0e59d63..2c025b3 100644 --- a/scripts/ui/ccs_player.gd +++ b/scripts/ui/ccs_player.gd @@ -1,59 +1,99 @@ extends VBoxContainer -const Style := preload("res://scripts/ui/ui_style.gd") const Brand := preload("res://scripts/ui/medmind_style.gd") -const ICON_ACTIVITY := preload("res://assets/icons/lucide/activity.svg") -const ICON_HEART := preload("res://assets/icons/lucide/heart-pulse.svg") -const ICON_LUNGS := preload("res://assets/icons/lucide/lungs.svg") -const ICON_SEARCH := preload("res://assets/icons/lucide/search.svg") const ICON_STETHOSCOPE := preload("res://assets/icons/lucide/stethoscope.svg") -const ICON_THERMOMETER := preload("res://assets/icons/lucide/thermometer.svg") +const ICON_CLIPBOARD := preload("res://assets/icons/lucide/clipboard-plus.svg") +const ICON_CLOCK := preload("res://assets/icons/lucide/clock-3.svg") +const ICON_LOCATION := preload("res://assets/icons/lucide/house.svg") +const ICON_SEARCH := preload("res://assets/icons/lucide/search.svg") const RESPONSIVE_BREAKPOINT := 1050.0 +const CHART_TABS := [ + ["Order Sheet", "orders"], + ["Progress Notes", "progress"], + ["Vital Signs", "vitals"], + ["Lab Reports", "lab"], + ["Imaging", "imaging"], + ["Other Tests", "other_test"], + ["Treatment Record", "treatment"] +] var main: Control var header_panel: PanelContainer var header_layout: BoxContainer -var header_icon_panel: PanelContainer var heading: Label +var allotted_label: Label var toolbar: HFlowContainer -var workspace: BoxContainer +var theme_button: Button +var exit_button: Button +var abandon_button: Button +var action_grid: GridContainer +var action_buttons: Array[Button] = [] +var workspace: PanelContainer var chart_panel: PanelContainer var clerk_panel: PanelContainer -var summary: RichTextLabel -var history: RichTextLabel -var appearance: RichTextLabel -var chart: RichTextLabel -var vitals_flow: HFlowContainer -var orders: VBoxContainer +var tabs: TabContainer +var chart_views := {} +var order_sheet: VBoxContainer +var active_orders: VBoxContainer var search: LineEdit var search_button: Button -var search_results_panel: PanelContainer var search_results: VBoxContainer -var actions: VBoxContainer -var locations: HFlowContainer -var time_row: GridContainer -var status: Label +var staged_orders: VBoxContainer +var commit_orders_button: Button +var clear_orders_button: Button var final_orders_notice: Label -var clock: Label +var simulated_clock: Label +var elapsed_clock: Label +var remaining_clock: Label +var status: Label var timer: Timer -var end_button: Button var report_dialog: Control -var report_button: Button -var app_feedback_button: Button -var leave_button: Button + +var intro_dialog: AcceptDialog +var intro_title: Label +var intro_body: RichTextLabel +var opening_step := 0 +var opening_active := false + +var exam_dialog: ConfirmationDialog +var interval_history_check: CheckBox +var exam_checks := {} +var exam_summary_dialog: ConfirmationDialog +var exam_summary: RichTextLabel +var staged_exam_codes: Array[String] = [] +var staged_interval_history := false +var awaiting_exam_result := false +var findings_dialog: AcceptDialog +var findings_body: RichTextLabel + +var time_dialog: ConfirmationDialog +var time_preset: OptionButton +var custom_target: LineEdit +var time_preview: Label +var location_dialog: ConfirmationDialog +var location_option: OptionButton +var end_dialog: ConfirmationDialog +var final_instructions: AcceptDialog +var abandon_dialog: ConfirmationDialog + +var staged_order_codes: Array[String] = [] +var staged_order_names := {} +var pending_findings_before := 0 var leaving := false var theme_service -var theme_button: Button -var section_labels: Array[Label] = [] var toolbar_buttons: Array[Button] = [] +var clinical_labels: Array[RichTextLabel] = [] func _ready() -> void: theme_service = get_node("/root/UIThemeService") set_anchors_preset(Control.PRESET_FULL_RECT) - add_theme_constant_override("separation", 10) + add_theme_constant_override("separation", 8) _build_header() + _build_actions() _build_workspace() + _build_footer() + _build_dialogs() _build_runtime_services() resized.connect(_update_responsive_layout) if not theme_service.theme_changed.is_connected(_on_theme_changed): @@ -68,252 +108,308 @@ func _build_header() -> void: header_panel = PanelContainer.new() add_child(header_panel) var margin := MarginContainer.new() - margin.add_theme_constant_override("margin_left", 12) - margin.add_theme_constant_override("margin_right", 12) + for side in ["left", "right"]: + margin.add_theme_constant_override("margin_%s" % side, 14) margin.add_theme_constant_override("margin_top", 8) margin.add_theme_constant_override("margin_bottom", 8) header_panel.add_child(margin) header_layout = BoxContainer.new() - header_layout.vertical = false header_layout.add_theme_constant_override("separation", 12) margin.add_child(header_layout) - - var title_row := HBoxContainer.new() - title_row.size_flags_horizontal = Control.SIZE_EXPAND_FILL - title_row.add_theme_constant_override("separation", 10) - header_layout.add_child(title_row) - header_icon_panel = PanelContainer.new() - header_icon_panel.custom_minimum_size = Vector2(38, 38) - title_row.add_child(header_icon_panel) - var header_icon := TextureRect.new() - header_icon.texture = ICON_STETHOSCOPE - header_icon.expand_mode = TextureRect.EXPAND_IGNORE_SIZE - header_icon.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED - header_icon.custom_minimum_size = Vector2(22, 22) - header_icon.modulate = Brand.SKY_BLUE - header_icon_panel.add_child(header_icon) heading = Label.new() heading.text = "CCS Case" heading.size_flags_horizontal = Control.SIZE_EXPAND_FILL - _set_label(heading, 18, Brand.text_color(true)) - title_row.add_child(heading) - + heading.add_theme_font_size_override("font_size", 18) + Brand.apply_font(heading) + header_layout.add_child(heading) + allotted_label = Label.new() + allotted_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + allotted_label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + allotted_label.add_theme_font_size_override("font_size", 17) + Brand.apply_font(allotted_label) + header_layout.add_child(allotted_label) toolbar = HFlowContainer.new() toolbar.size_flags_horizontal = Control.SIZE_SHRINK_END - toolbar.custom_minimum_size.x = 440 - toolbar.add_theme_constant_override("h_separation", 8) - toolbar.add_theme_constant_override("v_separation", 8) + toolbar.add_theme_constant_override("h_separation", 6) header_layout.add_child(toolbar) - var smaller := _toolbar_button("A-", "Decrease case text size") + var smaller := _toolbar_button("A−", "Decrease clinical text size") smaller.pressed.connect(_zoom.bind(-CCSService.TEXT_SCALE_STEP)) - var larger := _toolbar_button("A+", "Increase case text size") + var larger := _toolbar_button("A+", "Increase clinical text size") larger.pressed.connect(_zoom.bind(CCSService.TEXT_SCALE_STEP)) - var clear_highlights := _toolbar_button("Clear", "Clear case highlights") - clear_highlights.pressed.connect(_clear_highlights) - report_button = _toolbar_button("Report", "Report this CCS case") - report_button.pressed.connect(_report) - app_feedback_button = _toolbar_button("Feedback", "Send general feedback or report a bug") - app_feedback_button.pressed.connect(func(): main.open_feedback_dialog()) + var report := _toolbar_button("Report", "Report this CCS case") + report.pressed.connect(_report) theme_button = _toolbar_button("", "Switch color theme") - theme_button.custom_minimum_size = Vector2(44, 38) - UISoundService.set_button_sound(theme_button, "toggle") + theme_button.custom_minimum_size.x = 42 theme_button.pressed.connect(theme_service.toggle_theme) + exit_button = _toolbar_button("Exit Case", "Enter final orders") + exit_button.pressed.connect(_request_end_case) + abandon_button = _toolbar_button("Abandon", "Abandon this attempt without a score") + abandon_button.pressed.connect(func(): abandon_dialog.popup_centered(Vector2i(520, 220))) func _toolbar_button(text_value: String, tooltip: String) -> Button: var button := Button.new() button.text = text_value button.tooltip_text = tooltip - button.custom_minimum_size = Vector2(54, 38) - button.add_theme_font_override("font", Brand.font) - button.add_theme_font_size_override("font_size", 14) + button.custom_minimum_size = Vector2(58, 38) toolbar.add_child(button) toolbar_buttons.append(button) return button +func _build_actions() -> void: + action_grid = GridContainer.new() + action_grid.columns = 4 + action_grid.add_theme_constant_override("h_separation", 8) + action_grid.add_theme_constant_override("v_separation", 8) + add_child(action_grid) + _add_action("History & Physical", "Interval history and physical exam", ICON_STETHOSCOPE, _open_exam) + _add_action("Write Orders / Review Chart", "Place orders and review the patient chart", ICON_CLIPBOARD, _open_order_sheet) + _add_action("Obtain Results / See Patient Later", "Advance simulated case time", ICON_CLOCK, _open_time_dialog) + _add_action("Change Location", "Move the patient to another care setting", ICON_LOCATION, _open_location_dialog) + + +func _add_action(title: String, subtitle: String, icon: Texture2D, callback: Callable) -> void: + var button := Button.new() + button.text = "%s\n%s" % [title, subtitle] + button.icon = icon + button.expand_icon = true + button.add_theme_constant_override("icon_max_width", 38) + button.alignment = HORIZONTAL_ALIGNMENT_LEFT + button.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + button.custom_minimum_size = Vector2(220, 86) + button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + button.pressed.connect(callback) + action_grid.add_child(button) + action_buttons.append(button) + + func _build_workspace() -> void: - var page_scroll := ScrollContainer.new() - page_scroll.size_flags_vertical = Control.SIZE_EXPAND_FILL - page_scroll.horizontal_scroll_mode = ScrollContainer.SCROLL_MODE_DISABLED - add_child(page_scroll) - workspace = BoxContainer.new() - workspace.size_flags_horizontal = Control.SIZE_EXPAND_FILL + workspace = PanelContainer.new() workspace.size_flags_vertical = Control.SIZE_EXPAND_FILL - workspace.add_theme_constant_override("separation", 10) - page_scroll.add_child(workspace) - _build_chart_panel() - _build_order_clerk() - - -func _build_chart_panel() -> void: - chart_panel = PanelContainer.new() - chart_panel.size_flags_horizontal = Control.SIZE_EXPAND_FILL - chart_panel.size_flags_vertical = Control.SIZE_EXPAND_FILL - workspace.add_child(chart_panel) - var margin := MarginContainer.new() - margin.add_theme_constant_override("margin_left", 18) - margin.add_theme_constant_override("margin_right", 18) - margin.add_theme_constant_override("margin_top", 16) - margin.add_theme_constant_override("margin_bottom", 18) - chart_panel.add_child(margin) - var content := VBoxContainer.new() - content.add_theme_constant_override("separation", 14) - margin.add_child(content) - - summary = _clinical_text("summary", 17) - content.add_child(summary) - vitals_flow = HFlowContainer.new() - vitals_flow.add_theme_constant_override("h_separation", 10) - vitals_flow.add_theme_constant_override("v_separation", 8) - content.add_child(vitals_flow) - content.add_child(HSeparator.new()) - _add_chart_section(content, "History", "history") - history = _clinical_text("history", 16) - content.add_child(history) - _add_chart_section(content, "Appearance", "appearance") - appearance = _clinical_text("appearance", 16) - content.add_child(appearance) - _add_chart_section(content, "Chart", "chart") - chart = _clinical_text("chart", 16) - content.add_child(chart) - - -func _add_chart_section(parent: VBoxContainer, text_value: String, region: String) -> void: - var label := Label.new() - label.name = "%sHeading" % region.capitalize() - label.text = text_value - _set_label(label, 15, Brand.PURPLE) - parent.add_child(label) - section_labels.append(label) - - -func _clinical_text(region: String, font_size: int) -> RichTextLabel: - var label := RichTextLabel.new() - label.bbcode_enabled = true - label.selection_enabled = true - label.fit_content = true - label.scroll_active = false - label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART - label.add_theme_font_override("normal_font", Brand.font) - label.add_theme_font_override("bold_font", Brand.font) - label.add_theme_font_size_override("normal_font_size", font_size) - label.add_theme_font_size_override("bold_font_size", font_size) - label.set_meta("ccs_base_font_size", font_size) - label.set_meta("ccs_region", region) - label.gui_input.connect(_text_input.bind(label)) - return label - - -func _build_order_clerk() -> void: - clerk_panel = PanelContainer.new() - clerk_panel.custom_minimum_size = Vector2(370, 0) - clerk_panel.size_flags_vertical = Control.SIZE_EXPAND_FILL - workspace.add_child(clerk_panel) + add_child(workspace) + chart_panel = workspace + clerk_panel = workspace var margin := MarginContainer.new() margin.add_theme_constant_override("margin_left", 14) margin.add_theme_constant_override("margin_right", 14) - margin.add_theme_constant_override("margin_top", 12) - margin.add_theme_constant_override("margin_bottom", 14) - clerk_panel.add_child(margin) - var clerk := VBoxContainer.new() - clerk.add_theme_constant_override("separation", 8) - margin.add_child(clerk) - var order_title := Label.new() - order_title.text = "Order Clerk" - _set_label(order_title, 18, Brand.PURPLE) - clerk.add_child(order_title) - section_labels.append(order_title) - var search_help := Label.new() - search_help.text = "Search tests, treatments, and procedures" - _set_label(search_help, 12, Brand.muted_color(true)) - search_help.set_meta("ccs_muted_label", true) - clerk.add_child(search_help) + margin.add_theme_constant_override("margin_top", 10) + margin.add_theme_constant_override("margin_bottom", 12) + workspace.add_child(margin) + tabs = TabContainer.new() + tabs.size_flags_vertical = Control.SIZE_EXPAND_FILL + tabs.tab_changed.connect(func(_index: int): _render_chart()) + margin.add_child(tabs) + for definition in CHART_TABS: + var page := VBoxContainer.new() + page.name = str(definition[0]) + page.add_theme_constant_override("separation", 8) + tabs.add_child(page) + if str(definition[1]) == "orders": + _build_order_sheet(page) + else: + var scroll := ScrollContainer.new() + scroll.size_flags_vertical = Control.SIZE_EXPAND_FILL + page.add_child(scroll) + var label := _clinical_text("chart_%s" % definition[1]) + label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + scroll.add_child(label) + chart_views[definition[1]] = label + +func _build_order_sheet(page: VBoxContainer) -> void: + order_sheet = page + final_orders_notice = Label.new() + final_orders_notice.visible = false + final_orders_notice.text = "FINAL ORDERS — Add or cancel orders for the patient’s current condition, then submit." + final_orders_notice.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + page.add_child(final_orders_notice) var search_row := HBoxContainer.new() search_row.add_theme_constant_override("separation", 6) - clerk.add_child(search_row) + page.add_child(search_row) search = LineEdit.new() - search.placeholder_text = "Search..." + search.placeholder_text = "Search tests, treatments, medications, and procedures" search.size_flags_horizontal = Control.SIZE_EXPAND_FILL search.text_submitted.connect(func(_value: String): _submit_search()) search_row.add_child(search) search_button = Button.new() search_button.icon = ICON_SEARCH - search_button.tooltip_text = "Search order catalog" - search_button.custom_minimum_size = Vector2(42, 42) + search_button.tooltip_text = "Search the order catalog" + search_button.custom_minimum_size = Vector2(44, 42) search_button.pressed.connect(_submit_search) search_row.add_child(search_button) - - search_results_panel = PanelContainer.new() - search_results_panel.visible = false - clerk.add_child(search_results_panel) - var results_scroll := ScrollContainer.new() - results_scroll.custom_minimum_size.y = 150 - search_results_panel.add_child(results_scroll) search_results = VBoxContainer.new() - search_results.size_flags_horizontal = Control.SIZE_EXPAND_FILL - search_results.add_theme_constant_override("separation", 5) - results_scroll.add_child(search_results) + search_results.add_theme_constant_override("separation", 4) + page.add_child(search_results) + var staged_title := Label.new() + staged_title.text = "Orders awaiting confirmation" + Brand.apply_font(staged_title) + page.add_child(staged_title) + staged_orders = VBoxContainer.new() + page.add_child(staged_orders) + var staged_actions := HBoxContainer.new() + page.add_child(staged_actions) + commit_orders_button = Button.new() + commit_orders_button.text = "Confirm Orders" + commit_orders_button.pressed.connect(_commit_orders) + staged_actions.add_child(commit_orders_button) + clear_orders_button = Button.new() + clear_orders_button.text = "Clear" + clear_orders_button.pressed.connect(_clear_staged_orders) + staged_actions.add_child(clear_orders_button) + page.add_child(HSeparator.new()) + var active_title := Label.new() + active_title.text = "Order sheet" + active_title.add_theme_font_size_override("font_size", 18) + Brand.apply_font(active_title) + page.add_child(active_title) + var header := HBoxContainer.new() + for item in [["Order", 2.4], ["Route", 0.8], ["Frequency", 1.0], ["Order Time", 1.0], ["Report Time", 1.0], ["", 0.8]]: + var label := Label.new() + label.text = item[0] + label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + label.size_flags_stretch_ratio = item[1] + Brand.apply_font(label) + header.add_child(label) + page.add_child(header) + var active_scroll := ScrollContainer.new() + active_scroll.size_flags_vertical = Control.SIZE_EXPAND_FILL + page.add_child(active_scroll) + active_orders = VBoxContainer.new() + active_orders.size_flags_horizontal = Control.SIZE_EXPAND_FILL + active_scroll.add_child(active_orders) - var active_title := _clerk_heading("Active orders") - clerk.add_child(active_title) - orders = VBoxContainer.new() - orders.add_theme_constant_override("separation", 5) - clerk.add_child(orders) - var exam_title := _clerk_heading("Physical examination") - clerk.add_child(exam_title) - actions = VBoxContainer.new() - actions.add_theme_constant_override("separation", 5) - clerk.add_child(actions) - locations = HFlowContainer.new() - locations.add_theme_constant_override("h_separation", 5) - locations.add_theme_constant_override("v_separation", 5) - clerk.add_child(locations) - time_row = GridContainer.new() - time_row.columns = 4 - time_row.add_theme_constant_override("h_separation", 5) - time_row.add_theme_constant_override("v_separation", 5) - clerk.add_child(time_row) - for minutes in [1, 10, 60, 1440]: - var button := Button.new() - button.text = "+%s" % ("1 day" if minutes == 1440 else "%d min" % minutes) - button.size_flags_horizontal = Control.SIZE_EXPAND_FILL - button.pressed.connect(CCSService.send_command.bind("advance", "", minutes)) - time_row.add_child(button) - var reassess := Button.new() - reassess.text = "Interval history" - reassess.pressed.connect(CCSService.send_command.bind("interval_history", "", 0)) - clerk.add_child(reassess) - end_button = Button.new() - end_button.text = "End case" - end_button.pressed.connect(_end_case) - clerk.add_child(end_button) - leave_button = Button.new() - leave_button.text = "Leave case" - leave_button.pressed.connect(_leave) - clerk.add_child(leave_button) - final_orders_notice = Label.new() - final_orders_notice.visible = false - final_orders_notice.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART - clerk.add_child(final_orders_notice) - clock = Label.new() - clock.visible = false - clerk.add_child(clock) + +func _build_footer() -> void: + var footer := HBoxContainer.new() + footer.add_theme_constant_override("separation", 12) + add_child(footer) + simulated_clock = _footer_label(HORIZONTAL_ALIGNMENT_LEFT) + footer.add_child(simulated_clock) + elapsed_clock = _footer_label(HORIZONTAL_ALIGNMENT_CENTER) + footer.add_child(elapsed_clock) + remaining_clock = _footer_label(HORIZONTAL_ALIGNMENT_RIGHT) + footer.add_child(remaining_clock) status = Label.new() status.visible = false status.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART - clerk.add_child(status) + add_child(status) -func _clerk_heading(text_value: String) -> Label: +func _footer_label(alignment: HorizontalAlignment) -> Label: var label := Label.new() - label.text = text_value - _set_label(label, 13, Brand.PURPLE) - section_labels.append(label) + label.horizontal_alignment = alignment + label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + label.add_theme_font_size_override("font_size", 14) + Brand.apply_font(label) return label +func _build_dialogs() -> void: + intro_dialog = AcceptDialog.new() + intro_dialog.close_requested.connect(_accept_opening_step) + intro_dialog.confirmed.connect(_accept_opening_step) + add_child(intro_dialog) + var intro_box := VBoxContainer.new() + intro_box.custom_minimum_size = Vector2(760, 480) + intro_dialog.add_child(intro_box) + intro_title = Label.new() + intro_title.add_theme_font_size_override("font_size", 22) + Brand.apply_font(intro_title) + intro_box.add_child(intro_title) + intro_body = _clinical_text("opening") + intro_body.size_flags_vertical = Control.SIZE_EXPAND_FILL + intro_body.fit_content = false + intro_body.scroll_active = true + intro_box.add_child(intro_body) + + exam_dialog = ConfirmationDialog.new() + exam_dialog.title = "History & Physical" + exam_dialog.ok_button_text = "Review selection" + exam_dialog.confirmed.connect(_review_exam_selection) + add_child(exam_dialog) + var exam_scroll := ScrollContainer.new() + exam_scroll.custom_minimum_size = Vector2(680, 480) + exam_dialog.add_child(exam_scroll) + var exam_box := VBoxContainer.new() + exam_box.size_flags_horizontal = Control.SIZE_EXPAND_FILL + exam_scroll.add_child(exam_box) + var history_help := Label.new() + history_help.text = "Select physical examination components. Findings become available after the confirmed time advance." + history_help.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + exam_box.add_child(history_help) + exam_box.set_meta("exam_container", true) + + exam_summary_dialog = ConfirmationDialog.new() + exam_summary_dialog.title = "Confirm History & Physical" + exam_summary_dialog.confirmed.connect(_commit_exams) + add_child(exam_summary_dialog) + exam_summary = _clinical_text("exam_confirmation") + exam_summary.custom_minimum_size = Vector2(620, 300) + exam_summary_dialog.add_child(exam_summary) + findings_dialog = AcceptDialog.new() + findings_dialog.title = "History and Physical" + add_child(findings_dialog) + findings_body = _clinical_text("exam_findings") + findings_body.custom_minimum_size = Vector2(720, 440) + findings_body.fit_content = false + findings_body.scroll_active = true + findings_dialog.add_child(findings_body) + + time_dialog = ConfirmationDialog.new() + time_dialog.title = "Obtain Results / See Patient Later" + time_dialog.confirmed.connect(_commit_time) + add_child(time_dialog) + var time_box := VBoxContainer.new() + time_box.custom_minimum_size = Vector2(540, 260) + time_dialog.add_child(time_box) + time_preset = OptionButton.new() + for item in [["10 minutes", 10], ["1 hour", 60], ["4 hours", 240], ["12 hours", 720], ["1 day", 1440], ["Custom target", -1]]: + time_preset.add_item(item[0]) + time_preset.set_item_metadata(time_preset.item_count - 1, item[1]) + time_preset.item_selected.connect(_update_time_preview) + time_box.add_child(time_preset) + custom_target = LineEdit.new() + custom_target.placeholder_text = "YYYY-MM-DD HH:MM (case time)" + custom_target.visible = false + custom_target.text_changed.connect(func(_value: String): _update_time_preview(time_preset.selected)) + time_box.add_child(custom_target) + time_preview = Label.new() + time_preview.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + time_box.add_child(time_preview) + + location_dialog = ConfirmationDialog.new() + location_dialog.title = "Change Location" + location_dialog.confirmed.connect(_commit_location) + add_child(location_dialog) + var location_box := VBoxContainer.new() + location_box.custom_minimum_size = Vector2(480, 180) + location_dialog.add_child(location_box) + var location_help := Label.new() + location_help.text = "Select the patient’s destination:" + location_box.add_child(location_help) + location_option = OptionButton.new() + location_box.add_child(location_option) + + end_dialog = ConfirmationDialog.new() + end_dialog.title = "Enter Final Orders?" + end_dialog.dialog_text = "This ends active case management. You will have up to two minutes to finalize or cancel patient-care orders." + end_dialog.ok_button_text = "Enter Final Orders" + end_dialog.confirmed.connect(func(): CCSService.send_command("end_case")) + add_child(end_dialog) + final_instructions = AcceptDialog.new() + final_instructions.title = "Case-end Instructions" + final_instructions.dialog_text = "Finalize care of the patient’s current condition.\n\n• Cancel orders that should stop now.\n• Add orders that should be done now.\n• Add relevant future-care orders.\n\nThen submit final orders before time expires." + final_instructions.confirmed.connect(_open_order_sheet) + add_child(final_instructions) + abandon_dialog = ConfirmationDialog.new() + abandon_dialog.title = "Abandon CCS case?" + abandon_dialog.dialog_text = "This attempt will end without a score and cannot be resumed." + abandon_dialog.ok_button_text = "Abandon Case" + abandon_dialog.confirmed.connect(_confirm_abandon) + add_child(abandon_dialog) + + func _build_runtime_services() -> void: timer = Timer.new() timer.wait_time = 1 @@ -331,7 +427,6 @@ func _build_runtime_services() -> void: func on_show(payload: Variant = null) -> void: _set_status("") leaving = false - leave_button.disabled = false if typeof(payload) == TYPE_STRING and not str(payload).is_empty(): CCSService.load_attempt(str(payload)) _render() @@ -349,46 +444,484 @@ func _render() -> void: if str(attempt.get("state", "")) == "completed": main.show_screen("ccs_review", attempt) return - heading.text = "CCS Case | %s" % _humanize_code(str(attempt.get("location", ""))) - _render_study_text() - _render_vitals() - _render_orders() - _render_commands() + var was_final := exit_button.text == "Submit Final Orders" var final_orders := str(attempt.get("state", "")) == "final_orders" - end_button.text = "Submit final orders" if final_orders else "End case" - time_row.visible = not final_orders + for code in staged_order_codes.duplicate(): + if code in attempt.get("activeOrderCodes", []): + staged_order_codes.erase(code) + staged_order_names.erase(code) + heading.text = "CCS Case | %s" % _humanize_code(str(attempt.get("location", ""))) + var total := int(attempt.get("realTimeMinutes", 20)) + allotted_label.text = ( + "Legacy untimed CCS case" + if str(attempt.get("mode", "timed")) == "practice" + else "Maximum allotted real time: %d minutes + 2 minutes for final orders" % maxi(1, total - 2) + ) + exit_button.text = "Submit Final Orders" if final_orders else "Exit Case" + exit_button.tooltip_text = "Submit final orders and complete the case" if final_orders else "Enter final orders" final_orders_notice.visible = final_orders - final_orders_notice.text = "Finalize or cancel patient-care orders, then submit." + for button in action_buttons: + button.disabled = final_orders + action_buttons[1].disabled = false + _render_active_orders() + _render_staged_orders() + _render_chart() _tick() _apply_text_scale() + if not bool(attempt.get("openingCompleted", true)) and not opening_active: + _start_opening() + if final_orders and not was_final: + final_instructions.popup_centered(Vector2i(820, 500)) + _open_order_sheet() + if awaiting_exam_result and not CCSService.is_loading: + awaiting_exam_result = false + _show_new_findings() -func _render_vitals() -> void: - _clear(vitals_flow) - var vitals: Dictionary = CCSService.attempt.get("vitals", {}) - for key in _ordered_vital_keys(vitals): - var chip := PanelContainer.new() - chip.add_theme_stylebox_override("panel", _vital_chip_box()) - vitals_flow.add_child(chip) +func _start_opening() -> void: + opening_active = true + opening_step = 0 + _show_opening_step() + + +func _show_opening_step() -> void: + var attempt: Dictionary = CCSService.attempt + match opening_step: + 0: + intro_dialog.title = "Case Introduction" + intro_title.text = _simulated_time_text(0) + intro_body.text = "[center][b]%s[/b]\n\n%s[/center]" % [ + _escape_bbcode(_humanize_code(str(attempt.get("location", "")))), + _escape_bbcode(str(attempt.get("reasonForEncounter", ""))) + ] + 1: + intro_dialog.title = "Initial Vital Signs" + intro_title.text = _simulated_time_text(0) + intro_body.text = _vitals_bbcode(attempt.get("vitals", {})) + 2: + intro_dialog.title = "Initial History" + intro_title.text = str(attempt.get("patientSummary", "")) + intro_body.text = _history_bbcode() + intro_dialog.popup_centered(Vector2i(820, 560)) + + +func _accept_opening_step() -> void: + if not opening_active: + return + opening_step += 1 + if opening_step < 3: + call_deferred("_show_opening_step") + else: + opening_active = false + CCSService.send_command("acknowledge_opening") + + +func _open_exam() -> void: + if _is_final_orders(): + return + var container: VBoxContainer + for node in exam_dialog.find_children("*", "VBoxContainer", true, false): + if node.has_meta("exam_container"): + container = node + break + if container == null: + return + for child in container.get_children(): + if child is CheckBox: + child.queue_free() + exam_checks.clear() + interval_history_check = CheckBox.new() + interval_history_check.text = "Interval / follow-up history (1 min)" + container.add_child(interval_history_check) + for raw_exam in CCSService.attempt.get("availableExams", []): + var exam: Dictionary = raw_exam + var check := CheckBox.new() + var minutes := maxi(1, int(exam.get("durationMinutes", 1))) + check.text = "%s (%d min)" % [str(exam.get("name", _humanize_code(str(exam.get("code", ""))))), minutes] + check.set_meta("exam_code", str(exam.get("code", ""))) + check.set_meta("exam_minutes", minutes) + container.add_child(check) + exam_checks[str(exam.get("code", ""))] = check + exam_dialog.popup_centered(Vector2i(740, 600)) + + +func _review_exam_selection() -> void: + staged_exam_codes.clear() + staged_interval_history = interval_history_check != null and interval_history_check.button_pressed + var total := 0 + var lines: Array[String] = [] + if staged_interval_history: + total += 1 + lines.append("• Interval / follow-up history — 1 min") + for code in exam_checks: + var check: CheckBox = exam_checks[code] + if check.button_pressed: + staged_exam_codes.append(code) + var minutes := int(check.get_meta("exam_minutes", 1)) + total += minutes + lines.append("• %s — %d min" % [check.text.get_slice(" (", 0), minutes]) + if staged_exam_codes.is_empty() and not staged_interval_history: + _set_status("Select interval history or at least one examination component.") + return + exam_summary.text = "%s\n\n[b]Total simulated time: %d minutes[/b]\nThis will advance the clock to [b]%s[/b]." % [ + "\n".join(lines), total, _simulated_time_text(int(CCSService.attempt.get("simulatedMinute", 0)) + total) + ] + exam_summary_dialog.popup_centered(Vector2i(680, 420)) + + +func _commit_exams() -> void: + var commands: Array = [] + if staged_interval_history: + commands.append({"type": "interval_history", "code": "", "minutes": 0}) + for code in staged_exam_codes: + commands.append({"type": "exam", "code": code, "minutes": 0}) + pending_findings_before = _chart_entries("progress").size() + awaiting_exam_result = true + CCSService.send_batch(commands) + + +func _show_new_findings() -> void: + var entries := _chart_entries("progress") + var start := mini(pending_findings_before, entries.size()) + var text := "[center][b]%s[/b][/center]\n\n" % _simulated_time_text(int(CCSService.attempt.get("simulatedMinute", 0))) + for index in range(start, entries.size()): + var entry: Dictionary = entries[index] + if str(entry.get("code", "")).is_empty(): + continue + text += "[b]%s[/b]\n%s\n\n" % [_escape_bbcode(str(entry.get("title", ""))), _escape_bbcode(str(entry.get("text", "")))] + findings_body.text = text + findings_dialog.popup_centered(Vector2i(780, 540)) + + +func _open_order_sheet() -> void: + tabs.current_tab = 0 + search.grab_focus() + + +func _submit_search() -> void: + if search.text.strip_edges().length() < 2: + _set_status("Enter at least two characters to search.") + return + _set_status("") + CCSService.search_orders(search.text) + + +func _render_search() -> void: + _clear(search_results) + for raw_order in CCSService.orders: + var order: Dictionary = raw_order + var code := str(order.get("code", "")) + var button := Button.new() + button.text = "%s · %s" % [str(order.get("canonicalName", code)), _humanize_code(str(order.get("category", "")))] + button.alignment = HORIZONTAL_ALIGNMENT_LEFT + button.disabled = code in staged_order_codes or code in CCSService.attempt.get("activeOrderCodes", []) + button.pressed.connect(_stage_order.bind(code)) + search_results.add_child(button) + + +func _stage_order(code: String) -> void: + if code.is_empty() or code in staged_order_codes: + return + staged_order_names[code] = _catalog_name(code) + staged_order_codes.append(code) + search.text = "" + CCSService.orders = [] + _render_search() + _render_staged_orders() + + +func _render_staged_orders() -> void: + _clear(staged_orders) + for code in staged_order_codes: var row := HBoxContainer.new() - row.add_theme_constant_override("separation", 7) - chip.add_child(row) - var icon := TextureRect.new() - icon.texture = _vital_icon(key) - icon.expand_mode = TextureRect.EXPAND_IGNORE_SIZE - icon.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED - icon.custom_minimum_size = Vector2(18, 18) - icon.modulate = _vital_color(key) - row.add_child(icon) + staged_orders.add_child(row) var label := Label.new() - label.text = "%s: %s" % [_vital_label(key), str(vitals[key])] - _set_label(label, 13, Brand.text_color(_is_dark())) + label.text = _catalog_name(code) + label.size_flags_horizontal = Control.SIZE_EXPAND_FILL row.add_child(label) + var remove := Button.new() + remove.text = "Remove" + remove.pressed.connect(_unstage_order.bind(code)) + row.add_child(remove) + commit_orders_button.disabled = staged_order_codes.is_empty() + clear_orders_button.disabled = staged_order_codes.is_empty() + + +func _unstage_order(code: String) -> void: + staged_order_codes.erase(code) + staged_order_names.erase(code) + _render_staged_orders() + + +func _clear_staged_orders() -> void: + staged_order_codes.clear() + staged_order_names.clear() + _render_staged_orders() + + +func _commit_orders() -> void: + if staged_order_codes.is_empty(): + return + var commands: Array = [] + for code in staged_order_codes: + commands.append({"type": "order", "code": code, "minutes": 0}) + CCSService.orders = [] + _render_search() + _render_staged_orders() + CCSService.send_batch(commands) + + +func _render_active_orders() -> void: + _clear(active_orders) + var rows: Array = CCSService.attempt.get("activeOrders", []) + if rows.is_empty(): + var empty := Label.new() + empty.text = "No active orders." + active_orders.add_child(empty) + return + for raw_order in rows: + var order: Dictionary = raw_order + var row := HBoxContainer.new() + row.custom_minimum_size.y = 44 + active_orders.add_child(row) + _add_order_cell(row, str(order.get("name", _humanize_code(str(order.get("code", ""))))), 2.4) + _add_order_cell(row, str(order.get("route", "—")) if not str(order.get("route", "")).is_empty() else "—", 0.8) + _add_order_cell(row, str(order.get("frequency", "—")) if not str(order.get("frequency", "")).is_empty() else "—", 1.0) + _add_order_cell(row, _simulated_time_text(int(order.get("orderedMinute", 0)), false), 1.0) + var report_value: Variant = order.get("reportMinute", null) + var report_text := "—" + if bool(order.get("isPending", false)): + report_text = "Pending" + elif bool(order.get("hasResult", report_value != null)) and report_value != null: + report_text = _simulated_time_text(int(report_value), false) + _add_order_cell(row, report_text, 1.0) + var cancel := Button.new() + cancel.text = "Cancel" + cancel.size_flags_horizontal = Control.SIZE_EXPAND_FILL + cancel.size_flags_stretch_ratio = 0.8 + cancel.pressed.connect(_cancel_order.bind(str(order.get("code", "")))) + row.add_child(cancel) + + +func _add_order_cell(row: HBoxContainer, value: String, ratio: float) -> void: + var label := Label.new() + label.text = value + label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + label.size_flags_horizontal = Control.SIZE_EXPAND_FILL + label.size_flags_stretch_ratio = ratio + row.add_child(label) + + +func _cancel_order(code: String) -> void: + CCSService.send_batch([{"type": "cancel_order", "code": code, "minutes": 0}]) + + +func _open_time_dialog() -> void: + if _is_final_orders(): + return + time_preset.select(0) + custom_target.visible = false + _update_time_preview(0) + time_dialog.popup_centered(Vector2i(600, 350)) + + +func _update_time_preview(index: int) -> void: + var minutes := int(time_preset.get_item_metadata(index)) + custom_target.visible = minutes < 0 + if minutes < 0: + minutes = _custom_target_minutes() + time_preview.text = "Clock will advance to %s." % _simulated_time_text(int(CCSService.attempt.get("simulatedMinute", 0)) + maxi(0, minutes)) + time_dialog.get_ok_button().disabled = minutes <= 0 + + +func _custom_target_minutes() -> int: + var value := custom_target.text.strip_edges().replace(" ", "T") + if value.length() == 16: + value += ":00" + var target := Time.get_unix_time_from_datetime_string(value) + if target <= 0: + return 0 + var start_text := str(CCSService.attempt.get("simulatedStartUtc", "")).trim_suffix("Z") + var start_unix := Time.get_unix_time_from_datetime_string(start_text) + var current_unix := start_unix + int(CCSService.attempt.get("simulatedMinute", 0)) * 60 + return maxi(0, int((target - current_unix) / 60.0)) + + +func _commit_time() -> void: + var minutes := int(time_preset.get_item_metadata(time_preset.selected)) + if minutes < 0: + minutes = _custom_target_minutes() + if minutes > 0: + CCSService.send_command("advance", "", minutes) + + +func _open_location_dialog() -> void: + if _is_final_orders(): + return + location_option.clear() + for raw_location in CCSService.attempt.get("allowedLocations", []): + var location := str(raw_location) + location_option.add_item(_humanize_code(location)) + location_option.set_item_metadata(location_option.item_count - 1, location) + location_dialog.get_ok_button().disabled = location_option.item_count == 0 + location_dialog.popup_centered(Vector2i(540, 280)) + + +func _commit_location() -> void: + if location_option.item_count > 0: + CCSService.send_command("location", str(location_option.get_item_metadata(location_option.selected))) + + +func _request_end_case() -> void: + if _is_final_orders(): + CCSService.send_command("exit_case") + else: + end_dialog.popup_centered(Vector2i(560, 260)) + + +func leave_case() -> void: + abandon_dialog.popup_centered(Vector2i(520, 220)) + + +func _confirm_abandon() -> void: + if leaving: + return + leaving = true + CCSService.abandon() + + +func _on_abandoned() -> void: + if leaving: + leaving = false + main.show_screen("ccs_hub") + + +func _render_chart() -> void: + for definition in CHART_TABS: + var category := str(definition[1]) + if category == "orders": + continue + var label: RichTextLabel = chart_views.get(category) + if label == null: + continue + label.text = _chart_category_bbcode(category) + + +func _chart_category_bbcode(category: String) -> String: + if category == "vitals": + return _vital_history_bbcode() + var entries := _chart_entries(category) + if entries.is_empty(): + return "[center][color=#8490a5]No %s available.[/color][/center]" % str(_tab_title(category)).to_lower() + var text := "" + for raw_entry in entries: + var entry: Dictionary = raw_entry + text += "[b]%s[/b] [color=#8490a5]%s[/color]\n%s\n\n" % [ + _escape_bbcode(str(entry.get("title", _tab_title(category)))), + _escape_bbcode(_simulated_time_text(int(entry.get("simulatedMinute", 0)), false)), + _escape_bbcode(str(entry.get("text", ""))) + ] + return text + + +func _chart_entries(category: String) -> Array: + var result: Array = [] + for raw_entry in CCSService.attempt.get("chart", []): + var entry: Dictionary = raw_entry + var actual := str(entry.get("category", "progress")) + if actual == "exam": + actual = "progress" + elif actual == "results": + actual = "other_test" + if actual == category: + result.append(entry) + return result + + +func _vital_history_bbcode() -> String: + var snapshots: Array = CCSService.attempt.get("vitalHistory", []) + if snapshots.is_empty(): + return _vitals_bbcode(CCSService.attempt.get("vitals", {})) + var text := "" + for raw_snapshot in snapshots: + var snapshot: Dictionary = raw_snapshot + text += "[b]%s[/b]\n%s\n\n" % [ + _escape_bbcode(_simulated_time_text(int(snapshot.get("simulatedMinute", 0)), false)), + _vitals_bbcode(snapshot.get("values", {})) + ] + return text + + +func _vitals_bbcode(vitals: Dictionary) -> String: + var lines: Array[String] = [] + for key in _ordered_vital_keys(vitals): + lines.append("[b]%s:[/b] %s" % [_escape_bbcode(_vital_label(key)), _escape_bbcode(str(vitals[key]))]) + return "\n".join(lines) + + +func _history_bbcode() -> String: + var sections: Array = CCSService.attempt.get("historySections", []) + if sections.is_empty(): + return "[b]History of present illness[/b]\n%s\n\n[b]Initial appearance[/b]\n%s" % [ + _escape_bbcode(str(CCSService.attempt.get("history", ""))), + _escape_bbcode(str(CCSService.attempt.get("appearance", ""))) + ] + var text := "" + for raw_section in sections: + var section: Dictionary = raw_section + text += "[b]%s[/b]\n%s\n\n" % [_escape_bbcode(str(section.get("title", ""))), _escape_bbcode(str(section.get("text", "")))] + return text + + +func _tick() -> void: + if CCSService.attempt.is_empty(): + return + var now := Time.get_unix_time_from_system() + var created_text := str(CCSService.attempt.get("createdUtc", "")).trim_suffix("Z") + var created := Time.get_unix_time_from_datetime_string(created_text) + var elapsed := maxi(0, int(now - created)) + var phase_deadline := CCSService.deadline_unix() + var hard_deadline := CCSService.hard_deadline_unix() + var display_deadline := phase_deadline if _is_final_orders() else hard_deadline + var remaining := maxi(0, int(ceil(display_deadline - now))) + var phase_remaining := maxi(0, int(ceil(phase_deadline - now))) + simulated_clock.text = "Elapsed SIMULATED case time: %s" % _elapsed_simulated_text(int(CCSService.attempt.get("simulatedMinute", 0))) + elapsed_clock.text = "Elapsed REAL time: %s" % _duration_text(elapsed) + remaining_clock.text = ( + "Legacy untimed case" + if hard_deadline <= 0 + else "%s REAL time: %s" % ["Final-order" if _is_final_orders() else "Remaining", _duration_text(remaining)] + ) + if phase_remaining == 0 and phase_deadline > 0 and not CCSService.is_loading: + CCSService.load_attempt(str(CCSService.attempt.get("id", ""))) + + +func _simulated_time_text(minute: int, include_day: bool = true) -> String: + var start_text := str(CCSService.attempt.get("simulatedStartUtc", "")).trim_suffix("Z") + var unix := Time.get_unix_time_from_datetime_string(start_text) + if unix <= 0: + return "Minute %d" % minute + var value := Time.get_datetime_dict_from_unix_time(unix + minute * 60) + var hour := int(value.hour) + var suffix := "AM" if hour < 12 else "PM" + var display_hour := hour % 12 + if display_hour == 0: + display_hour = 12 + var day_number := 1 + int(floor(float(minute) / 1440.0)) + return "%s%d:%02d %s" % ["Day %d @ " % day_number if include_day else "", display_hour, int(value.minute), suffix] + + +func _elapsed_simulated_text(minutes: int) -> String: + return "%d Days %02d Hrs %02d Mins" % [minutes / 1440, (minutes % 1440) / 60, minutes % 60] + + +func _duration_text(seconds: int) -> String: + return "%02d:%02d" % [seconds / 60, seconds % 60] func _ordered_vital_keys(vitals: Dictionary) -> Array[String]: var ordered: Array[String] = [] - for key in ["temperature", "bloodPressure", "pulse", "respirations", "oxygenSaturation"]: + for key in ["temperature", "bloodPressure", "pulse", "respirations", "oxygenSaturation", "height", "weight", "bmi"]: if vitals.has(key): ordered.append(key) var remaining: Array[String] = [] @@ -405,201 +938,39 @@ func _vital_label(key: String) -> String: match key: "bloodPressure": return "Blood Pressure" "oxygenSaturation": return "Oxygen Saturation" + "bmi": return "Body Mass Index" _: return _humanize_code(key) -func _vital_icon(key: String) -> Texture2D: - match key: - "temperature": return ICON_THERMOMETER - "bloodPressure", "pulse": return ICON_HEART - "respirations": return ICON_LUNGS - _: return ICON_ACTIVITY - - -func _vital_color(key: String) -> Color: - match key: - "temperature", "oxygenSaturation": return Brand.SKY_BLUE - "bloodPressure", "pulse": return Color("fb7185") - _: return Brand.PURPLE - - -func _render_orders() -> void: - _clear(orders) - var active_codes: Array = CCSService.attempt.get("activeOrderCodes", []) - if active_codes.is_empty(): - var empty := Label.new() - empty.text = "No active orders" - _set_label(empty, 12, Brand.muted_color(_is_dark())) - orders.add_child(empty) - return - for raw_code in active_codes: - var code := str(raw_code) - var row := HBoxContainer.new() - row.add_theme_constant_override("separation", 6) - orders.add_child(row) - var label := Label.new() - label.text = _humanize_code(code) - label.size_flags_horizontal = Control.SIZE_EXPAND_FILL - label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART - _set_label(label, 13, Brand.text_color(_is_dark())) - row.add_child(label) - var cancel := Button.new() - cancel.text = "Cancel" - cancel.pressed.connect(CCSService.send_command.bind("cancel_order", code, 0)) - _style_secondary_button(cancel) - row.add_child(cancel) - - -func _render_commands() -> void: - _clear(actions) - for exam in CCSService.attempt.get("availableExams", []): - if typeof(exam) != TYPE_DICTIONARY: - continue - var button := Button.new() - button.text = str(exam.get("name", _humanize_code(str(exam.get("code", "Exam"))))) - button.pressed.connect(CCSService.send_command.bind("exam", str(exam.get("code", "")), 0)) - _style_secondary_button(button) - actions.add_child(button) - _clear(locations) - for raw_location in CCSService.attempt.get("allowedLocations", []): - var location := str(raw_location) - var button := Button.new() - button.text = "Move to %s" % _humanize_code(location) - button.custom_minimum_size.x = 150 - button.size_flags_horizontal = Control.SIZE_EXPAND_FILL - button.pressed.connect(CCSService.send_command.bind("location", location, 0)) - _style_secondary_button(button) - locations.add_child(button) - _style_command_buttons() - - -func _submit_search() -> void: - if search.text.strip_edges().length() < 2: - _set_status("Enter at least two characters to search.") - return - _set_status("") - CCSService.search_orders(search.text) - - -func _render_search() -> void: - _clear(search_results) - search_results_panel.visible = not CCSService.orders.is_empty() - for order in CCSService.orders: - if typeof(order) != TYPE_DICTIONARY: - continue - var button := Button.new() - button.text = "%s (%s)" % [order.get("canonicalName", ""), _humanize_code(str(order.get("category", "")))] - button.alignment = HORIZONTAL_ALIGNMENT_LEFT - button.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART - button.pressed.connect(_place_order.bind(str(order.get("code", "")))) - _style_secondary_button(button) - search_results.add_child(button) - - -func _place_order(code: String) -> void: - CCSService.send_command("order", code) - search.text = "" - CCSService.orders = [] - _render_search() - - -func _tick() -> void: - var deadline := CCSService.deadline_unix() - var final_orders := str(CCSService.attempt.get("state", "")) == "final_orders" - clock.visible = final_orders and deadline > 0 - if deadline <= 0: - clock.text = "" - return - var remaining := maxi(0, int(ceil(deadline - Time.get_unix_time_from_system()))) - if final_orders: - clock.text = "Final orders: %02d:%02d remaining" % [floori(float(remaining) / 60.0), remaining % 60] - if remaining == 0 and not CCSService.is_loading: - CCSService.load_attempt(str(CCSService.attempt.get("id", ""))) - - -func leave_case() -> void: - _leave() - - -func _leave() -> void: - if leaving or CCSService.attempt.is_empty(): - return - leaving = true - leave_button.disabled = true - _set_status("Leaving case...", false) - CCSService.abandon() - - -func _on_abandoned() -> void: - if not leaving: - return - leaving = false - main.show_screen("ccs_hub") - - -func _request_failed(message: String) -> void: - if not visible: - return - _set_status(message) - if leaving: - leaving = false - leave_button.disabled = false - - -func _end_case() -> void: - CCSService.send_command("exit_case" if str(CCSService.attempt.get("state", "")) == "final_orders" else "end_case") - - -func _clear(parent: Node) -> void: - for child in parent.get_children(): - parent.remove_child(child) - child.queue_free() - - -func _chart_text(entries: Array) -> String: - var lines: Array[String] = [] - for entry in entries: - if typeof(entry) != TYPE_DICTIONARY: - continue - var category := str(entry.get("category", "note")) - var category_label := "In Progress" if category == "progress" else _humanize_code(category) - lines.append("T+%d (%s): %s" % [entry.get("simulatedMinute", 0), category_label, entry.get("text", "")]) - return "\n\n".join(lines) - - -func _summary_plain() -> String: - var attempt := CCSService.attempt - return "%s\n%s" % [attempt.get("patientSummary", ""), attempt.get("reasonForEncounter", "")] - - -func _render_study_text() -> void: - var attempt_id := str(CCSService.attempt.get("id", "")) - summary.text = CCSService.highlighted_text(attempt_id, "summary", _summary_plain()) - history.text = CCSService.highlighted_text(attempt_id, "history", str(CCSService.attempt.get("history", ""))) - appearance.text = CCSService.highlighted_text(attempt_id, "appearance", str(CCSService.attempt.get("appearance", ""))) - chart.text = CCSService.highlighted_text(attempt_id, "chart", _chart_text(CCSService.attempt.get("chart", []))) +func _clinical_text(region: String) -> RichTextLabel: + var label := RichTextLabel.new() + label.bbcode_enabled = true + label.selection_enabled = true + label.fit_content = true + label.scroll_active = false + label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + label.add_theme_font_override("normal_font", Brand.font) + label.add_theme_font_override("bold_font", Brand.font) + label.set_meta("ccs_base_font_size", 16) + label.set_meta("ccs_region", region) + label.gui_input.connect(_text_input.bind(label)) + clinical_labels.append(label) + return label func _text_input(event: InputEvent, label: RichTextLabel) -> void: - var mouse := event as InputEventMouseButton - if mouse != null and mouse.button_index == MOUSE_BUTTON_LEFT and not mouse.pressed: + if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and not event.pressed: call_deferred("_commit_selection", label) func _commit_selection(label: RichTextLabel) -> void: - var selected := label.get_selected_text().strip_edges() - if selected.is_empty(): + var text := label.get_selected_text() + if text.is_empty(): return - var start := label.get_selection_from() - var end := label.get_selection_to() - CCSService.toggle_highlight( - str(CCSService.attempt.get("id", "")), - str(label.get_meta("ccs_region", "")), - mini(start, end), - maxi(start, end) - ) - label.deselect() - _render_study_text() + var source := label.get_parsed_text() + var start := source.find(text) + if start >= 0: + CCSService.toggle_highlight(str(CCSService.attempt.get("id", "")), str(label.get_meta("ccs_region", "")), start, start + text.length()) func _zoom(delta: float) -> void: @@ -608,183 +979,102 @@ func _zoom(delta: float) -> void: func _apply_text_scale() -> void: - for label in [summary, history, appearance, chart]: - var base_size := int(label.get_meta("ccs_base_font_size", 16)) - var font_size := int(round(float(base_size) * CCSService.text_scale)) - label.add_theme_font_size_override("normal_font_size", font_size) - label.add_theme_font_size_override("bold_font_size", font_size) - - -func _clear_highlights() -> void: - CCSService.clear_highlights(str(CCSService.attempt.get("id", ""))) - _render_study_text() + for label in clinical_labels: + var size := maxi(12, int(round(float(label.get_meta("ccs_base_font_size", 16)) * CCSService.text_scale))) + label.add_theme_font_size_override("normal_font_size", size) + label.add_theme_font_size_override("bold_font_size", size) func _report() -> void: - report_dialog.show_for(str(CCSService.attempt.get("id", ""))) + if report_dialog != null: + report_dialog.open(CCSService.attempt) func _report_submitted(_id: String) -> void: - report_button.tooltip_text = "Report submitted; report another issue" - _style_outline_button(report_button, Brand.SUCCESS) + _set_status("Case report submitted.", false) + + +func _request_failed(message: String) -> void: + if visible: + awaiting_exam_result = false + _set_status(message) func _set_status(message: String, is_error: bool = true) -> void: - if status == null: - return status.text = message status.visible = not message.is_empty() - status.add_theme_color_override("font_color", Color("fb7185") if is_error else Brand.SKY_BLUE) + status.add_theme_color_override("font_color", Color("ff6b7f") if is_error else Brand.SUCCESS) + + +func _catalog_name(code: String) -> String: + if staged_order_names.has(code): + return str(staged_order_names[code]) + for raw_order in CCSService.orders: + var order: Dictionary = raw_order + if str(order.get("code", "")) == code: + return str(order.get("canonicalName", _humanize_code(code))) + return _humanize_code(code) + + +func _tab_title(category: String) -> String: + for definition in CHART_TABS: + if str(definition[1]) == category: + return str(definition[0]) + return _humanize_code(category) func _humanize_code(value: String) -> String: - return value.replace("_", " ").replace("-", " ").capitalize() + return value.replace("_", " ").capitalize() + + +func _escape_bbcode(value: String) -> String: + return value.replace("[", "[lb]").replace("]", "[rb]") + + +func _is_final_orders() -> bool: + return str(CCSService.attempt.get("state", "")) == "final_orders" + + +func _clear(parent: Node) -> void: + for child in parent.get_children(): + child.queue_free() func _update_responsive_layout() -> void: - if workspace == null or header_layout == null: + if action_grid == null: return var narrow := size.x > 0 and size.x < RESPONSIVE_BREAKPOINT - workspace.vertical = narrow header_layout.vertical = narrow - toolbar.custom_minimum_size.x = 0 if narrow else 440 + action_grid.columns = 2 if narrow else 4 toolbar.size_flags_horizontal = Control.SIZE_EXPAND_FILL if narrow else Control.SIZE_SHRINK_END - chart_panel.custom_minimum_size.x = 0 if narrow else 600 - clerk_panel.custom_minimum_size.x = 0 if narrow else 370 - clerk_panel.size_flags_horizontal = Control.SIZE_EXPAND_FILL if narrow else Control.SIZE_SHRINK_END + for button in action_buttons: + button.custom_minimum_size.x = 0 if narrow else 220 queue_sort() -func _on_theme_changed(_is_dark_mode: bool) -> void: - call_deferred("_finish_theme_change") - - -func _finish_theme_change() -> void: - _apply_theme() - if visible and not CCSService.attempt.is_empty(): - _render() +func _on_theme_changed(_dark: bool) -> void: + call_deferred("_apply_theme") func _apply_theme() -> void: - var dark := _is_dark() if header_panel == null: return + var dark: bool = theme_service != null and theme_service.is_dark_mode() header_panel.add_theme_stylebox_override("panel", Brand.content_card_box(dark, false)) - chart_panel.add_theme_stylebox_override("panel", Brand.content_card_box(dark, false)) - clerk_panel.add_theme_stylebox_override("panel", Brand.content_card_box(dark, false)) - header_icon_panel.add_theme_stylebox_override("panel", Brand.icon_circle_box(dark, Brand.PURPLE, 6, true)) + workspace.add_theme_stylebox_override("panel", Brand.content_card_box(dark, false)) heading.add_theme_color_override("font_color", Brand.text_color(dark)) - for label in section_labels: - label.add_theme_color_override("font_color", Brand.PURPLE if dark else Brand.ROYAL_BLUE) - for node in find_children("*", "Label", true, false): - var label := node as Label - if label.has_meta("ccs_muted_label"): - label.add_theme_color_override("font_color", Brand.muted_color(dark)) - for label in [summary, history, appearance, chart]: + allotted_label.add_theme_color_override("font_color", Brand.ROYAL_BLUE if not dark else Brand.SKY_BLUE) + for label in [simulated_clock, elapsed_clock, remaining_clock]: + label.add_theme_color_override("font_color", Brand.text_color(dark)) + final_orders_notice.add_theme_color_override("font_color", Brand.AMBER) + for button in toolbar_buttons + action_buttons: + button.add_theme_font_override("font", Brand.font) + button.add_theme_color_override("font_color", Brand.text_color(dark)) + button.add_theme_color_override("font_hover_color", Brand.text_color(dark)) + button.add_theme_stylebox_override("normal", Brand.content_card_box(dark, false)) + button.add_theme_stylebox_override("hover", Brand.content_card_box(dark, true)) + for label in clinical_labels: label.add_theme_color_override("default_color", Brand.text_color(dark)) - search.add_theme_font_override("font", Brand.font) - search.add_theme_color_override("font_color", Brand.text_color(dark)) - search.add_theme_color_override("font_placeholder_color", Brand.muted_color(dark)) - search.add_theme_stylebox_override("normal", _compact_field_box(dark)) - search.add_theme_stylebox_override("focus", _compact_field_box(dark, true)) - search_results_panel.add_theme_stylebox_override("panel", Brand.content_card_box(dark, false)) - for button in toolbar_buttons: - _style_secondary_button(button) - _style_icon_button(search_button) - _style_outline_button(end_button, Brand.AMBER) - _style_outline_button(leave_button, Color("fb7185")) - for button in time_row.get_children(): - if button is Button: - _style_secondary_button(button) Brand.set_theme_toggle_icon(theme_button, dark) theme_button.tooltip_text = "Switch to light mode" if dark else "Switch to dark mode" - final_orders_notice.add_theme_color_override("font_color", Brand.AMBER) - clock.add_theme_color_override("font_color", Brand.AMBER) - _render_vitals() - - -func _style_command_buttons() -> void: - for container in [actions, locations]: - for child in container.get_children(): - if child is Button: - _style_secondary_button(child) - var reassess := time_row.get_parent().get_child(time_row.get_index() + 1) as Button - if reassess != null: - _style_secondary_button(reassess) - - -func _style_secondary_button(button: Button) -> void: - var dark := _is_dark() - button.add_theme_font_override("font", Brand.font) - button.add_theme_font_size_override("font_size", 13) - button.add_theme_color_override("font_color", Brand.text_color(dark)) - button.add_theme_color_override("font_hover_color", Brand.text_color(dark)) - button.add_theme_stylebox_override("normal", _compact_button_box(dark)) - button.add_theme_stylebox_override("hover", _compact_button_box(dark, true)) - button.add_theme_stylebox_override("pressed", _compact_button_box(dark, true)) - - -func _style_icon_button(button: Button) -> void: - _style_secondary_button(button) - button.add_theme_constant_override("icon_max_width", 20) - var color := Brand.SKY_BLUE if _is_dark() else Brand.ROYAL_BLUE - for color_name in ["icon_normal_color", "icon_hover_color", "icon_pressed_color", "icon_focus_color"]: - button.add_theme_color_override(color_name, color) - - -func _style_outline_button(button: Button, accent: Color) -> void: - var dark := _is_dark() - var normal := _compact_button_box(dark) - normal.border_color = accent - var hover := normal.duplicate() as StyleBoxFlat - hover.bg_color = Color(accent, 0.1) - button.add_theme_font_override("font", Brand.font) - button.add_theme_font_size_override("font_size", 13) - button.add_theme_color_override("font_color", accent) - button.add_theme_color_override("font_hover_color", accent) - button.add_theme_stylebox_override("normal", normal) - button.add_theme_stylebox_override("hover", hover) - button.add_theme_stylebox_override("pressed", hover) - - -func _compact_field_box(dark: bool, focused: bool = false) -> StyleBoxFlat: - var box := StyleBoxFlat.new() - box.bg_color = Color("0d172a") if dark else Brand.LIGHT_SURFACE - box.border_color = Brand.ROYAL_BLUE if focused else (Color("33415d") if dark else Brand.LIGHT_BORDER) - box.set_border_width_all(1) - box.set_corner_radius_all(6) - box.content_margin_left = 12 - box.content_margin_right = 12 - box.content_margin_top = 8 - box.content_margin_bottom = 8 - return box - - -func _compact_button_box(dark: bool, hover: bool = false) -> StyleBoxFlat: - var box := _compact_field_box(dark, hover) - box.bg_color = Color("111b30") if dark else Brand.LIGHT_SURFACE - return box - - -func _vital_chip_box() -> StyleBoxFlat: - var dark := _is_dark() - var box := StyleBoxFlat.new() - box.bg_color = Color("111b30") if dark else Color("f8faff") - box.border_color = Color("33415d") if dark else Brand.LIGHT_BORDER - box.set_border_width_all(1) - box.set_corner_radius_all(6) - box.content_margin_left = 10 - box.content_margin_right = 10 - box.content_margin_top = 8 - box.content_margin_bottom = 8 - return box - - -func _set_label(label: Label, font_size: int, color: Color) -> void: - label.add_theme_font_override("font", Brand.font) - label.add_theme_font_size_override("font_size", font_size) - label.add_theme_color_override("font_color", color) - - -func _is_dark() -> bool: - return theme_service != null and theme_service.is_dark_mode() + _apply_text_scale() diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index 369c05d..3a64801 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -905,7 +905,7 @@ func _toggle_app_menu() -> void: menu_exit_button.visible = (current_screen_name == "player" and BlockSessionService.block_started) or current_screen_name in ["ccs_player", "flashcards_study"] if menu_exit_button.visible: menu_exit_button.text = ( - "Leave Case" if current_screen_name == "ccs_player" + "Abandon CCS Case" if current_screen_name == "ccs_player" else "Exit Study Session" if current_screen_name == "flashcards_study" else "Leave (timer continues)" if BlockSessionService.session_kind == "simulation" else "Exit Run") diff --git a/tests/ccs_player_test.gd b/tests/ccs_player_test.gd index 1dc10e5..6ec725e 100644 --- a/tests/ccs_player_test.gd +++ b/tests/ccs_player_test.gd @@ -1,8 +1,5 @@ extends SceneTree -const Style := preload("res://scripts/ui/ui_style.gd") -const Brand := preload("res://scripts/ui/medmind_style.gd") - var failures := 0 var ccs_service @@ -13,8 +10,6 @@ func _initialize() -> void: func _run() -> void: ccs_service = root.get_node("CCSService") - var theme_service = root.get_node("UIThemeService") - var prior_dark_mode: bool = theme_service.is_dark_mode() var prior_attempt: Dictionary = ccs_service.attempt.duplicate(true) var prior_orders: Array = ccs_service.orders.duplicate(true) var prior_scale: float = ccs_service.text_scale @@ -33,58 +28,42 @@ func _run() -> void: player._render() await process_frame - _assert(player.heading.text == "CCS Case | Emergency Department", "CCS header should show the readable location without a case id") - _assert(player._ordered_vital_keys(ccs_service.attempt.vitals) == ["temperature", "bloodPressure", "pulse", "respirations", "oxygenSaturation"], "vital chips should use the clinical priority order") - _assert(player.vitals_flow.get_child_count() == 5, "every supplied vital should render as a chip") - _assert(player.search_button.icon != null, "Order Clerk search should use a bundled icon rather than a font glyph") - _assert(player.summary.get_meta("ccs_region", "") == "summary", "summary highlighting should use its own region") - _assert(player.history.get_meta("ccs_region", "") == "history", "history highlighting should use its own region") - _assert(player.appearance.get_meta("ccs_region", "") == "appearance", "appearance highlighting should use its own region") - _assert(player.chart.get_meta("ccs_region", "") == "chart", "chart highlighting should use its own region") - _assert(not player.workspace.vertical, "wide CCS screens should use chart and Order Clerk columns") - _assert(player.orders.get_child_count() == 1, "active orders should render in the Order Clerk") - var active_order_row := player.orders.get_child(0) as HBoxContainer - var active_order_label := active_order_row.get_child(0) as Label - _assert(active_order_label.text == "Normal Saline Bolus", "internal order codes should be human readable") - _assert(player.actions.get_child_count() == 2, "available physical examinations should render as actions") - _assert(player.locations.get_child_count() == 2, "allowed locations should render as move actions") - _assert(not player.clock.visible, "the normal active-case countdown should remain hidden") - + _assert(player.heading.text == "CCS Case | Emergency Department", "header should show the readable location") + _assert(player.action_buttons.size() == 4, "CCS workspace should expose four persistent clinical tasks") + _assert(player.tabs.get_tab_count() == 7, "CCS chart should expose seven predictable tabs") + _assert(player.tabs.get_tab_title(0) == "Order Sheet", "the first chart tab should be the order sheet") + _assert(player.allotted_label.text.contains("18 minutes + 2 minutes"), "20-minute cases should reserve two final-order minutes") + _assert(player.active_orders.get_child_count() == 1, "active orders should render as structured rows") + _assert(player._ordered_vital_keys(ccs_service.attempt.vitals) == ["temperature", "bloodPressure", "pulse", "respirations", "oxygenSaturation"], "vitals should use clinical priority order") + _assert(player._chart_entries("lab").size() == 1, "categorized results should render in their assigned tab") + _assert(player._simulated_time_text(60).contains("10:00 AM"), "simulated time should derive from the case start") + _assert(not player.opening_active, "completed opening flows should not replay on resume") + _assert(not player.final_orders_notice.visible, "active cases should not show final-order instructions") var clerk_font_size: int = player.search.get_theme_font_size("font_size") - var chart_font_size: int = player.summary.get_theme_font_size("normal_font_size") + var original_size: int = player.clinical_labels[0].get_theme_font_size("normal_font_size") var prior_profile_api_url: String = ProjectSettings.get_setting("step3/profile_api_url", "") ProjectSettings.set_setting("step3/profile_api_url", "http://127.0.0.1:1") player._zoom(ccs_service.TEXT_SCALE_STEP) ProjectSettings.set_setting("step3/profile_api_url", prior_profile_api_url) - _assert(player.summary.get_theme_font_size("normal_font_size") > chart_font_size, "text zoom should enlarge clinical chart text") - _assert(player.search.get_theme_font_size("font_size") == clerk_font_size, "text zoom should not resize Order Clerk controls") + _assert(player.clinical_labels[0].get_theme_font_size("normal_font_size") > original_size, "clinical text zoom should remain available") + _assert(player.search.get_theme_font_size("font_size") == clerk_font_size, "clinical text zoom should not resize order controls") + + player._stage_order("bmp") + _assert(player.staged_order_codes == ["bmp"], "orders should stage before submission") + _assert(not player.commit_orders_button.disabled, "staged orders should enable confirmation") + player._clear_staged_orders() + _assert(player.commit_orders_button.disabled, "clearing staged orders should disable confirmation") player.size = Vector2(800, 900) player._update_responsive_layout() - _assert(player.workspace.vertical, "narrow CCS screens should stack the Order Clerk below the chart") + _assert(player.action_grid.columns == 2, "narrow CCS screens should use a two-column action workspace") + ccs_service.attempt.state = "final_orders" - ccs_service.attempt.finalOrdersDeadlineUtc = Time.get_datetime_string_from_unix_time(Time.get_unix_time_from_system() + 90.0, true) player._render() - _assert(player.final_orders_notice.visible and player.clock.visible, "final-orders mode should show instructions and its deadline") - _assert(not player.time_row.visible, "time advancement should be unavailable during final orders") + _assert(player.final_orders_notice.visible, "final-orders mode should show instructions") + _assert(player.exit_button.text == "Submit Final Orders", "final-orders mode should expose final submission") + _assert(player.action_buttons[0].disabled and not player.action_buttons[1].disabled, "only order review should remain available in final orders") - theme_service.set_dark_mode(true) - await process_frame - theme_service.set_dark_mode(false) - Style.refresh_tree(player, true) - await process_frame - var light_panel := player.chart_panel.get_theme_stylebox("panel") as StyleBoxFlat - _assert(light_panel.bg_color.is_equal_approx(Brand.content_card_box(false, false).bg_color), "CCS light styles should win after the shell palette translation") - _assert(player.summary.get_theme_color("default_color").is_equal_approx(Brand.text_color(false)), "CCS light chart text should remain readable") - theme_service.set_dark_mode(true) - Style.refresh_tree(player, false) - await process_frame - var dark_panel := player.chart_panel.get_theme_stylebox("panel") as StyleBoxFlat - _assert(dark_panel.bg_color.is_equal_approx(Brand.content_card_box(true, false).bg_color), "CCS dark styles should win after the shell palette translation") - _assert(player.summary.get_theme_color("default_color").is_equal_approx(Brand.text_color(true)), "CCS dark chart text should remain readable") - - theme_service.set_dark_mode(prior_dark_mode) - await process_frame host.queue_free() await process_frame ccs_service.attempt = prior_attempt @@ -94,14 +73,24 @@ func _run() -> void: func _sample_attempt() -> Dictionary: + var now := Time.get_unix_time_from_system() return { "id": "attempt-1", "state": "active", + "revision": 1, + "openingCompleted": true, "location": "emergency_department", "patientSummary": "24-year-old woman with type 1 diabetes mellitus", "reasonForEncounter": "Two days of vomiting and progressive lethargy.", "history": "She stopped insulin when oral intake declined.", + "historySections": [{"code": "hpi", "title": "History of present illness", "text": "She stopped insulin when oral intake declined."}], "appearance": "She is lethargic but arousable.", + "simulatedStartUtc": "2026-07-15T09:00:00Z", + "simulatedMinute": 0, + "realTimeMinutes": 20, + "createdUtc": Time.get_datetime_string_from_unix_time(now - 60, true), + "deadlineUtc": Time.get_datetime_string_from_unix_time(now + 1020, true), + "hardDeadlineUtc": Time.get_datetime_string_from_unix_time(now + 1140, true), "vitals": { "oxygenSaturation": "98% on room air", "pulse": "118/min", @@ -109,14 +98,22 @@ func _sample_attempt() -> Dictionary: "respirations": "28/min", "bloodPressure": "88/56 mm Hg" }, - "chart": [{"simulatedMinute": 0, "category": "progress", "text": "Initial evaluation is in progress."}], - "activeOrderCodes": ["normal_saline_bolus"], - "availableExams": [ - {"code": "general", "name": "General and hydration examination"}, - {"code": "neurologic", "name": "Neurologic examination"} + "vitalHistory": [{"simulatedMinute": 0, "values": {"pulse": "118/min"}}], + "chart": [ + {"simulatedMinute": 0, "category": "progress", "code": "reason", "title": "Reason for encounter", "text": "Initial evaluation."}, + {"simulatedMinute": 12, "category": "lab", "code": "bmp", "title": "Basic metabolic panel", "text": "Glucose 580 mg/dL."} ], - "allowedLocations": ["emergency_department", "icu"], - "deadlineUtc": Time.get_datetime_string_from_unix_time(Time.get_unix_time_from_system() + 600.0, true) + "activeOrderCodes": ["normal_saline_bolus"], + "activeOrders": [{ + "code": "normal_saline_bolus", "name": "0.9% sodium chloride intravenous bolus", + "category": "medication", "route": "IV", "frequency": "Once", + "orderedMinute": 0, "reportMinute": 0 + }], + "availableExams": [ + {"code": "general", "name": "General and hydration examination", "durationMinutes": 1}, + {"code": "neurologic", "name": "Neurologic examination", "durationMinutes": 1} + ], + "allowedLocations": ["emergency_department", "icu"] } diff --git a/tests/smoke/uat-smoke.spec.mjs b/tests/smoke/uat-smoke.spec.mjs index a2a7265..a96ba2e 100644 --- a/tests/smoke/uat-smoke.spec.mjs +++ b/tests/smoke/uat-smoke.spec.mjs @@ -161,15 +161,40 @@ test("public API and disposable learner journey", async () => { expect(Array.isArray(cases)).toBeTruthy(); expect(cases.length).toBeGreaterThan(0); const { data: attempt } = await call("/api/ccs/attempts", { - method: "POST", token, body: { caseExternalId: "", mode: "practice" } + method: "POST", token, body: { caseExternalId: "", mode: "timed" } }); activeCcsAttempt = attempt.id; expect(activeCcsAttempt).toBeTruthy(); expect(attempt.caseExternalId).toBeTruthy(); expect(attempt.state).toBe("active"); - await call(`/api/ccs/attempts/${activeCcsAttempt}/abandon`, { - method: "POST", token, expected: [204] + const { data: opened } = await call(`/api/ccs/attempts/${activeCcsAttempt}/commands`, { + method: "POST", token, body: { + commandId: `smoke-opening-${suffix}`, expectedRevision: attempt.revision, + type: "acknowledge_opening", code: "", minutes: 0 + } }); + expect(opened.openingCompleted).toBe(true); + const exam = opened.availableExams[0]; + const { data: examined } = await call(`/api/ccs/attempts/${activeCcsAttempt}/commands/batch`, { + method: "POST", token, body: { + commandId: `smoke-exam-${suffix}`, expectedRevision: opened.revision, + commands: [{ type: "exam", code: exam.code, minutes: 0 }] + } + }); + const { data: finalOrders } = await call(`/api/ccs/attempts/${activeCcsAttempt}/commands`, { + method: "POST", token, body: { + commandId: `smoke-final-${suffix}`, expectedRevision: examined.revision, + type: "end_case", code: "", minutes: 0 + } + }); + expect(finalOrders.state).toBe("final_orders"); + const { data: completedCcs } = await call(`/api/ccs/attempts/${activeCcsAttempt}/commands`, { + method: "POST", token, body: { + commandId: `smoke-complete-${suffix}`, expectedRevision: finalOrders.revision, + type: "exit_case", code: "", minutes: 0 + } + }); + expect(completedCcs.state).toBe("completed"); activeCcsAttempt = ""; // Flashcards: create a deck and card, study and grade it, verify it drops out of the due From ba155fd38ad7d16c529018d25f3537b4a78b4528 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 05:06:18 -0500 Subject: [PATCH 34/68] Fix distractor explanations rendering on unanswered questions Guarded the answer-review render path (teaching cards, review follow-ups, distractor explanations) on current_answer/pending_correct_advance directly rather than solely on correct_review_panel.visible, and added the same guard inside _render_unselected_distractor_explanations itself. This closes a path where a fresh, never-answered question could show wrong-answer explanations immediately, before any selection or submission. Also: unselected distractors now render in the same red "wrong" card style as selected/locked-wrong choices once a question is being reviewed, instead of staying in the plain default row style. And removed the redundant percentage badge that was floating above the in-progress follow-up quiz prompt, since the choice button above it already shows the same percentage. --- scripts/ui/question_player.gd | 37 +++++++++-------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 1bbb63f..b5a889f 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -943,7 +943,10 @@ func _apply_question_theme() -> void: _style_choice_button_for_state(index, choice_id) for attempted_choice_id in followup_attempt_order: _render_followup_state(str(attempted_choice_id)) - if correct_review_panel != null and correct_review_panel.visible: + # Guarding on current_answer/pending_correct_advance too (not just the panel's + # own visible flag) so these can never render for a question that hasn't + # actually been answered yet, even if visible was left stale by some other path. + if correct_review_panel != null and correct_review_panel.visible and (not current_answer.is_empty() or pending_correct_advance): _render_teaching_cards() _render_review_followups() _render_unselected_distractor_explanations() @@ -1671,6 +1674,10 @@ func _render_unselected_distractor_explanations() -> void: # nest it directly in that choice's own card instead of a repeated # aggregate list at the bottom. Choices that DID trigger a follow-up # already show this same explanation inside the resolved quiz view. + # Guard against ever rendering on a question that hasn't actually been + # answered yet, regardless of what triggered this call. + if current_answer.is_empty() and not pending_correct_advance: + return var question := BlockSessionService.get_current_question() var correct_id := str(question.get("correct_choice_id", "")) var choices := _get_presented_choices() @@ -3034,7 +3041,7 @@ func _style_choice_button_for_state(index: int, choice_id: String) -> void: var reviewing := pending_correct_advance or not current_answer.is_empty() if reviewing and choice_id == correct_id: state = "correct" - elif locked_wrong_choice_ids.has(choice_id) or (reviewing and choice_id == selected_choice): + elif locked_wrong_choice_ids.has(choice_id) or (reviewing and choice_id != "" and choice_id != correct_id): state = "wrong" elif choice_id == selected_choice: state = "selected" @@ -3170,7 +3177,6 @@ func _append_followup_attempt(choice_id: String) -> void: func _render_active_followup(index: int, state: Dictionary) -> void: var content := choice_followup_contents[index] - _build_followup_header(content, state) var body_content := _add_followup_body(content, false) var prompt := Label.new() @@ -3269,31 +3275,6 @@ func _build_resolved_followup(index: int, state: Dictionary) -> void: content.add_child(explanation) -func _build_followup_header(content: VBoxContainer, state: Dictionary) -> void: - var dark := _followup_is_dark() - var is_main_correct := bool(state.get("is_main_correct", false)) - var accent := Brand.SUCCESS if is_main_correct else Color("fb5f6d") - var row := HBoxContainer.new() - row.add_theme_constant_override("separation", 10) - content.add_child(row) - - # The choice button above this panel already shows the letter badge and - # choice text, so the header only needs a spacer plus the percentage badge. - var spacer := Control.new() - spacer.size_flags_horizontal = Control.SIZE_EXPAND_FILL - row.add_child(spacer) - - var percentage := _get_choice_selection_percentage(str(state.get("choice_id", ""))) - if percentage >= 0: - var percentage_label := Label.new() - percentage_label.text = "%d%%" % percentage - percentage_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER - percentage_label.custom_minimum_size = Vector2(58, 30) - percentage_label.add_theme_stylebox_override("normal", Brand.badge_box(dark, accent)) - _set_scaled_label(percentage_label, 14, accent) - row.add_child(percentage_label) - - func _add_followup_body(content: VBoxContainer, is_correct: bool) -> VBoxContainer: var body := PanelContainer.new() body.add_theme_stylebox_override("panel", _followup_body_box(_followup_is_dark(), is_correct)) From 50f07a77a58bc34105b2c50b55708d58c22e7b2a Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 05:19:12 -0500 Subject: [PATCH 35/68] Add exam-style question calculator --- assets/icons/lucide/calculator.svg | 12 + assets/icons/lucide/calculator.svg.import | 43 +++ scripts/ui/calculator_panel.gd | 448 ++++++++++++++++++++++ scripts/ui/calculator_panel.gd.uid | 1 + scripts/ui/question_player.gd | 34 +- tests/calculator_panel_test.gd | 126 ++++++ tests/calculator_panel_test.gd.uid | 1 + tests/post_answer_review_test.gd | 12 +- 8 files changed, 673 insertions(+), 4 deletions(-) create mode 100644 assets/icons/lucide/calculator.svg create mode 100644 assets/icons/lucide/calculator.svg.import create mode 100644 scripts/ui/calculator_panel.gd create mode 100644 scripts/ui/calculator_panel.gd.uid create mode 100644 tests/calculator_panel_test.gd create mode 100644 tests/calculator_panel_test.gd.uid diff --git a/assets/icons/lucide/calculator.svg b/assets/icons/lucide/calculator.svg new file mode 100644 index 0000000..6cffcf7 --- /dev/null +++ b/assets/icons/lucide/calculator.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/assets/icons/lucide/calculator.svg.import b/assets/icons/lucide/calculator.svg.import new file mode 100644 index 0000000..74f4cf4 --- /dev/null +++ b/assets/icons/lucide/calculator.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy8lr6snglfpm" +path="res://.godot/imported/calculator.svg-0f64f216f45259cc59d80d23ea9a79a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/lucide/calculator.svg" +dest_files=["res://.godot/imported/calculator.svg-0f64f216f45259cc59d80d23ea9a79a8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/scripts/ui/calculator_panel.gd b/scripts/ui/calculator_panel.gd new file mode 100644 index 0000000..ece38f6 --- /dev/null +++ b/scripts/ui/calculator_panel.gd @@ -0,0 +1,448 @@ +extends PanelContainer + +const Style := preload("res://scripts/ui/ui_style.gd") +const Brand := preload("res://scripts/ui/medmind_style.gd") +const MAX_ENTRY_LENGTH := 16 + +var display_label: Label +var operation_label: Label +var keypad_buttons: Array[Button] = [] +var entry := "0" +var accumulator := 0.0 +var pending_operator := "" +var waiting_for_operand := true +var last_operator := "" +var last_operand := 0.0 +var has_last_operation := false +var error_state := false +var drag_active := false +var drag_offset := Vector2.ZERO +var has_been_positioned := false + + +func _ready() -> void: + name = "CalculatorPanel" + visible = false + top_level = true + mouse_filter = Control.MOUSE_FILTER_STOP + custom_minimum_size = Vector2(310, 390) + size = custom_minimum_size + _build_ui() + if not get_viewport().size_changed.is_connected(_on_viewport_size_changed): + get_viewport().size_changed.connect(_on_viewport_size_changed) + _on_viewport_size_changed() + refresh_theme_controls() + _refresh_display() + + +func open_panel() -> void: + visible = true + move_to_front() + if not has_been_positioned: + var viewport_size := get_viewport_rect().size + position = Vector2(maxf(12.0, viewport_size.x - size.x - 24.0), 72.0) + has_been_positioned = true + _clamp_to_viewport() + + +func close_panel() -> void: + visible = false + drag_active = false + + +func toggle_panel() -> void: + if visible: + close_panel() + else: + open_panel() + + +func reset_calculation() -> void: + entry = "0" + accumulator = 0.0 + pending_operator = "" + waiting_for_operand = true + last_operator = "" + last_operand = 0.0 + has_last_operation = false + error_state = false + _refresh_display() + + +func press_token(token: String) -> void: + if token.length() == 1 and token.is_valid_int(): + _enter_digit(token) + return + match token: + ".": + _enter_decimal() + "+", "−", "×", "÷": + _set_operator(token) + "=": + _equals() + "%": + _apply_unary("percent") + "√": + _apply_unary("sqrt") + "±": + _apply_unary("sign") + "⌫": + _backspace() + "AC": + reset_calculation() + + +func get_display_text() -> String: + return entry + + +func refresh_theme_controls() -> void: + if display_label == null: + return + var dark := UIThemeService.is_dark_mode() + add_theme_stylebox_override("panel", Brand.content_card_box(dark, true, Brand.ROYAL_BLUE)) + display_label.add_theme_color_override("font_color", Brand.text_color(dark)) + operation_label.add_theme_color_override("font_color", Brand.muted_color(dark)) + for button in keypad_buttons: + var accent := Brand.ROYAL_BLUE if str(button.get_meta("calculator_token", "")) in ["+", "−", "×", "÷", "="] else Brand.SLATE + button.add_theme_stylebox_override("normal", Brand.badge_box(dark, accent)) + button.add_theme_stylebox_override("hover", Brand.badge_box(dark, Brand.TEAL)) + button.add_theme_stylebox_override("pressed", Brand.badge_box(dark, Brand.PURPLE)) + button.add_theme_color_override("font_color", Brand.text_color(dark)) + + +func _build_ui() -> void: + var margin := MarginContainer.new() + margin.add_theme_constant_override("margin_left", 10) + margin.add_theme_constant_override("margin_right", 10) + margin.add_theme_constant_override("margin_top", 12) + margin.add_theme_constant_override("margin_bottom", 14) + add_child(margin) + + var content := VBoxContainer.new() + content.add_theme_constant_override("separation", 10) + margin.add_child(content) + + var title_bar := HBoxContainer.new() + title_bar.name = "CalculatorTitleBar" + title_bar.mouse_filter = Control.MOUSE_FILTER_STOP + title_bar.custom_minimum_size.y = 34 + title_bar.gui_input.connect(_on_title_bar_gui_input) + content.add_child(title_bar) + + var title := Label.new() + title.text = "Calculator" + title.size_flags_horizontal = Control.SIZE_EXPAND_FILL + title.mouse_filter = Control.MOUSE_FILTER_IGNORE + Brand.apply_font(title) + title.add_theme_font_size_override("font_size", 18) + title_bar.add_child(title) + + var close := Button.new() + close.name = "CalculatorClose" + close.text = "×" + close.tooltip_text = "Close calculator" + close.custom_minimum_size = Vector2(36, 32) + close.focus_mode = Control.FOCUS_NONE + close.pressed.connect(close_panel) + title_bar.add_child(close) + + var display_panel := PanelContainer.new() + display_panel.custom_minimum_size.y = 78 + display_panel.add_theme_stylebox_override("panel", Style.panel_box(Color("101b31"), Style.CYAN)) + content.add_child(display_panel) + + var display_margin := MarginContainer.new() + display_margin.add_theme_constant_override("margin_left", 12) + display_margin.add_theme_constant_override("margin_right", 12) + display_margin.add_theme_constant_override("margin_top", 8) + display_margin.add_theme_constant_override("margin_bottom", 8) + display_panel.add_child(display_margin) + + var display_stack := VBoxContainer.new() + display_margin.add_child(display_stack) + operation_label = Label.new() + operation_label.name = "CalculatorOperation" + operation_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_RIGHT + operation_label.add_theme_font_size_override("font_size", 13) + Brand.apply_font(operation_label) + display_stack.add_child(operation_label) + display_label = Label.new() + display_label.name = "CalculatorDisplay" + display_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_RIGHT + display_label.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS + display_label.add_theme_font_size_override("font_size", 28) + Brand.apply_font(display_label) + display_stack.add_child(display_label) + + var keypad := GridContainer.new() + keypad.name = "CalculatorKeypad" + keypad.columns = 4 + keypad.add_theme_constant_override("h_separation", 6) + keypad.add_theme_constant_override("v_separation", 8) + content.add_child(keypad) + + var tokens := [ + "AC", "⌫", "±", "√", + "7", "8", "9", "÷", + "4", "5", "6", "×", + "1", "2", "3", "−", + "%", "0", ".", "+", + "", "", "", "=" + ] + for token in tokens: + var button := Button.new() + button.custom_minimum_size = Vector2(44, 45) + button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + button.focus_mode = Control.FOCUS_NONE + if token == "": + button.visible = false + keypad.add_child(button) + continue + button.text = token + button.set_meta("calculator_token", token) + button.tooltip_text = _token_tooltip(token) + button.add_theme_font_size_override("font_size", 18) + Brand.apply_font(button) + UISoundService.set_button_sound(button, "toggle") + button.pressed.connect(press_token.bind(token)) + keypad.add_child(button) + keypad_buttons.append(button) + + +func _input(event: InputEvent) -> void: + if not visible or not (event is InputEventKey): + return + var key_event := event as InputEventKey + if not key_event.pressed or key_event.echo: + return + var token := "" + if key_event.keycode == KEY_ESCAPE: + close_panel() + get_viewport().set_input_as_handled() + return + if key_event.keycode in [KEY_ENTER, KEY_KP_ENTER]: + token = "=" + elif key_event.keycode == KEY_BACKSPACE: + token = "⌫" + elif key_event.keycode == KEY_DELETE: + token = "AC" + elif key_event.unicode > 0: + var character := String.chr(key_event.unicode) + match character: + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", "%", "=": + token = character + "+": token = "+" + "-": token = "−" + "*", "x", "X": token = "×" + "/": token = "÷" + "c", "C": token = "AC" + if token == "": + return + press_token(token) + get_viewport().set_input_as_handled() + + +func _enter_digit(digit: String) -> void: + if error_state: + reset_calculation() + if waiting_for_operand: + entry = digit + waiting_for_operand = false + elif entry == "0": + entry = digit + elif entry.length() < MAX_ENTRY_LENGTH: + entry += digit + _refresh_display() + + +func _enter_decimal() -> void: + if error_state: + reset_calculation() + if waiting_for_operand: + entry = "0." + waiting_for_operand = false + elif not "." in entry and entry.length() < MAX_ENTRY_LENGTH: + entry += "." + _refresh_display() + + +func _set_operator(operator: String) -> void: + if error_state: + return + var current := _entry_value() + if pending_operator != "" and not waiting_for_operand: + if not _perform_operation(pending_operator, current): + return + else: + accumulator = current + pending_operator = operator + waiting_for_operand = true + has_last_operation = false + _refresh_display() + + +func _equals() -> void: + if error_state: + return + if pending_operator != "": + var operand := accumulator if waiting_for_operand else _entry_value() + var operator := pending_operator + if not _perform_operation(operator, operand): + return + last_operator = operator + last_operand = operand + has_last_operation = true + pending_operator = "" + elif has_last_operation: + if not _perform_operation(last_operator, last_operand): + return + else: + return + waiting_for_operand = true + _refresh_display() + + +func _apply_unary(operation: String) -> void: + if error_state: + return + var value := _entry_value() + match operation: + "percent": + value /= 100.0 + "sqrt": + if value < 0.0: + _set_error() + return + value = sqrt(value) + "sign": + value = -value + entry = _format_number(value) + if pending_operator == "": + accumulator = value + waiting_for_operand = false + _refresh_display() + + +func _backspace() -> void: + if error_state: + reset_calculation() + return + if waiting_for_operand: + return + entry = entry.left(entry.length() - 1) + if entry in ["", "-"]: + entry = "0" + waiting_for_operand = true + _refresh_display() + + +func _perform_operation(operator: String, operand: float) -> bool: + var result := accumulator + match operator: + "+": result += operand + "−": result -= operand + "×": result *= operand + "÷": + if is_zero_approx(operand): + _set_error() + return false + result /= operand + if is_nan(result) or is_inf(result): + _set_error() + return false + accumulator = result + entry = _format_number(result) + return true + + +func _entry_value() -> float: + return entry.to_float() + + +func _format_number(value: float) -> String: + if is_zero_approx(value): + return "0" + var formatted := String.num(value, 12) + if "." in formatted: + while formatted.ends_with("0"): + formatted = formatted.left(formatted.length() - 1) + if formatted.ends_with("."): + formatted = formatted.left(formatted.length() - 1) + if formatted.length() > MAX_ENTRY_LENGTH: + formatted = String.num_scientific(value).replace("e+", "e") + return formatted + + +func _set_error() -> void: + entry = "Error" + error_state = true + pending_operator = "" + waiting_for_operand = true + has_last_operation = false + _refresh_display() + + +func _refresh_display() -> void: + if display_label == null: + return + display_label.text = entry + operation_label.text = ("%s %s" % [_format_number(accumulator), pending_operator]) if pending_operator != "" else "" + + +func _on_title_bar_gui_input(event: InputEvent) -> void: + var touch_event := event as InputEventScreenTouch + if touch_event != null: + drag_active = touch_event.pressed + if drag_active: + drag_offset = touch_event.position + get_viewport().set_input_as_handled() + return + var touch_drag := event as InputEventScreenDrag + if touch_drag != null and drag_active: + global_position += touch_drag.relative + _clamp_to_viewport() + get_viewport().set_input_as_handled() + return + var mouse_event := event as InputEventMouseButton + if mouse_event != null and mouse_event.button_index == MOUSE_BUTTON_LEFT: + drag_active = mouse_event.pressed + if drag_active: + drag_offset = mouse_event.global_position - global_position + get_viewport().set_input_as_handled() + return + var motion := event as InputEventMouseMotion + if motion != null and drag_active: + global_position = motion.global_position - drag_offset + _clamp_to_viewport() + get_viewport().set_input_as_handled() + + +func _on_viewport_size_changed() -> void: + var viewport_size := get_viewport_rect().size + custom_minimum_size.x = minf(310.0, maxf(216.0, viewport_size.x - 24.0)) + size.x = custom_minimum_size.x + _clamp_to_viewport() + + +func _clamp_to_viewport() -> void: + if not is_inside_tree(): + return + var viewport_size := get_viewport_rect().size + position.x = clampf(position.x, 12.0, maxf(12.0, viewport_size.x - size.x - 12.0)) + position.y = clampf(position.y, 12.0, maxf(12.0, viewport_size.y - size.y - 12.0)) + + +func _token_tooltip(token: String) -> String: + return { + "AC": "Clear calculation", + "⌫": "Backspace", + "±": "Change sign", + "√": "Square root", + "%": "Convert to percent", + "÷": "Divide", + "×": "Multiply", + "−": "Subtract", + "+": "Add", + "=": "Equals" + }.get(token, token) diff --git a/scripts/ui/calculator_panel.gd.uid b/scripts/ui/calculator_panel.gd.uid new file mode 100644 index 0000000..cb25d08 --- /dev/null +++ b/scripts/ui/calculator_panel.gd.uid @@ -0,0 +1 @@ +uid://dssyep5a2sime diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index b5a889f..faa274c 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -3,6 +3,7 @@ extends VBoxContainer const Style := preload("res://scripts/ui/ui_style.gd") const Brand := preload("res://scripts/ui/medmind_style.gd") const FlashcardPrefillDialog := preload("res://scripts/ui/flashcard_prefill_dialog.gd") +const CalculatorPanel := preload("res://scripts/ui/calculator_panel.gd") const CLEAR_HIGHLIGHT_DARK_ICON := preload("res://assets/icons/medmind/clear-highlight-dark.svg") const CLEAR_HIGHLIGHT_LIGHT_ICON := preload("res://assets/icons/medmind/clear-highlight-light.svg") const LABS_DARK_ICON := preload("res://assets/icons/medmind/labs-dark.svg") @@ -81,6 +82,7 @@ var skip_button: Button var text_smaller_button: Button var text_larger_button: Button var labs_button: Button +var calculator_button: Button var clear_highlight_button: Button var flag_button: Button var report_button: Button @@ -109,6 +111,7 @@ var feedback_fog: ColorRect var labs_overlay: Control var labs_panel: PanelContainer var labs_content: VBoxContainer +var calculator_panel var report_overlay: Control var report_panel: PanelContainer var report_form_content: VBoxContainer @@ -258,6 +261,19 @@ func _ready() -> void: text_larger_button.pressed.connect(func(): _adjust_question_text_scale(TEXT_SCALE_STEP)) question_toolbar.add_child(text_larger_button) + calculator_button = Button.new() + calculator_button.name = "CalculatorButton" + calculator_button.tooltip_text = "Open calculator" + calculator_button.icon = preload("res://assets/icons/lucide/calculator.svg") + calculator_button.custom_minimum_size = Vector2(44, 44) + calculator_button.add_theme_constant_override("icon_max_width", 22) + calculator_button.alignment = HORIZONTAL_ALIGNMENT_CENTER + calculator_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER + calculator_button.focus_mode = Control.FOCUS_NONE + UISoundService.set_button_sound(calculator_button, "open") + calculator_button.pressed.connect(_toggle_calculator) + question_toolbar.add_child(calculator_button) + labs_button = Button.new() labs_button.tooltip_text = "Review lab results" labs_button.custom_minimum_size = Vector2(44, 44) @@ -574,6 +590,8 @@ func _ready() -> void: add_child(feedback_fog) _build_labs_modal() + calculator_panel = CalculatorPanel.new() + add_child(calculator_panel) _build_report_modal() _build_media_viewer() resized.connect(_fit_modal_panels) @@ -909,7 +927,7 @@ func _apply_question_theme() -> void: var navigator_heading := navigator_popup.find_child("NavigatorHeading", true, false) as Label if navigator_heading != null: navigator_heading.add_theme_color_override("font_color", Brand.text_color(dark)) - for control in [text_smaller_button, text_larger_button, bookmark_button, notes_button, flashcard_button, app_feedback_button]: + for control in [text_smaller_button, text_larger_button, calculator_button, bookmark_button, notes_button, flashcard_button, app_feedback_button]: if control == null: continue var active: bool = control == bookmark_button and BookmarkService.is_bookmarked(str(BlockSessionService.get_current_question().get("id", ""))) @@ -923,6 +941,8 @@ func _apply_question_theme() -> void: _style_asset_toolbar_button(report_button, REPORT_QUESTION_DARK_ICON if dark else REPORT_QUESTION_LIGHT_ICON, dark) _style_asset_toolbar_button(flag_button, FLAG_DARK_ICON if dark else FLAG_LIGHT_ICON, dark, flagged) _style_theme_toggle_button(dark) + if calculator_panel != null: + calculator_panel.refresh_theme_controls() if skip_button != null: skip_button.add_theme_stylebox_override("normal", _toolbar_box(dark)) skip_button.add_theme_stylebox_override("hover", _toolbar_box(dark, true)) @@ -963,6 +983,9 @@ func on_hide() -> void: _hide_media_viewer() _hide_report_modal(true) _hide_labs_modal() + if calculator_panel != null: + calculator_panel.close_panel() + calculator_panel.reset_calculation() func _save_simulation_current_response() -> void: @@ -1049,6 +1072,8 @@ func _input(event: InputEvent) -> void: _hide_labs_modal() get_viewport().set_input_as_handled() return + if calculator_panel != null and calculator_panel.visible and event is InputEventKey: + return if not visible or pending_correct_advance or stem_label == null: return @@ -2038,9 +2063,16 @@ func _refresh_toolbar_state() -> void: var bookmark_value := BookmarkService.is_bookmarked(bookmark_question_id) var bookmark_pending := BookmarkService.is_pending(bookmark_question_id) bookmark_button.tooltip_text = ("Saved; waiting to sync" if bookmark_pending else "Remove bookmark") if bookmark_value else ("Removal waiting to sync" if bookmark_pending else "Save question") + if calculator_button != null: + calculator_button.visible = true _apply_question_theme() +func _toggle_calculator() -> void: + if calculator_panel != null: + calculator_panel.toggle_panel() + + func _toggle_bookmark_current_question() -> void: var question := BlockSessionService.get_current_question() if not question.is_empty(): diff --git a/tests/calculator_panel_test.gd b/tests/calculator_panel_test.gd new file mode 100644 index 0000000..1639aee --- /dev/null +++ b/tests/calculator_panel_test.gd @@ -0,0 +1,126 @@ +extends SceneTree + +var failures := 0 + + +func _initialize() -> void: + call_deferred("_run") + + +func _run() -> void: + _test_basic_arithmetic() + _test_decimal_and_chained_operations() + _test_percent_and_sign() + _test_square_root() + _test_repeated_equals() + _test_backspace_and_clear() + _test_error_recovery() + await _test_runtime_panel_behavior() + quit(1 if failures > 0 else 0) + + +func _calculator(): + return load("res://scripts/ui/calculator_panel.gd").new() + + +func _press(calculator, tokens: Array) -> void: + for token in tokens: + calculator.press_token(str(token)) + + +func _test_basic_arithmetic() -> void: + var calculator = _calculator() + _press(calculator, ["9", "+", "6", "="]) + _assert(calculator.get_display_text() == "15", "calculator should add operands") + calculator.reset_calculation() + _press(calculator, ["9", "−", "4", "="]) + _assert(calculator.get_display_text() == "5", "calculator should subtract operands") + calculator.reset_calculation() + _press(calculator, ["7", "×", "8", "="]) + _assert(calculator.get_display_text() == "56", "calculator should multiply operands") + calculator.reset_calculation() + _press(calculator, ["8", "÷", "4", "="]) + _assert(calculator.get_display_text() == "2", "calculator should divide operands") + calculator.free() + + +func _test_decimal_and_chained_operations() -> void: + var calculator = _calculator() + _press(calculator, ["1", ".", "5", "+", "2", ".", "5", "×", "2", "="]) + _assert(calculator.get_display_text() == "8", "calculator should evaluate chained handheld operations left to right") + calculator.free() + + +func _test_percent_and_sign() -> void: + var calculator = _calculator() + _press(calculator, ["5", "%"]) + _assert(calculator.get_display_text() == "0.05", "percent should convert the displayed operand to a fraction") + _press(calculator, ["±"]) + _assert(calculator.get_display_text() == "-0.05", "sign toggle should negate the displayed operand") + calculator.free() + + +func _test_square_root() -> void: + var calculator = _calculator() + _press(calculator, ["8", "1", "√"]) + _assert(calculator.get_display_text() == "9", "square root should replace the displayed operand") + calculator.free() + + +func _test_repeated_equals() -> void: + var calculator = _calculator() + _press(calculator, ["5", "+", "2", "=", "="]) + _assert(calculator.get_display_text() == "9", "repeated equals should replay the last binary operation") + calculator.free() + + +func _test_backspace_and_clear() -> void: + var calculator = _calculator() + _press(calculator, ["1", "2", "3", "⌫"]) + _assert(calculator.get_display_text() == "12", "backspace should remove the final entry digit") + _press(calculator, ["AC"]) + _assert(calculator.get_display_text() == "0", "clear should reset the display") + calculator.free() + + +func _test_error_recovery() -> void: + var calculator = _calculator() + _press(calculator, ["8", "÷", "0", "="]) + _assert(calculator.get_display_text() == "Error", "division by zero should display an error") + _press(calculator, ["4"]) + _assert(calculator.get_display_text() == "4", "digit entry should recover from an error") + _press(calculator, ["±", "√"]) + _assert(calculator.get_display_text() == "Error", "square root of a negative operand should display an error") + calculator.free() + + +func _test_runtime_panel_behavior() -> void: + var host := Control.new() + host.size = Vector2(360, 640) + root.add_child(host) + var calculator = _calculator() + host.add_child(calculator) + await process_frame + calculator.open_panel() + await process_frame + _assert(calculator.visible, "calculator should open as a floating panel") + _assert(calculator.size.x <= 336.0, "calculator should fit a narrow web viewport") + _press(calculator, ["2", "+", "3", "="]) + calculator.close_panel() + calculator.open_panel() + _assert(calculator.get_display_text() == "5", "closing and reopening should preserve the active-session value") + calculator.position = Vector2(1000, 1000) + calculator._clamp_to_viewport() + _assert(calculator.position.x + calculator.size.x <= calculator.get_viewport_rect().size.x, "calculator dragging should remain horizontally bounded") + _assert(calculator.position.y + calculator.size.y <= calculator.get_viewport_rect().size.y, "calculator dragging should remain vertically bounded") + calculator.reset_calculation() + _assert(calculator.get_display_text() == "0", "session reset should clear calculator state") + host.queue_free() + await process_frame + + +func _assert(condition: bool, message: String) -> void: + if condition: + return + failures += 1 + push_error(message) diff --git a/tests/calculator_panel_test.gd.uid b/tests/calculator_panel_test.gd.uid new file mode 100644 index 0000000..65b40de --- /dev/null +++ b/tests/calculator_panel_test.gd.uid @@ -0,0 +1 @@ +uid://j08gujwjb7jx diff --git a/tests/post_answer_review_test.gd b/tests/post_answer_review_test.gd index 4574020..533c317 100644 --- a/tests/post_answer_review_test.gd +++ b/tests/post_answer_review_test.gd @@ -361,6 +361,8 @@ func _test_player_runtime_construction() -> void: _assert(player.clear_highlight_button.icon != null, "clear highlights should use the supplied toolbar artwork") _assert(player.report_button.icon != null, "report question should use the supplied toolbar artwork") _assert(player.labs_button.icon != null, "lab results should use the supplied toolbar artwork") + _assert(player.calculator_button != null and player.calculator_button.icon != null, "every question mode should expose the calculator tool") + _assert(player.calculator_panel != null, "question player should construct the floating calculator once") _assert(player.notes_button != null and player.notes_button.icon != null, "practice questions should expose the notes tool") for icon_button in [player.clear_highlight_button, player.report_button, player.labs_button]: _assert(icon_button.alignment == HORIZONTAL_ALIGNMENT_CENTER and icon_button.icon_alignment == HORIZONTAL_ALIGNMENT_CENTER, "question toolbar artwork should be horizontally centered") @@ -377,12 +379,16 @@ func _test_player_runtime_construction() -> void: _assert(player.choice_badges.size() == 5, "question player should construct an answer badge for every visible choice slot") _assert(player.choice_followup_panels[2].get_parent() == player.choice_rows[2], "distractor remediation should remain nested inside its answer choice") var prior_session_kind: String = root.get_node("BlockSessionService").session_kind - root.get_node("BlockSessionService").session_kind = "simulation" - player._refresh_toolbar_state() - _assert(not player.notes_button.visible, "timed simulations should hide the notes tool") + for session_kind in ["block", "core", "bookmark", "review", "simulation"]: + root.get_node("BlockSessionService").session_kind = session_kind + player._refresh_toolbar_state() + _assert(player.calculator_button.visible, "%s question sessions should expose the calculator tool" % session_kind) root.get_node("BlockSessionService").session_kind = "core" player._refresh_toolbar_state() _assert(player.notes_button.visible, "practice question runs should show the notes tool") + root.get_node("BlockSessionService").session_kind = "simulation" + player._refresh_toolbar_state() + _assert(not player.notes_button.visible, "timed simulations should hide the notes tool") root.get_node("BlockSessionService").session_kind = prior_session_kind player.choice_followup_panels[2].visible = true player.locked_wrong_choice_ids = ["C"] From fcbc288a49e9587b568c905f2dd78e8c5ffb51bf Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 12:33:23 -0500 Subject: [PATCH 36/68] Add data-driven dynamic question mode --- .../DynamicQuestionTests.cs | 71 +++++++ .../Controllers/DynamicQuestionsController.cs | 68 +++++++ .../Models/DynamicQuestionModels.cs | 190 ++++++++++++++++++ api/QuestionsApi/Models/QuestionReport.cs | 2 + api/QuestionsApi/Program.cs | 10 + .../Services/DynamicBlueprintCommand.cs | 50 +++++ .../Services/DynamicQuestionGenerator.cs | 164 +++++++++++++++ .../Services/DynamicQuestionService.cs | 107 ++++++++++ .../Services/DynamicQuestionStore.cs | 124 ++++++++++++ .../Services/DynamicQuestionTokenService.cs | 67 ++++++ .../Services/QuestionReportStore.cs | 29 +++ content/dynamic_questions/pilot.json | 78 +++++++ project.godot | 1 + scripts/autoload/block_session_service.gd | 30 +++ scripts/autoload/dynamic_question_service.gd | 108 ++++++++++ .../autoload/dynamic_question_service.gd.uid | 1 + scripts/ui/dynamic_questions_screen.gd | 79 ++++++++ scripts/ui/dynamic_questions_screen.gd.uid | 1 + scripts/ui/main.gd | 9 + scripts/ui/navigation_routes.gd | 4 +- scripts/ui/question_player.gd | 63 +++++- scripts/ui/study_selector.gd | 12 +- 22 files changed, 1247 insertions(+), 21 deletions(-) create mode 100644 api/QuestionsApi.Tests/DynamicQuestionTests.cs create mode 100644 api/QuestionsApi/Controllers/DynamicQuestionsController.cs create mode 100644 api/QuestionsApi/Models/DynamicQuestionModels.cs create mode 100644 api/QuestionsApi/Services/DynamicBlueprintCommand.cs create mode 100644 api/QuestionsApi/Services/DynamicQuestionGenerator.cs create mode 100644 api/QuestionsApi/Services/DynamicQuestionService.cs create mode 100644 api/QuestionsApi/Services/DynamicQuestionStore.cs create mode 100644 api/QuestionsApi/Services/DynamicQuestionTokenService.cs create mode 100644 content/dynamic_questions/pilot.json create mode 100644 scripts/autoload/dynamic_question_service.gd create mode 100644 scripts/autoload/dynamic_question_service.gd.uid create mode 100644 scripts/ui/dynamic_questions_screen.gd create mode 100644 scripts/ui/dynamic_questions_screen.gd.uid diff --git a/api/QuestionsApi.Tests/DynamicQuestionTests.cs b/api/QuestionsApi.Tests/DynamicQuestionTests.cs new file mode 100644 index 0000000..0565aa9 --- /dev/null +++ b/api/QuestionsApi.Tests/DynamicQuestionTests.cs @@ -0,0 +1,71 @@ +using Microsoft.Extensions.Configuration; +using QuestionsApi.Models; +using QuestionsApi.Services; +using Xunit; + +namespace QuestionsApi.Tests; + +public sealed class DynamicQuestionTests +{ + [Fact] + public void Generator_IsDeterministic_AndPreservesCorrectAnswer() + { + var blueprint = Blueprint(); + var generator = new DynamicQuestionGenerator(); + + var first = generator.Generate(blueprint, "same-seed", "one").Question; + var second = generator.Generate(blueprint, "same-seed", "two").Question; + + Assert.Equal(first.Stem, second.Stem); + Assert.Equal(first.Choices.Select(value => value.Text), second.Choices.Select(value => value.Text)); + Assert.Equal("correct", first.CorrectChoiceId); + Assert.Null(DynamicQuestionGenerator.Validate(blueprint)); + } + + [Fact] + public void SignedTokens_AreUserBound_AndRejectTampering() + { + var configuration = new ConfigurationBuilder() + .AddInMemoryCollection(new Dictionary { ["DynamicQuestions:SigningKey"] = "unit-test-key" }) + .Build(); + var service = new DynamicQuestionTokenService(configuration); + var claims = new DynamicGenerationClaims + { + UserId = "user-one", + BlueprintExternalId = "test", + BlueprintVersion = 1, + ObjectiveId = "objective", + Seed = "seed", + Nonce = "nonce", + GeneratorVersion = 1, + ExpiresUtc = DateTime.UtcNow.AddMinutes(5) + }; + + var token = service.SignGeneration(claims); + + Assert.Equal("seed", service.ReadGeneration(token, "user-one").Seed); + Assert.Throws(() => service.ReadGeneration(token, "user-two")); + Assert.ThrowsAny(() => service.ReadGeneration(token + "x", "user-one")); + } + + private static DynamicQuestionBlueprint Blueprint() => new() + { + ExternalId = "test", + ObjectiveId = "objective", + StemTemplate = "Patient age {{age}}.", + LeadIn = "What is correct?", + Variables = new() + { + ["age"] = new DynamicVariableDefinition { Minimum = 20, Maximum = 80, Step = 1 } + }, + CorrectAnswer = new DynamicAnswerTemplate { Id = "correct", TextTemplate = "Correct" }, + Distractors = + [ + new() { Id = "a", TextTemplate = "A" }, + new() { Id = "b", TextTemplate = "B" }, + new() { Id = "c", TextTemplate = "C" }, + new() { Id = "d", TextTemplate = "D" } + ], + References = [new QuestionReference { Title = "Reference", Url = "https://example.test" }] + }; +} diff --git a/api/QuestionsApi/Controllers/DynamicQuestionsController.cs b/api/QuestionsApi/Controllers/DynamicQuestionsController.cs new file mode 100644 index 0000000..fd577b9 --- /dev/null +++ b/api/QuestionsApi/Controllers/DynamicQuestionsController.cs @@ -0,0 +1,68 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using QuestionsApi.Models; +using QuestionsApi.Services; +using System.Security.Claims; + +namespace QuestionsApi.Controllers; + +[ApiController, Route("api/dynamic-questions"), Authorize(Roles = "USER,SUPER")] +public sealed class DynamicQuestionsController : ControllerBase +{ + private readonly DynamicQuestionService _questions; + private readonly QuestionReportStore _reports; + + public DynamicQuestionsController(DynamicQuestionService questions, QuestionReportStore reports) + { + _questions = questions; + _reports = reports; + } + + [HttpGet("status")] + public async Task> Status() => + Ok(await _questions.StatusAsync(UserId())); + + [HttpPost("next")] + public async Task> Next([FromBody] DynamicNextRequest request) + { + try { return Ok(await _questions.NextAsync(UserId(), request.RunToken)); } + catch (ArgumentException exception) { return BadRequest(exception.Message); } + catch (InvalidOperationException exception) { return Conflict(exception.Message); } + } + + [HttpPost("attempt")] + public async Task> Attempt([FromBody] DynamicAttemptRequest request) + { + if (string.IsNullOrWhiteSpace(request.GenerationToken)) + return BadRequest("generationToken required"); + try { return Ok(await _questions.AttemptAsync(UserId(), request)); } + catch (ArgumentException exception) { return BadRequest(exception.Message); } + catch (KeyNotFoundException) { return NotFound(); } + catch (InvalidOperationException exception) { return Conflict(exception.Message); } + } + + [HttpPost("report")] + public async Task Report([FromBody] DynamicReportRequest request) + { + var category = request.Category.Trim().ToLowerInvariant(); + var details = request.Details.Trim(); + if (!QuestionReportCategory.All.Contains(category)) + return BadRequest("category is invalid"); + if (details.Length is < 10 or > 2000) + return BadRequest("details must be between 10 and 2000 characters"); + try + { + var (claims, _) = await _questions.RegenerateAsync(UserId(), request.GenerationToken); + var report = await _reports.CreateDynamicAsync(claims, UserId(), category, details); + return StatusCode(StatusCodes.Status201Created, new { id = report.Id, questionExternalId = report.QuestionExternalId }); + } + catch (ArgumentException exception) { return BadRequest(exception.Message); } + catch (KeyNotFoundException) { return NotFound(); } + } + + private string UserId() => + User.FindFirstValue(ClaimTypes.NameIdentifier) + ?? User.FindFirstValue(ClaimTypes.Name) + ?? User.Identity?.Name + ?? ""; +} diff --git a/api/QuestionsApi/Models/DynamicQuestionModels.cs b/api/QuestionsApi/Models/DynamicQuestionModels.cs new file mode 100644 index 0000000..c018a20 --- /dev/null +++ b/api/QuestionsApi/Models/DynamicQuestionModels.cs @@ -0,0 +1,190 @@ +using MongoDB.Bson; +using MongoDB.Bson.Serialization.Attributes; + +namespace QuestionsApi.Models; + +public sealed class DynamicQuestionBlueprint +{ + [BsonId] + [BsonRepresentation(BsonType.ObjectId)] + public string? Id { get; set; } + public string ExternalId { get; set; } = ""; + public int Version { get; set; } = 1; + public string ObjectiveId { get; set; } = ""; + public string Title { get; set; } = ""; + public string System { get; set; } = ""; + public string Discipline { get; set; } = ""; + public string PerformanceCategory { get; set; } = ""; + public string PhysicianTask { get; set; } = ""; + public int Difficulty { get; set; } = 3; + public bool IsPublished { get; set; } = true; + public string StemTemplate { get; set; } = ""; + public string LeadIn { get; set; } = ""; + public Dictionary Variables { get; set; } = []; + public Dictionary Derived { get; set; } = []; + public List Constraints { get; set; } = []; + public List Labs { get; set; } = []; + public DynamicAnswerTemplate CorrectAnswer { get; set; } = new(); + public List Distractors { get; set; } = []; + public string ExplanationTemplate { get; set; } = ""; + public string KeyTakeaway { get; set; } = ""; + public string UsmlePearl { get; set; } = ""; + public List References { get; set; } = []; + public List Tags { get; set; } = []; +} + +public sealed class DynamicVariableDefinition +{ + public string Type { get; set; } = "integer"; + public double Minimum { get; set; } + public double Maximum { get; set; } + public double Step { get; set; } = 1; + public int Precision { get; set; } + public List Values { get; set; } = []; +} + +public sealed class DynamicDerivedDefinition +{ + public string Operation { get; set; } = ""; + public string Left { get; set; } = ""; + public string Right { get; set; } = ""; + public int Precision { get; set; } +} + +public sealed class DynamicConstraint +{ + public string Field { get; set; } = ""; + public string Operator { get; set; } = ""; + public double Value { get; set; } +} + +public sealed class DynamicLabTemplate +{ + public string Name { get; set; } = ""; + public string ValueTemplate { get; set; } = ""; + public string Unit { get; set; } = ""; + public string Reference { get; set; } = ""; +} + +public sealed class DynamicAnswerTemplate +{ + public string Id { get; set; } = ""; + public string TextTemplate { get; set; } = ""; + public string ExplanationTemplate { get; set; } = ""; +} + +public sealed class DynamicGenerationClaims +{ + public string UserId { get; set; } = ""; + public string BlueprintExternalId { get; set; } = ""; + public int BlueprintVersion { get; set; } + public string ObjectiveId { get; set; } = ""; + public string Seed { get; set; } = ""; + public string Nonce { get; set; } = ""; + public int GeneratorVersion { get; set; } = 1; + public DateTime ExpiresUtc { get; set; } +} + +public sealed class DynamicRunClaims +{ + public string UserId { get; set; } = ""; + public List SeenObjectiveIds { get; set; } = []; + public string PreviousObjectiveId { get; set; } = ""; + public int Cycle { get; set; } + public DateTime ExpiresUtc { get; set; } +} + +public sealed class DynamicGeneratedQuestion +{ + public Question Question { get; set; } = new(); + public DynamicQuestionBlueprint Blueprint { get; set; } = new(); +} + +public sealed class DynamicQuestionEnvelope +{ + public QuestionResponse Question { get; set; } = new(); + public string Source { get; set; } = "dynamic"; + public string ObjectiveId { get; set; } = ""; + public string ObjectiveTitle { get; set; } = ""; + public string GenerationToken { get; set; } = ""; + public string RunToken { get; set; } = ""; + public int CycleSeen { get; set; } + public int TotalObjectives { get; set; } +} + +public sealed class DynamicNextRequest +{ + public string RunToken { get; set; } = ""; +} + +public sealed class DynamicAttemptRequest +{ + public string GenerationToken { get; set; } = ""; + public string ChoiceId { get; set; } = ""; + public bool IsSkip { get; set; } + public int DurationSeconds { get; set; } +} + +public sealed class DynamicAttemptResponse +{ + public bool Inserted { get; set; } + public bool IsCorrect { get; set; } + public string CorrectChoiceId { get; set; } = ""; + public string ObjectiveId { get; set; } = ""; + public int ObjectiveElo { get; set; } + public int RatingChange { get; set; } +} + +public sealed class DynamicReportRequest +{ + public string GenerationToken { get; set; } = ""; + public string Category { get; set; } = ""; + public string Details { get; set; } = ""; +} + +public sealed class DynamicQuestionStatusResponse +{ + public bool Available { get; set; } + public int PublishedObjectives { get; set; } + public int AttemptedObjectives { get; set; } + public int TotalAttempts { get; set; } + public int AverageObjectiveElo { get; set; } = 1000; +} + +public sealed class DynamicQuestionAttempt +{ + [BsonId] + [BsonRepresentation(BsonType.ObjectId)] + public string? Id { get; set; } + public string UserId { get; set; } = ""; + public string Nonce { get; set; } = ""; + public string BlueprintExternalId { get; set; } = ""; + public int BlueprintVersion { get; set; } + public string ObjectiveId { get; set; } = ""; + public string ChoiceId { get; set; } = ""; + public bool IsCorrect { get; set; } + public bool IsSkip { get; set; } + public int DurationSeconds { get; set; } + public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; +} + +public sealed class DynamicObjectiveMastery +{ + [BsonId] + [BsonRepresentation(BsonType.ObjectId)] + public string? Id { get; set; } + public string UserId { get; set; } = ""; + public string ObjectiveId { get; set; } = ""; + public int Elo { get; set; } = 1000; + public int Attempts { get; set; } + public int Correct { get; set; } + public DateTime LastSeenUtc { get; set; } +} + +public sealed class DynamicGenerationDescriptor +{ + public string BlueprintExternalId { get; set; } = ""; + public int BlueprintVersion { get; set; } + public int GeneratorVersion { get; set; } + public string Seed { get; set; } = ""; +} diff --git a/api/QuestionsApi/Models/QuestionReport.cs b/api/QuestionsApi/Models/QuestionReport.cs index d8c910d..223312c 100644 --- a/api/QuestionsApi/Models/QuestionReport.cs +++ b/api/QuestionsApi/Models/QuestionReport.cs @@ -45,6 +45,8 @@ public class QuestionReport public string Details { get; set; } = ""; public string Status { get; set; } = QuestionReportStatus.Open; public QuestionReportSnapshot QuestionSnapshot { get; set; } = new(); + public string SourceType { get; set; } = "authored"; + public DynamicGenerationDescriptor? DynamicGeneration { get; set; } public string ReviewedByUserId { get; set; } = ""; public string ReviewerNote { get; set; } = ""; public DateTime? ReviewedUtc { get; set; } diff --git a/api/QuestionsApi/Program.cs b/api/QuestionsApi/Program.cs index b1e094b..754fdc7 100644 --- a/api/QuestionsApi/Program.cs +++ b/api/QuestionsApi/Program.cs @@ -17,6 +17,12 @@ if (args.FirstOrDefault() == "promote-content") return; } +if (args.FirstOrDefault() == "promote-dynamic-questions") +{ + Environment.ExitCode = await DynamicBlueprintCommand.RunAsync(args.Skip(1).ToArray(), Console.Out); + return; +} + if (args.FirstOrDefault() == "seed-flashcards") { var seedConfiguration = new ConfigurationBuilder() @@ -54,6 +60,10 @@ builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); diff --git a/api/QuestionsApi/Services/DynamicBlueprintCommand.cs b/api/QuestionsApi/Services/DynamicBlueprintCommand.cs new file mode 100644 index 0000000..8d781f4 --- /dev/null +++ b/api/QuestionsApi/Services/DynamicBlueprintCommand.cs @@ -0,0 +1,50 @@ +using Microsoft.Extensions.Configuration; +using QuestionsApi.Models; +using System.Text.Json; + +namespace QuestionsApi.Services; + +public static class DynamicBlueprintCommand +{ + public static async Task RunAsync(string[] args, TextWriter output) + { + var apply = args.Contains("--apply", StringComparer.OrdinalIgnoreCase); + var sourceIndex = Array.FindIndex(args, value => value.Equals("--source", StringComparison.OrdinalIgnoreCase)); + var source = sourceIndex >= 0 && sourceIndex + 1 < args.Length + ? args[sourceIndex + 1] + : Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "..", "..", "..", "..", "..", "content", "dynamic_questions")); + if (!Directory.Exists(source)) + { + await output.WriteLineAsync($"Dynamic blueprint directory not found: {source}"); + return 2; + } + var json = new JsonSerializerOptions(JsonSerializerDefaults.Web) { PropertyNameCaseInsensitive = true }; + var blueprints = new List(); + foreach (var file in Directory.EnumerateFiles(source, "*.json", SearchOption.AllDirectories)) + blueprints.AddRange(JsonSerializer.Deserialize>(await File.ReadAllTextAsync(file), json) ?? []); + + var generator = new DynamicQuestionGenerator(); + foreach (var blueprint in blueprints) + { + var error = DynamicQuestionGenerator.Validate(blueprint); + if (error is not null) + throw new InvalidDataException($"{blueprint.ExternalId} v{blueprint.Version}: {error}"); + for (var seed = 0; seed < 1000; seed++) + generator.Generate(blueprint, seed.ToString(), seed.ToString()); + } + await output.WriteLineAsync($"Validated {blueprints.Count} blueprints across 1,000 seeds each."); + if (!apply) + { + await output.WriteLineAsync("Dry run only. Pass --apply to publish."); + return 0; + } + var configuration = new ConfigurationBuilder() + .AddJsonFile("appsettings.json", optional: true) + .AddEnvironmentVariables() + .Build(); + var store = new DynamicQuestionStore(new MongoDatabaseProvider(configuration)); + await store.UpsertBlueprintsAsync(blueprints); + await output.WriteLineAsync($"Published {blueprints.Count} immutable blueprint versions."); + return 0; + } +} diff --git a/api/QuestionsApi/Services/DynamicQuestionGenerator.cs b/api/QuestionsApi/Services/DynamicQuestionGenerator.cs new file mode 100644 index 0000000..ed3b6aa --- /dev/null +++ b/api/QuestionsApi/Services/DynamicQuestionGenerator.cs @@ -0,0 +1,164 @@ +using QuestionsApi.Models; +using System.Globalization; +using System.Security.Cryptography; +using System.Text; +using System.Text.RegularExpressions; + +namespace QuestionsApi.Services; + +public sealed class DynamicQuestionGenerator +{ + public const int CurrentVersion = 1; + private static readonly Regex Placeholder = new(@"\{\{([a-zA-Z0-9_]+)\}\}", RegexOptions.Compiled); + + public DynamicGeneratedQuestion Generate(DynamicQuestionBlueprint blueprint, string seed, string nonce) + { + var draw = new DeterministicDraw($"{blueprint.ExternalId}|{blueprint.Version}|{CurrentVersion}|{seed}"); + var values = new Dictionary(StringComparer.Ordinal); + var numbers = new Dictionary(StringComparer.Ordinal); + foreach (var item in blueprint.Variables.OrderBy(value => value.Key, StringComparer.Ordinal)) + { + var definition = item.Value; + if (definition.Type == "enum") + { + if (definition.Values.Count == 0) throw new InvalidOperationException($"{item.Key} requires values"); + values[item.Key] = definition.Values[draw.Next(definition.Values.Count)]; + continue; + } + var step = definition.Step <= 0 ? 1 : definition.Step; + var count = (int)Math.Floor((definition.Maximum - definition.Minimum) / step) + 1; + if (count < 1) throw new InvalidOperationException($"{item.Key} range is invalid"); + var number = definition.Minimum + draw.Next(count) * step; + number = Math.Round(number, Math.Clamp(definition.Precision, 0, 8)); + numbers[item.Key] = number; + values[item.Key] = Format(number, definition.Precision); + } + foreach (var item in blueprint.Derived) + { + var definition = item.Value; + var left = ResolveNumber(definition.Left, numbers); + var right = ResolveNumber(definition.Right, numbers); + var number = definition.Operation switch + { + "add" => left + right, + "subtract" => left - right, + "multiply" => left * right, + "divide" when Math.Abs(right) > double.Epsilon => left / right, + _ => throw new InvalidOperationException($"{item.Key} operation is invalid") + }; + number = Math.Round(number, Math.Clamp(definition.Precision, 0, 8)); + numbers[item.Key] = number; + values[item.Key] = Format(number, definition.Precision); + } + foreach (var constraint in blueprint.Constraints) + { + if (!numbers.TryGetValue(constraint.Field, out var actual)) + throw new InvalidOperationException($"constraint field {constraint.Field} is not numeric"); + var valid = constraint.Operator switch + { + "lt" => actual < constraint.Value, + "lte" => actual <= constraint.Value, + "gt" => actual > constraint.Value, + "gte" => actual >= constraint.Value, + "eq" => Math.Abs(actual - constraint.Value) < 0.0000001, + "neq" => Math.Abs(actual - constraint.Value) >= 0.0000001, + _ => false + }; + if (!valid) throw new InvalidOperationException($"generated value violates {constraint.Field} {constraint.Operator}"); + } + + var distractors = blueprint.Distractors.OrderBy(_ => draw.Next(int.MaxValue)).Take(4).ToList(); + if (distractors.Count != 4) throw new InvalidOperationException("at least four distractors are required"); + var answerTemplates = distractors.Append(blueprint.CorrectAnswer) + .OrderBy(_ => draw.Next(int.MaxValue)).ToList(); + var choices = answerTemplates.Select(answer => new QuestionChoice + { + Id = answer.Id, + Text = Render(answer.TextTemplate, values) + }).ToList(); + if (choices.Select(value => value.Id).Distinct(StringComparer.Ordinal).Count() != 5 + || choices.Select(value => value.Text).Distinct(StringComparer.OrdinalIgnoreCase).Count() != 5) + throw new InvalidOperationException("generated choices must be unique"); + + var question = new Question + { + Id = $"dynamic-{nonce}", + ExternalId = $"dynamic-{nonce}", + Stem = Render(blueprint.StemTemplate, values), + LeadIn = Render(blueprint.LeadIn, values), + Choices = choices, + CorrectChoiceId = blueprint.CorrectAnswer.Id, + Explanation = Render(blueprint.ExplanationTemplate, values), + KeyTakeaway = Render(blueprint.KeyTakeaway, values), + UsmlePearl = Render(blueprint.UsmlePearl, values), + ChoiceExplanations = answerTemplates.ToDictionary( + value => value.Id, + value => Render(value.ExplanationTemplate, values)), + Discipline = blueprint.Discipline, + System = blueprint.System, + PerformanceCategory = blueprint.PerformanceCategory, + Difficulty = blueprint.Difficulty, + Labs = blueprint.Labs.Select(lab => new QuestionLab + { + Name = lab.Name, + Value = Render(lab.ValueTemplate, values), + Unit = lab.Unit, + Reference = lab.Reference + }).ToList(), + Tags = [.. blueprint.Tags, "dynamic", $"objective:{blueprint.ObjectiveId}"], + References = blueprint.References, + IsPublished = true + }; + return new DynamicGeneratedQuestion { Question = question, Blueprint = blueprint }; + } + + public static string? Validate(DynamicQuestionBlueprint blueprint) + { + if (string.IsNullOrWhiteSpace(blueprint.ExternalId)) return "externalId required"; + if (string.IsNullOrWhiteSpace(blueprint.ObjectiveId)) return "objectiveId required"; + if (blueprint.Version < 1) return "version must be positive"; + if (string.IsNullOrWhiteSpace(blueprint.StemTemplate) || string.IsNullOrWhiteSpace(blueprint.LeadIn)) return "stemTemplate and leadIn required"; + if (string.IsNullOrWhiteSpace(blueprint.CorrectAnswer.Id) || string.IsNullOrWhiteSpace(blueprint.CorrectAnswer.TextTemplate)) return "correctAnswer required"; + if (blueprint.Distractors.Count < 4) return "at least four distractors required"; + var ids = blueprint.Distractors.Select(value => value.Id).Append(blueprint.CorrectAnswer.Id).ToList(); + if (ids.Any(string.IsNullOrWhiteSpace) || ids.Distinct(StringComparer.Ordinal).Count() != ids.Count) return "answer ids must be unique"; + if (blueprint.References.Count == 0) return "at least one reference required"; + try + { + var generator = new DynamicQuestionGenerator(); + for (var index = 0; index < 100; index++) + generator.Generate(blueprint, $"validation-{index}", $"validation-{index}"); + } + catch (Exception exception) { return exception.Message; } + return null; + } + + private static string Render(string template, IReadOnlyDictionary values) + { + var rendered = Placeholder.Replace(template ?? "", match => + values.TryGetValue(match.Groups[1].Value, out var value) ? value : match.Value); + if (Placeholder.IsMatch(rendered)) throw new InvalidOperationException($"unresolved template in {rendered}"); + return rendered; + } + + private static double ResolveNumber(string operand, IReadOnlyDictionary numbers) => + numbers.TryGetValue(operand, out var value) + ? value + : double.TryParse(operand, NumberStyles.Float, CultureInfo.InvariantCulture, out value) + ? value + : throw new InvalidOperationException($"unknown numeric operand {operand}"); + + private static string Format(double value, int precision) => + value.ToString(precision > 0 ? $"F{precision}" : "0", CultureInfo.InvariantCulture); + + private sealed class DeterministicDraw(string source) + { + private int _counter; + public int Next(int maximum) + { + if (maximum <= 0) throw new ArgumentOutOfRangeException(nameof(maximum)); + var bytes = SHA256.HashData(Encoding.UTF8.GetBytes($"{source}|{_counter++}")); + return (int)(BitConverter.ToUInt32(bytes, 0) % (uint)maximum); + } + } +} diff --git a/api/QuestionsApi/Services/DynamicQuestionService.cs b/api/QuestionsApi/Services/DynamicQuestionService.cs new file mode 100644 index 0000000..ce6b39c --- /dev/null +++ b/api/QuestionsApi/Services/DynamicQuestionService.cs @@ -0,0 +1,107 @@ +using QuestionsApi.Models; +using System.Security.Cryptography; + +namespace QuestionsApi.Services; + +public sealed class DynamicQuestionService +{ + private readonly DynamicQuestionStore _store; + private readonly DynamicQuestionGenerator _generator; + private readonly DynamicQuestionTokenService _tokens; + + public DynamicQuestionService( + DynamicQuestionStore store, + DynamicQuestionGenerator generator, + DynamicQuestionTokenService tokens) + { + _store = store; + _generator = generator; + _tokens = tokens; + } + + public Task StatusAsync(string userId) => _store.StatusAsync(userId); + + public async Task NextAsync(string userId, string runToken) + { + var blueprints = await _store.PublishedAsync(); + if (blueprints.Count == 0) + throw new InvalidOperationException("No dynamic question blueprints are published."); + + var run = string.IsNullOrWhiteSpace(runToken) + ? NewRun(userId) + : _tokens.ReadRun(runToken, userId); + var byObjective = blueprints.GroupBy(value => value.ObjectiveId).ToList(); + var objectiveIds = byObjective.Select(value => value.Key).ToHashSet(StringComparer.Ordinal); + run.SeenObjectiveIds = run.SeenObjectiveIds.Where(objectiveIds.Contains).Distinct(StringComparer.Ordinal).ToList(); + + var unseen = byObjective.Where(group => !run.SeenObjectiveIds.Contains(group.Key, StringComparer.Ordinal)).ToList(); + if (unseen.Count == 0) + { + run.Cycle++; + run.SeenObjectiveIds.Clear(); + unseen = byObjective; + } + + var mastery = await _store.MasteryAsync(userId); + var candidates = unseen + .Where(group => group.Key != run.PreviousObjectiveId || unseen.Count == 1) + .OrderBy(group => mastery.TryGetValue(group.Key, out var value) ? value.Elo : 1000) + .ThenBy(_ => RandomNumberGenerator.GetInt32(int.MaxValue)) + .ToList(); + var weakestBand = candidates.Take(Math.Min(4, candidates.Count)).ToList(); + var selectedObjective = weakestBand[RandomNumberGenerator.GetInt32(weakestBand.Count)]; + var blueprint = selectedObjective + .OrderByDescending(value => value.Version) + .First(); + + var claims = new DynamicGenerationClaims + { + UserId = userId, + BlueprintExternalId = blueprint.ExternalId, + BlueprintVersion = blueprint.Version, + ObjectiveId = blueprint.ObjectiveId, + Seed = Convert.ToHexString(RandomNumberGenerator.GetBytes(16)).ToLowerInvariant(), + Nonce = Guid.NewGuid().ToString("N"), + GeneratorVersion = DynamicQuestionGenerator.CurrentVersion, + ExpiresUtc = DateTime.UtcNow.AddDays(7) + }; + var generated = _generator.Generate(blueprint, claims.Seed, claims.Nonce); + run.SeenObjectiveIds.Add(blueprint.ObjectiveId); + run.PreviousObjectiveId = blueprint.ObjectiveId; + run.ExpiresUtc = DateTime.UtcNow.AddDays(7); + return new DynamicQuestionEnvelope + { + Question = QuestionResponse.FromModel(generated.Question), + ObjectiveId = blueprint.ObjectiveId, + ObjectiveTitle = blueprint.Title, + GenerationToken = _tokens.SignGeneration(claims), + RunToken = _tokens.SignRun(run), + CycleSeen = run.SeenObjectiveIds.Count, + TotalObjectives = byObjective.Count + }; + } + + public async Task AttemptAsync(string userId, DynamicAttemptRequest request) + { + var (claims, generated) = await RegenerateAsync(userId, request.GenerationToken); + return await _store.RecordAsync(claims, generated, request); + } + + public async Task<(DynamicGenerationClaims Claims, DynamicGeneratedQuestion Generated)> RegenerateAsync( + string userId, + string generationToken) + { + var claims = _tokens.ReadGeneration(generationToken, userId); + if (claims.GeneratorVersion != DynamicQuestionGenerator.CurrentVersion) + throw new InvalidOperationException("This generated question version is no longer supported."); + var blueprint = await _store.GetAsync(claims.BlueprintExternalId, claims.BlueprintVersion) + ?? throw new KeyNotFoundException("The question blueprint is no longer available."); + return (claims, _generator.Generate(blueprint, claims.Seed, claims.Nonce)); + } + + private static DynamicRunClaims NewRun(string userId) => new() + { + UserId = userId, + ExpiresUtc = DateTime.UtcNow.AddDays(7) + }; +} diff --git a/api/QuestionsApi/Services/DynamicQuestionStore.cs b/api/QuestionsApi/Services/DynamicQuestionStore.cs new file mode 100644 index 0000000..3c591c7 --- /dev/null +++ b/api/QuestionsApi/Services/DynamicQuestionStore.cs @@ -0,0 +1,124 @@ +using MongoDB.Driver; +using QuestionsApi.Models; + +namespace QuestionsApi.Services; + +public sealed class DynamicQuestionStore +{ + private readonly IMongoCollection _blueprints; + private readonly IMongoCollection _attempts; + private readonly IMongoCollection _mastery; + + public DynamicQuestionStore(MongoDatabaseProvider mongo) + { + _blueprints = mongo.Database.GetCollection("DynamicQuestionBlueprints"); + _attempts = mongo.Database.GetCollection("DynamicQuestionAttempts"); + _mastery = mongo.Database.GetCollection("DynamicObjectiveMastery"); + _blueprints.Indexes.CreateOne(new CreateIndexModel( + Builders.IndexKeys.Ascending(value => value.ExternalId).Ascending(value => value.Version), + new CreateIndexOptions { Unique = true })); + _attempts.Indexes.CreateOne(new CreateIndexModel( + Builders.IndexKeys.Ascending(value => value.UserId).Ascending(value => value.Nonce), + new CreateIndexOptions { Unique = true })); + _mastery.Indexes.CreateOne(new CreateIndexModel( + Builders.IndexKeys.Ascending(value => value.UserId).Ascending(value => value.ObjectiveId), + new CreateIndexOptions { Unique = true })); + } + + public async Task> PublishedAsync() => + await _blueprints.Find(value => value.IsPublished).ToListAsync(); + + public async Task GetAsync(string externalId, int version) => + await _blueprints.Find(value => value.ExternalId == externalId && value.Version == version).FirstOrDefaultAsync(); + + public async Task> MasteryAsync(string userId) => + (await _mastery.Find(value => value.UserId == userId).ToListAsync()) + .ToDictionary(value => value.ObjectiveId, StringComparer.Ordinal); + + public async Task RecordAsync( + DynamicGenerationClaims claims, + DynamicGeneratedQuestion generated, + DynamicAttemptRequest request) + { + var isCorrect = !request.IsSkip && request.ChoiceId == generated.Question.CorrectChoiceId; + var attempt = new DynamicQuestionAttempt + { + UserId = claims.UserId, + Nonce = claims.Nonce, + BlueprintExternalId = claims.BlueprintExternalId, + BlueprintVersion = claims.BlueprintVersion, + ObjectiveId = claims.ObjectiveId, + ChoiceId = request.ChoiceId, + IsCorrect = isCorrect, + IsSkip = request.IsSkip, + DurationSeconds = Math.Clamp(request.DurationSeconds, 0, 86_400), + CreatedUtc = DateTime.UtcNow + }; + try { await _attempts.InsertOneAsync(attempt); } + catch (MongoWriteException exception) when (exception.WriteError.Category == ServerErrorCategory.DuplicateKey) + { + var existingMastery = await _mastery.Find(value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId).FirstOrDefaultAsync(); + return new DynamicAttemptResponse + { + Inserted = false, + IsCorrect = isCorrect, + CorrectChoiceId = generated.Question.CorrectChoiceId, + ObjectiveId = claims.ObjectiveId, + ObjectiveElo = existingMastery?.Elo ?? 1000 + }; + } + + var current = await _mastery.Find(value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId).FirstOrDefaultAsync(); + var oldElo = current?.Elo ?? 1000; + var objectiveDifficulty = 800 + Math.Clamp(generated.Blueprint.Difficulty, 1, 5) * 100; + var expected = 1.0 / (1.0 + Math.Pow(10, (objectiveDifficulty - oldElo) / 400.0)); + var k = (current?.Attempts ?? 0) < 5 ? 40 : 24; + var delta = (int)Math.Round(k * ((isCorrect ? 1.0 : 0.0) - expected)); + var now = DateTime.UtcNow; + var update = Builders.Update + .SetOnInsert(value => value.UserId, claims.UserId) + .SetOnInsert(value => value.ObjectiveId, claims.ObjectiveId) + .SetOnInsert(value => value.Attempts, 0) + .SetOnInsert(value => value.Correct, 0) + .Set(value => value.Elo, oldElo + delta) + .Inc(value => value.Attempts, 1) + .Inc(value => value.Correct, isCorrect ? 1 : 0) + .Set(value => value.LastSeenUtc, now); + var updated = await _mastery.FindOneAndUpdateAsync( + value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId, + update, + new FindOneAndUpdateOptions { IsUpsert = true, ReturnDocument = ReturnDocument.After }); + return new DynamicAttemptResponse + { + Inserted = true, + IsCorrect = isCorrect, + CorrectChoiceId = generated.Question.CorrectChoiceId, + ObjectiveId = claims.ObjectiveId, + ObjectiveElo = updated.Elo, + RatingChange = delta + }; + } + + public async Task StatusAsync(string userId) + { + var objectiveCount = (await PublishedAsync()).Select(value => value.ObjectiveId).Distinct().Count(); + var mastery = await _mastery.Find(value => value.UserId == userId).ToListAsync(); + return new DynamicQuestionStatusResponse + { + Available = objectiveCount > 0, + PublishedObjectives = objectiveCount, + AttemptedObjectives = mastery.Count, + TotalAttempts = mastery.Sum(value => value.Attempts), + AverageObjectiveElo = mastery.Count == 0 ? 1000 : (int)Math.Round(mastery.Average(value => value.Elo)) + }; + } + + public async Task UpsertBlueprintsAsync(IEnumerable blueprints) + { + foreach (var blueprint in blueprints) + await _blueprints.ReplaceOneAsync( + value => value.ExternalId == blueprint.ExternalId && value.Version == blueprint.Version, + blueprint, + new ReplaceOptions { IsUpsert = true }); + } +} diff --git a/api/QuestionsApi/Services/DynamicQuestionTokenService.cs b/api/QuestionsApi/Services/DynamicQuestionTokenService.cs new file mode 100644 index 0000000..e1a396e --- /dev/null +++ b/api/QuestionsApi/Services/DynamicQuestionTokenService.cs @@ -0,0 +1,67 @@ +using QuestionsApi.Models; +using System.Security.Cryptography; +using System.Text; +using System.Text.Json; + +namespace QuestionsApi.Services; + +public sealed class DynamicQuestionTokenService +{ + private readonly byte[] _key; + private static readonly JsonSerializerOptions Json = new(JsonSerializerDefaults.Web); + + public DynamicQuestionTokenService(IConfiguration configuration) + { + var key = configuration["DynamicQuestions:SigningKey"] + ?? configuration["Jwt:Key"] + ?? "development-dynamic-question-signing-key-change-me"; + _key = SHA256.HashData(Encoding.UTF8.GetBytes(key)); + } + + public string SignGeneration(DynamicGenerationClaims claims) => Sign(claims); + public string SignRun(DynamicRunClaims claims) => Sign(claims); + public DynamicGenerationClaims ReadGeneration(string token, string userId) => Read(token, userId); + public DynamicRunClaims ReadRun(string token, string userId) => Read(token, userId); + + private string Sign(T value) + { + var payload = Base64Url(Encoding.UTF8.GetBytes(JsonSerializer.Serialize(value, Json))); + using var hmac = new HMACSHA256(_key); + return $"{payload}.{Base64Url(hmac.ComputeHash(Encoding.UTF8.GetBytes(payload)))}"; + } + + private T Read(string token, string userId) where T : class + { + var parts = (token ?? "").Split('.'); + if (parts.Length != 2) throw new ArgumentException("token is invalid"); + using var hmac = new HMACSHA256(_key); + var expected = hmac.ComputeHash(Encoding.UTF8.GetBytes(parts[0])); + var supplied = FromBase64Url(parts[1]); + if (!CryptographicOperations.FixedTimeEquals(expected, supplied)) throw new ArgumentException("token is invalid"); + var value = JsonSerializer.Deserialize(FromBase64Url(parts[0]), Json) + ?? throw new ArgumentException("token is invalid"); + var tokenUser = value switch + { + DynamicGenerationClaims generation => generation.UserId, + DynamicRunClaims run => run.UserId, + _ => "" + }; + var expires = value switch + { + DynamicGenerationClaims generation => generation.ExpiresUtc, + DynamicRunClaims run => run.ExpiresUtc, + _ => DateTime.MinValue + }; + if (!string.Equals(tokenUser, userId, StringComparison.Ordinal) || expires < DateTime.UtcNow) + throw new ArgumentException("token is expired or belongs to another user"); + return value; + } + + private static string Base64Url(byte[] value) => Convert.ToBase64String(value).TrimEnd('=').Replace('+', '-').Replace('/', '_'); + private static byte[] FromBase64Url(string value) + { + value = value.Replace('-', '+').Replace('_', '/'); + value += new string('=', (4 - value.Length % 4) % 4); + return Convert.FromBase64String(value); + } +} diff --git a/api/QuestionsApi/Services/QuestionReportStore.cs b/api/QuestionsApi/Services/QuestionReportStore.cs index a082097..5027cd5 100644 --- a/api/QuestionsApi/Services/QuestionReportStore.cs +++ b/api/QuestionsApi/Services/QuestionReportStore.cs @@ -79,6 +79,35 @@ public class QuestionReportStore return report; } + public async Task CreateDynamicAsync( + DynamicGenerationClaims claims, + string userId, + string category, + string details) + { + var now = DateTime.UtcNow; + var report = new QuestionReport + { + QuestionExternalId = $"dynamic:{claims.BlueprintExternalId}:v{claims.BlueprintVersion}", + UserId = userId, + Category = category, + Details = details, + Status = QuestionReportStatus.Open, + SourceType = "dynamic", + DynamicGeneration = new DynamicGenerationDescriptor + { + BlueprintExternalId = claims.BlueprintExternalId, + BlueprintVersion = claims.BlueprintVersion, + GeneratorVersion = claims.GeneratorVersion, + Seed = claims.Seed + }, + CreatedUtc = now, + UpdatedUtc = now + }; + await _reports.InsertOneAsync(report); + return report; + } + public async Task GetByIdAsync(string id) { if (!ObjectId.TryParse(id, out _)) diff --git a/content/dynamic_questions/pilot.json b/content/dynamic_questions/pilot.json new file mode 100644 index 0000000..5d19f16 --- /dev/null +++ b/content/dynamic_questions/pilot.json @@ -0,0 +1,78 @@ +[ + { + "externalId":"dyn-biostats-arr","version":1,"objectiveId":"biostats.absolute-risk-reduction","title":"Absolute risk reduction","system":"Biostatistics","discipline":"Biostatistics","performanceCategory":"Applying Foundational Science Concepts","physicianTask":"Interpretation of Medical Literature","difficulty":2, + "stemTemplate":"A randomized trial follows {{size}} patients. The event rate is {{control}}% with placebo and {{treatment}}% with treatment.","leadIn":"What is the absolute risk reduction?","variables":{"size":{"type":"integer","minimum":400,"maximum":1200,"step":100},"control":{"type":"integer","minimum":18,"maximum":24},"treatment":{"type":"integer","minimum":8,"maximum":12}},"derived":{"arr":{"operation":"subtract","left":"control","right":"treatment","precision":0}},"constraints":[{"field":"arr","operator":"gt","value":0}], + "correctAnswer":{"id":"correct","textTemplate":"{{arr}} percentage points","explanationTemplate":"ARR is control event rate minus treatment event rate."},"distractors":[{"id":"a","textTemplate":"1 percentage point"},{"id":"b","textTemplate":"30 percentage points"},{"id":"c","textTemplate":"50 percentage points"},{"id":"d","textTemplate":"100 percentage points"}], + "explanationTemplate":"Absolute risk reduction is {{control}}% − {{treatment}}% = {{arr}} percentage points.","keyTakeaway":"ARR is the arithmetic difference between control and treatment event rates.","usmlePearl":"Keep percentages in percentage points when subtracting.","references":[{"title":"Principles of Epidemiology","publisher":"CDC","url":"https://www.cdc.gov/field-epi-manual/php/chapters/analyzing-interpreting-data.html"}],"tags":["biostatistics"] + }, + { + "externalId":"dyn-biostats-nnt","version":1,"objectiveId":"biostats.number-needed-to-treat","title":"Number needed to treat","system":"Biostatistics","discipline":"Biostatistics","performanceCategory":"Applying Foundational Science Concepts","physicianTask":"Interpretation of Medical Literature","difficulty":3, + "stemTemplate":"A therapy lowers the {{outcome}} rate from {{control}}% to {{treatment}}%.","leadIn":"What is the approximate number needed to treat?","variables":{"outcome":{"type":"enum","values":["stroke","hospitalization","recurrent infection"]},"control":{"type":"integer","minimum":20,"maximum":20},"treatment":{"type":"integer","minimum":10,"maximum":10}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"10","explanationTemplate":"NNT = 1/0.10 = 10."},"distractors":[{"id":"a","textTemplate":"2"},{"id":"b","textTemplate":"5"},{"id":"c","textTemplate":"20"},{"id":"d","textTemplate":"100"}],"explanationTemplate":"The ARR is 10 percentage points, or 0.10. NNT = 1/0.10 = 10.","keyTakeaway":"NNT is the reciprocal of ARR expressed as a proportion.","usmlePearl":"Convert percentage points to a decimal before taking the reciprocal.","references":[{"title":"Understanding absolute and relative risk","publisher":"NLM","url":"https://www.ncbi.nlm.nih.gov/books/NBK63647/"}] + }, + { + "externalId":"dyn-biostats-test","version":1,"objectiveId":"biostats.diagnostic-test","title":"Diagnostic test characteristics","system":"Biostatistics","discipline":"Biostatistics","performanceCategory":"Applying Foundational Science Concepts","physicianTask":"Interpretation of Medical Literature","difficulty":2, + "stemTemplate":"A screening test has very high {{metric}} in a population of {{size}} people.","leadIn":"Which statement best describes this test?","variables":{"metric":{"type":"enum","values":["sensitivity"]},"size":{"type":"integer","minimum":500,"maximum":2000,"step":100}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"A negative result helps rule out disease","explanationTemplate":"A highly sensitive test has few false negatives."},"distractors":[{"id":"a","textTemplate":"A positive result definitively rules in disease"},{"id":"b","textTemplate":"Disease prevalence must be high"},{"id":"c","textTemplate":"Positive predictive value is always 100%"},{"id":"d","textTemplate":"Specificity must equal sensitivity"}],"explanationTemplate":"High sensitivity means few affected patients test negative, so a negative result is useful for ruling out disease.","keyTakeaway":"Sensitive tests are useful to rule out when negative.","usmlePearl":"SnNout is a memory aid, not a substitute for the 2×2 table.","references":[{"title":"Evidence-Based Medicine Toolkit","publisher":"University of Alberta","url":"https://www.ualberta.ca/en/medicine/programs/lifelong-learning/evidence-based-medicine/resources/ebm-toolkit.html"}] + }, + { + "externalId":"dyn-cardio-af","version":1,"objectiveId":"cardio.unstable-atrial-fibrillation","title":"Unstable atrial fibrillation","system":"Cardiovascular","discipline":"Medicine","performanceCategory":"Patient Care: Management","physicianTask":"Emergency Management","difficulty":2, + "stemTemplate":"A {{age}}-year-old patient has atrial fibrillation with a ventricular rate of {{rate}}/min, hypotension, diaphoresis, and altered mental status.","leadIn":"What is the next best step?","variables":{"age":{"type":"integer","minimum":48,"maximum":82},"rate":{"type":"integer","minimum":150,"maximum":190}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"Immediate synchronized cardioversion","explanationTemplate":"Hemodynamic instability requires synchronized cardioversion."},"distractors":[{"id":"a","textTemplate":"Oral metoprolol"},{"id":"b","textTemplate":"IV adenosine"},{"id":"c","textTemplate":"Observe for spontaneous conversion"},{"id":"d","textTemplate":"Begin warfarin and reassess tomorrow"}],"explanationTemplate":"Hypotension and altered mental status indicate instability; perform immediate synchronized cardioversion.","keyTakeaway":"Unstable tachyarrhythmia requires synchronized cardioversion.","usmlePearl":"Do not delay electrical therapy for anticoagulation in an unstable patient.","references":[{"title":"Adult Tachycardia With a Pulse Algorithm","publisher":"American Heart Association","url":"https://cpr.heart.org/en/resuscitation-science/cpr-and-ecc-guidelines/algorithms"}] + }, + { + "externalId":"dyn-renal-hyperk","version":1,"objectiveId":"renal.hyperkalemia-ecg","title":"Hyperkalemia with ECG changes","system":"Renal","discipline":"Medicine","performanceCategory":"Patient Care: Management","physicianTask":"Emergency Management","difficulty":2, + "stemTemplate":"A patient with kidney failure has potassium {{potassium}} mEq/L and {{ecg}}.","leadIn":"Which treatment should be given first?","variables":{"potassium":{"type":"decimal","minimum":6.6,"maximum":7.4,"step":0.1,"precision":1},"ecg":{"type":"enum","values":["peaked T waves","QRS widening"]}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"IV calcium gluconate","explanationTemplate":"Calcium stabilizes the cardiac membrane."},"distractors":[{"id":"a","textTemplate":"Oral sodium polystyrene sulfonate only"},{"id":"b","textTemplate":"Fluid restriction"},{"id":"c","textTemplate":"IV furosemide only"},{"id":"d","textTemplate":"Repeat potassium in 6 hours"}],"explanationTemplate":"ECG toxicity from hyperkalemia requires immediate IV calcium to stabilize the myocardium, followed by potassium-shifting and removal therapies.","keyTakeaway":"Give IV calcium first when hyperkalemia causes ECG changes.","usmlePearl":"Calcium protects the heart but does not lower serum potassium.","references":[{"title":"Acute Hyperkalemia in Adults","publisher":"KDIGO","url":"https://kdigo.org/conferences/acute-hyperkalemia/"}] + }, + { + "externalId":"dyn-endo-dka","version":1,"objectiveId":"endocrine.dka-initial-management","title":"Initial DKA management","system":"Endocrine","discipline":"Medicine","performanceCategory":"Patient Care: Management","physicianTask":"Emergency Management","difficulty":2, + "stemTemplate":"A {{age}}-year-old with polyuria, abdominal pain, glucose {{glucose}} mg/dL, anion-gap acidosis, and dehydration is diagnosed with DKA.","leadIn":"What is the initial treatment?","variables":{"age":{"type":"integer","minimum":19,"maximum":54},"glucose":{"type":"integer","minimum":420,"maximum":680,"step":10}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"IV isotonic crystalloid","explanationTemplate":"Volume resuscitation is the first treatment."},"distractors":[{"id":"a","textTemplate":"IV bicarbonate in every patient"},{"id":"b","textTemplate":"Subcutaneous long-acting insulin only"},{"id":"c","textTemplate":"Fluid restriction"},{"id":"d","textTemplate":"Immediate hemodialysis"}],"explanationTemplate":"Begin DKA treatment with isotonic IV fluid resuscitation, then address potassium and insulin based on laboratory results.","keyTakeaway":"Restore intravascular volume first in DKA.","usmlePearl":"Check potassium before or alongside starting insulin.","references":[{"title":"Hyperglycemic Crises in Adults","publisher":"American Diabetes Association","url":"https://diabetesjournals.org/care/article/47/8/1257/156806/Hyperglycemic-Crises-in-Adults-With-Diabetes-A"}] + }, + { + "externalId":"dyn-pulm-asthma","version":1,"objectiveId":"pulmonary.severe-asthma-exacerbation","title":"Severe asthma exacerbation","system":"Pulmonary","discipline":"Medicine","performanceCategory":"Patient Care: Management","physicianTask":"Emergency Management","difficulty":2, + "stemTemplate":"A {{age}}-year-old with asthma has severe dyspnea, diffuse wheezing, and oxygen saturation {{sat}}%.","leadIn":"Which inhaled treatment is most appropriate immediately?","variables":{"age":{"type":"integer","minimum":18,"maximum":60},"sat":{"type":"integer","minimum":84,"maximum":91}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"Albuterol plus ipratropium","explanationTemplate":"Severe exacerbations benefit from repeated SABA plus inhaled anticholinergic."},"distractors":[{"id":"a","textTemplate":"Salmeterol alone"},{"id":"b","textTemplate":"Inhaled corticosteroid alone"},{"id":"c","textTemplate":"Montelukast alone"},{"id":"d","textTemplate":"No bronchodilator until spirometry"}],"explanationTemplate":"Give rapid inhaled bronchodilation with albuterol and ipratropium, oxygen, and systemic glucocorticoids.","keyTakeaway":"Use SABA plus ipratropium for a severe acute asthma exacerbation.","usmlePearl":"Long-acting bronchodilators do not replace rescue therapy.","references":[{"title":"Global Strategy for Asthma Management and Prevention","publisher":"GINA","url":"https://ginasthma.org/reports/"}] + }, + { + "externalId":"dyn-ob-pyelo","version":1,"objectiveId":"ob.pregnancy-pyelonephritis","title":"Pyelonephritis in pregnancy","system":"Pregnancy","discipline":"Obstetrics","performanceCategory":"Patient Care: Management","physicianTask":"Pharmacotherapy","difficulty":3, + "stemTemplate":"A patient at {{weeks}} weeks' gestation has fever, flank pain, costovertebral-angle tenderness, and pyuria.","leadIn":"What is the most appropriate management?","variables":{"weeks":{"type":"integer","minimum":14,"maximum":32}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"Hospitalize and give IV ceftriaxone","explanationTemplate":"Pyelonephritis in pregnancy is initially managed inpatient with parenteral antibiotics."},"distractors":[{"id":"a","textTemplate":"Oral nitrofurantoin as outpatient"},{"id":"b","textTemplate":"No antibiotics until culture returns"},{"id":"c","textTemplate":"Oral phenazopyridine only"},{"id":"d","textTemplate":"Immediate delivery"}],"explanationTemplate":"Pregnant patients with pyelonephritis should receive initial inpatient parenteral therapy such as ceftriaxone, adjusted to culture results.","keyTakeaway":"Treat pyelonephritis in pregnancy initially with inpatient IV antibiotics.","usmlePearl":"Nitrofurantoin does not achieve adequate renal tissue levels for pyelonephritis.","references":[{"title":"Urinary Tract Infections in Pregnant Individuals","publisher":"ACOG","url":"https://www.acog.org/clinical/clinical-guidance/clinical-consensus/articles/2023/08/urinary-tract-infections-in-pregnant-individuals"}] + }, + { + "externalId":"dyn-endo-aldo","version":1,"objectiveId":"endocrine.primary-aldosteronism-screen","title":"Primary aldosteronism screening","system":"Endocrine","discipline":"Medicine","performanceCategory":"Patient Care: Diagnosis","physicianTask":"Diagnostic Studies","difficulty":3, + "stemTemplate":"A {{age}}-year-old has resistant hypertension and spontaneous hypokalemia with potassium {{potassium}} mEq/L.","leadIn":"What is the best initial screening test?","variables":{"age":{"type":"integer","minimum":32,"maximum":65},"potassium":{"type":"decimal","minimum":2.7,"maximum":3.3,"step":0.1,"precision":1}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"Plasma aldosterone-to-renin ratio","explanationTemplate":"The aldosterone-to-renin ratio is the recommended screening test."},"distractors":[{"id":"a","textTemplate":"24-hour urine metanephrines"},{"id":"b","textTemplate":"Dexamethasone suppression test"},{"id":"c","textTemplate":"TSH concentration"},{"id":"d","textTemplate":"Renal biopsy"}],"explanationTemplate":"Resistant hypertension plus hypokalemia suggests primary aldosteronism; screen with a plasma aldosterone-to-renin ratio.","keyTakeaway":"Use the aldosterone-to-renin ratio to screen for primary aldosteronism.","usmlePearl":"Correct hypokalemia and consider medication interference when interpreting the ratio.","references":[{"title":"Primary Aldosteronism Guideline","publisher":"Endocrine Society","url":"https://www.endocrine.org/clinical-practice-guidelines/primary-aldosteronism"}] + }, + { + "externalId":"dyn-neuro-sah","version":1,"objectiveId":"neuro.subarachnoid-hemorrhage-initial-test","title":"Suspected subarachnoid hemorrhage","system":"Neurologic","discipline":"Medicine","performanceCategory":"Patient Care: Diagnosis","physicianTask":"Diagnostic Studies","difficulty":2, + "stemTemplate":"A {{age}}-year-old develops a sudden maximal-at-onset headache during {{activity}}, with vomiting and neck stiffness.","leadIn":"What is the best initial diagnostic study?","variables":{"age":{"type":"integer","minimum":38,"maximum":72},"activity":{"type":"enum","values":["exercise","sexual activity","lifting a heavy object"]}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"Noncontrast CT of the head","explanationTemplate":"Noncontrast head CT is the initial test for suspected SAH."},"distractors":[{"id":"a","textTemplate":"EEG"},{"id":"b","textTemplate":"Carotid ultrasonography"},{"id":"c","textTemplate":"Cervical spine radiograph"},{"id":"d","textTemplate":"Electromyography"}],"explanationTemplate":"A thunderclap headache suggests subarachnoid hemorrhage; obtain an urgent noncontrast head CT first.","keyTakeaway":"Start evaluation of suspected SAH with noncontrast head CT.","usmlePearl":"If suspicion remains after a negative CT, additional evaluation may be required based on timing and local protocols.","references":[{"title":"Guideline for Aneurysmal Subarachnoid Hemorrhage","publisher":"American Heart Association","url":"https://www.ahajournals.org/doi/10.1161/STR.0000000000000436"}] + }, + { + "externalId":"dyn-pulm-pe","version":1,"objectiveId":"pulmonary.stable-pe-imaging","title":"Stable pulmonary embolism imaging","system":"Pulmonary","discipline":"Medicine","performanceCategory":"Patient Care: Diagnosis","physicianTask":"Diagnostic Studies","difficulty":3, + "stemTemplate":"A hemodynamically stable {{age}}-year-old has acute pleuritic chest pain, tachycardia, hypoxemia, and high clinical probability of pulmonary embolism. Kidney function is normal.","leadIn":"What is the best diagnostic test?","variables":{"age":{"type":"integer","minimum":35,"maximum":74}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"CT pulmonary angiography","explanationTemplate":"CT pulmonary angiography is first-line imaging in a stable patient without contrast contraindication."},"distractors":[{"id":"a","textTemplate":"Exercise stress test"},{"id":"b","textTemplate":"Bronchoscopy"},{"id":"c","textTemplate":"Noncontrast chest CT"},{"id":"d","textTemplate":"Coronary angiography"}],"explanationTemplate":"In a stable patient with high PE probability and no contrast contraindication, proceed to CT pulmonary angiography.","keyTakeaway":"Use CT pulmonary angiography to diagnose PE when probability is high and contrast is acceptable.","usmlePearl":"A D-dimer is most useful when pretest probability is low or intermediate.","references":[{"title":"Acute Pulmonary Embolism Guideline","publisher":"European Society of Cardiology","url":"https://www.escardio.org/Guidelines/Clinical-Practice-Guidelines/Acute-Pulmonary-Embolism-Diagnosis-and-Management-of"}] + }, + { + "externalId":"dyn-id-meningitis","version":1,"objectiveId":"infectious.adult-bacterial-meningitis","title":"Empiric adult bacterial meningitis therapy","system":"Infectious Disease","discipline":"Medicine","performanceCategory":"Patient Care: Management","physicianTask":"Pharmacotherapy","difficulty":3, + "stemTemplate":"A {{age}}-year-old has fever, severe headache, neck stiffness, and altered mental status. Acute bacterial meningitis is suspected.","leadIn":"Which empiric antibiotic regimen is most appropriate?","variables":{"age":{"type":"integer","minimum":19,"maximum":45}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"Vancomycin plus ceftriaxone","explanationTemplate":"This combination covers resistant pneumococcus and common adult pathogens."},"distractors":[{"id":"a","textTemplate":"Azithromycin alone"},{"id":"b","textTemplate":"Metronidazole alone"},{"id":"c","textTemplate":"Nitrofurantoin alone"},{"id":"d","textTemplate":"Wait for CSF culture before antibiotics"}],"explanationTemplate":"For a nonelderly adult with suspected community-acquired bacterial meningitis, promptly give vancomycin plus a third-generation cephalosporin; add other agents when indicated by age or immune status.","keyTakeaway":"Do not delay empiric antibiotics in suspected bacterial meningitis.","usmlePearl":"Add ampicillin when Listeria coverage is indicated.","references":[{"title":"Practice Guidelines for Bacterial Meningitis","publisher":"IDSA","url":"https://academic.oup.com/cid/article/39/9/1267/402080"}] + }, + { + "externalId":"dyn-psych-suicide","version":1,"objectiveId":"psychiatry.imminent-suicide-risk","title":"Imminent suicide risk","system":"Behavioral Health","discipline":"Psychiatry","performanceCategory":"Patient Care: Management","physicianTask":"Disposition","difficulty":2, + "stemTemplate":"A {{age}}-year-old with major depression reports a plan to die by suicide tonight, has access to the means, and cannot agree to a safety plan.","leadIn":"What is the most appropriate next step?","variables":{"age":{"type":"integer","minimum":18,"maximum":64}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"Emergency psychiatric hospitalization","explanationTemplate":"Specific plan, access, and imminent intent require a protected setting."},"distractors":[{"id":"a","textTemplate":"Routine follow-up in one month"},{"id":"b","textTemplate":"Ask the patient to promise not to self-harm and discharge"},{"id":"c","textTemplate":"Start psychotherapy next week without further action"},{"id":"d","textTemplate":"Leave the patient alone while arranging transport"}],"explanationTemplate":"Imminent suicide risk requires continuous safety measures and emergency psychiatric evaluation with hospitalization, involuntarily if necessary under applicable law.","keyTakeaway":"Hospitalize patients with imminent suicide risk.","usmlePearl":"A no-suicide contract does not replace risk assessment and safety planning.","references":[{"title":"Suicide Prevention Resource Center","publisher":"SPRC","url":"https://sprc.org/effective-prevention/a-comprehensive-approach-to-suicide-prevention/"}] + }, + { + "externalId":"dyn-prevent-crc","version":1,"objectiveId":"preventive.colorectal-screening","title":"Colorectal cancer screening","system":"Preventive Medicine","discipline":"Family Medicine","performanceCategory":"Health Maintenance","physicianTask":"Preventive Care","difficulty":2, + "stemTemplate":"An asymptomatic {{age}}-year-old at average colorectal cancer risk has never been screened.","leadIn":"What is the best recommendation?","variables":{"age":{"type":"integer","minimum":45,"maximum":49}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"Begin colorectal cancer screening now","explanationTemplate":"Average-risk screening begins at age 45."},"distractors":[{"id":"a","textTemplate":"Wait until age 60"},{"id":"b","textTemplate":"Screen only if symptoms develop"},{"id":"c","textTemplate":"Order annual abdominal CT"},{"id":"d","textTemplate":"No screening is recommended at any age"}],"explanationTemplate":"Average-risk adults should begin colorectal cancer screening at age 45 using an accepted stool-based or direct-visualization strategy.","keyTakeaway":"Begin average-risk colorectal cancer screening at age 45.","usmlePearl":"Test choice and interval depend on the selected screening modality.","references":[{"title":"Colorectal Cancer Screening Recommendation","publisher":"USPSTF","url":"https://www.uspreventiveservicestaskforce.org/uspstf/recommendation/colorectal-cancer-screening"}] + }, + { + "externalId":"dyn-ethics-surrogate","version":1,"objectiveId":"ethics.surrogate-decision-making","title":"Surrogate decision-making","system":"Social Sciences","discipline":"Ethics","performanceCategory":"Communication and Interpersonal Skills","physicianTask":"Legal/Ethical Principles","difficulty":3, + "stemTemplate":"An incapacitated {{age}}-year-old has no advance directive. The legally authorized surrogate is asked to choose among treatments.","leadIn":"Which standard should primarily guide the surrogate?","variables":{"age":{"type":"integer","minimum":46,"maximum":88}},"derived":{},"constraints":[], + "correctAnswer":{"id":"correct","textTemplate":"The patient's known values and previously expressed preferences","explanationTemplate":"Use substituted judgment when the patient's preferences are known."},"distractors":[{"id":"a","textTemplate":"The surrogate's personal treatment preferences"},{"id":"b","textTemplate":"The least expensive option regardless of benefit"},{"id":"c","textTemplate":"Whatever treatment the physician would choose personally"},{"id":"d","textTemplate":"Always provide every available intervention"}],"explanationTemplate":"A surrogate should use substituted judgment based on the patient's known values and prior wishes; if unknown, use the patient's best interests.","keyTakeaway":"Surrogates represent the patient's preferences, not their own.","usmlePearl":"Use best-interest reasoning only when the patient's preferences cannot be inferred.","references":[{"title":"Decisions for Adult Patients Who Lack Capacity","publisher":"American Medical Association","url":"https://code-medical-ethics.ama-assn.org/ethics-opinions/decisions-adult-patients-who-lack-capacity"}] + } +] diff --git a/project.godot b/project.godot index 2630382..49fd38f 100644 --- a/project.godot +++ b/project.godot @@ -25,6 +25,7 @@ LegalService="*res://scripts/autoload/legal_service.gd" UIThemeService="*res://scripts/autoload/ui_theme_service.gd" UISoundService="*res://scripts/autoload/ui_sound_service.gd" QuestionBankService="*res://scripts/autoload/question_bank_service.gd" +DynamicQuestionService="*res://scripts/autoload/dynamic_question_service.gd" ProgressionService="*res://scripts/autoload/progression_service.gd" ProfileService="*res://scripts/autoload/profile_service.gd" BlockSessionService="*res://scripts/autoload/block_session_service.gd" diff --git a/scripts/autoload/block_session_service.gd b/scripts/autoload/block_session_service.gd index 70df3b9..a2a2fd8 100644 --- a/scripts/autoload/block_session_service.gd +++ b/scripts/autoload/block_session_service.gd @@ -33,6 +33,36 @@ const CORE_MIN_TARGET_SECONDS := 45.0 const CORE_MAX_TARGET_SECONDS := 150.0 const CORE_RETRY_TARGET_SECONDS := 30.0 + +func start_dynamic_question(question: Dictionary) -> bool: + if question.is_empty(): + return false + system_name = str(question.get("system", "All Systems")) + mode = "Tutor" + session_kind = "dynamic" + active_questions = [_prepare_question_choices(question)] + answers = [null] + current_index = 0 + seconds_remaining = 0.0 + session_initial_seconds = 90.0 + current_question_started_at = Time.get_ticks_msec() / 1000.0 + current_question_pause_started_at = 0.0 + block_started = true + session_changed.emit() + return true + + +func replace_dynamic_question(question: Dictionary) -> bool: + if session_kind != "dynamic" or question.is_empty(): + return false + active_questions = [_prepare_question_choices(question)] + answers = [null] + current_index = 0 + current_question_started_at = Time.get_ticks_msec() / 1000.0 + current_question_pause_started_at = 0.0 + session_changed.emit() + return true + func start_block(selected_system: String, block_size: int, selected_mode: String) -> void: system_name = selected_system mode = selected_mode diff --git a/scripts/autoload/dynamic_question_service.gd b/scripts/autoload/dynamic_question_service.gd new file mode 100644 index 0000000..ccaa126 --- /dev/null +++ b/scripts/autoload/dynamic_question_service.gd @@ -0,0 +1,108 @@ +extends Node + +const EndpointConfig := preload("res://scripts/autoload/api_endpoint_config.gd") +const DEFAULT_API_URL := "https://us3q.ranaze.com/api/dynamic-questions" + +signal status_loaded(status: Dictionary) +signal question_loaded(question: Dictionary) +signal attempt_completed(result: Dictionary) +signal report_submitted(question_id: String, report_id: String) +signal report_failed(question_id: String, message: String) +signal request_failed(message: String) + +var api_url := DEFAULT_API_URL +var run_token := "" +var generation_token := "" +var current_envelope := {} +var _request: HTTPRequest +var _operation := "" +var _report_question_id := "" + + +func _ready() -> void: + api_url = EndpointConfig.resolve( + str(ProjectSettings.get_setting("step3/dynamic_questions_api_url", DEFAULT_API_URL)), + "/api/dynamic-questions") + _request = HTTPRequest.new() + _request.timeout = 30.0 + _request.request_completed.connect(_on_completed) + add_child(_request) + + +func load_status() -> void: + _send("status", HTTPClient.METHOD_GET, "/status", {}) + + +func load_next() -> void: + _send("next", HTTPClient.METHOD_POST, "/next", {"runToken": run_token}) + + +func submit_attempt(choice_id: String, duration_seconds: int, is_skip := false) -> void: + _send("attempt", HTTPClient.METHOD_POST, "/attempt", { + "generationToken": generation_token, + "choiceId": choice_id, + "isSkip": is_skip, + "durationSeconds": duration_seconds + }) + + +func submit_report(question_id: String, category: String, details: String) -> void: + _report_question_id = question_id + _send("report", HTTPClient.METHOD_POST, "/report", { + "generationToken": generation_token, + "category": category, + "details": details + }) + + +func reset_run() -> void: + run_token = "" + generation_token = "" + current_envelope = {} + + +func _send(operation: String, method: int, suffix: String, payload: Dictionary) -> void: + if not AuthState.can_send_authenticated_request(): + request_failed.emit("Log in to use Dynamic Questions.") + return + if _request.get_http_client_status() != HTTPClient.STATUS_DISCONNECTED: + return + _operation = operation + var headers := PackedStringArray([ + "Content-Type: application/json", + "Authorization: Bearer %s" % AuthState.access_token + ]) + var body := "" if method == HTTPClient.METHOD_GET else JSON.stringify(payload) + var error := _request.request(api_url + suffix, headers, method, body) + if error != OK: + _operation = "" + request_failed.emit("Could not connect to Dynamic Questions.") + + +func _on_completed(_result: int, response_code: int, _headers: PackedStringArray, body: PackedByteArray) -> void: + var operation := _operation + _operation = "" + var parsed: Variant = JSON.parse_string(body.get_string_from_utf8()) + if response_code < 200 or response_code >= 300 or typeof(parsed) != TYPE_DICTIONARY: + var message := str(parsed) if parsed != null else "Dynamic Questions request failed." + if operation == "report": + report_failed.emit(_report_question_id, message) + else: + request_failed.emit(message) + return + var data: Dictionary = parsed + match operation: + "status": + status_loaded.emit(data) + "next": + run_token = str(data.get("runToken", "")) + generation_token = str(data.get("generationToken", "")) + current_envelope = data + var question := QuestionBankService.normalize_api_question(data.get("question", {})) + question["_dynamic_objective_id"] = str(data.get("objectiveId", "")) + question["_dynamic_objective_title"] = str(data.get("objectiveTitle", "")) + question_loaded.emit(question) + "attempt": + attempt_completed.emit(data) + "report": + report_submitted.emit(_report_question_id, str(data.get("id", ""))) diff --git a/scripts/autoload/dynamic_question_service.gd.uid b/scripts/autoload/dynamic_question_service.gd.uid new file mode 100644 index 0000000..93be453 --- /dev/null +++ b/scripts/autoload/dynamic_question_service.gd.uid @@ -0,0 +1 @@ +uid://b8u2b8km7k6t diff --git a/scripts/ui/dynamic_questions_screen.gd b/scripts/ui/dynamic_questions_screen.gd new file mode 100644 index 0000000..81e25c8 --- /dev/null +++ b/scripts/ui/dynamic_questions_screen.gd @@ -0,0 +1,79 @@ +extends Control + +const Brand := preload("res://scripts/ui/medmind_style.gd") + +var main +var status_label: Label +var start_button: Button + + +func _ready() -> void: + set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + var center := CenterContainer.new() + center.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + add_child(center) + var card := VBoxContainer.new() + card.custom_minimum_size = Vector2(620, 0) + card.add_theme_constant_override("separation", 18) + center.add_child(card) + var title := Label.new() + title.text = "Dynamic Questions" + title.add_theme_font_override("font", Brand.font) + title.add_theme_font_size_override("font_size", 34) + title.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + card.add_child(title) + var description := Label.new() + description.text = "Endless, data-driven Step 3 practice. Clinical values and distractors vary while each tested objective stays medically invariant." + description.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART + description.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + card.add_child(description) + status_label = Label.new() + status_label.text = "Checking available objectives…" + status_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + card.add_child(status_label) + start_button = Button.new() + start_button.text = "Start Dynamic Questions" + start_button.custom_minimum_size = Vector2(0, 52) + start_button.disabled = true + start_button.pressed.connect(_start) + card.add_child(start_button) + DynamicQuestionService.status_loaded.connect(_on_status) + DynamicQuestionService.question_loaded.connect(_on_question) + DynamicQuestionService.request_failed.connect(_on_failed) + + +func on_show(_payload: Variant = null) -> void: + start_button.disabled = true + status_label.text = "Checking available objectives…" + DynamicQuestionService.load_status() + + +func _on_status(status: Dictionary) -> void: + var available := bool(status.get("available", false)) + var count := int(status.get("publishedObjectives", 0)) + var attempts := int(status.get("totalAttempts", 0)) + status_label.text = "%d objectives • %d attempts • mastery %d" % [ + count, attempts, int(status.get("averageObjectiveElo", 1000))] + start_button.disabled = not available + if not available: + status_label.text = "Dynamic question content has not been published yet." + + +func _start() -> void: + start_button.disabled = true + start_button.text = "Generating…" + DynamicQuestionService.reset_run() + DynamicQuestionService.load_next() + + +func _on_question(question: Dictionary) -> void: + start_button.text = "Start Dynamic Questions" + start_button.disabled = false + if BlockSessionService.start_dynamic_question(question): + main.show_screen("player") + + +func _on_failed(message: String) -> void: + start_button.text = "Try Again" + start_button.disabled = false + status_label.text = message diff --git a/scripts/ui/dynamic_questions_screen.gd.uid b/scripts/ui/dynamic_questions_screen.gd.uid new file mode 100644 index 0000000..3fd0abf --- /dev/null +++ b/scripts/ui/dynamic_questions_screen.gd.uid @@ -0,0 +1 @@ +uid://53fdgx3f3am1 diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index 3a64801..9f3fc38 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -248,6 +248,12 @@ func _build_ui() -> void: screens_container.add_child(selector) screens["selection"] = selector + var dynamic_questions := preload("res://scripts/ui/dynamic_questions_screen.gd").new() + dynamic_questions.name = "DynamicQuestionsScreen" + dynamic_questions.main = self + screens_container.add_child(dynamic_questions) + screens["dynamic_questions"] = dynamic_questions + var map := preload("res://scripts/ui/study_map.gd").new() map.name = "StudyMap" map.main = self @@ -410,6 +416,7 @@ func _populate_navigation(container: VBoxContainer, include_brand: bool) -> void _add_nav_button(container, "home", "Dashboard", "chart-no-axes-column-increasing", true) _add_nav_button(container, "question_bank", "Question Bank", "clipboard-list", true) + _add_nav_button(container, "dynamic_questions", "Dynamic Questions", "shuffle", true) _add_nav_button(container, "ccs", "CCS Cases", "stethoscope", true) _add_nav_button(container, "exams", "Exam Simulations", "clipboard-list", true) _add_nav_button(container, "flashcards", "Flashcards", "clipboard-plus", true) @@ -454,6 +461,7 @@ func _on_navigation_pressed(key: String) -> void: match key: "home": show_screen("dashboard") "question_bank": show_screen("selection", "question_bank") + "dynamic_questions": show_screen("dynamic_questions") "exams": show_screen("simulation_history") "ccs": show_screen("ccs_hub") "flashcards": show_screen("flashcards_study") @@ -472,6 +480,7 @@ func _update_header_title(screen_name: String) -> void: var titles := { "dashboard": "Dashboard", "selection": "Question Bank", + "dynamic_questions": "Dynamic Questions", "simulation_history": "Exam Simulations", "ccs_hub": "CCS Cases", "flashcards_hub": "Flashcards", diff --git a/scripts/ui/navigation_routes.gd b/scripts/ui/navigation_routes.gd index 23357c4..8070cec 100644 --- a/scripts/ui/navigation_routes.gd +++ b/scripts/ui/navigation_routes.gd @@ -10,7 +10,9 @@ static func key_for_screen(screen_name: String, payload: Variant = null) -> Stri elif screen_name in ["map", "setup", "review"]: key = "study_plan" if screen_name == "map" else "question_bank" elif screen_name == "player": - key = "question_bank" + key = "dynamic_questions" if BlockSessionService.session_kind == "dynamic" else "question_bank" + elif screen_name == "dynamic_questions": + key = "dynamic_questions" elif screen_name.begins_with("simulation_"): key = "exams" elif screen_name.begins_with("ccs_"): diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index faa274c..13db4dd 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -164,6 +164,14 @@ func _ready() -> void: QuestionBankService.question_report_submitted.connect(_on_question_report_submitted) if not QuestionBankService.question_report_failed.is_connected(_on_question_report_failed): QuestionBankService.question_report_failed.connect(_on_question_report_failed) + if not DynamicQuestionService.question_loaded.is_connected(_on_dynamic_question_loaded): + DynamicQuestionService.question_loaded.connect(_on_dynamic_question_loaded) + if not DynamicQuestionService.request_failed.is_connected(_on_dynamic_question_failed): + DynamicQuestionService.request_failed.connect(_on_dynamic_question_failed) + if not DynamicQuestionService.report_submitted.is_connected(_on_question_report_submitted): + DynamicQuestionService.report_submitted.connect(_on_question_report_submitted) + if not DynamicQuestionService.report_failed.is_connected(_on_question_report_failed): + DynamicQuestionService.report_failed.connect(_on_question_report_failed) if not QuestionBankService.questions_changed.is_connected(_on_random_question_changed): QuestionBankService.questions_changed.connect(_on_random_question_changed) if not QuestionBankService.questions_load_failed.is_connected(_on_random_question_failed): @@ -1115,7 +1123,7 @@ func _load_question() -> void: next_button.text = "Submit" next_button.disabled = true skip_button.disabled = false - skip_button.visible = BlockSessionService.session_kind != "review" + skip_button.visible = BlockSessionService.session_kind not in ["review", "dynamic"] skip_button.text = "Skip" report_button.visible = BlockSessionService.session_kind != "simulation" @@ -1123,13 +1131,16 @@ func _load_question() -> void: if question.is_empty(): if BlockSessionService.session_kind == "review": main.show_screen("dashboard") + elif BlockSessionService.session_kind == "dynamic": + main.show_screen("dynamic_questions") else: main.show_screen("bookmarks" if BlockSessionService.session_kind == "bookmark" else "selection", "exam" if BlockSessionService.session_kind == "core" else "step3") return - BookmarkService.observe_question(question) + if BlockSessionService.session_kind != "dynamic": + BookmarkService.observe_question(question) progress_button.text = _question_progress_text() - progress_button.disabled = BlockSessionService.session_kind in ["core", "bookmark", "review"] - progress_button.tooltip_text = "" if BlockSessionService.session_kind in ["core", "bookmark", "review"] else "Open question navigator" + progress_button.disabled = BlockSessionService.session_kind in ["core", "bookmark", "review", "dynamic"] + progress_button.tooltip_text = "" if BlockSessionService.session_kind in ["core", "bookmark", "review", "dynamic"] else "Open question navigator" var show_timer := _is_session_timer_visible() timer_label.visible = show_timer timer_bar.visible = show_timer @@ -1373,6 +1384,12 @@ func _submit_or_next() -> void: if selected_choice == "": return var question_id_for_attempt := str(BlockSessionService.get_current_question().get("id", "")) + if BlockSessionService.session_kind == "dynamic": + var elapsed := int(floor(BlockSessionService.get_current_elapsed_seconds())) + DynamicQuestionService.submit_attempt(selected_choice, elapsed) + current_answer = BlockSessionService.answer_current(selected_choice, eliminated, false) + _show_answer_review() + return if BlockSessionService.session_kind in ["core", "bookmark", "review"]: var attempted_choice := selected_choice if BlockSessionService.session_kind == "core": @@ -1422,7 +1439,12 @@ func _submit_or_next() -> void: current_answer = BlockSessionService.answer_current(selected_choice, eliminated, flagged) _show_answer_review() else: - if BlockSessionService.session_kind == "core": + if BlockSessionService.session_kind == "dynamic": + awaiting_next_question = true + next_button.text = "Generating…" + next_button.disabled = true + DynamicQuestionService.load_next() + elif BlockSessionService.session_kind == "core": _request_next_core_question() elif BlockSessionService.session_kind == "bookmark": if BookmarkService.has_next_practice(): @@ -1441,6 +1463,26 @@ func _submit_or_next() -> void: _advance_or_finish() +func _on_dynamic_question_loaded(question: Dictionary) -> void: + if not awaiting_next_question or BlockSessionService.session_kind != "dynamic": + return + if not BlockSessionService.replace_dynamic_question(question): + _on_dynamic_question_failed("The next dynamic question could not be prepared.") + return + awaiting_next_question = false + _load_question() + UISoundService.play_sound("question") + + +func _on_dynamic_question_failed(message: String) -> void: + if not awaiting_next_question or BlockSessionService.session_kind != "dynamic": + return + awaiting_next_question = false + next_button.text = "Retry" + next_button.disabled = false + next_button.tooltip_text = message + + func _request_next_core_question() -> void: awaiting_next_question = true next_button.text = "Loading..." @@ -2053,12 +2095,12 @@ func _refresh_toolbar_state() -> void: var question_id := str(BlockSessionService.get_current_question().get("id", "")) report_button.tooltip_text = "Report submitted; report another issue" if reported_question_ids.has(question_id) else "Report question" if notes_button != null: - notes_button.visible = BlockSessionService.session_kind != "simulation" + notes_button.visible = BlockSessionService.session_kind not in ["simulation", "dynamic"] if flashcard_button != null: - flashcard_button.visible = BlockSessionService.session_kind != "simulation" + flashcard_button.visible = BlockSessionService.session_kind not in ["simulation", "dynamic"] flashcard_button.disabled = current_answer.is_empty() if bookmark_button != null: - bookmark_button.visible = BlockSessionService.session_kind != "simulation" + bookmark_button.visible = BlockSessionService.session_kind not in ["simulation", "dynamic"] var bookmark_question_id := str(BlockSessionService.get_current_question().get("id", "")) var bookmark_value := BookmarkService.is_bookmarked(bookmark_question_id) var bookmark_pending := BookmarkService.is_pending(bookmark_question_id) @@ -2797,7 +2839,10 @@ func _submit_question_report() -> void: return report_error_label.text = "" _set_report_submitting(true) - QuestionBankService.submit_question_report(report_question_id, category, details) + if BlockSessionService.session_kind == "dynamic": + DynamicQuestionService.submit_report(report_question_id, category, details) + else: + QuestionBankService.submit_question_report(report_question_id, category, details) func _on_question_report_submitted(question_id: String, _report_id: String) -> void: diff --git a/scripts/ui/study_selector.gd b/scripts/ui/study_selector.gd index de61422..2950c23 100644 --- a/scripts/ui/study_selector.gd +++ b/scripts/ui/study_selector.gd @@ -155,7 +155,7 @@ func _build_mode_view() -> void: mode_view.add_child(title) var subtitle := Label.new() - subtitle.text = "Build clinical judgment through focused questions. Additional modes are in development." + subtitle.text = "Build clinical judgment through focused authored questions." subtitle.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART subtitle.add_theme_font_override("font", Brand.font) subtitle.add_theme_font_size_override("font_size", 17) @@ -187,16 +187,6 @@ func _build_mode_view() -> void: retry_button = question_card.retry retry_button.pressed.connect(_retry_question_bank) - _add_mode_card( - "Dynamic Questions", - "AI-generated practice", - "Coming Soon", - "Coming Soon", - "Endless practice with AI-generated questions\ntailored to your performance.", - "activity", - false, - Brand.PURPLE) - var ccs_card := _add_mode_card( "CCS Cases", "Interactive case simulations", From 6a6e703aa497c9bee4b3b62e03b900a095e4fd88 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 13:19:32 -0500 Subject: [PATCH 37/68] Fix dynamic questions sidebar icon --- scripts/ui/main.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index 9f3fc38..b9e0147 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -416,7 +416,7 @@ func _populate_navigation(container: VBoxContainer, include_brand: bool) -> void _add_nav_button(container, "home", "Dashboard", "chart-no-axes-column-increasing", true) _add_nav_button(container, "question_bank", "Question Bank", "clipboard-list", true) - _add_nav_button(container, "dynamic_questions", "Dynamic Questions", "shuffle", true) + _add_nav_button(container, "dynamic_questions", "Dynamic Questions", "activity", true) _add_nav_button(container, "ccs", "CCS Cases", "stethoscope", true) _add_nav_button(container, "exams", "Exam Simulations", "clipboard-list", true) _add_nav_button(container, "flashcards", "Flashcards", "clipboard-plus", true) From 8390d795e54050b5d470e82e0ae164630edb85f3 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 13:30:22 -0500 Subject: [PATCH 38/68] Publish dynamic questions during UAT deploy --- .gitea/scripts/deploy-environment.sh | 16 +++++++++++++++- api/QuestionsApi/Dockerfile | 9 ++++++--- .../Services/DynamicBlueprintCommand.cs | 2 +- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.gitea/scripts/deploy-environment.sh b/.gitea/scripts/deploy-environment.sh index 32345e9..3471792 100644 --- a/.gitea/scripts/deploy-environment.sh +++ b/.gitea/scripts/deploy-environment.sh @@ -34,7 +34,7 @@ docker system df df -h docker build -f api/QuestionsApi.Tests/Dockerfile -t "${TEST_IMAGE}" . -docker build --build-arg BUILD_REVISION="${BUILD_TAG}" -t "${API_IMAGE}" api/QuestionsApi +docker build --build-arg BUILD_REVISION="${BUILD_TAG}" -f api/QuestionsApi/Dockerfile -t "${API_IMAGE}" . docker build \ --build-arg BUILD_REVISION="${BUILD_TAG}" \ --build-arg DEPLOYMENT_ENVIRONMENT="${DEPLOYMENT_ENVIRONMENT}" \ @@ -70,6 +70,20 @@ kubectl kustomize "k8s/overlays/${DEPLOYMENT_ENVIRONMENT}" \ kubectl rollout restart deployment/step3-api -n "${KUBE_NAMESPACE}" kubectl rollout status deployment/step3-api -n "${KUBE_NAMESPACE}" --timeout=240s kubectl get --raw "/api/v1/namespaces/${KUBE_NAMESPACE}/services/step3-api:http/proxy/readyz" >/dev/null + +if [ "${DEPLOYMENT_ENVIRONMENT}" = "uat" ]; then + API_POD="$(kubectl get pods -n "${KUBE_NAMESPACE}" -l app=step3-api \ + --field-selector=status.phase=Running -o jsonpath='{.items[0].metadata.name}')" + if [ -z "${API_POD}" ]; then + echo "No running API pod is available for dynamic question promotion." >&2 + exit 1 + fi + kubectl exec -n "${KUBE_NAMESPACE}" "${API_POD}" -- \ + dotnet QuestionsApi.dll promote-dynamic-questions \ + --source /app/content/dynamic_questions \ + --apply +fi + kubectl rollout status deployment/step3-web -n "${KUBE_NAMESPACE}" --timeout=240s kubectl get --raw "/api/v1/namespaces/${KUBE_NAMESPACE}/services/step3-web:http/proxy/healthz" >/dev/null diff --git a/api/QuestionsApi/Dockerfile b/api/QuestionsApi/Dockerfile index 91831aa..b35494d 100644 --- a/api/QuestionsApi/Dockerfile +++ b/api/QuestionsApi/Dockerfile @@ -4,16 +4,19 @@ FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build ARG BUILD_REVISION WORKDIR /src -COPY ["QuestionsApi.csproj", "./"] -RUN dotnet restore "QuestionsApi.csproj" +COPY ["api/QuestionsApi/QuestionsApi.csproj", "api/QuestionsApi/"] +RUN dotnet restore "api/QuestionsApi/QuestionsApi.csproj" -COPY . . +COPY api/QuestionsApi/ api/QuestionsApi/ +COPY content/dynamic_questions/ content/dynamic_questions/ +WORKDIR /src/api/QuestionsApi RUN dotnet publish "QuestionsApi.csproj" -c Release -o /app/publish /p:UseAppHost=false /p:SourceRevisionId=${BUILD_REVISION} FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final ARG BUILD_REVISION WORKDIR /app COPY --from=build /app/publish . +COPY --from=build /src/content/dynamic_questions ./content/dynamic_questions ENV ASPNETCORE_URLS=http://+:5008 \ ASPNETCORE_ENVIRONMENT=Production \ diff --git a/api/QuestionsApi/Services/DynamicBlueprintCommand.cs b/api/QuestionsApi/Services/DynamicBlueprintCommand.cs index 8d781f4..e405967 100644 --- a/api/QuestionsApi/Services/DynamicBlueprintCommand.cs +++ b/api/QuestionsApi/Services/DynamicBlueprintCommand.cs @@ -12,7 +12,7 @@ public static class DynamicBlueprintCommand var sourceIndex = Array.FindIndex(args, value => value.Equals("--source", StringComparison.OrdinalIgnoreCase)); var source = sourceIndex >= 0 && sourceIndex + 1 < args.Length ? args[sourceIndex + 1] - : Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "..", "..", "..", "..", "..", "content", "dynamic_questions")); + : Path.Combine(AppContext.BaseDirectory, "content", "dynamic_questions"); if (!Directory.Exists(source)) { await output.WriteLineAsync($"Dynamic blueprint directory not found: {source}"); From 403944b249b1e8b30205f08140903d2a72763e2a Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 13:40:53 -0500 Subject: [PATCH 39/68] Assign IDs when promoting dynamic blueprints --- api/QuestionsApi/Services/DynamicQuestionStore.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/api/QuestionsApi/Services/DynamicQuestionStore.cs b/api/QuestionsApi/Services/DynamicQuestionStore.cs index 3c591c7..ff5ecec 100644 --- a/api/QuestionsApi/Services/DynamicQuestionStore.cs +++ b/api/QuestionsApi/Services/DynamicQuestionStore.cs @@ -1,4 +1,5 @@ using MongoDB.Driver; +using MongoDB.Bson; using QuestionsApi.Models; namespace QuestionsApi.Services; @@ -116,9 +117,15 @@ public sealed class DynamicQuestionStore public async Task UpsertBlueprintsAsync(IEnumerable blueprints) { foreach (var blueprint in blueprints) + { + var existing = await _blueprints.Find( + value => value.ExternalId == blueprint.ExternalId && value.Version == blueprint.Version) + .FirstOrDefaultAsync(); + blueprint.Id = existing is null ? ObjectId.GenerateNewId().ToString() : existing.Id; await _blueprints.ReplaceOneAsync( value => value.ExternalId == blueprint.ExternalId && value.Version == blueprint.Version, blueprint, new ReplaceOptions { IsUpsert = true }); + } } } From e174b5db15ef8ba38c72e98c379830478fdb3a8b Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 13:52:24 -0500 Subject: [PATCH 40/68] Return dynamic question runs to dashboard --- scripts/ui/main.gd | 4 +++- scripts/ui/question_player.gd | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/ui/main.gd b/scripts/ui/main.gd index b9e0147..168135d 100644 --- a/scripts/ui/main.gd +++ b/scripts/ui/main.gd @@ -939,11 +939,13 @@ func _exit_run() -> void: return var was_core_run := BlockSessionService.session_kind == "core" var was_review_run := BlockSessionService.session_kind == "review" + var was_dynamic_run := BlockSessionService.session_kind == "dynamic" if BlockSessionService.block_started and BlockSessionService.session_kind != "simulation": BlockSessionService.finish_block() elif BlockSessionService.session_kind == "simulation": BlockSessionService.block_started = false - if was_review_run: + if was_review_run or was_dynamic_run: + DashboardService.refresh() show_screen("dashboard") else: show_screen("selection", "exam" if was_core_run else "step3") diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 13db4dd..6e0f183 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -1874,7 +1874,7 @@ func _exit_run() -> void: BlockSessionService.finish_block() main.show_screen("bookmarks") return - if BlockSessionService.session_kind == "review": + if BlockSessionService.session_kind in ["review", "dynamic"]: BlockSessionService.finish_block() DashboardService.refresh() main.show_screen("dashboard") From 92c5688b556dafcd2fac4e09bac716bc44058d06 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 14:11:18 -0500 Subject: [PATCH 41/68] Upgrade dynamic questions to authored parity --- .../DynamicQuestionTests.cs | 78 ++++++ .../Models/DynamicQuestionModels.cs | 44 ++++ api/QuestionsApi/Program.cs | 6 + .../Services/DynamicBlueprintCommand.cs | 11 +- .../Services/DynamicQuestionGenerator.cs | 238 +++++++++++++++++- .../Services/DynamicQuestionService.cs | 23 +- .../Services/DynamicQuestionStore.cs | 28 ++- .../Services/DynamicReviewExportCommand.cs | 74 ++++++ .../Services/QuestionReportStore.cs | 3 +- content/dynamic_questions/gold-pilot-v2.json | 144 +++++++++++ docs/dynamic-question-quality.md | 36 +++ tests/smoke/uat-smoke.spec.mjs | 23 ++ 12 files changed, 690 insertions(+), 18 deletions(-) create mode 100644 api/QuestionsApi/Services/DynamicReviewExportCommand.cs create mode 100644 content/dynamic_questions/gold-pilot-v2.json create mode 100644 docs/dynamic-question-quality.md diff --git a/api/QuestionsApi.Tests/DynamicQuestionTests.cs b/api/QuestionsApi.Tests/DynamicQuestionTests.cs index 0565aa9..738d48d 100644 --- a/api/QuestionsApi.Tests/DynamicQuestionTests.cs +++ b/api/QuestionsApi.Tests/DynamicQuestionTests.cs @@ -48,6 +48,38 @@ public sealed class DynamicQuestionTests Assert.ThrowsAny(() => service.ReadGeneration(token + "x", "user-one")); } + [Fact] + public void GoldGenerator_UsesCaseFamilies_AndProducesAuthoredTeachingShape() + { + var blueprint = GoldBlueprint(); + var generator = new DynamicQuestionGenerator(); + var generated = Enumerable.Range(0, 100) + .Select(seed => generator.Generate(blueprint, seed.ToString(), seed.ToString())) + .ToList(); + + Assert.Equal(3, generated.Select(value => value.CaseFamilyId).Distinct().Count()); + Assert.All(generated, value => + { + Assert.True(value.Question.Stem.Length >= 220); + Assert.Equal(5, value.Question.Choices.Count); + Assert.Equal(5, value.Question.ChoiceExplanations.Count); + Assert.Single(value.Question.ReviewFollowups); + Assert.Equal(4, value.Question.WrongAnswerFollowups.Count); + Assert.Contains("quality-standard:2", value.Question.Tags); + }); + Assert.Null(DynamicQuestionGenerator.Validate(blueprint)); + } + + [Fact] + public void LegacyGeneratorVersion_RemainsDeterministic() + { + var generator = new DynamicQuestionGenerator(); + var first = generator.Generate(Blueprint(), "legacy-seed", "one", 1).Question; + var regenerated = generator.Generate(Blueprint(), "legacy-seed", "two", 1).Question; + Assert.Equal(first.Stem, regenerated.Stem); + Assert.Equal(first.Choices.Select(value => value.Id), regenerated.Choices.Select(value => value.Id)); + } + private static DynamicQuestionBlueprint Blueprint() => new() { ExternalId = "test", @@ -68,4 +100,50 @@ public sealed class DynamicQuestionTests ], References = [new QuestionReference { Title = "Reference", Url = "https://example.test" }] }; + + private static DynamicQuestionBlueprint GoldBlueprint() + { + var stem = string.Join(" ", Enumerable.Repeat( + "A patient presents with a carefully correlated history, examination, vital signs, and diagnostic findings that establish the clinical context without naming the diagnosis.", 3)); + return new DynamicQuestionBlueprint + { + ExternalId = "gold-test", + Version = 2, + ObjectiveId = "gold.objective", + QualityStandardVersion = 2, + CorrectConceptId = "gold.correct", + CorrectAnswer = new DynamicAnswerTemplate + { Id = "correct", TextTemplate = "Correct action", ExplanationTemplate = "This addresses the decisive finding." }, + Distractors = Enumerable.Range(1, 6).Select(index => new DynamicAnswerTemplate + { + Id = $"d{index}", + TextTemplate = $"Distractor {index}", + ExplanationTemplate = $"Distractor {index} does not address the decisive finding." + }).ToList(), + ExplanationTemplate = "A complete explanation connects the presentation to the action.", + KeyTakeaway = "Use the decisive finding.", + UsmlePearl = "Sequence urgent care correctly.", + ReviewFollowups = + [ + new DynamicReviewFollowupTemplate + { + PromptTemplate = "What is decisive?", + Choices = + [ + new() { Id = "yes", TextTemplate = "The unstable finding" }, + new() { Id = "no", TextTemplate = "An incidental finding" } + ], + CorrectChoiceId = "yes", + TeachingPointTemplate = "The unstable finding determines management." + } + ], + CaseFamilies = + [ + new() { Id = "family-a", StemTemplate = stem, LeadIn = "What is next?" }, + new() { Id = "family-b", StemTemplate = stem + " Family B.", LeadIn = "What is next?" }, + new() { Id = "family-c", StemTemplate = stem + " Family C.", LeadIn = "What is next?" } + ], + References = [new QuestionReference { Title = "Reference", Url = "https://example.test" }] + }; + } } diff --git a/api/QuestionsApi/Models/DynamicQuestionModels.cs b/api/QuestionsApi/Models/DynamicQuestionModels.cs index c018a20..62fdb93 100644 --- a/api/QuestionsApi/Models/DynamicQuestionModels.cs +++ b/api/QuestionsApi/Models/DynamicQuestionModels.cs @@ -17,6 +17,8 @@ public sealed class DynamicQuestionBlueprint public string PerformanceCategory { get; set; } = ""; public string PhysicianTask { get; set; } = ""; public int Difficulty { get; set; } = 3; + public int QualityStandardVersion { get; set; } = 1; + public string CorrectConceptId { get; set; } = ""; public bool IsPublished { get; set; } = true; public string StemTemplate { get; set; } = ""; public string LeadIn { get; set; } = ""; @@ -31,6 +33,44 @@ public sealed class DynamicQuestionBlueprint public string UsmlePearl { get; set; } = ""; public List References { get; set; } = []; public List Tags { get; set; } = []; + public List ReviewFollowups { get; set; } = []; + public Dictionary WrongAnswerFollowups { get; set; } = []; + public List CaseFamilies { get; set; } = []; +} + +public sealed class DynamicCaseFamily +{ + public string Id { get; set; } = ""; + public string StemTemplate { get; set; } = ""; + public string LeadIn { get; set; } = ""; + public Dictionary Variables { get; set; } = []; + public List> ValueBundles { get; set; } = []; + public Dictionary Derived { get; set; } = []; + public List Constraints { get; set; } = []; + public List Labs { get; set; } = []; + public DynamicAnswerTemplate CorrectAnswer { get; set; } = new(); + public List Distractors { get; set; } = []; + public string ExplanationTemplate { get; set; } = ""; + public string KeyTakeaway { get; set; } = ""; + public string UsmlePearl { get; set; } = ""; + public List ReviewFollowups { get; set; } = []; + public Dictionary WrongAnswerFollowups { get; set; } = []; +} + +public sealed class DynamicReviewFollowupTemplate +{ + public string PromptTemplate { get; set; } = ""; + public List Choices { get; set; } = []; + public string CorrectChoiceId { get; set; } = ""; + public string TeachingPointTemplate { get; set; } = ""; +} + +public sealed class DynamicWrongAnswerFollowupTemplate +{ + public string PromptTemplate { get; set; } = ""; + public List Choices { get; set; } = []; + public string CorrectChoiceId { get; set; } = ""; + public string TeachingPointTemplate { get; set; } = ""; } public sealed class DynamicVariableDefinition @@ -82,6 +122,7 @@ public sealed class DynamicGenerationClaims public string Seed { get; set; } = ""; public string Nonce { get; set; } = ""; public int GeneratorVersion { get; set; } = 1; + public string CaseFamilyId { get; set; } = ""; public DateTime ExpiresUtc { get; set; } } @@ -91,6 +132,7 @@ public sealed class DynamicRunClaims public List SeenObjectiveIds { get; set; } = []; public string PreviousObjectiveId { get; set; } = ""; public int Cycle { get; set; } + public List RecentCaseFamilyIds { get; set; } = []; public DateTime ExpiresUtc { get; set; } } @@ -98,6 +140,7 @@ public sealed class DynamicGeneratedQuestion { public Question Question { get; set; } = new(); public DynamicQuestionBlueprint Blueprint { get; set; } = new(); + public string CaseFamilyId { get; set; } = ""; } public sealed class DynamicQuestionEnvelope @@ -187,4 +230,5 @@ public sealed class DynamicGenerationDescriptor public int BlueprintVersion { get; set; } public int GeneratorVersion { get; set; } public string Seed { get; set; } = ""; + public string CaseFamilyId { get; set; } = ""; } diff --git a/api/QuestionsApi/Program.cs b/api/QuestionsApi/Program.cs index 754fdc7..9d7c1c5 100644 --- a/api/QuestionsApi/Program.cs +++ b/api/QuestionsApi/Program.cs @@ -23,6 +23,12 @@ if (args.FirstOrDefault() == "promote-dynamic-questions") return; } +if (args.FirstOrDefault() == "export-dynamic-review") +{ + Environment.ExitCode = await DynamicReviewExportCommand.RunAsync(args.Skip(1).ToArray(), Console.Out); + return; +} + if (args.FirstOrDefault() == "seed-flashcards") { var seedConfiguration = new ConfigurationBuilder() diff --git a/api/QuestionsApi/Services/DynamicBlueprintCommand.cs b/api/QuestionsApi/Services/DynamicBlueprintCommand.cs index e405967..1729ec1 100644 --- a/api/QuestionsApi/Services/DynamicBlueprintCommand.cs +++ b/api/QuestionsApi/Services/DynamicBlueprintCommand.cs @@ -24,15 +24,18 @@ public static class DynamicBlueprintCommand blueprints.AddRange(JsonSerializer.Deserialize>(await File.ReadAllTextAsync(file), json) ?? []); var generator = new DynamicQuestionGenerator(); + var generatedVariants = 0; foreach (var blueprint in blueprints) { var error = DynamicQuestionGenerator.Validate(blueprint); if (error is not null) throw new InvalidDataException($"{blueprint.ExternalId} v{blueprint.Version}: {error}"); - for (var seed = 0; seed < 1000; seed++) + var validationSeeds = blueprint.QualityStandardVersion >= 2 ? 10_000 : 1_000; + for (var seed = 0; seed < validationSeeds; seed++) generator.Generate(blueprint, seed.ToString(), seed.ToString()); + generatedVariants += validationSeeds; } - await output.WriteLineAsync($"Validated {blueprints.Count} blueprints across 1,000 seeds each."); + await output.WriteLineAsync($"Validated {blueprints.Count} blueprints across {generatedVariants:N0} generated variants."); if (!apply) { await output.WriteLineAsync("Dry run only. Pass --apply to publish."); @@ -43,8 +46,8 @@ public static class DynamicBlueprintCommand .AddEnvironmentVariables() .Build(); var store = new DynamicQuestionStore(new MongoDatabaseProvider(configuration)); - await store.UpsertBlueprintsAsync(blueprints); - await output.WriteLineAsync($"Published {blueprints.Count} immutable blueprint versions."); + var result = await store.UpsertBlueprintsAsync(blueprints); + await output.WriteLineAsync($"Promotion complete: {result.Inserted} inserted, {result.Unchanged} unchanged."); return 0; } } diff --git a/api/QuestionsApi/Services/DynamicQuestionGenerator.cs b/api/QuestionsApi/Services/DynamicQuestionGenerator.cs index ed3b6aa..f90636a 100644 --- a/api/QuestionsApi/Services/DynamicQuestionGenerator.cs +++ b/api/QuestionsApi/Services/DynamicQuestionGenerator.cs @@ -8,12 +8,17 @@ namespace QuestionsApi.Services; public sealed class DynamicQuestionGenerator { - public const int CurrentVersion = 1; + public const int CurrentVersion = 2; private static readonly Regex Placeholder = new(@"\{\{([a-zA-Z0-9_]+)\}\}", RegexOptions.Compiled); - public DynamicGeneratedQuestion Generate(DynamicQuestionBlueprint blueprint, string seed, string nonce) + public DynamicGeneratedQuestion Generate(DynamicQuestionBlueprint blueprint, string seed, string nonce, int generatorVersion = CurrentVersion) + => blueprint.QualityStandardVersion >= 2 + ? GenerateV2(blueprint, seed, nonce) + : GenerateLegacy(blueprint, seed, nonce, generatorVersion); + + private DynamicGeneratedQuestion GenerateLegacy(DynamicQuestionBlueprint blueprint, string seed, string nonce, int generatorVersion) { - var draw = new DeterministicDraw($"{blueprint.ExternalId}|{blueprint.Version}|{CurrentVersion}|{seed}"); + var draw = new DeterministicDraw($"{blueprint.ExternalId}|{blueprint.Version}|{generatorVersion}|{seed}"); var values = new Dictionary(StringComparer.Ordinal); var numbers = new Dictionary(StringComparer.Ordinal); foreach (var item in blueprint.Variables.OrderBy(value => value.Key, StringComparer.Ordinal)) @@ -112,11 +117,193 @@ public sealed class DynamicQuestionGenerator return new DynamicGeneratedQuestion { Question = question, Blueprint = blueprint }; } + private DynamicGeneratedQuestion GenerateV2(DynamicQuestionBlueprint blueprint, string seed, string nonce) + { + if (blueprint.CaseFamilies.Count == 0) + throw new InvalidOperationException("quality-standard-2 blueprints require case families"); + var draw = new DeterministicDraw($"{blueprint.ExternalId}|{blueprint.Version}|{CurrentVersion}|{seed}"); + var family = blueprint.CaseFamilies.OrderBy(value => value.Id, StringComparer.Ordinal) + .ElementAt(draw.Next(blueprint.CaseFamilies.Count)); + var values = new Dictionary(StringComparer.Ordinal); + var numbers = new Dictionary(StringComparer.Ordinal); + if (family.ValueBundles.Count > 0) + foreach (var item in family.ValueBundles[draw.Next(family.ValueBundles.Count)]) + values[item.Key] = item.Value; + PopulateVariables(family.Variables, values, numbers, draw); + PopulateDerived(family.Derived, values, numbers); + ValidateConstraints(family.Constraints, numbers); + + var correctAnswer = string.IsNullOrWhiteSpace(family.CorrectAnswer.Id) ? blueprint.CorrectAnswer : family.CorrectAnswer; + var distractorPool = family.Distractors.Count == 0 ? blueprint.Distractors : family.Distractors; + var reviewTemplates = family.ReviewFollowups.Count == 0 ? blueprint.ReviewFollowups : family.ReviewFollowups; + var wrongTemplates = family.WrongAnswerFollowups.Count == 0 ? blueprint.WrongAnswerFollowups : family.WrongAnswerFollowups; + var explanationTemplate = string.IsNullOrWhiteSpace(family.ExplanationTemplate) ? blueprint.ExplanationTemplate : family.ExplanationTemplate; + var keyTakeaway = string.IsNullOrWhiteSpace(family.KeyTakeaway) ? blueprint.KeyTakeaway : family.KeyTakeaway; + var usmlePearl = string.IsNullOrWhiteSpace(family.UsmlePearl) ? blueprint.UsmlePearl : family.UsmlePearl; + var distractors = distractorPool.OrderBy(_ => draw.Next(int.MaxValue)).Take(4).ToList(); + if (distractors.Count != 4) throw new InvalidOperationException($"{family.Id} requires at least four distractors"); + var answerTemplates = distractors.Append(correctAnswer).OrderBy(_ => draw.Next(int.MaxValue)).ToList(); + var choices = answerTemplates.Select(answer => new QuestionChoice + { + Id = answer.Id, + Text = Render(answer.TextTemplate, values) + }).ToList(); + if (choices.Select(value => value.Id).Distinct(StringComparer.Ordinal).Count() != 5 + || choices.Select(value => value.Text).Distinct(StringComparer.OrdinalIgnoreCase).Count() != 5) + throw new InvalidOperationException($"{family.Id} generated choices must be unique"); + + var question = new Question + { + Id = $"dynamic-{nonce}", + ExternalId = $"dynamic-{nonce}", + Stem = Render(family.StemTemplate, values), + LeadIn = Render(family.LeadIn, values), + Choices = choices, + CorrectChoiceId = correctAnswer.Id, + Explanation = Render(explanationTemplate, values), + KeyTakeaway = Render(keyTakeaway, values), + UsmlePearl = Render(usmlePearl, values), + ChoiceExplanations = answerTemplates.ToDictionary( + value => value.Id, value => Render(value.ExplanationTemplate, values)), + ReviewFollowups = reviewTemplates.Select(followup => new QuestionReviewFollowup + { + Prompt = Render(followup.PromptTemplate, values), + Choices = followup.Choices.Select(choice => new QuestionChoice + { Id = choice.Id, Text = Render(choice.TextTemplate, values) }).ToList(), + CorrectChoiceId = followup.CorrectChoiceId, + TeachingPoint = Render(followup.TeachingPointTemplate, values) + }).ToList(), + WrongAnswerFollowups = BuildWrongAnswerFollowups( + distractors, correctAnswer, wrongTemplates, values), + Discipline = blueprint.Discipline, + System = blueprint.System, + PerformanceCategory = blueprint.PerformanceCategory, + Difficulty = blueprint.Difficulty, + Labs = family.Labs.Select(lab => new QuestionLab + { + Name = lab.Name, + Value = Render(lab.ValueTemplate, values), + Unit = lab.Unit, + Reference = lab.Reference + }).ToList(), + Tags = [.. blueprint.Tags, "dynamic", "quality-standard:2", $"objective:{blueprint.ObjectiveId}", $"family:{family.Id}"], + References = blueprint.References, + IsPublished = true + }; + return new DynamicGeneratedQuestion { Question = question, Blueprint = blueprint, CaseFamilyId = family.Id }; + } + + private static void PopulateVariables( + IReadOnlyDictionary definitions, + IDictionary values, + IDictionary numbers, + DeterministicDraw draw) + { + foreach (var item in definitions.OrderBy(value => value.Key, StringComparer.Ordinal)) + { + var definition = item.Value; + if (definition.Type == "enum") + { + if (definition.Values.Count == 0) throw new InvalidOperationException($"{item.Key} requires values"); + values[item.Key] = definition.Values[draw.Next(definition.Values.Count)]; + continue; + } + var step = definition.Step <= 0 ? 1 : definition.Step; + var count = (int)Math.Floor((definition.Maximum - definition.Minimum) / step) + 1; + if (count < 1) throw new InvalidOperationException($"{item.Key} range is invalid"); + var number = Math.Round(definition.Minimum + draw.Next(count) * step, Math.Clamp(definition.Precision, 0, 8)); + numbers[item.Key] = number; + values[item.Key] = Format(number, definition.Precision); + } + } + + private static void PopulateDerived( + IReadOnlyDictionary definitions, + IDictionary values, + Dictionary numbers) + { + foreach (var item in definitions) + { + var definition = item.Value; + var left = ResolveNumber(definition.Left, numbers); + var right = ResolveNumber(definition.Right, numbers); + var number = definition.Operation switch + { + "add" => left + right, + "subtract" => left - right, + "multiply" => left * right, + "divide" when Math.Abs(right) > double.Epsilon => left / right, + _ => throw new InvalidOperationException($"{item.Key} operation is invalid") + }; + number = Math.Round(number, Math.Clamp(definition.Precision, 0, 8)); + numbers[item.Key] = number; + values[item.Key] = Format(number, definition.Precision); + } + } + + private static void ValidateConstraints(IEnumerable constraints, IReadOnlyDictionary numbers) + { + foreach (var constraint in constraints) + { + if (!numbers.TryGetValue(constraint.Field, out var actual)) + throw new InvalidOperationException($"constraint field {constraint.Field} is not numeric"); + var valid = constraint.Operator switch + { + "lt" => actual < constraint.Value, + "lte" => actual <= constraint.Value, + "gt" => actual > constraint.Value, + "gte" => actual >= constraint.Value, + "eq" => Math.Abs(actual - constraint.Value) < 0.0000001, + "neq" => Math.Abs(actual - constraint.Value) >= 0.0000001, + _ => false + }; + if (!valid) throw new InvalidOperationException($"generated value violates {constraint.Field} {constraint.Operator}"); + } + } + + private static Dictionary BuildWrongAnswerFollowups( + IEnumerable distractors, + DynamicAnswerTemplate correct, + IReadOnlyDictionary templates, + IReadOnlyDictionary values) + { + var result = new Dictionary(); + foreach (var distractor in distractors) + { + if (templates.TryGetValue(distractor.Id, out var template)) + { + result[distractor.Id] = new WrongAnswerFollowup + { + Prompt = Render(template.PromptTemplate, values), + Choices = template.Choices.Select(choice => new QuestionChoice + { Id = choice.Id, Text = Render(choice.TextTemplate, values) }).ToList(), + CorrectChoiceId = template.CorrectChoiceId, + TeachingPoint = Render(template.TeachingPointTemplate, values) + }; + continue; + } + result[distractor.Id] = new WrongAnswerFollowup + { + Prompt = "Which option best addresses the decisive finding in this case?", + Choices = + [ + new QuestionChoice { Id = correct.Id, Text = Render(correct.TextTemplate, values) }, + new QuestionChoice { Id = distractor.Id, Text = Render(distractor.TextTemplate, values) } + ], + CorrectChoiceId = correct.Id, + TeachingPoint = $"{Render(distractor.ExplanationTemplate, values)} {Render(correct.ExplanationTemplate, values)}" + }; + } + return result; + } + public static string? Validate(DynamicQuestionBlueprint blueprint) { if (string.IsNullOrWhiteSpace(blueprint.ExternalId)) return "externalId required"; if (string.IsNullOrWhiteSpace(blueprint.ObjectiveId)) return "objectiveId required"; if (blueprint.Version < 1) return "version must be positive"; + if (blueprint.QualityStandardVersion >= 2) + return ValidateV2(blueprint); if (string.IsNullOrWhiteSpace(blueprint.StemTemplate) || string.IsNullOrWhiteSpace(blueprint.LeadIn)) return "stemTemplate and leadIn required"; if (string.IsNullOrWhiteSpace(blueprint.CorrectAnswer.Id) || string.IsNullOrWhiteSpace(blueprint.CorrectAnswer.TextTemplate)) return "correctAnswer required"; if (blueprint.Distractors.Count < 4) return "at least four distractors required"; @@ -133,6 +320,51 @@ public sealed class DynamicQuestionGenerator return null; } + private static string? ValidateV2(DynamicQuestionBlueprint blueprint) + { + if (string.IsNullOrWhiteSpace(blueprint.CorrectConceptId)) return "correctConceptId required"; + if (blueprint.CaseFamilies.Count < 3) return "at least three case families required"; + if (blueprint.References.Count == 0) return "at least one reference required"; + if (blueprint.CaseFamilies.Select(value => value.Id).Distinct(StringComparer.Ordinal).Count() != blueprint.CaseFamilies.Count) + return "case family ids must be unique"; + foreach (var family in blueprint.CaseFamilies) + { + if (string.IsNullOrWhiteSpace(family.Id)) return "case family id required"; + if (family.StemTemplate.Length < 220) return $"{family.Id} stem is too short for quality standard 2"; + if (string.IsNullOrWhiteSpace(family.LeadIn)) return $"{family.Id} leadIn required"; + if (!string.IsNullOrWhiteSpace(family.CorrectAnswer.Id)) + return $"{family.Id} must use the blueprint-level invariant correct answer"; + var correctAnswer = string.IsNullOrWhiteSpace(family.CorrectAnswer.Id) ? blueprint.CorrectAnswer : family.CorrectAnswer; + var distractors = family.Distractors.Count == 0 ? blueprint.Distractors : family.Distractors; + var reviews = family.ReviewFollowups.Count == 0 ? blueprint.ReviewFollowups : family.ReviewFollowups; + var wrong = family.WrongAnswerFollowups.Count == 0 ? blueprint.WrongAnswerFollowups : family.WrongAnswerFollowups; + if (distractors.Count < 6) return $"{family.Id} requires at least six distractors"; + var answers = distractors.Append(correctAnswer).ToList(); + if (answers.Any(value => string.IsNullOrWhiteSpace(value.Id) + || string.IsNullOrWhiteSpace(value.TextTemplate) + || string.IsNullOrWhiteSpace(value.ExplanationTemplate))) + return $"{family.Id} every answer requires id, text, and explanation"; + if (answers.Select(value => value.Id).Distinct(StringComparer.Ordinal).Count() != answers.Count) + return $"{family.Id} answer ids must be unique"; + if (reviews.Count == 0) return $"{family.Id} review followup required"; + if (string.IsNullOrWhiteSpace(family.ExplanationTemplate) && string.IsNullOrWhiteSpace(blueprint.ExplanationTemplate) + || string.IsNullOrWhiteSpace(family.KeyTakeaway) && string.IsNullOrWhiteSpace(blueprint.KeyTakeaway) + || string.IsNullOrWhiteSpace(family.UsmlePearl) && string.IsNullOrWhiteSpace(blueprint.UsmlePearl)) + return $"{family.Id} complete teaching content required"; + } + try + { + var generator = new DynamicQuestionGenerator(); + for (var index = 0; index < 300; index++) + { + var generated = generator.Generate(blueprint, $"validation-{index}", $"validation-{index}"); + if (generated.Question.ChoiceExplanations.Count != 5) return "every displayed choice requires an explanation"; + } + } + catch (Exception exception) { return exception.Message; } + return null; + } + private static string Render(string template, IReadOnlyDictionary values) { var rendered = Placeholder.Replace(template ?? "", match => diff --git a/api/QuestionsApi/Services/DynamicQuestionService.cs b/api/QuestionsApi/Services/DynamicQuestionService.cs index ce6b39c..782186d 100644 --- a/api/QuestionsApi/Services/DynamicQuestionService.cs +++ b/api/QuestionsApi/Services/DynamicQuestionService.cs @@ -65,9 +65,22 @@ public sealed class DynamicQuestionService GeneratorVersion = DynamicQuestionGenerator.CurrentVersion, ExpiresUtc = DateTime.UtcNow.AddDays(7) }; - var generated = _generator.Generate(blueprint, claims.Seed, claims.Nonce); + var generated = _generator.Generate(blueprint, claims.Seed, claims.Nonce, claims.GeneratorVersion); + var familyIds = blueprint.CaseFamilies.Select(value => value.Id).ToHashSet(StringComparer.Ordinal); + var recentForObjective = run.RecentCaseFamilyIds + .Where(familyIds.Contains) + .TakeLast(Math.Max(1, blueprint.CaseFamilies.Count - 1)) + .ToHashSet(StringComparer.Ordinal); + for (var retry = 0; retry < 20 && recentForObjective.Contains(generated.CaseFamilyId); retry++) + { + claims.Seed = Convert.ToHexString(RandomNumberGenerator.GetBytes(16)).ToLowerInvariant(); + generated = _generator.Generate(blueprint, claims.Seed, claims.Nonce); + } + claims.CaseFamilyId = generated.CaseFamilyId; run.SeenObjectiveIds.Add(blueprint.ObjectiveId); run.PreviousObjectiveId = blueprint.ObjectiveId; + run.RecentCaseFamilyIds.Add(generated.CaseFamilyId); + run.RecentCaseFamilyIds = run.RecentCaseFamilyIds.TakeLast(30).ToList(); run.ExpiresUtc = DateTime.UtcNow.AddDays(7); return new DynamicQuestionEnvelope { @@ -92,11 +105,15 @@ public sealed class DynamicQuestionService string generationToken) { var claims = _tokens.ReadGeneration(generationToken, userId); - if (claims.GeneratorVersion != DynamicQuestionGenerator.CurrentVersion) + if (claims.GeneratorVersion is < 1 or > DynamicQuestionGenerator.CurrentVersion) throw new InvalidOperationException("This generated question version is no longer supported."); var blueprint = await _store.GetAsync(claims.BlueprintExternalId, claims.BlueprintVersion) ?? throw new KeyNotFoundException("The question blueprint is no longer available."); - return (claims, _generator.Generate(blueprint, claims.Seed, claims.Nonce)); + var generated = _generator.Generate(blueprint, claims.Seed, claims.Nonce, claims.GeneratorVersion); + if (!string.IsNullOrWhiteSpace(claims.CaseFamilyId) + && claims.CaseFamilyId != generated.CaseFamilyId) + throw new InvalidOperationException("Generated case family does not match its signed descriptor."); + return (claims, generated); } private static DynamicRunClaims NewRun(string userId) => new() diff --git a/api/QuestionsApi/Services/DynamicQuestionStore.cs b/api/QuestionsApi/Services/DynamicQuestionStore.cs index ff5ecec..cc4dd3b 100644 --- a/api/QuestionsApi/Services/DynamicQuestionStore.cs +++ b/api/QuestionsApi/Services/DynamicQuestionStore.cs @@ -27,7 +27,7 @@ public sealed class DynamicQuestionStore } public async Task> PublishedAsync() => - await _blueprints.Find(value => value.IsPublished).ToListAsync(); + await _blueprints.Find(value => value.IsPublished && value.QualityStandardVersion >= 2).ToListAsync(); public async Task GetAsync(string externalId, int version) => await _blueprints.Find(value => value.ExternalId == externalId && value.Version == version).FirstOrDefaultAsync(); @@ -114,18 +114,32 @@ public sealed class DynamicQuestionStore }; } - public async Task UpsertBlueprintsAsync(IEnumerable blueprints) + public async Task<(int Inserted, int Unchanged)> UpsertBlueprintsAsync(IEnumerable blueprints) { + var inserted = 0; + var unchanged = 0; foreach (var blueprint in blueprints) { var existing = await _blueprints.Find( value => value.ExternalId == blueprint.ExternalId && value.Version == blueprint.Version) .FirstOrDefaultAsync(); - blueprint.Id = existing is null ? ObjectId.GenerateNewId().ToString() : existing.Id; - await _blueprints.ReplaceOneAsync( - value => value.ExternalId == blueprint.ExternalId && value.Version == blueprint.Version, - blueprint, - new ReplaceOptions { IsUpsert = true }); + if (existing is not null) + { + blueprint.Id = existing.Id; + var incomingDocument = blueprint.ToBsonDocument(); + var existingDocument = existing.ToBsonDocument(); + incomingDocument.Remove("_id"); + existingDocument.Remove("_id"); + if (incomingDocument != existingDocument) + throw new InvalidDataException( + $"{blueprint.ExternalId} v{blueprint.Version} is immutable; publish changes with a new version"); + unchanged++; + continue; + } + blueprint.Id = ObjectId.GenerateNewId().ToString(); + await _blueprints.InsertOneAsync(blueprint); + inserted++; } + return (inserted, unchanged); } } diff --git a/api/QuestionsApi/Services/DynamicReviewExportCommand.cs b/api/QuestionsApi/Services/DynamicReviewExportCommand.cs new file mode 100644 index 0000000..48ebe60 --- /dev/null +++ b/api/QuestionsApi/Services/DynamicReviewExportCommand.cs @@ -0,0 +1,74 @@ +using Microsoft.Extensions.Configuration; +using QuestionsApi.Models; +using System.Text.Json; + +namespace QuestionsApi.Services; + +public static class DynamicReviewExportCommand +{ + public static async Task RunAsync(string[] args, TextWriter output) + { + static string Argument(string[] values, string name, string fallback = "") + { + var index = Array.FindIndex(values, value => value.Equals(name, StringComparison.OrdinalIgnoreCase)); + return index >= 0 && index + 1 < values.Length ? values[index + 1] : fallback; + } + var source = Argument(args, "--source", Path.Combine(AppContext.BaseDirectory, "content", "dynamic_questions")); + var destination = Argument(args, "--output"); + if (!Directory.Exists(source) || string.IsNullOrWhiteSpace(destination)) + { + await output.WriteLineAsync("Usage: export-dynamic-review --source --output "); + return 2; + } + var jsonOptions = new JsonSerializerOptions(JsonSerializerDefaults.Web) + { PropertyNameCaseInsensitive = true, WriteIndented = true }; + var blueprints = new List(); + foreach (var file in Directory.EnumerateFiles(source, "*.json", SearchOption.AllDirectories)) + blueprints.AddRange(JsonSerializer.Deserialize>( + await File.ReadAllTextAsync(file), jsonOptions) ?? []); + blueprints = blueprints.Where(value => value.IsPublished && value.QualityStandardVersion >= 2).ToList(); + + var configuration = new ConfigurationBuilder() + .AddJsonFile("appsettings.json", optional: true) + .AddEnvironmentVariables() + .Build(); + var authored = (await new QuestionStore(new MongoDatabaseProvider(configuration)).GetPublishedAsync()) + .OrderBy(value => value.ExternalId, StringComparer.Ordinal) + .Take(blueprints.Count * 3) + .ToList(); + if (authored.Count < blueprints.Count * 3) + throw new InvalidOperationException("Not enough published authored questions for a balanced review packet."); + + var generator = new DynamicQuestionGenerator(); + var entries = new List<(Question Question, string Source, string Detail)>(); + foreach (var blueprint in blueprints) + for (var seed = 0; seed < 3; seed++) + { + var generated = generator.Generate(blueprint, $"review-{seed}", $"review-{blueprint.ExternalId}-{seed}"); + entries.Add((generated.Question, "dynamic", $"{blueprint.ExternalId}:{generated.CaseFamilyId}")); + } + entries.AddRange(authored.Select(value => (value, "authored", value.ExternalId))); + var ordered = entries.OrderBy(value => Convert.ToHexString( + System.Security.Cryptography.SHA256.HashData(System.Text.Encoding.UTF8.GetBytes(value.Detail)))).ToList(); + + Directory.CreateDirectory(destination); + var packet = ordered.Select((entry, index) => new + { + reviewId = $"Q{index + 1:D2}", + entry.Question.Stem, + entry.Question.LeadIn, + entry.Question.Choices, + entry.Question.Labs, + entry.Question.Explanation, + entry.Question.ChoiceExplanations, + entry.Question.ReviewFollowups, + entry.Question.WrongAnswerFollowups, + scoring = new { realism = 0, distractors = 0, explanation = 0, step3Relevance = 0, criticalIssue = "", predictedSource = "" } + }); + var key = ordered.Select((entry, index) => new { reviewId = $"Q{index + 1:D2}", entry.Source, entry.Detail }); + await File.WriteAllTextAsync(Path.Combine(destination, "review-packet.json"), JsonSerializer.Serialize(packet, jsonOptions)); + await File.WriteAllTextAsync(Path.Combine(destination, "answer-key.json"), JsonSerializer.Serialize(key, jsonOptions)); + await output.WriteLineAsync($"Exported {ordered.Count} blinded questions to {destination}."); + return 0; + } +} diff --git a/api/QuestionsApi/Services/QuestionReportStore.cs b/api/QuestionsApi/Services/QuestionReportStore.cs index 5027cd5..94e4742 100644 --- a/api/QuestionsApi/Services/QuestionReportStore.cs +++ b/api/QuestionsApi/Services/QuestionReportStore.cs @@ -99,7 +99,8 @@ public class QuestionReportStore BlueprintExternalId = claims.BlueprintExternalId, BlueprintVersion = claims.BlueprintVersion, GeneratorVersion = claims.GeneratorVersion, - Seed = claims.Seed + Seed = claims.Seed, + CaseFamilyId = claims.CaseFamilyId }, CreatedUtc = now, UpdatedUtc = now diff --git a/content/dynamic_questions/gold-pilot-v2.json b/content/dynamic_questions/gold-pilot-v2.json new file mode 100644 index 0000000..be85011 --- /dev/null +++ b/content/dynamic_questions/gold-pilot-v2.json @@ -0,0 +1,144 @@ +[ + { + "externalId": "dyn-gold-dka", "version": 2, "objectiveId": "endocrine.dka-initial-management", + "title": "Initial management of diabetic ketoacidosis", "system": "Endocrine", "discipline": "Medicine", + "performanceCategory": "Patient Care: Management", "physicianTask": "Emergency Management", "difficulty": 3, + "qualityStandardVersion": 2, "correctConceptId": "dka.restore-intravascular-volume", "isPublished": true, + "correctAnswer": {"id":"correct","textTemplate":"Begin intravenous 0.9% saline","explanationTemplate":"DKA causes major osmotic diuresis and extracellular volume depletion; isotonic crystalloid is the immediate first intervention while potassium and insulin plans are prepared."}, + "distractors": [ + {"id":"insulin","textTemplate":"Begin an intravenous insulin infusion before giving fluid","explanationTemplate":"Insulin is essential, but initial volume restoration comes first and serum potassium must be known because insulin can precipitate dangerous hypokalemia."}, + {"id":"bicarbonate","textTemplate":"Give intravenous sodium bicarbonate immediately","explanationTemplate":"Bicarbonate is not routine DKA therapy and is generally reserved for extreme acidemia, typically pH below 6.9."}, + {"id":"potassium","textTemplate":"Give intravenous potassium without further assessment","explanationTemplate":"Total-body potassium is depleted, but replacement depends on the measured potassium and urine output; empiric immediate potassium can be hazardous."}, + {"id":"dextrose","textTemplate":"Begin intravenous dextrose-containing fluid","explanationTemplate":"Dextrose is added later as glucose approaches the treatment threshold so insulin can continue clearing ketones."}, + {"id":"dialysis","textTemplate":"Arrange immediate hemodialysis","explanationTemplate":"Routine DKA responds to fluids, potassium-guided insulin, and treatment of the trigger; dialysis is not the initial intervention."}, + {"id":"subcutaneous","textTemplate":"Give only a dose of subcutaneous long-acting insulin","explanationTemplate":"A critically ill patient with DKA requires controlled acute resuscitation, not long-acting insulin as sole therapy."} + ], + "explanationTemplate":"This patient has DKA with severe extracellular volume depletion from osmotic diuresis. The first action is rapid isotonic crystalloid resuscitation. Measure potassium promptly, begin intravenous insulin when potassium is safe, add dextrose as glucose falls, and treat the precipitating illness.", + "keyTakeaway":"In DKA, restore intravascular volume first; potassium status determines when insulin can safely begin.", + "usmlePearl":"A normal or elevated initial serum potassium does not mean potassium stores are adequate; total-body potassium is depleted.", + "reviewFollowups":[{"promptTemplate":"After initial fluid resuscitation, the serum potassium is 2.9 mEq/L. What is the next step?","choices":[{"id":"k","textTemplate":"Replace potassium before insulin"},{"id":"i","textTemplate":"Start insulin immediately"},{"id":"b","textTemplate":"Give bicarbonate"},{"id":"d","textTemplate":"Start dextrose"}],"correctChoiceId":"k","teachingPointTemplate":"When potassium is below 3.3 mEq/L, replace potassium and hold insulin until potassium rises because insulin shifts potassium intracellularly."}], + "caseFamilies": [ + { + "id":"dka-infection","stemTemplate":"A {{age}}-year-old woman with type 1 diabetes mellitus is brought to the emergency department for 2 days of dysuria, fever, progressive nausea, and diffuse abdominal pain. She has missed several insulin doses because she was not eating. Temperature is {{temp}}°C, blood pressure is {{sbp}}/{{dbp}} mm Hg, pulse is {{pulse}}/min, and respirations are deep at {{resp}}/min. She is drowsy, has dry mucous membranes, and has suprapubic tenderness without guarding. Urinalysis shows pyuria and positive nitrites. Additional laboratory results are shown. Which of the following is the most appropriate immediate next step?","leadIn":"Which of the following is the most appropriate immediate next step?", + "variables":{"age":{"type":"integer","minimum":19,"maximum":42},"temp":{"type":"decimal","minimum":38.1,"maximum":39.2,"step":0.1,"precision":1},"sbp":{"type":"integer","minimum":84,"maximum":96},"dbp":{"type":"integer","minimum":48,"maximum":60},"pulse":{"type":"integer","minimum":112,"maximum":132},"resp":{"type":"integer","minimum":26,"maximum":34},"glucose":{"type":"integer","minimum":480,"maximum":680,"step":10},"sodium":{"type":"integer","minimum":128,"maximum":134},"potassium":{"type":"decimal","minimum":4.6,"maximum":5.6,"step":0.1,"precision":1},"bicarb":{"type":"integer","minimum":8,"maximum":14},"ph":{"type":"decimal","minimum":7.08,"maximum":7.22,"step":0.01,"precision":2}}, + "labs":[{"name":"Glucose","valueTemplate":"{{glucose}}","unit":"mg/dL","reference":"70–100"},{"name":"Sodium","valueTemplate":"{{sodium}}","unit":"mEq/L","reference":"136–145"},{"name":"Potassium","valueTemplate":"{{potassium}}","unit":"mEq/L","reference":"3.5–5.0"},{"name":"Bicarbonate","valueTemplate":"{{bicarb}}","unit":"mEq/L","reference":"22–28"},{"name":"Arterial pH","valueTemplate":"{{ph}}","unit":"","reference":"7.35–7.45"}] + }, + { + "id":"dka-new-onset","stemTemplate":"A {{age}}-year-old man with no known medical conditions presents with 3 weeks of polyuria, polydipsia, and weight loss followed by repeated vomiting and increasing confusion. Blood pressure is {{sbp}}/{{dbp}} mm Hg, pulse is {{pulse}}/min, and respirations are rapid and deep. Examination shows sunken eyes, markedly dry oral mucosa, delayed capillary refill, and a fruity odor to the breath. The abdomen is mildly tender without rebound. Serum beta-hydroxybutyrate is elevated, and laboratory results are shown. Which intervention should be performed first?","leadIn":"Which intervention should be performed first?", + "variables":{"age":{"type":"integer","minimum":18,"maximum":34},"sbp":{"type":"integer","minimum":86,"maximum":100},"dbp":{"type":"integer","minimum":50,"maximum":64},"pulse":{"type":"integer","minimum":108,"maximum":128},"glucose":{"type":"integer","minimum":410,"maximum":620,"step":10},"potassium":{"type":"decimal","minimum":4.1,"maximum":5.3,"step":0.1,"precision":1},"bicarb":{"type":"integer","minimum":7,"maximum":13},"gap":{"type":"integer","minimum":24,"maximum":34}}, + "labs":[{"name":"Glucose","valueTemplate":"{{glucose}}","unit":"mg/dL","reference":"70–100"},{"name":"Potassium","valueTemplate":"{{potassium}}","unit":"mEq/L","reference":"3.5–5.0"},{"name":"Bicarbonate","valueTemplate":"{{bicarb}}","unit":"mEq/L","reference":"22–28"},{"name":"Anion gap","valueTemplate":"{{gap}}","unit":"mEq/L","reference":"8–12"}] + }, + { + "id":"dka-pump-failure","stemTemplate":"A {{age}}-year-old woman with type 1 diabetes mellitus managed with an insulin pump presents after awakening with intense thirst, vomiting, and shortness of breath. The pump tubing is found to be kinked. She is lethargic but follows commands. Blood pressure is {{sbp}}/{{dbp}} mm Hg, pulse is {{pulse}}/min, and respirations are {{resp}}/min with a deep pattern. Her extremities are cool, mucous membranes are dry, and jugular venous pressure is low. Bedside glucose reads HIGH; confirmatory laboratory results are shown. What is the best initial treatment?","leadIn":"What is the best initial treatment?", + "variables":{"age":{"type":"integer","minimum":20,"maximum":48},"sbp":{"type":"integer","minimum":88,"maximum":102},"dbp":{"type":"integer","minimum":52,"maximum":66},"pulse":{"type":"integer","minimum":110,"maximum":130},"resp":{"type":"integer","minimum":25,"maximum":33},"glucose":{"type":"integer","minimum":520,"maximum":720,"step":10},"potassium":{"type":"decimal","minimum":4.4,"maximum":5.7,"step":0.1,"precision":1},"bicarb":{"type":"integer","minimum":9,"maximum":15},"ph":{"type":"decimal","minimum":7.10,"maximum":7.24,"step":0.01,"precision":2}}, + "labs":[{"name":"Glucose","valueTemplate":"{{glucose}}","unit":"mg/dL","reference":"70–100"},{"name":"Potassium","valueTemplate":"{{potassium}}","unit":"mEq/L","reference":"3.5–5.0"},{"name":"Bicarbonate","valueTemplate":"{{bicarb}}","unit":"mEq/L","reference":"22–28"},{"name":"Venous pH","valueTemplate":"{{ph}}","unit":"","reference":"7.32–7.42"}] + } + ], + "references":[{"title":"Hyperglycemic Crises in Adults With Diabetes","publisher":"American Diabetes Association","url":"https://diabetesjournals.org/care/article/47/8/1257/156806/Hyperglycemic-Crises-in-Adults-With-Diabetes-A","supports":"Fluid, potassium, and insulin sequence"}], + "tags":["emergency","diabetes","gold"] + }, + { + "externalId":"dyn-gold-af","version":2,"objectiveId":"cardio.unstable-atrial-fibrillation", + "title":"Unstable atrial fibrillation", "system":"Cardiovascular", "discipline":"Medicine", + "performanceCategory":"Patient Care: Management", "physicianTask":"Emergency Management", "difficulty": 3, + "qualityStandardVersion":2,"correctConceptId":"tachyarrhythmia.synchronized-cardioversion","isPublished":true, + "correctAnswer":{"id":"correct","textTemplate":"Perform immediate synchronized cardioversion","explanationTemplate":"A tachyarrhythmia causing hypotension, ischemia, shock, pulmonary edema, or altered mental status requires synchronized cardioversion."}, + "distractors":[ + {"id":"metoprolol","textTemplate":"Give intravenous metoprolol","explanationTemplate":"Rate-control medication can worsen hypotension and delays definitive therapy in an unstable patient."}, + {"id":"diltiazem","textTemplate":"Begin an intravenous diltiazem infusion","explanationTemplate":"Diltiazem is appropriate for selected stable patients but can worsen shock and is not first-line when instability is attributable to the rhythm."}, + {"id":"adenosine","textTemplate":"Give a rapid intravenous bolus of adenosine","explanationTemplate":"Adenosine may clarify or terminate regular narrow-complex tachycardia; it does not treat irregular atrial fibrillation."}, + {"id":"amiodarone","textTemplate":"Begin an intravenous amiodarone infusion and observe","explanationTemplate":"Medication should not delay synchronized cardioversion when atrial fibrillation is producing hemodynamic instability."}, + {"id":"anticoagulation","textTemplate":"Start anticoagulation and arrange cardioversion in 3 weeks","explanationTemplate":"The usual elective anticoagulation strategy does not apply when immediate cardioversion is needed to stabilize the patient."}, + {"id":"defibrillation","textTemplate":"Perform unsynchronized defibrillation","explanationTemplate":"Unsynchronized shock is used for pulseless rhythms or polymorphic ventricular tachycardia; a patient with unstable atrial fibrillation and a pulse needs synchronization."} + ], + "explanationTemplate":"The irregular narrow-complex tachycardia is causing end-organ hypoperfusion. Immediate synchronized cardioversion is indicated. Sedate if feasible without delaying shock, then address precipitants and thromboembolic risk after stabilization.", + "keyTakeaway":"Cardiovert an unstable tachyarrhythmia immediately when the rhythm is causing hypotension or other end-organ compromise.", + "usmlePearl":"The duration of atrial fibrillation changes anticoagulation planning, but it does not justify delaying cardioversion in an unstable patient.", + "reviewFollowups":[{"promptTemplate":"Which feature most clearly makes this an unstable tachyarrhythmia?","choices":[{"id":"h","textTemplate":"Hypotension with altered mental status"},{"id":"r","textTemplate":"An irregular rhythm alone"},{"id":"a","textTemplate":"Age older than 65 years"},{"id":"d","textTemplate":"A duration longer than 30 minutes"}],"correctChoiceId":"h","teachingPointTemplate":"Instability is defined by consequences such as hypotension, shock, ischemic chest discomfort, acute heart failure, or altered mental status attributable to the rhythm."}], + "caseFamilies":[ + {"id":"af-sepsis","stemTemplate":"A {{age}}-year-old woman hospitalized for pneumonia suddenly becomes confused and diaphoretic. Blood pressure falls to {{sbp}}/{{dbp}} mm Hg, pulse is irregular at {{rate}}/min, respirations are 28/min, and oxygen saturation is 93% with supplemental oxygen. Cardiac examination shows an irregularly irregular rhythm without a murmur. The lungs have right basilar crackles. An ECG shows absent discrete P waves and irregularly spaced narrow QRS complexes. A fluid bolus has not improved the blood pressure. Which intervention is most appropriate now?","leadIn":"Which intervention is most appropriate now?","variables":{"age":{"type":"integer","minimum":54,"maximum":79},"sbp":{"type":"integer","minimum":72,"maximum":84},"dbp":{"type":"integer","minimum":42,"maximum":54},"rate":{"type":"integer","minimum":158,"maximum":188}}}, + {"id":"af-pulmonary-edema","stemTemplate":"A {{age}}-year-old man with hypertension presents with abrupt palpitations and severe dyspnea. He is anxious and can speak only in short phrases. Blood pressure is {{sbp}}/{{dbp}} mm Hg, pulse is irregular at {{rate}}/min, and oxygen saturation is {{sat}}% on room air. Jugular venous pressure is elevated, diffuse inspiratory crackles are present, and the extremities are cool. ECG shows atrial fibrillation with rapid ventricular response and no ST-segment elevation. Noninvasive oxygen support is initiated. What is the next step in management?","leadIn":"What is the next step in management?","variables":{"age":{"type":"integer","minimum":58,"maximum":84},"sbp":{"type":"integer","minimum":76,"maximum":88},"dbp":{"type":"integer","minimum":44,"maximum":58},"rate":{"type":"integer","minimum":150,"maximum":182},"sat":{"type":"integer","minimum":78,"maximum":87}}}, + {"id":"af-ischemia","stemTemplate":"A {{age}}-year-old woman develops sudden palpitations, substernal pressure, and lightheadedness while recovering after abdominal surgery. Blood pressure is {{sbp}}/{{dbp}} mm Hg and pulse is irregular at {{rate}}/min. She is pale, intermittently confused, and has weak peripheral pulses. ECG demonstrates an irregular narrow-complex tachycardia without visible P waves and diffuse rate-related ST depressions. Electrolyte samples have been drawn, and intravenous access is established. Which of the following is the best immediate management?","leadIn":"Which of the following is the best immediate management?","variables":{"age":{"type":"integer","minimum":47,"maximum":73},"sbp":{"type":"integer","minimum":70,"maximum":86},"dbp":{"type":"integer","minimum":40,"maximum":54},"rate":{"type":"integer","minimum":162,"maximum":194}}} + ], + "references":[{"title":"Adult Tachycardia With a Pulse Algorithm","publisher":"American Heart Association","url":"https://cpr.heart.org/en/resuscitation-science/cpr-and-ecc-guidelines/algorithms","supports":"Immediate synchronized cardioversion for unstable tachyarrhythmia"}], + "tags":["cardiology","emergency","gold"] + }, + { + "externalId":"dyn-gold-pyelo-pregnancy","version":2,"objectiveId":"ob.pregnancy-pyelonephritis", + "title":"Pyelonephritis in pregnancy", "system":"Pregnancy", "discipline":"Obstetrics", + "performanceCategory":"Patient Care: Management", "physicianTask":"Pharmacotherapy", "difficulty":3, + "qualityStandardVersion":2,"correctConceptId":"pregnancy.pyelonephritis.inpatient-parenteral-antibiotics","isPublished":true, + "correctAnswer":{"id":"correct","textTemplate":"Admit for intravenous ceftriaxone","explanationTemplate":"Acute pyelonephritis in pregnancy warrants initial inpatient management with a parenteral antibiotic that penetrates renal tissue, followed by culture-directed therapy."}, + "distractors":[ + {"id":"nitrofurantoin","textTemplate":"Discharge with oral nitrofurantoin","explanationTemplate":"Nitrofurantoin treats lower urinary infection but does not reach adequate renal parenchymal concentrations for pyelonephritis."}, + {"id":"fosfomycin","textTemplate":"Give one oral dose of fosfomycin","explanationTemplate":"Fosfomycin is a lower-tract option and is inadequate for a febrile upper urinary tract infection."}, + {"id":"await","textTemplate":"Withhold antibiotics until urine culture results return","explanationTemplate":"Delaying therapy risks maternal sepsis, respiratory complications, and preterm labor; obtain cultures and treat empirically."}, + {"id":"ciprofloxacin","textTemplate":"Discharge with oral ciprofloxacin","explanationTemplate":"Pregnancy and systemic upper-tract illness make outpatient fluoroquinolone treatment inappropriate."}, + {"id":"delivery","textTemplate":"Proceed with immediate delivery","explanationTemplate":"Pyelonephritis alone is not an indication for delivery; stabilize and treat the infection while monitoring mother and fetus."}, + {"id":"phenazopyridine","textTemplate":"Treat with phenazopyridine alone","explanationTemplate":"Urinary analgesia does not eradicate bacterial infection or prevent maternal and fetal complications."} + ], + "explanationTemplate":"Fever, flank pain, costovertebral-angle tenderness, and pyuria indicate acute pyelonephritis. Pregnancy increases the risk of sepsis, ARDS, and preterm labor, so begin inpatient parenteral therapy such as ceftriaxone after cultures and tailor treatment to susceptibility results.", + "keyTakeaway":"Manage pyelonephritis in pregnancy initially in the hospital with renal-penetrating parenteral antibiotics.", + "usmlePearl":"Nitrofurantoin and fosfomycin may treat cystitis but should not be used for pyelonephritis because renal tissue levels are inadequate.", + "reviewFollowups":[{"promptTemplate":"Why is nitrofurantoin not appropriate in this patient?","choices":[{"id":"t","textTemplate":"It does not achieve therapeutic renal tissue levels"},{"id":"f","textTemplate":"It always causes fetal malformations"},{"id":"r","textTemplate":"All urinary pathogens are resistant"},{"id":"p","textTemplate":"It induces premature labor"}],"correctChoiceId":"t","teachingPointTemplate":"The key distinction is infection site: agents concentrated in urine can treat cystitis yet fail to treat renal parenchymal infection."}], + "caseFamilies":[ + {"id":"pyelo-classic","stemTemplate":"A {{age}}-year-old woman at {{weeks}} weeks' gestation presents with 24 hours of fever, chills, nausea, and right flank pain. Temperature is {{temp}}°C, blood pressure is {{sbp}}/{{dbp}} mm Hg, and pulse is {{pulse}}/min. The uterus is nontender, fetal heart rate is reassuring, and there is marked right costovertebral-angle tenderness. Urinalysis shows positive leukocyte esterase, nitrites, numerous leukocytes, and bacteriuria. Blood and urine cultures are obtained. Which management is most appropriate?","leadIn":"Which management is most appropriate?","variables":{"age":{"type":"integer","minimum":20,"maximum":36},"weeks":{"type":"integer","minimum":16,"maximum":30},"temp":{"type":"decimal","minimum":38.2,"maximum":39.4,"step":0.1,"precision":1},"sbp":{"type":"integer","minimum":96,"maximum":112},"dbp":{"type":"integer","minimum":56,"maximum":70},"pulse":{"type":"integer","minimum":104,"maximum":124}}}, + {"id":"pyelo-recurrent","stemTemplate":"A {{age}}-year-old pregnant woman at {{weeks}} weeks' gestation has fever, vomiting, dysuria, and left-sided back pain. She was treated for asymptomatic bacteriuria earlier in pregnancy. Temperature is {{temp}}°C, blood pressure is {{sbp}}/{{dbp}} mm Hg, and pulse is {{pulse}}/min. Examination shows dry mucous membranes and left costovertebral-angle tenderness; there are no contractions and the cervix is closed. Urinalysis reveals pyuria and white blood cell casts. What is the best next step?","leadIn":"What is the best next step?","variables":{"age":{"type":"integer","minimum":19,"maximum":38},"weeks":{"type":"integer","minimum":18,"maximum":33},"temp":{"type":"decimal","minimum":38.0,"maximum":39.1,"step":0.1,"precision":1},"sbp":{"type":"integer","minimum":92,"maximum":108},"dbp":{"type":"integer","minimum":54,"maximum":68},"pulse":{"type":"integer","minimum":102,"maximum":122}}}, + {"id":"pyelo-systemic","stemTemplate":"A {{age}}-year-old woman at {{weeks}} weeks' gestation presents with fever, rigors, urinary urgency, and severe flank pain. Temperature is {{temp}}°C, blood pressure is {{sbp}}/{{dbp}} mm Hg, pulse is {{pulse}}/min, and respirations are 24/min. She appears ill and has suprapubic and costovertebral-angle tenderness. Fetal monitoring is reactive. Urinalysis shows bacteriuria, pyuria, and positive nitrites; serum lactate is mildly elevated. After obtaining cultures, which treatment is most appropriate?","leadIn":"After obtaining cultures, which treatment is most appropriate?","variables":{"age":{"type":"integer","minimum":22,"maximum":39},"weeks":{"type":"integer","minimum":14,"maximum":28},"temp":{"type":"decimal","minimum":38.4,"maximum":39.6,"step":0.1,"precision":1},"sbp":{"type":"integer","minimum":88,"maximum":104},"dbp":{"type":"integer","minimum":50,"maximum":64},"pulse":{"type":"integer","minimum":112,"maximum":132}}} + ], + "references":[{"title":"Urinary Tract Infections in Pregnant Individuals","publisher":"ACOG","url":"https://www.acog.org/clinical/clinical-guidance/clinical-consensus/articles/2023/08/urinary-tract-infections-in-pregnant-individuals","supports":"Inpatient parenteral treatment of pyelonephritis"}], + "tags":["obstetrics","infectious-disease","gold"] + }, + { + "externalId":"dyn-gold-sah","version":2,"objectiveId":"neuro.subarachnoid-hemorrhage-initial-test", + "title":"Initial testing for subarachnoid hemorrhage", "system":"Neurologic", "discipline":"Medicine", + "performanceCategory":"Patient Care: Diagnosis", "physicianTask":"Diagnostic Studies", "difficulty":3, + "qualityStandardVersion":2,"correctConceptId":"sah.initial-noncontrast-head-ct","isPublished":true, + "correctAnswer":{"id":"correct","textTemplate":"Obtain an emergent noncontrast CT scan of the head","explanationTemplate":"Noncontrast head CT is the rapid initial study for suspected subarachnoid hemorrhage and can identify acute blood and complications."}, + "distractors":[ + {"id":"mri","textTemplate":"Obtain a routine brain MRI with contrast","explanationTemplate":"MRI is slower and is not the initial emergency study for a classic thunderclap headache suspicious for subarachnoid hemorrhage."}, + {"id":"lpfirst","textTemplate":"Perform lumbar puncture before neuroimaging","explanationTemplate":"Noncontrast CT is obtained first; further testing after a negative CT depends on timing, image quality, and residual suspicion."}, + {"id":"ctaonly","textTemplate":"Obtain CT angiography without a noncontrast study","explanationTemplate":"Angiography helps define an aneurysm, but the initial diagnostic study for acute subarachnoid blood is noncontrast CT."}, + {"id":"eeg","textTemplate":"Order electroencephalography","explanationTemplate":"EEG evaluates seizure activity and does not diagnose subarachnoid hemorrhage."}, + {"id":"migraine","textTemplate":"Treat as migraine and discharge without imaging","explanationTemplate":"A first sudden maximal-at-onset headache with meningismus or neurologic symptoms requires emergency evaluation for hemorrhage."}, + {"id":"carotid","textTemplate":"Order carotid duplex ultrasonography","explanationTemplate":"Carotid ultrasound does not evaluate the subarachnoid space or intracranial aneurysmal bleeding."} + ], + "explanationTemplate":"A headache that reaches maximal intensity immediately, especially with vomiting, meningismus, syncope, or a focal deficit, is subarachnoid hemorrhage until proven otherwise. Obtain emergent noncontrast head CT; if it is nondiagnostic and suspicion remains, proceed according to timing and local diagnostic pathways.", + "keyTakeaway":"The initial test for suspected acute subarachnoid hemorrhage is emergent noncontrast head CT.", + "usmlePearl":"Do not label a first thunderclap headache as migraine simply because the neurologic examination improves.", + "reviewFollowups":[{"promptTemplate":"If the initial CT is nondiagnostic but clinical suspicion remains high, what principle should guide the next step?","choices":[{"id":"f","textTemplate":"Pursue additional evaluation for subarachnoid blood or aneurysm"},{"id":"d","textTemplate":"Discharge because CT excludes all cases"},{"id":"e","textTemplate":"Order EEG only"},{"id":"s","textTemplate":"Schedule routine follow-up in 6 months"}],"correctChoiceId":"f","teachingPointTemplate":"CT sensitivity depends on factors including time from onset; persistent high suspicion requires additional evaluation rather than reassurance alone."}], + "caseFamilies":[ + {"id":"sah-exertion","stemTemplate":"A {{age}}-year-old man develops the worst headache of his life while lifting a heavy object. The pain reaches maximal intensity within seconds and is followed by vomiting and a brief loss of consciousness. On arrival, blood pressure is {{sbp}}/{{dbp}} mm Hg and pulse is 88/min. He is photophobic and has neck stiffness but no focal weakness. He has no prior history of similar headaches and takes no anticoagulants. Which diagnostic study should be obtained first?","leadIn":"Which diagnostic study should be obtained first?","variables":{"age":{"type":"integer","minimum":41,"maximum":68},"sbp":{"type":"integer","minimum":154,"maximum":194},"dbp":{"type":"integer","minimum":88,"maximum":112}}}, + {"id":"sah-sentinel","stemTemplate":"A {{age}}-year-old woman presents 90 minutes after sudden severe occipital pain that began during sexual activity. She says the headache was instantly maximal and unlike prior mild tension headaches. She vomited twice and now has painful neck flexion. Blood pressure is {{sbp}}/{{dbp}} mm Hg. She is alert, and cranial nerves, strength, and sensation are normal. Her mother died after a ruptured cerebral aneurysm. What is the most appropriate initial diagnostic test?","leadIn":"What is the most appropriate initial diagnostic test?","variables":{"age":{"type":"integer","minimum":36,"maximum":61},"sbp":{"type":"integer","minimum":146,"maximum":186},"dbp":{"type":"integer","minimum":84,"maximum":108}}}, + {"id":"sah-focal","stemTemplate":"A {{age}}-year-old man abruptly develops a severe diffuse headache while at work, falls to the floor, and is confused for several minutes. In the emergency department, blood pressure is {{sbp}}/{{dbp}} mm Hg. He has meningismus and mild left eyelid ptosis but otherwise normal strength and speech. Finger-stick glucose is normal, and there is no evidence of trauma. His headache remains intense despite an analgesic. Which study is the best first step in establishing the diagnosis?","leadIn":"Which study is the best first step in establishing the diagnosis?","variables":{"age":{"type":"integer","minimum":44,"maximum":72},"sbp":{"type":"integer","minimum":158,"maximum":198},"dbp":{"type":"integer","minimum":90,"maximum":116}}} + ], + "references":[{"title":"Guideline for the Management of Aneurysmal Subarachnoid Hemorrhage","publisher":"American Heart Association","url":"https://www.ahajournals.org/doi/10.1161/STR.0000000000000436","supports":"Emergency diagnostic evaluation"}], + "tags":["neurology","emergency","gold"] + }, + { + "externalId":"dyn-gold-arr","version":2,"objectiveId":"biostats.absolute-risk-reduction", + "title":"Absolute risk reduction", "system":"Biostatistics", "discipline":"Biostatistics", + "performanceCategory":"Applying Foundational Science Concepts", "physicianTask":"Interpretation of Medical Literature", "difficulty":3, + "qualityStandardVersion":2,"correctConceptId":"biostats.control-event-rate-minus-treatment-event-rate","isPublished":true, + "correctAnswer":{"id":"correct","textTemplate":"{{arr}} percentage points","explanationTemplate":"Absolute risk reduction equals the control event rate minus the treatment event rate: {{control}}% − {{treatment}}% = {{arr}} percentage points."}, + "distractors":[ + {"id":"control","textTemplate":"{{control}}% (the control event rate)","explanationTemplate":"This is the control event rate, not the difference attributable to treatment."}, + {"id":"treatment","textTemplate":"{{treatment}}% (the treatment event rate)","explanationTemplate":"This is the treatment event rate, not the absolute reduction compared with control."}, + {"id":"rrr","textTemplate":"{{rrr}}% (the relative risk reduction)","explanationTemplate":"This is the relative risk reduction: the absolute difference divided by the control event rate."}, + {"id":"nnt","textTemplate":"{{nnt}}","explanationTemplate":"This is the number needed to treat, the reciprocal of the absolute risk reduction expressed as a proportion."}, + {"id":"sum","textTemplate":"{{sum}} percentage points","explanationTemplate":"Adding the two event rates does not measure the treatment-associated reduction in risk."}, + {"id":"ratio","textTemplate":"{{ratio}}% (the relative risk)","explanationTemplate":"This represents the treatment-to-control risk ratio expressed as a percentage, not absolute risk reduction."} + ], + "explanationTemplate":"Use absolute—not relative—risk. In this trial, ARR = control event rate − treatment event rate = {{control}}% − {{treatment}}% = {{arr}} percentage points. Relative risk reduction and number needed to treat answer different questions and should not be substituted.", + "keyTakeaway":"Absolute risk reduction is the arithmetic difference between event rates in the control and treatment groups.", + "usmlePearl":"Report ARR in percentage points; convert it to a proportion only when calculating NNT.", + "reviewFollowups":[{"promptTemplate":"Which calculation gives the number needed to treat for this trial?","choices":[{"id":"n","textTemplate":"1 ÷ ({{arr}}/100)"},{"id":"r","textTemplate":"{{control}} ÷ {{treatment}}"},{"id":"a","textTemplate":"{{control}} + {{treatment}}"},{"id":"s","textTemplate":"1 ÷ {{control}}"}],"correctChoiceId":"n","teachingPointTemplate":"NNT is the reciprocal of ARR expressed as a decimal proportion."}], + "caseFamilies":[ + {"id":"arr-cardiovascular","stemTemplate":"Investigators randomly assign {{size}} adults with established cardiovascular disease to receive a new antiplatelet drug or placebo in addition to standard therapy. Baseline characteristics and follow-up duration are similar between groups, and analysis is by intention to treat. A major cardiovascular event occurs in {{treatment}}% of the treatment group and {{control}}% of the placebo group. Adverse-event discontinuation is similar. Based on these results, what is the absolute risk reduction associated with the new drug?","leadIn":"What is the absolute risk reduction associated with the new drug?","variables":{"size":{"type":"integer","minimum":1200,"maximum":3600,"step":100},"control":{"type":"integer","minimum":18,"maximum":24},"treatment":{"type":"integer","minimum":8,"maximum":12}},"derived":{"arr":{"operation":"subtract","left":"control","right":"treatment","precision":0},"sum":{"operation":"add","left":"control","right":"treatment","precision":0},"rrrFraction":{"operation":"divide","left":"arr","right":"control","precision":4},"rrr":{"operation":"multiply","left":"rrrFraction","right":"100","precision":0},"ratioFraction":{"operation":"divide","left":"treatment","right":"control","precision":4},"ratio":{"operation":"multiply","left":"ratioFraction","right":"100","precision":0},"nnt":{"operation":"divide","left":"100","right":"arr","precision":0}},"constraints":[{"field":"arr","operator":"gt","value":5}]}, + {"id":"arr-infection","stemTemplate":"A multicenter randomized trial evaluates a prophylactic medication in {{size}} immunocompromised adults. Participants, clinicians, and outcome assessors are blinded. During the prespecified follow-up period, invasive infection develops in {{control}}% of patients receiving placebo and {{treatment}}% receiving prophylaxis. Loss to follow-up is minimal and balanced between groups. The investigators report both relative and absolute effect measures. What is the absolute risk reduction produced by prophylaxis?","leadIn":"What is the absolute risk reduction produced by prophylaxis?","variables":{"size":{"type":"integer","minimum":800,"maximum":2400,"step":100},"control":{"type":"integer","minimum":20,"maximum":28},"treatment":{"type":"integer","minimum":9,"maximum":14}},"derived":{"arr":{"operation":"subtract","left":"control","right":"treatment","precision":0},"sum":{"operation":"add","left":"control","right":"treatment","precision":0},"rrrFraction":{"operation":"divide","left":"arr","right":"control","precision":4},"rrr":{"operation":"multiply","left":"rrrFraction","right":"100","precision":0},"ratioFraction":{"operation":"divide","left":"treatment","right":"control","precision":4},"ratio":{"operation":"multiply","left":"ratioFraction","right":"100","precision":0},"nnt":{"operation":"divide","left":"100","right":"arr","precision":0}},"constraints":[{"field":"arr","operator":"gt","value":5}]}, + {"id":"arr-readmission","stemTemplate":"A randomized controlled trial enrolls {{size}} patients discharged after an exacerbation of chronic heart failure. Patients receive either a structured transitional-care program or usual discharge planning. Groups have comparable disease severity, and all participants are analyzed in their assigned group. Hospital readmission within 30 days occurs in {{control}}% of the usual-care group and {{treatment}}% of the intervention group. Which value is the absolute risk reduction attributable to the program?","leadIn":"Which value is the absolute risk reduction attributable to the program?","variables":{"size":{"type":"integer","minimum":600,"maximum":1800,"step":100},"control":{"type":"integer","minimum":22,"maximum":30},"treatment":{"type":"integer","minimum":11,"maximum":16}},"derived":{"arr":{"operation":"subtract","left":"control","right":"treatment","precision":0},"sum":{"operation":"add","left":"control","right":"treatment","precision":0},"rrrFraction":{"operation":"divide","left":"arr","right":"control","precision":4},"rrr":{"operation":"multiply","left":"rrrFraction","right":"100","precision":0},"ratioFraction":{"operation":"divide","left":"treatment","right":"control","precision":4},"ratio":{"operation":"multiply","left":"ratioFraction","right":"100","precision":0},"nnt":{"operation":"divide","left":"100","right":"arr","precision":0}},"constraints":[{"field":"arr","operator":"gt","value":5}]} + ], + "references":[{"title":"Principles of Epidemiology: Analyzing and Interpreting Data","publisher":"CDC","url":"https://www.cdc.gov/field-epi-manual/php/chapters/analyzing-interpreting-data.html","supports":"Absolute measures of association"}], + "tags":["biostatistics","evidence-based-medicine","gold"] + } +] diff --git a/docs/dynamic-question-quality.md b/docs/dynamic-question-quality.md new file mode 100644 index 0000000..ab29879 --- /dev/null +++ b/docs/dynamic-question-quality.md @@ -0,0 +1,36 @@ +# Dynamic question quality standard + +Quality-standard-2 blueprints are eligible for learner runs. Older blueprints +remain stored only so signed questions and reports can be regenerated. + +## Content requirements + +- At least three curated case families per objective. +- One invariant `correctConceptId` across every family. +- A complete clinical vignette, focused lead-in, and coherent correlated data. +- At least six plausible distractors with an explanation for every answer. +- A complete explanation, key takeaway, USMLE pearl, review follow-up, and + wrong-answer remediation. +- At least one authoritative reference. + +Promotion validates 10,000 seeds for every quality-standard-2 blueprint. Existing +blueprint versions are immutable; content changes require a version increment. + +## Blinded acceptance + +Create a balanced packet of three generated variants per gold objective and the +same number of authored questions: + +```text +dotnet QuestionsApi.dll export-dynamic-review \ + --source /app/content/dynamic_questions \ + --output /tmp/dynamic-review +``` + +Keep `answer-key.json` separate from `review-packet.json`. Two clinical reviewers +score realism, distractor quality, explanation quality, and Step 3 relevance from +1–5 and predict whether each item is authored or dynamic. + +The pilot passes when there are no critical medical or ambiguity findings, every +dimension averages at least 4/5, and source-identification accuracy is no greater +than 65%. Corrections are published as a new blueprint version and reviewed again. diff --git a/tests/smoke/uat-smoke.spec.mjs b/tests/smoke/uat-smoke.spec.mjs index a96ba2e..5c27669 100644 --- a/tests/smoke/uat-smoke.spec.mjs +++ b/tests/smoke/uat-smoke.spec.mjs @@ -140,6 +140,29 @@ test("public API and disposable learner journey", async () => { await call("/api/dashboard", { token }); await call("/api/ratings/me", { token }); + const { data: dynamicStatus } = await call("/api/dynamic-questions/status", { token }); + expect(dynamicStatus.available).toBe(true); + expect(dynamicStatus.publishedObjectives).toBe(5); + const { data: dynamicQuestion } = await call("/api/dynamic-questions/next", { + method: "POST", token, body: { runToken: "" } + }); + expect(dynamicQuestion.generationToken).toBeTruthy(); + expect(dynamicQuestion.runToken).toBeTruthy(); + expect(dynamicQuestion.question.stem.length).toBeGreaterThan(220); + expect(dynamicQuestion.question.choices).toHaveLength(5); + expect(Object.keys(dynamicQuestion.question.choiceExplanations)).toHaveLength(5); + expect(dynamicQuestion.question.reviewFollowups.length).toBeGreaterThan(0); + const dynamicChoice = dynamicQuestion.question.choices[0].id; + const { data: dynamicAttempt } = await call("/api/dynamic-questions/attempt", { + method: "POST", token, body: { + generationToken: dynamicQuestion.generationToken, + choiceId: dynamicChoice, + isSkip: false, + durationSeconds: 5 + } + }); + expect(dynamicAttempt.objectiveId).toBeTruthy(); + const { data: queue } = await call("/api/review-queue/next", { method: "POST", token, body: { excludeExternalIds: [], supportsChoicePools: true } }); From 88688d3eb0ed47c19b469982b466e01c29dd69ba Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 14:06:09 -0500 Subject: [PATCH 42/68] Add Steam and Google brand icons to login OAuth buttons Steam uses a theme-aware monochrome glyph (light/dark variants) since the button background flips between navy and white; Google keeps its official 4-color mark, which reads fine on either background. --- assets/icons/brands/google.svg | 6 +++ assets/icons/brands/google.svg.import | 43 ++++++++++++++++++++++ assets/icons/brands/steam-dark.svg | 3 ++ assets/icons/brands/steam-dark.svg.import | 43 ++++++++++++++++++++++ assets/icons/brands/steam-light.svg | 3 ++ assets/icons/brands/steam-light.svg.import | 43 ++++++++++++++++++++++ scripts/ui/login_screen.gd | 7 ++++ 7 files changed, 148 insertions(+) create mode 100644 assets/icons/brands/google.svg create mode 100644 assets/icons/brands/google.svg.import create mode 100644 assets/icons/brands/steam-dark.svg create mode 100644 assets/icons/brands/steam-dark.svg.import create mode 100644 assets/icons/brands/steam-light.svg create mode 100644 assets/icons/brands/steam-light.svg.import diff --git a/assets/icons/brands/google.svg b/assets/icons/brands/google.svg new file mode 100644 index 0000000..64b3094 --- /dev/null +++ b/assets/icons/brands/google.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/icons/brands/google.svg.import b/assets/icons/brands/google.svg.import new file mode 100644 index 0000000..678b412 --- /dev/null +++ b/assets/icons/brands/google.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bc3ttuqtwb8e8" +path="res://.godot/imported/google.svg-96c1802a2f0dcbabfd95c7970a307f34.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/brands/google.svg" +dest_files=["res://.godot/imported/google.svg-96c1802a2f0dcbabfd95c7970a307f34.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/assets/icons/brands/steam-dark.svg b/assets/icons/brands/steam-dark.svg new file mode 100644 index 0000000..675408f --- /dev/null +++ b/assets/icons/brands/steam-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/brands/steam-dark.svg.import b/assets/icons/brands/steam-dark.svg.import new file mode 100644 index 0000000..5b89b35 --- /dev/null +++ b/assets/icons/brands/steam-dark.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5f60sr0rt5tw" +path="res://.godot/imported/steam-dark.svg-0b8589df363e0bd197044b86e8158d1c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/brands/steam-dark.svg" +dest_files=["res://.godot/imported/steam-dark.svg-0b8589df363e0bd197044b86e8158d1c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/assets/icons/brands/steam-light.svg b/assets/icons/brands/steam-light.svg new file mode 100644 index 0000000..0929818 --- /dev/null +++ b/assets/icons/brands/steam-light.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/brands/steam-light.svg.import b/assets/icons/brands/steam-light.svg.import new file mode 100644 index 0000000..50ec463 --- /dev/null +++ b/assets/icons/brands/steam-light.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8sp3ihkkfidy" +path="res://.godot/imported/steam-light.svg-43e1d1f7b2cea83339ab43c99a461f9e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/brands/steam-light.svg" +dest_files=["res://.godot/imported/steam-light.svg-43e1d1f7b2cea83339ab43c99a461f9e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/scripts/ui/login_screen.gd b/scripts/ui/login_screen.gd index d72a3d9..432f99f 100644 --- a/scripts/ui/login_screen.gd +++ b/scripts/ui/login_screen.gd @@ -4,6 +4,9 @@ const Brand := preload("res://scripts/ui/medmind_style.gd") const EndpointConfig := preload("res://scripts/autoload/api_endpoint_config.gd") const AUTH_BASE := "https://us3q.ranaze.com/api/Auth" const EXTERNAL_AUTH_STORAGE_PREFIX := "ranaze_external_auth_url_" +const STEAM_DARK_ICON := preload("res://assets/icons/brands/steam-dark.svg") +const STEAM_LIGHT_ICON := preload("res://assets/icons/brands/steam-light.svg") +const GOOGLE_ICON := preload("res://assets/icons/brands/google.svg") var main: Control var auth_base_url := AUTH_BASE @@ -258,6 +261,8 @@ func _build_login_view() -> VBoxContainer: for provider in [["steam", "Steam"], ["google", "Google"]]: var external := Button.new() external.text = "Sign in with %s" % provider[1] + external.icon = GOOGLE_ICON if provider[0] == "google" else STEAM_LIGHT_ICON + external.add_theme_constant_override("icon_max_width", 20) external.custom_minimum_size = Vector2(0, 68) external.visible = false external.pressed.connect(_start_external.bind(str(provider[0]), str(provider[1]))) @@ -550,6 +555,8 @@ func _apply_theme() -> void: if not button.text.begins_with("Sign in with "): button.add_theme_stylebox_override("normal", Brand.gradient_button_box()) button.add_theme_color_override("font_color", Color.WHITE) + if external_buttons.has("steam"): + (external_buttons["steam"] as Button).icon = STEAM_DARK_ICON if dark else STEAM_LIGHT_ICON var theme_normal := StyleBoxFlat.new() theme_normal.bg_color = Color("111b30") if dark else Brand.LIGHT_SURFACE theme_normal.border_color = Color("33415d") if dark else Brand.LIGHT_BORDER From 4a4bed2ac5efe2dc0d714f4161b9272a77740871 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 14:26:26 -0500 Subject: [PATCH 43/68] Add missing lucide/link.svg icon The connected-accounts "Connect" button in progress_profile.gd referenced res://assets/icons/lucide/link.svg, which didn't exist, causing a resource-load error whenever the Steam/Google linking row rendered. --- assets/icons/lucide/link.svg | 14 ++++++++++ assets/icons/lucide/link.svg.import | 43 +++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 assets/icons/lucide/link.svg create mode 100644 assets/icons/lucide/link.svg.import diff --git a/assets/icons/lucide/link.svg b/assets/icons/lucide/link.svg new file mode 100644 index 0000000..f6b9fed --- /dev/null +++ b/assets/icons/lucide/link.svg @@ -0,0 +1,14 @@ + + + + diff --git a/assets/icons/lucide/link.svg.import b/assets/icons/lucide/link.svg.import new file mode 100644 index 0000000..7133b18 --- /dev/null +++ b/assets/icons/lucide/link.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bndvpquam5yd7" +path="res://.godot/imported/link.svg-0a6581aa8302c8c4308f0bb54259bf1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/lucide/link.svg" +dest_files=["res://.godot/imported/link.svg-0a6581aa8302c8c4308f0bb54259bf1e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false From 48f404518f2106563dff358c7fcbd9a4bcc39a5d Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 14:30:48 -0500 Subject: [PATCH 44/68] Fix GDScript editor warnings (shadowed vars, unused param, integer division) Renames locals/params that shadowed base-class properties (Node.name, Control.size, BoxContainer.alignment), prefixes an intentionally-unused parameter, and annotates a deliberate integer division so the console stays clean during development. --- scripts/autoload/flashcard_service.gd | 4 ++-- scripts/ui/ccs_player.gd | 11 ++++++----- scripts/ui/flashcard_prefill_dialog.gd | 2 +- scripts/ui/flashcards_study.gd | 6 +++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/scripts/autoload/flashcard_service.gd b/scripts/autoload/flashcard_service.gd index 005db90..4686199 100644 --- a/scripts/autoload/flashcard_service.gd +++ b/scripts/autoload/flashcard_service.gd @@ -237,8 +237,8 @@ func fetch_counts() -> void: _enqueue_json("GET", "/counts", "", func(parsed): counts_changed.emit(parsed if typeof(parsed) == TYPE_DICTIONARY else {}), "counts") -func create_deck(name: String, description: String) -> void: - _enqueue_json("POST", "/decks", JSON.stringify({"name": name, "description": description}), +func create_deck(deck_name: String, description: String) -> void: + _enqueue_json("POST", "/decks", JSON.stringify({"name": deck_name, "description": description}), func(_parsed): fetch_decks(), "decks") diff --git a/scripts/ui/ccs_player.gd b/scripts/ui/ccs_player.gd index 2c025b3..7015e93 100644 --- a/scripts/ui/ccs_player.gd +++ b/scripts/ui/ccs_player.gd @@ -296,9 +296,9 @@ func _build_footer() -> void: add_child(status) -func _footer_label(alignment: HorizontalAlignment) -> Label: +func _footer_label(h_align: HorizontalAlignment) -> Label: var label := Label.new() - label.horizontal_alignment = alignment + label.horizontal_alignment = h_align label.size_flags_horizontal = Control.SIZE_EXPAND_FILL label.add_theme_font_size_override("font_size", 14) Brand.apply_font(label) @@ -912,6 +912,7 @@ func _simulated_time_text(minute: int, include_day: bool = true) -> String: func _elapsed_simulated_text(minutes: int) -> String: + @warning_ignore("integer_division") return "%d Days %02d Hrs %02d Mins" % [minutes / 1440, (minutes % 1440) / 60, minutes % 60] @@ -980,9 +981,9 @@ func _zoom(delta: float) -> void: func _apply_text_scale() -> void: for label in clinical_labels: - var size := maxi(12, int(round(float(label.get_meta("ccs_base_font_size", 16)) * CCSService.text_scale))) - label.add_theme_font_size_override("normal_font_size", size) - label.add_theme_font_size_override("bold_font_size", size) + var font_size := maxi(12, int(round(float(label.get_meta("ccs_base_font_size", 16)) * CCSService.text_scale))) + label.add_theme_font_size_override("normal_font_size", font_size) + label.add_theme_font_size_override("bold_font_size", font_size) func _report() -> void: diff --git a/scripts/ui/flashcard_prefill_dialog.gd b/scripts/ui/flashcard_prefill_dialog.gd index d2ca0a1..c873bbb 100644 --- a/scripts/ui/flashcard_prefill_dialog.gd +++ b/scripts/ui/flashcard_prefill_dialog.gd @@ -99,7 +99,7 @@ func _field_label(text: String) -> Label: return label -func open_for_question(question: Dictionary, current_answer: Dictionary) -> void: +func open_for_question(question: Dictionary, _current_answer: Dictionary) -> void: var stem := str(question.get("stem", "")).strip_edges() var lead_in := str(question.get("lead_in", "")).strip_edges() front_input.text = "%s\n\n%s" % [stem, lead_in] if not lead_in.is_empty() else stem diff --git a/scripts/ui/flashcards_study.gd b/scripts/ui/flashcards_study.gd index c135cb7..65988cd 100644 --- a/scripts/ui/flashcards_study.gd +++ b/scripts/ui/flashcards_study.gd @@ -597,7 +597,7 @@ func _refresh_deck_panel() -> void: if deck_ring == null: return var dark := UIThemeService.is_dark_mode() - var name := "All decks" + var deck_name := "All decks" var total := 0 var mastered := 0 var is_system := false @@ -609,12 +609,12 @@ func _refresh_deck_panel() -> void: for summary in decks: var deck: Dictionary = summary.get("deck", {}) if str(deck.get("id", "")) == deck_id: - name = str(deck.get("name", "Deck")) + deck_name = str(deck.get("name", "Deck")) total = int(summary.get("total", 0)) mastered = int(summary.get("mastered", 0)) is_system = bool(deck.get("isSystem", false)) break - deck_name_label.text = name + deck_name_label.text = deck_name deck_system_badge.visible = is_system var fraction := float(mastered) / float(total) if total > 0 else 0.0 deck_ring.configure(fraction, "%d%%" % roundi(fraction * 100.0), "Mastery", Brand.ROYAL_BLUE, dark) From 332da7c18172e722b9c19b3c22c15aa49ce9a010 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 15:13:56 -0500 Subject: [PATCH 45/68] Fix stale-node crash in UI sound auto-wiring node_added already fires once per node as it enters the tree (including every descendant of a newly-added subtree), so the recursive call_deferred in _on_node_added was redundant and held a raw Node reference across a frame boundary. If that node got freed before the deferred call fired (e.g. a container torn down and rebuilt the same frame), the engine's message queue couldn't marshal the argument and threw "Cannot convert argument 1 from Object to Object". Wiring synchronously removes the window entirely. Also silences the intentional integer division in _duration_text, matching the same annotation already applied to _elapsed_simulated_text. --- scripts/autoload/ui_sound_service.gd | 3 ++- scripts/ui/ccs_player.gd | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/autoload/ui_sound_service.gd b/scripts/autoload/ui_sound_service.gd index 49dca3c..21b2ce9 100644 --- a/scripts/autoload/ui_sound_service.gd +++ b/scripts/autoload/ui_sound_service.gd @@ -88,7 +88,8 @@ func _next_available_player() -> AudioStreamPlayer: func _on_node_added(node: Node) -> void: - call_deferred("_wire_node", node) + if node is Button: + _wire_button(node) func _wire_existing_buttons() -> void: diff --git a/scripts/ui/ccs_player.gd b/scripts/ui/ccs_player.gd index 7015e93..fc760a2 100644 --- a/scripts/ui/ccs_player.gd +++ b/scripts/ui/ccs_player.gd @@ -917,6 +917,7 @@ func _elapsed_simulated_text(minutes: int) -> String: func _duration_text(seconds: int) -> String: + @warning_ignore("integer_division") return "%02d:%02d" % [seconds / 60, seconds % 60] From b1b83dae05291a683859ec87f1b4c112d5d299ca Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 15:25:06 -0500 Subject: [PATCH 46/68] Fix dynamic mastery first-attempt upsert --- api/QuestionsApi/Services/DynamicQuestionStore.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/api/QuestionsApi/Services/DynamicQuestionStore.cs b/api/QuestionsApi/Services/DynamicQuestionStore.cs index cc4dd3b..42499f6 100644 --- a/api/QuestionsApi/Services/DynamicQuestionStore.cs +++ b/api/QuestionsApi/Services/DynamicQuestionStore.cs @@ -79,8 +79,6 @@ public sealed class DynamicQuestionStore var update = Builders.Update .SetOnInsert(value => value.UserId, claims.UserId) .SetOnInsert(value => value.ObjectiveId, claims.ObjectiveId) - .SetOnInsert(value => value.Attempts, 0) - .SetOnInsert(value => value.Correct, 0) .Set(value => value.Elo, oldElo + delta) .Inc(value => value.Attempts, 1) .Inc(value => value.Correct, isCorrect ? 1 : 0) From 5b5741de37bb3cad8a4b9a2c299a81850a46d6e0 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 15:54:28 -0500 Subject: [PATCH 47/68] Show selection percentages on unselected distractors during review Previously only the correct choice and any choice the student actually selected got a percentage badge once reviewing; never-selected distractors were left blank. Now every choice shows its selection percentage as soon as the question is answered, matching the earlier change that made unselected distractors render red like the rest of the review UI. --- scripts/ui/question_player.gd | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/scripts/ui/question_player.gd b/scripts/ui/question_player.gd index 6e0f183..ea3f578 100644 --- a/scripts/ui/question_player.gd +++ b/scripts/ui/question_player.gd @@ -3098,7 +3098,8 @@ func _set_choice_button_text(index: int, choice: Dictionary) -> void: choice_badges[index].text = display_label _set_choice_percent_label(index, "") _set_choice_top_label(index, "") - if locked_wrong_choice_ids.has(choice_id) or _should_show_correct_choice_percentage(choice_id): + var reviewing := pending_correct_advance or not current_answer.is_empty() + if locked_wrong_choice_ids.has(choice_id) or reviewing: var percentage := _get_choice_selection_percentage(choice_id) if percentage >= 0: _set_choice_percent_label(index, "%d%%" % percentage) @@ -3188,11 +3189,6 @@ func _get_choice_selection_percentage(choice_id: String) -> int: return clamp(int(percentages.get(choice_id, -1)), 0, 100) -func _should_show_correct_choice_percentage(choice_id: String) -> bool: - var question := BlockSessionService.get_current_question() - return choice_id == str(question.get("correct_choice_id", "")) and (pending_correct_advance or not current_answer.is_empty()) - - func _apply_correct_answer_preview() -> void: var question := BlockSessionService.get_current_question() var correct_id := str(question.get("correct_choice_id", "")) From fae38d2deda411fe9f0c13e43efbfb860ed2c767 Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 16:18:44 -0500 Subject: [PATCH 48/68] Adapt dynamic question difficulty to learner Elo --- .../DynamicQuestionTests.cs | 65 ++++++++++ .../Models/DynamicQuestionModels.cs | 30 +++++ .../Services/DynamicBlueprintCommand.cs | 1 + .../Services/DynamicBlueprintResolver.cs | 61 +++++++++ .../Services/DynamicDifficultyPolicy.cs | 69 +++++++++++ .../Services/DynamicQuestionGenerator.cs | 40 +++++- .../Services/DynamicQuestionService.cs | 55 ++++++--- .../Services/DynamicQuestionStore.cs | 116 ++++++++++++++++-- .../Services/DynamicReviewExportCommand.cs | 1 + .../Services/QuestionReportStore.cs | 5 +- api/QuestionsApi/Services/ServiceMetrics.cs | 29 +++++ content/dynamic_questions/adaptive-v3.json | 72 +++++++++++ docs/dynamic-question-quality.md | 8 ++ 13 files changed, 519 insertions(+), 33 deletions(-) create mode 100644 api/QuestionsApi/Services/DynamicBlueprintResolver.cs create mode 100644 api/QuestionsApi/Services/DynamicDifficultyPolicy.cs create mode 100644 content/dynamic_questions/adaptive-v3.json diff --git a/api/QuestionsApi.Tests/DynamicQuestionTests.cs b/api/QuestionsApi.Tests/DynamicQuestionTests.cs index 738d48d..107c66d 100644 --- a/api/QuestionsApi.Tests/DynamicQuestionTests.cs +++ b/api/QuestionsApi.Tests/DynamicQuestionTests.cs @@ -80,6 +80,71 @@ public sealed class DynamicQuestionTests Assert.Equal(first.Choices.Select(value => value.Id), regenerated.Choices.Select(value => value.Id)); } + [Fact] + public void DifficultyPolicy_BlendsThenSpecializes_AndTargetsSixtyPercent() + { + Assert.Equal(1200, DynamicDifficultyPolicy.EffectiveAbility(1100, 1300, null)); + var early = new DynamicObjectiveMastery { Elo = 1500, Attempts = 1 }; + var established = new DynamicObjectiveMastery { Elo = 1500, Attempts = 10 }; + Assert.Equal(1224, DynamicDifficultyPolicy.EffectiveAbility(1100, 1300, early)); + Assert.Equal(1440, DynamicDifficultyPolicy.EffectiveAbility(1100, 1300, established)); + Assert.Equal(1370, DynamicDifficultyPolicy.TargetFamilyElo(1440)); + } + + [Fact] + public void DifficultyPolicy_SelectsClosestNonrecentFamily() + { + var families = new List + { + new() { Id = "foundation", DifficultyTier = "foundation", NominalElo = 850 }, + new() { Id = "standard", DifficultyTier = "standard", NominalElo = 1050 }, + new() { Id = "advanced-a", DifficultyTier = "advanced", NominalElo = 1250 }, + new() { Id = "advanced-b", DifficultyTier = "advanced", NominalElo = 1250 }, + new() { Id = "expert", DifficultyTier = "expert", NominalElo = 1450 } + }; + var selected = DynamicDifficultyPolicy.SelectFamily( + families, new Dictionary(), 1260, + new HashSet { "advanced-a" }, 0); + Assert.Equal("advanced-b", selected.Id); + } + + [Fact] + public void DifficultyPolicy_RatingsMoveInOppositeDirections() + { + Assert.True(DynamicDifficultyPolicy.LearnerDelta(1000, 1050, true, 0) > 0); + Assert.True(DynamicDifficultyPolicy.FamilyDelta(1000, 1050, true, 0) < 0); + Assert.True(DynamicDifficultyPolicy.LearnerDelta(1000, 1050, false, 0) < 0); + Assert.True(DynamicDifficultyPolicy.FamilyDelta(1000, 1050, false, 0) > 0); + Assert.Equal(600, DynamicDifficultyPolicy.Clamp(-100)); + Assert.Equal(1800, DynamicDifficultyPolicy.Clamp(5000)); + } + + [Fact] + public void AdaptiveContent_ResolvesToFourCompleteTiers() + { + var options = new System.Text.Json.JsonSerializerOptions(System.Text.Json.JsonSerializerDefaults.Web) + { PropertyNameCaseInsensitive = true }; + var root = Path.GetFullPath(Path.Combine( + AppContext.BaseDirectory, "..", "..", "..", "..", "..", "content", "dynamic_questions")); + var source = Directory.EnumerateFiles(root, "*.json") + .SelectMany(file => System.Text.Json.JsonSerializer.Deserialize>( + File.ReadAllText(file), options) ?? []) + .ToList(); + var adaptive = DynamicBlueprintResolver.ResolveAll(source) + .Where(value => value.QualityStandardVersion >= 3).ToList(); + + Assert.Equal(5, adaptive.Count); + Assert.All(adaptive, blueprint => + { + Assert.Equal(8, blueprint.CaseFamilies.Count); + Assert.All(DynamicDifficultyPolicy.TierElos.Keys, tier => + Assert.Equal(2, blueprint.CaseFamilies.Count(value => value.DifficultyTier == tier))); + Assert.All(blueprint.CaseFamilies, family => + Assert.False(family.StemTemplate.EndsWith(family.LeadIn, StringComparison.Ordinal))); + Assert.Null(DynamicQuestionGenerator.Validate(blueprint)); + }); + } + private static DynamicQuestionBlueprint Blueprint() => new() { ExternalId = "test", diff --git a/api/QuestionsApi/Models/DynamicQuestionModels.cs b/api/QuestionsApi/Models/DynamicQuestionModels.cs index 62fdb93..899afdb 100644 --- a/api/QuestionsApi/Models/DynamicQuestionModels.cs +++ b/api/QuestionsApi/Models/DynamicQuestionModels.cs @@ -19,6 +19,7 @@ public sealed class DynamicQuestionBlueprint public int Difficulty { get; set; } = 3; public int QualityStandardVersion { get; set; } = 1; public string CorrectConceptId { get; set; } = ""; + public int BaseBlueprintVersion { get; set; } public bool IsPublished { get; set; } = true; public string StemTemplate { get; set; } = ""; public string LeadIn { get; set; } = ""; @@ -41,6 +42,9 @@ public sealed class DynamicQuestionBlueprint public sealed class DynamicCaseFamily { public string Id { get; set; } = ""; + public string BaseFamilyId { get; set; } = ""; + public string DifficultyTier { get; set; } = "standard"; + public int NominalElo { get; set; } = 1050; public string StemTemplate { get; set; } = ""; public string LeadIn { get; set; } = ""; public Dictionary Variables { get; set; } = []; @@ -123,6 +127,9 @@ public sealed class DynamicGenerationClaims public string Nonce { get; set; } = ""; public int GeneratorVersion { get; set; } = 1; public string CaseFamilyId { get; set; } = ""; + public string DifficultyTier { get; set; } = ""; + public int EffectiveAbilityElo { get; set; } + public int FamilyElo { get; set; } public DateTime ExpiresUtc { get; set; } } @@ -204,6 +211,10 @@ public sealed class DynamicQuestionAttempt public string BlueprintExternalId { get; set; } = ""; public int BlueprintVersion { get; set; } public string ObjectiveId { get; set; } = ""; + public string CaseFamilyId { get; set; } = ""; + public string DifficultyTier { get; set; } = ""; + public int EffectiveAbilityElo { get; set; } + public int FamilyElo { get; set; } public string ChoiceId { get; set; } = ""; public bool IsCorrect { get; set; } public bool IsSkip { get; set; } @@ -224,6 +235,22 @@ public sealed class DynamicObjectiveMastery public DateTime LastSeenUtc { get; set; } } +public sealed class DynamicFamilyRating +{ + [BsonId] + [BsonRepresentation(BsonType.ObjectId)] + public string? Id { get; set; } + public string BlueprintExternalId { get; set; } = ""; + public int BlueprintVersion { get; set; } + public string CaseFamilyId { get; set; } = ""; + public string DifficultyTier { get; set; } = ""; + public int NominalElo { get; set; } + public int Elo { get; set; } + public int Attempts { get; set; } + public int Correct { get; set; } + public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; +} + public sealed class DynamicGenerationDescriptor { public string BlueprintExternalId { get; set; } = ""; @@ -231,4 +258,7 @@ public sealed class DynamicGenerationDescriptor public int GeneratorVersion { get; set; } public string Seed { get; set; } = ""; public string CaseFamilyId { get; set; } = ""; + public string DifficultyTier { get; set; } = ""; + public int FamilyElo { get; set; } + public int EffectiveAbilityElo { get; set; } } diff --git a/api/QuestionsApi/Services/DynamicBlueprintCommand.cs b/api/QuestionsApi/Services/DynamicBlueprintCommand.cs index 1729ec1..d68fdac 100644 --- a/api/QuestionsApi/Services/DynamicBlueprintCommand.cs +++ b/api/QuestionsApi/Services/DynamicBlueprintCommand.cs @@ -22,6 +22,7 @@ public static class DynamicBlueprintCommand var blueprints = new List(); foreach (var file in Directory.EnumerateFiles(source, "*.json", SearchOption.AllDirectories)) blueprints.AddRange(JsonSerializer.Deserialize>(await File.ReadAllTextAsync(file), json) ?? []); + blueprints = DynamicBlueprintResolver.ResolveAll(blueprints); var generator = new DynamicQuestionGenerator(); var generatedVariants = 0; diff --git a/api/QuestionsApi/Services/DynamicBlueprintResolver.cs b/api/QuestionsApi/Services/DynamicBlueprintResolver.cs new file mode 100644 index 0000000..e9a1410 --- /dev/null +++ b/api/QuestionsApi/Services/DynamicBlueprintResolver.cs @@ -0,0 +1,61 @@ +using QuestionsApi.Models; +using System.Text.Json; + +namespace QuestionsApi.Services; + +public static class DynamicBlueprintResolver +{ + private static readonly JsonSerializerOptions Json = new(JsonSerializerDefaults.Web); + + public static List ResolveAll(IEnumerable source) + { + var all = source.ToList(); + var resolved = new List(); + foreach (var blueprint in all.OrderBy(value => value.Version)) + { + if (blueprint.BaseBlueprintVersion <= 0) + { + resolved.Add(blueprint); + continue; + } + var baseBlueprint = resolved.FirstOrDefault(value => + value.ExternalId == blueprint.ExternalId + && value.Version == blueprint.BaseBlueprintVersion) + ?? throw new InvalidDataException( + $"{blueprint.ExternalId} v{blueprint.Version} base version {blueprint.BaseBlueprintVersion} not found"); + var materialized = Clone(baseBlueprint); + materialized.Id = null; + materialized.Version = blueprint.Version; + materialized.BaseBlueprintVersion = blueprint.BaseBlueprintVersion; + materialized.QualityStandardVersion = blueprint.QualityStandardVersion; + materialized.IsPublished = blueprint.IsPublished; + materialized.CaseFamilies = blueprint.CaseFamilies.Select(overlay => + { + var baseFamily = baseBlueprint.CaseFamilies.FirstOrDefault(value => value.Id == overlay.BaseFamilyId) + ?? throw new InvalidDataException( + $"{blueprint.ExternalId} v{blueprint.Version} base family {overlay.BaseFamilyId} not found"); + var family = Clone(baseFamily); + family.Id = overlay.Id; + family.BaseFamilyId = overlay.BaseFamilyId; + family.DifficultyTier = overlay.DifficultyTier; + family.NominalElo = overlay.NominalElo; + if (!string.IsNullOrWhiteSpace(family.LeadIn) + && family.StemTemplate.EndsWith(family.LeadIn, StringComparison.Ordinal)) + family.StemTemplate = family.StemTemplate[..^family.LeadIn.Length].TrimEnd(); + if (!string.IsNullOrWhiteSpace(overlay.StemTemplate)) + family.StemTemplate = $"{family.StemTemplate} {overlay.StemTemplate}".Trim(); + if (!string.IsNullOrWhiteSpace(overlay.LeadIn)) + family.LeadIn = overlay.LeadIn; + if (overlay.Distractors.Count > 0) + family.Distractors = overlay.Distractors; + return family; + }).ToList(); + resolved.Add(materialized); + } + return resolved; + } + + private static T Clone(T value) => + JsonSerializer.Deserialize(JsonSerializer.Serialize(value, Json), Json) + ?? throw new InvalidOperationException("Blueprint clone failed."); +} diff --git a/api/QuestionsApi/Services/DynamicDifficultyPolicy.cs b/api/QuestionsApi/Services/DynamicDifficultyPolicy.cs new file mode 100644 index 0000000..0cd2b91 --- /dev/null +++ b/api/QuestionsApi/Services/DynamicDifficultyPolicy.cs @@ -0,0 +1,69 @@ +using QuestionsApi.Models; + +namespace QuestionsApi.Services; + +public static class DynamicDifficultyPolicy +{ + public const int MinimumElo = 600; + public const int MaximumElo = 1800; + public const int TargetOffset = 70; + public static readonly IReadOnlyDictionary TierElos = + new Dictionary(StringComparer.Ordinal) + { + ["foundation"] = 850, + ["standard"] = 1050, + ["advanced"] = 1250, + ["expert"] = 1450 + }; + + public static int EffectiveAbility( + int overallElo, + int categoryElo, + DynamicObjectiveMastery? objective) + { + var bankAbility = (int)Math.Round((overallElo + categoryElo) / 2.0); + if (objective is null || objective.Attempts <= 0) + return Clamp(bankAbility); + var objectiveWeight = Math.Min(0.8, objective.Attempts * 0.08); + return Clamp((int)Math.Round(bankAbility * (1.0 - objectiveWeight) + objective.Elo * objectiveWeight)); + } + + public static int TargetFamilyElo(int effectiveAbility) => Clamp(effectiveAbility - TargetOffset); + + public static double ExpectedScore(int playerElo, int familyElo) => + 1.0 / (1.0 + Math.Pow(10, (familyElo - playerElo) / 400.0)); + + public static int LearnerDelta(int playerElo, int familyElo, bool correct, int attempts) => + (int)Math.Round((attempts < 5 ? 40 : 24) + * ((correct ? 1.0 : 0.0) - ExpectedScore(playerElo, familyElo))); + + public static int FamilyDelta(int playerElo, int familyElo, bool correct, int attempts) => + (int)Math.Round((attempts < 20 ? 32 : 24) + * (ExpectedScore(playerElo, familyElo) - (correct ? 1.0 : 0.0))); + + public static DynamicCaseFamily SelectFamily( + IReadOnlyList families, + IReadOnlyDictionary ratings, + int targetElo, + ISet recentFamilyIds, + int tieBreaker) + { + if (families.Count == 0) throw new InvalidOperationException("No case families are available."); + var eligible = families.Where(value => !recentFamilyIds.Contains(value.Id)).ToList(); + if (eligible.Count == 0) eligible = families.ToList(); + var ranked = eligible + .Select(value => new + { + Family = value, + Elo = ratings.TryGetValue(value.Id, out var rating) ? rating.Elo : value.NominalElo + }) + .OrderBy(value => Math.Abs(value.Elo - targetElo)) + .ThenBy(value => value.Family.Id, StringComparer.Ordinal) + .ToList(); + var bestDistance = Math.Abs(ranked[0].Elo - targetElo); + var tied = ranked.Where(value => Math.Abs(value.Elo - targetElo) == bestDistance).ToList(); + return tied[Math.Abs(tieBreaker) % tied.Count].Family; + } + + public static int Clamp(int elo) => Math.Clamp(elo, MinimumElo, MaximumElo); +} diff --git a/api/QuestionsApi/Services/DynamicQuestionGenerator.cs b/api/QuestionsApi/Services/DynamicQuestionGenerator.cs index f90636a..26199c0 100644 --- a/api/QuestionsApi/Services/DynamicQuestionGenerator.cs +++ b/api/QuestionsApi/Services/DynamicQuestionGenerator.cs @@ -11,9 +11,14 @@ public sealed class DynamicQuestionGenerator public const int CurrentVersion = 2; private static readonly Regex Placeholder = new(@"\{\{([a-zA-Z0-9_]+)\}\}", RegexOptions.Compiled); - public DynamicGeneratedQuestion Generate(DynamicQuestionBlueprint blueprint, string seed, string nonce, int generatorVersion = CurrentVersion) + public DynamicGeneratedQuestion Generate( + DynamicQuestionBlueprint blueprint, + string seed, + string nonce, + int generatorVersion = CurrentVersion, + string caseFamilyId = "") => blueprint.QualityStandardVersion >= 2 - ? GenerateV2(blueprint, seed, nonce) + ? GenerateV2(blueprint, seed, nonce, caseFamilyId) : GenerateLegacy(blueprint, seed, nonce, generatorVersion); private DynamicGeneratedQuestion GenerateLegacy(DynamicQuestionBlueprint blueprint, string seed, string nonce, int generatorVersion) @@ -117,13 +122,16 @@ public sealed class DynamicQuestionGenerator return new DynamicGeneratedQuestion { Question = question, Blueprint = blueprint }; } - private DynamicGeneratedQuestion GenerateV2(DynamicQuestionBlueprint blueprint, string seed, string nonce) + private DynamicGeneratedQuestion GenerateV2(DynamicQuestionBlueprint blueprint, string seed, string nonce, string caseFamilyId) { if (blueprint.CaseFamilies.Count == 0) throw new InvalidOperationException("quality-standard-2 blueprints require case families"); var draw = new DeterministicDraw($"{blueprint.ExternalId}|{blueprint.Version}|{CurrentVersion}|{seed}"); - var family = blueprint.CaseFamilies.OrderBy(value => value.Id, StringComparer.Ordinal) - .ElementAt(draw.Next(blueprint.CaseFamilies.Count)); + var orderedFamilies = blueprint.CaseFamilies.OrderBy(value => value.Id, StringComparer.Ordinal).ToList(); + var family = string.IsNullOrWhiteSpace(caseFamilyId) + ? orderedFamilies[draw.Next(orderedFamilies.Count)] + : orderedFamilies.FirstOrDefault(value => value.Id == caseFamilyId) + ?? throw new InvalidOperationException($"case family {caseFamilyId} is unavailable"); var values = new Dictionary(StringComparer.Ordinal); var numbers = new Dictionary(StringComparer.Ordinal); if (family.ValueBundles.Count > 0) @@ -178,7 +186,14 @@ public sealed class DynamicQuestionGenerator Discipline = blueprint.Discipline, System = blueprint.System, PerformanceCategory = blueprint.PerformanceCategory, - Difficulty = blueprint.Difficulty, + Difficulty = family.DifficultyTier switch + { + "foundation" => 1, + "standard" => 2, + "advanced" => 4, + "expert" => 5, + _ => blueprint.Difficulty + }, Labs = family.Labs.Select(lab => new QuestionLab { Name = lab.Name, @@ -327,6 +342,19 @@ public sealed class DynamicQuestionGenerator if (blueprint.References.Count == 0) return "at least one reference required"; if (blueprint.CaseFamilies.Select(value => value.Id).Distinct(StringComparer.Ordinal).Count() != blueprint.CaseFamilies.Count) return "case family ids must be unique"; + if (blueprint.QualityStandardVersion >= 3) + { + foreach (var tier in DynamicDifficultyPolicy.TierElos) + { + var tierFamilies = blueprint.CaseFamilies + .Where(value => value.DifficultyTier == tier.Key).ToList(); + if (tierFamilies.Count < 2) return $"at least two {tier.Key} case families required"; + if (tierFamilies.Any(value => Math.Abs(value.NominalElo - tier.Value) > 100)) + return $"{tier.Key} nominal Elo must be within 100 points of {tier.Value}"; + } + if (blueprint.CaseFamilies.Any(value => !DynamicDifficultyPolicy.TierElos.ContainsKey(value.DifficultyTier))) + return "difficultyTier must be foundation, standard, advanced, or expert"; + } foreach (var family in blueprint.CaseFamilies) { if (string.IsNullOrWhiteSpace(family.Id)) return "case family id required"; diff --git a/api/QuestionsApi/Services/DynamicQuestionService.cs b/api/QuestionsApi/Services/DynamicQuestionService.cs index 782186d..9b69f88 100644 --- a/api/QuestionsApi/Services/DynamicQuestionService.cs +++ b/api/QuestionsApi/Services/DynamicQuestionService.cs @@ -8,15 +8,21 @@ public sealed class DynamicQuestionService private readonly DynamicQuestionStore _store; private readonly DynamicQuestionGenerator _generator; private readonly DynamicQuestionTokenService _tokens; + private readonly RatingStore _ratings; + private readonly ServiceMetrics _metrics; public DynamicQuestionService( DynamicQuestionStore store, DynamicQuestionGenerator generator, - DynamicQuestionTokenService tokens) + DynamicQuestionTokenService tokens, + RatingStore ratings, + ServiceMetrics metrics) { _store = store; _generator = generator; _tokens = tokens; + _ratings = ratings; + _metrics = metrics; } public Task StatusAsync(string userId) => _store.StatusAsync(userId); @@ -53,6 +59,30 @@ public sealed class DynamicQuestionService var blueprint = selectedObjective .OrderByDescending(value => value.Version) .First(); + var ratingProfile = await _ratings.GetProfileAsync(userId); + mastery.TryGetValue(blueprint.ObjectiveId, out var objectiveMastery); + var category = RatingCategory.Normalize( + blueprint.PerformanceCategory, blueprint.System, blueprint.Discipline); + var categoryElo = ratingProfile.CategoryElos.GetValueOrDefault(category, ratingProfile.OverallElo); + var effectiveAbility = DynamicDifficultyPolicy.EffectiveAbility( + ratingProfile.OverallElo, categoryElo, objectiveMastery); + var targetElo = DynamicDifficultyPolicy.TargetFamilyElo(effectiveAbility); + var familyRatings = await _store.FamilyRatingsAsync(blueprint); + var blueprintFamilyIds = blueprint.CaseFamilies.Select(value => value.Id).ToHashSet(StringComparer.Ordinal); + var recentForObjective = run.RecentCaseFamilyIds + .Where(blueprintFamilyIds.Contains) + .TakeLast(Math.Max(1, blueprint.CaseFamilies.Count / 4)) + .ToHashSet(StringComparer.Ordinal); + var selectedFamily = DynamicDifficultyPolicy.SelectFamily( + blueprint.CaseFamilies, + familyRatings, + targetElo, + recentForObjective, + RandomNumberGenerator.GetInt32(int.MaxValue)); + var selectedFamilyElo = familyRatings.TryGetValue(selectedFamily.Id, out var selectedRating) + ? selectedRating.Elo + : selectedFamily.NominalElo; + _metrics.DynamicSelected(selectedFamily.DifficultyTier, selectedFamilyElo - targetElo); var claims = new DynamicGenerationClaims { @@ -63,20 +93,14 @@ public sealed class DynamicQuestionService Seed = Convert.ToHexString(RandomNumberGenerator.GetBytes(16)).ToLowerInvariant(), Nonce = Guid.NewGuid().ToString("N"), GeneratorVersion = DynamicQuestionGenerator.CurrentVersion, + CaseFamilyId = selectedFamily.Id, + DifficultyTier = selectedFamily.DifficultyTier, + EffectiveAbilityElo = effectiveAbility, + FamilyElo = selectedFamilyElo, ExpiresUtc = DateTime.UtcNow.AddDays(7) }; - var generated = _generator.Generate(blueprint, claims.Seed, claims.Nonce, claims.GeneratorVersion); - var familyIds = blueprint.CaseFamilies.Select(value => value.Id).ToHashSet(StringComparer.Ordinal); - var recentForObjective = run.RecentCaseFamilyIds - .Where(familyIds.Contains) - .TakeLast(Math.Max(1, blueprint.CaseFamilies.Count - 1)) - .ToHashSet(StringComparer.Ordinal); - for (var retry = 0; retry < 20 && recentForObjective.Contains(generated.CaseFamilyId); retry++) - { - claims.Seed = Convert.ToHexString(RandomNumberGenerator.GetBytes(16)).ToLowerInvariant(); - generated = _generator.Generate(blueprint, claims.Seed, claims.Nonce); - } - claims.CaseFamilyId = generated.CaseFamilyId; + var generated = _generator.Generate( + blueprint, claims.Seed, claims.Nonce, claims.GeneratorVersion, claims.CaseFamilyId); run.SeenObjectiveIds.Add(blueprint.ObjectiveId); run.PreviousObjectiveId = blueprint.ObjectiveId; run.RecentCaseFamilyIds.Add(generated.CaseFamilyId); @@ -84,7 +108,7 @@ public sealed class DynamicQuestionService run.ExpiresUtc = DateTime.UtcNow.AddDays(7); return new DynamicQuestionEnvelope { - Question = QuestionResponse.FromModel(generated.Question), + Question = QuestionResponse.FromModel(generated.Question, questionElo: selectedFamilyElo), ObjectiveId = blueprint.ObjectiveId, ObjectiveTitle = blueprint.Title, GenerationToken = _tokens.SignGeneration(claims), @@ -109,7 +133,8 @@ public sealed class DynamicQuestionService throw new InvalidOperationException("This generated question version is no longer supported."); var blueprint = await _store.GetAsync(claims.BlueprintExternalId, claims.BlueprintVersion) ?? throw new KeyNotFoundException("The question blueprint is no longer available."); - var generated = _generator.Generate(blueprint, claims.Seed, claims.Nonce, claims.GeneratorVersion); + var generated = _generator.Generate( + blueprint, claims.Seed, claims.Nonce, claims.GeneratorVersion, claims.CaseFamilyId); if (!string.IsNullOrWhiteSpace(claims.CaseFamilyId) && claims.CaseFamilyId != generated.CaseFamilyId) throw new InvalidOperationException("Generated case family does not match its signed descriptor."); diff --git a/api/QuestionsApi/Services/DynamicQuestionStore.cs b/api/QuestionsApi/Services/DynamicQuestionStore.cs index 42499f6..50e7779 100644 --- a/api/QuestionsApi/Services/DynamicQuestionStore.cs +++ b/api/QuestionsApi/Services/DynamicQuestionStore.cs @@ -9,12 +9,16 @@ public sealed class DynamicQuestionStore private readonly IMongoCollection _blueprints; private readonly IMongoCollection _attempts; private readonly IMongoCollection _mastery; + private readonly IMongoCollection _familyRatings; + private readonly ServiceMetrics? _metrics; - public DynamicQuestionStore(MongoDatabaseProvider mongo) + public DynamicQuestionStore(MongoDatabaseProvider mongo, ServiceMetrics? metrics = null) { + _metrics = metrics; _blueprints = mongo.Database.GetCollection("DynamicQuestionBlueprints"); _attempts = mongo.Database.GetCollection("DynamicQuestionAttempts"); _mastery = mongo.Database.GetCollection("DynamicObjectiveMastery"); + _familyRatings = mongo.Database.GetCollection("DynamicFamilyRatings"); _blueprints.Indexes.CreateOne(new CreateIndexModel( Builders.IndexKeys.Ascending(value => value.ExternalId).Ascending(value => value.Version), new CreateIndexOptions { Unique = true })); @@ -24,6 +28,12 @@ public sealed class DynamicQuestionStore _mastery.Indexes.CreateOne(new CreateIndexModel( Builders.IndexKeys.Ascending(value => value.UserId).Ascending(value => value.ObjectiveId), new CreateIndexOptions { Unique = true })); + _familyRatings.Indexes.CreateOne(new CreateIndexModel( + Builders.IndexKeys + .Ascending(value => value.BlueprintExternalId) + .Ascending(value => value.BlueprintVersion) + .Ascending(value => value.CaseFamilyId), + new CreateIndexOptions { Unique = true })); } public async Task> PublishedAsync() => @@ -36,6 +46,14 @@ public sealed class DynamicQuestionStore (await _mastery.Find(value => value.UserId == userId).ToListAsync()) .ToDictionary(value => value.ObjectiveId, StringComparer.Ordinal); + public async Task> FamilyRatingsAsync(DynamicQuestionBlueprint blueprint) + { + var ratings = await _familyRatings.Find(value => + value.BlueprintExternalId == blueprint.ExternalId + && value.BlueprintVersion == blueprint.Version).ToListAsync(); + return ratings.ToDictionary(value => value.CaseFamilyId, StringComparer.Ordinal); + } + public async Task RecordAsync( DynamicGenerationClaims claims, DynamicGeneratedQuestion generated, @@ -49,6 +67,10 @@ public sealed class DynamicQuestionStore BlueprintExternalId = claims.BlueprintExternalId, BlueprintVersion = claims.BlueprintVersion, ObjectiveId = claims.ObjectiveId, + CaseFamilyId = claims.CaseFamilyId, + DifficultyTier = claims.DifficultyTier, + EffectiveAbilityElo = claims.EffectiveAbilityElo, + FamilyElo = claims.FamilyElo, ChoiceId = request.ChoiceId, IsCorrect = isCorrect, IsSkip = request.IsSkip, @@ -68,25 +90,33 @@ public sealed class DynamicQuestionStore ObjectiveElo = existingMastery?.Elo ?? 1000 }; } + _metrics?.DynamicAttempt(claims.DifficultyTier, isCorrect); - var current = await _mastery.Find(value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId).FirstOrDefaultAsync(); - var oldElo = current?.Elo ?? 1000; - var objectiveDifficulty = 800 + Math.Clamp(generated.Blueprint.Difficulty, 1, 5) * 100; - var expected = 1.0 / (1.0 + Math.Pow(10, (objectiveDifficulty - oldElo) / 400.0)); - var k = (current?.Attempts ?? 0) < 5 ? 40 : 24; - var delta = (int)Math.Round(k * ((isCorrect ? 1.0 : 0.0) - expected)); + await EnsureMasteryAsync(claims.UserId, claims.ObjectiveId); + var current = await _mastery.Find(value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId).FirstAsync() + ?? throw new InvalidOperationException("Dynamic objective mastery could not be initialized."); + var oldElo = current.Elo; + var familyElo = claims.FamilyElo > 0 + ? claims.FamilyElo + : 800 + Math.Clamp(generated.Blueprint.Difficulty, 1, 5) * 100; + var delta = DynamicDifficultyPolicy.LearnerDelta(oldElo, familyElo, isCorrect, current.Attempts); var now = DateTime.UtcNow; var update = Builders.Update - .SetOnInsert(value => value.UserId, claims.UserId) - .SetOnInsert(value => value.ObjectiveId, claims.ObjectiveId) - .Set(value => value.Elo, oldElo + delta) + .Inc(value => value.Elo, delta) .Inc(value => value.Attempts, 1) .Inc(value => value.Correct, isCorrect ? 1 : 0) .Set(value => value.LastSeenUtc, now); var updated = await _mastery.FindOneAndUpdateAsync( value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId, update, - new FindOneAndUpdateOptions { IsUpsert = true, ReturnDocument = ReturnDocument.After }); + new FindOneAndUpdateOptions { ReturnDocument = ReturnDocument.After }); + await _mastery.UpdateOneAsync( + value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId, + Builders.Update + .Max(value => value.Elo, DynamicDifficultyPolicy.MinimumElo) + .Min(value => value.Elo, DynamicDifficultyPolicy.MaximumElo)); + if (!string.IsNullOrWhiteSpace(claims.CaseFamilyId)) + await UpdateFamilyRatingAsync(claims, generated, isCorrect); return new DynamicAttemptResponse { Inserted = true, @@ -98,6 +128,70 @@ public sealed class DynamicQuestionStore }; } + private async Task EnsureMasteryAsync(string userId, string objectiveId) + { + try + { + await _mastery.UpdateOneAsync( + value => value.UserId == userId && value.ObjectiveId == objectiveId, + Builders.Update + .SetOnInsert(value => value.UserId, userId) + .SetOnInsert(value => value.ObjectiveId, objectiveId) + .SetOnInsert(value => value.Elo, 1000) + .SetOnInsert(value => value.Attempts, 0) + .SetOnInsert(value => value.Correct, 0), + new UpdateOptions { IsUpsert = true }); + } + catch (MongoWriteException exception) when (exception.WriteError.Category == ServerErrorCategory.DuplicateKey) { } + } + + private async Task UpdateFamilyRatingAsync( + DynamicGenerationClaims claims, + DynamicGeneratedQuestion generated, + bool isCorrect) + { + var family = generated.Blueprint.CaseFamilies.First(value => value.Id == claims.CaseFamilyId); + try + { + await _familyRatings.UpdateOneAsync( + value => value.BlueprintExternalId == claims.BlueprintExternalId + && value.BlueprintVersion == claims.BlueprintVersion + && value.CaseFamilyId == claims.CaseFamilyId, + Builders.Update + .SetOnInsert(value => value.BlueprintExternalId, claims.BlueprintExternalId) + .SetOnInsert(value => value.BlueprintVersion, claims.BlueprintVersion) + .SetOnInsert(value => value.CaseFamilyId, claims.CaseFamilyId) + .SetOnInsert(value => value.DifficultyTier, family.DifficultyTier) + .SetOnInsert(value => value.NominalElo, family.NominalElo) + .SetOnInsert(value => value.Elo, family.NominalElo) + .SetOnInsert(value => value.Attempts, 0) + .SetOnInsert(value => value.Correct, 0), + new UpdateOptions { IsUpsert = true }); + } + catch (MongoWriteException exception) when (exception.WriteError.Category == ServerErrorCategory.DuplicateKey) { } + var current = await _familyRatings.Find(value => + value.BlueprintExternalId == claims.BlueprintExternalId + && value.BlueprintVersion == claims.BlueprintVersion + && value.CaseFamilyId == claims.CaseFamilyId).FirstAsync(); + var delta = DynamicDifficultyPolicy.FamilyDelta( + claims.EffectiveAbilityElo > 0 ? claims.EffectiveAbilityElo : 1000, + claims.FamilyElo > 0 ? claims.FamilyElo : current.Elo, + isCorrect, + current.Attempts); + await _familyRatings.UpdateOneAsync( + value => value.Id == current.Id, + Builders.Update + .Inc(value => value.Elo, delta) + .Inc(value => value.Attempts, 1) + .Inc(value => value.Correct, isCorrect ? 1 : 0) + .Set(value => value.UpdatedUtc, DateTime.UtcNow)); + await _familyRatings.UpdateOneAsync( + value => value.Id == current.Id, + Builders.Update + .Max(value => value.Elo, DynamicDifficultyPolicy.MinimumElo) + .Min(value => value.Elo, DynamicDifficultyPolicy.MaximumElo)); + } + public async Task StatusAsync(string userId) { var objectiveCount = (await PublishedAsync()).Select(value => value.ObjectiveId).Distinct().Count(); diff --git a/api/QuestionsApi/Services/DynamicReviewExportCommand.cs b/api/QuestionsApi/Services/DynamicReviewExportCommand.cs index 48ebe60..fb85faf 100644 --- a/api/QuestionsApi/Services/DynamicReviewExportCommand.cs +++ b/api/QuestionsApi/Services/DynamicReviewExportCommand.cs @@ -26,6 +26,7 @@ public static class DynamicReviewExportCommand foreach (var file in Directory.EnumerateFiles(source, "*.json", SearchOption.AllDirectories)) blueprints.AddRange(JsonSerializer.Deserialize>( await File.ReadAllTextAsync(file), jsonOptions) ?? []); + blueprints = DynamicBlueprintResolver.ResolveAll(blueprints); blueprints = blueprints.Where(value => value.IsPublished && value.QualityStandardVersion >= 2).ToList(); var configuration = new ConfigurationBuilder() diff --git a/api/QuestionsApi/Services/QuestionReportStore.cs b/api/QuestionsApi/Services/QuestionReportStore.cs index 94e4742..1b8b5f4 100644 --- a/api/QuestionsApi/Services/QuestionReportStore.cs +++ b/api/QuestionsApi/Services/QuestionReportStore.cs @@ -100,7 +100,10 @@ public class QuestionReportStore BlueprintVersion = claims.BlueprintVersion, GeneratorVersion = claims.GeneratorVersion, Seed = claims.Seed, - CaseFamilyId = claims.CaseFamilyId + CaseFamilyId = claims.CaseFamilyId, + DifficultyTier = claims.DifficultyTier, + FamilyElo = claims.FamilyElo, + EffectiveAbilityElo = claims.EffectiveAbilityElo }, CreatedUtc = now, UpdatedUtc = now diff --git a/api/QuestionsApi/Services/ServiceMetrics.cs b/api/QuestionsApi/Services/ServiceMetrics.cs index 8270bac..f1365d3 100644 --- a/api/QuestionsApi/Services/ServiceMetrics.cs +++ b/api/QuestionsApi/Services/ServiceMetrics.cs @@ -13,6 +13,10 @@ public sealed class ServiceMetrics private long _httpRequests; private long _httpDurationMicroseconds; private long _answerStatisticsBackfillComplete; + private readonly System.Collections.Concurrent.ConcurrentDictionary _dynamicSelections = new(); + private readonly System.Collections.Concurrent.ConcurrentDictionary _dynamicAttempts = new(); + private readonly System.Collections.Concurrent.ConcurrentDictionary _dynamicCorrect = new(); + private long _dynamicTargetGapTotal; public void AttemptCreated() => Interlocked.Increment(ref _attemptsCreated); public void AttemptDuplicate() => Interlocked.Increment(ref _attemptDuplicates); @@ -29,6 +33,16 @@ public sealed class ServiceMetrics Interlocked.Increment(ref _httpRequests); Interlocked.Add(ref _httpDurationMicroseconds, (long)(duration.TotalMilliseconds * 1000)); } + public void DynamicSelected(string tier, int targetGap) + { + _dynamicSelections.AddOrUpdate(tier, 1, (_, value) => value + 1); + Interlocked.Add(ref _dynamicTargetGapTotal, Math.Abs(targetGap)); + } + public void DynamicAttempt(string tier, bool correct) + { + _dynamicAttempts.AddOrUpdate(tier, 1, (_, value) => value + 1); + if (correct) _dynamicCorrect.AddOrUpdate(tier, 1, (_, value) => value + 1); + } public string RenderPrometheus() { @@ -39,6 +53,16 @@ public sealed class ServiceMetrics AppendCounter(output, "step3_rating_failures_total", Interlocked.Read(ref _ratingFailures)); AppendCounter(output, "step3_answer_reconciliations_total", Interlocked.Read(ref _reconciliations)); AppendCounter(output, "step3_http_requests_total", Interlocked.Read(ref _httpRequests)); + output.AppendLine("# TYPE step3_dynamic_selections_total counter"); + output.AppendLine("# TYPE step3_dynamic_attempts_total counter"); + output.AppendLine("# TYPE step3_dynamic_correct_total counter"); + foreach (var tier in _dynamicSelections.Keys.Order()) + { + AppendLabeledSample(output, "step3_dynamic_selections_total", tier, _dynamicSelections.GetValueOrDefault(tier)); + AppendLabeledSample(output, "step3_dynamic_attempts_total", tier, _dynamicAttempts.GetValueOrDefault(tier)); + AppendLabeledSample(output, "step3_dynamic_correct_total", tier, _dynamicCorrect.GetValueOrDefault(tier)); + } + AppendCounter(output, "step3_dynamic_target_gap_points_total", Interlocked.Read(ref _dynamicTargetGapTotal)); output.AppendLine("# TYPE step3_http_request_duration_seconds summary"); output.Append("step3_http_request_duration_seconds_count ") .Append(Interlocked.Read(ref _httpRequests)) @@ -62,4 +86,9 @@ public sealed class ServiceMetrics output.Append("# TYPE ").Append(name).AppendLine(" counter"); output.Append(name).Append(' ').Append(value).AppendLine(); } + + private static void AppendLabeledSample(StringBuilder output, string name, string tier, long value) + { + output.Append(name).Append("{tier=\"").Append(tier.Replace("\"", "")).Append("\"} ").Append(value).AppendLine(); + } } diff --git a/content/dynamic_questions/adaptive-v3.json b/content/dynamic_questions/adaptive-v3.json new file mode 100644 index 0000000..f5ee1f1 --- /dev/null +++ b/content/dynamic_questions/adaptive-v3.json @@ -0,0 +1,72 @@ +[ + { + "externalId":"dyn-gold-dka","version":3,"baseBlueprintVersion":2, + "qualityStandardVersion":3,"isPublished":true, + "caseFamilies":[ + {"id":"dka-fnd-infection","baseFamilyId":"dka-infection","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"The combination of hyperglycemia, ketonemia, and an anion-gap metabolic acidosis confirms diabetic ketoacidosis."}, + {"id":"dka-fnd-new","baseFamilyId":"dka-new-onset","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"The patient is clinically volume depleted, and there is no evidence of heart or kidney failure."}, + {"id":"dka-std-pump","baseFamilyId":"dka-pump-failure","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"The emergency team prepares simultaneous cardiac monitoring and repeat electrolyte measurements."}, + {"id":"dka-std-infection","baseFamilyId":"dka-infection","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"The urinary infection will require treatment, but the team must first sequence the metabolic resuscitation correctly."}, + {"id":"dka-adv-new","baseFamilyId":"dka-new-onset","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"Although the measured serum potassium is not low, the patient has had substantial urinary potassium losses and has not yet received insulin."}, + {"id":"dka-adv-pump","baseFamilyId":"dka-pump-failure","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"A family member asks whether reconnecting the pump alone will reverse the acute physiology."}, + {"id":"dka-exp-infection","baseFamilyId":"dka-infection","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"The patient received one antibiotic dose at urgent care; this does not explain the persistent shock physiology or alter the immediate metabolic priority."}, + {"id":"dka-exp-pump","baseFamilyId":"dka-pump-failure","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"Point-of-care ultrasound shows a small collapsible inferior vena cava and preserved left ventricular systolic function."} + ] + }, + { + "externalId":"dyn-gold-af","version":3,"baseBlueprintVersion":2, + "qualityStandardVersion":3,"isPublished":true, + "caseFamilies":[ + {"id":"af-fnd-sepsis","baseFamilyId":"af-sepsis","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"The hypotension and confusion began with the rapid rhythm and are attributed to the tachyarrhythmia."}, + {"id":"af-fnd-edema","baseFamilyId":"af-pulmonary-edema","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"The patient has a pulse but has acute pulmonary edema and shock caused by the rapid rhythm."}, + {"id":"af-std-ischemia","baseFamilyId":"af-ischemia","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"The exact duration of atrial fibrillation is unknown."}, + {"id":"af-std-sepsis","baseFamilyId":"af-sepsis","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"Antibiotics and source control are underway, but perfusion continues to deteriorate as the ventricular rate rises."}, + {"id":"af-adv-edema","baseFamilyId":"af-pulmonary-edema","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"The patient took the usual beta blocker this morning, and additional atrioventricular nodal blockade could worsen the low-output state."}, + {"id":"af-adv-ischemia","baseFamilyId":"af-ischemia","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"A postoperative hemoglobin measurement is mildly decreased but stable and does not account for the abrupt hemodynamic change."}, + {"id":"af-exp-sepsis","baseFamilyId":"af-sepsis","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"A prior ECG showed sinus rhythm with a normal PR interval; the current tracing has no pre-excitation and the instability persists after a cautious fluid challenge."}, + {"id":"af-exp-ischemia","baseFamilyId":"af-ischemia","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"Bedside echocardiography shows no pericardial effusion or right ventricular dilation, narrowing the cause of shock to the rapid atrial arrhythmia."} + ] + }, + { + "externalId":"dyn-gold-pyelo-pregnancy","version":3,"baseBlueprintVersion":2, + "qualityStandardVersion":3,"isPublished":true, + "caseFamilies":[ + {"id":"pyelo-fnd-classic","baseFamilyId":"pyelo-classic","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"The fever and costovertebral-angle tenderness distinguish this upper urinary tract infection from uncomplicated cystitis."}, + {"id":"pyelo-fnd-recurrent","baseFamilyId":"pyelo-recurrent","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"There is no drug allergy, and renal function is normal."}, + {"id":"pyelo-std-systemic","baseFamilyId":"pyelo-systemic","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"There is no evidence of obstructing nephrolithiasis on bedside assessment."}, + {"id":"pyelo-std-classic","baseFamilyId":"pyelo-classic","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"The patient can take oral medication but remains febrile and systemically ill."}, + {"id":"pyelo-adv-recurrent","baseFamilyId":"pyelo-recurrent","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"The earlier urine isolate was susceptible to nitrofurantoin, but susceptibility does not overcome inadequate renal parenchymal penetration."}, + {"id":"pyelo-adv-systemic","baseFamilyId":"pyelo-systemic","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"Mild uterine irritability resolves with hydration, and there is no indication for delivery."}, + {"id":"pyelo-exp-classic","baseFamilyId":"pyelo-classic","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"A preliminary culture reports a gram-negative rod; definitive susceptibilities will not be available until tomorrow."}, + {"id":"pyelo-exp-systemic","baseFamilyId":"pyelo-systemic","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"The lactate and respiratory rate raise concern for evolving maternal sepsis, making disposition as important as antibiotic spectrum."} + ] + }, + { + "externalId":"dyn-gold-sah","version":3,"baseBlueprintVersion":2, + "qualityStandardVersion":3,"isPublished":true, + "caseFamilies":[ + {"id":"sah-fnd-exertion","baseFamilyId":"sah-exertion","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"The sudden maximal-at-onset headache and meningismus are classic warning features for subarachnoid hemorrhage."}, + {"id":"sah-fnd-sentinel","baseFamilyId":"sah-sentinel","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"This is a first thunderclap headache, not a recurrence of a previously evaluated migraine syndrome."}, + {"id":"sah-std-focal","baseFamilyId":"sah-focal","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"The patient is stable enough for immediate diagnostic imaging."}, + {"id":"sah-std-exertion","baseFamilyId":"sah-exertion","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"The absence of persistent focal weakness does not reduce the urgency of excluding hemorrhage."}, + {"id":"sah-adv-sentinel","baseFamilyId":"sah-sentinel","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"The presentation occurred recently enough that the initial imaging strategy has high diagnostic yield, but a negative result must still be interpreted in clinical context."}, + {"id":"sah-adv-focal","baseFamilyId":"sah-focal","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"The partial third-nerve finding raises concern for an aneurysmal source but does not replace the initial study for acute blood."}, + {"id":"sah-exp-exertion","baseFamilyId":"sah-exertion","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"A nonfocal examination and transient improvement after analgesia are potentially misleading and should not alter the first diagnostic step."}, + {"id":"sah-exp-sentinel","baseFamilyId":"sah-sentinel","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"Family history increases pretest probability, while the choice between subsequent lumbar puncture and angiographic evaluation depends on the result and timing of the initial study."} + ] + }, + { + "externalId":"dyn-gold-arr","version":3,"baseBlueprintVersion":2, + "qualityStandardVersion":3,"isPublished":true, + "caseFamilies":[ + {"id":"arr-fnd-cardio","baseFamilyId":"arr-cardiovascular","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"Calculate the arithmetic difference between the two event rates rather than a relative measure."}, + {"id":"arr-fnd-infection","baseFamilyId":"arr-infection","difficultyTier":"foundation","nominalElo":850,"stemTemplate":"The requested measure should be reported in percentage points."}, + {"id":"arr-std-readmit","baseFamilyId":"arr-readmission","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"Do not convert the result to number needed to treat unless specifically asked."}, + {"id":"arr-std-cardio","baseFamilyId":"arr-cardiovascular","difficultyTier":"standard","nominalElo":1050,"stemTemplate":"The trial reports sufficient data to calculate absolute and relative effects directly."}, + {"id":"arr-adv-infection","baseFamilyId":"arr-infection","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"A secondary table emphasizes a large relative reduction, but the question asks for the absolute treatment effect."}, + {"id":"arr-adv-readmit","baseFamilyId":"arr-readmission","difficultyTier":"advanced","nominalElo":1250,"stemTemplate":"The intervention has similar follow-up completeness in both groups, so no adjustment for attrition is needed."}, + {"id":"arr-exp-cardio","baseFamilyId":"arr-cardiovascular","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"The authors additionally report an adjusted hazard ratio; that time-to-event estimate is not needed for this requested absolute measure."}, + {"id":"arr-exp-readmit","baseFamilyId":"arr-readmission","difficultyTier":"expert","nominalElo":1450,"stemTemplate":"Cost-effectiveness and relative-risk results are presented as distractors, but neither changes the calculation from the observed event proportions."} + ] + } +] diff --git a/docs/dynamic-question-quality.md b/docs/dynamic-question-quality.md index ab29879..0d7e283 100644 --- a/docs/dynamic-question-quality.md +++ b/docs/dynamic-question-quality.md @@ -3,6 +3,14 @@ Quality-standard-2 blueprints are eligible for learner runs. Older blueprints remain stored only so signed questions and reports can be regenerated. +Quality-standard-3 blueprints add Elo-adaptive difficulty. Each active objective +must provide at least two families at every tier: foundation (850), standard +(1050), advanced (1250), and expert (1450). The service targets an item about 70 +Elo below effective learner ability, approximately 60% expected correctness. +Effective ability begins as an equal blend of overall and category question-bank +Elo, then shifts toward dynamic objective Elo up to an 80% objective weight after +10 attempts. Aggregate outcomes calibrate each case family's Elo over time. + ## Content requirements - At least three curated case families per objective. From c91e70deb5ddab4e19004d479df9272d8477f2ef Mon Sep 17 00:00:00 2001 From: hz Date: Thu, 23 Jul 2026 16:24:18 -0500 Subject: [PATCH 49/68] Update app branding to the new shield "RZ" logo Replaces the OS/window icon with the new dark-background logo design, and derives a transparent shield-mark cutout (via chroma-key against the flat background) for the in-app login/sidebar mark and the web loading-screen logo. Brand.ranaze_mark_texture() no longer needs the AtlasTexture crop since the new source asset is already tightly cropped to the mark. --- assets/branding/ranaze-app-icon.png | Bin 994765 -> 915247 bytes assets/branding/ranaze-mark.png | Bin 2128779 -> 567470 bytes scripts/ui/medmind_style.gd | 7 ++----- web/medmind_shell.html | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/assets/branding/ranaze-app-icon.png b/assets/branding/ranaze-app-icon.png index 40ed501cb68c77d33c567b1a8d8454cf95ffe584..d6b2341b85bda96e7116ede91a8d93fccd89ef27 100644 GIT binary patch literal 915247 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 H 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
*aFU4bU0$mKZu_a<)Qe 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�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 ~gJq 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 UpaJz@EC2ui07*qoM6N<$f@LZF)&Kwi literal 994765 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

U8nD|| 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�~pWrcN6h$Qj}IKB-@+*878H;^If?)Tg;@2dmU50 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 z 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

&Ir6e)%` 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�RKb=EEQRuB>7$pJ;}^!|z(xvo7?iP5>}Y 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

2JPWe9o+jw9t|hapoMQHdZvACt&;^T~s9% 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 z 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 SF(h9A00007!o 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 JfetFIC*Iuw|}$pV-Oj!&H@Ht@|91Xf5>n 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�T& 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 Vt7JfGe}_ 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

xJ#i{B0|IC`+vzE|}Y>O*kxWYz%j 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 V64zXo+e{M8)ZF_wl2+hle-uGatP( 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˧x<0%WECul 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 Skofr7;h2oLCyFAiH%!0Eh4w1k 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