pediatric-ai-scribe-v3/public/js
Daniel 59226f2109
Some checks failed
Forgejo Android APK / Root app tests (push) Successful in 46s
Forgejo Docker Build / Root app tests (push) Successful in 46s
Forgejo Android APK / Build signed APK (push) Successful in 2m13s
Forgejo Docker Build / Build Docker image (push) Successful in 9s
Forgejo Docker Build / Deploy to the host (push) Failing after 0s
feat: deck themes — a palette you pick, previewed by the renderer itself
A deck had exactly one look. The slide vocabulary is structural — bullets,
compare, table, callout, figure — and none of it carries a colour, so "make it
yellow" had nowhere to land but the image prompts, and produced yellow figures
on a blue deck.

A theme is a palette and a typeface in assets/deck-themes.json. render_pptx.py
rebinds INK, MUTED, ACCENT, RULE and PAPER from it in one place, so every slide
builder follows without a line changing in any of them — five themes restyle ten
slide types for free. An unusable theme leaves the default standing, because a
deck in the wrong colours beats a deck that will not render.

The theme rides on the deck, which is already the renderer's spec, so nothing
has to thread it through. It is validated against the same catalogue the
renderer reads: an id the renderer would ignore is never stored, so a deck
cannot claim a look it does not have.

PUT /my-resources/:id/theme re-skins a stored deck — a column write, no model
call, nothing that can reword a slide — and the next download is in the new
colours. Offered in the library only on rows that have a deck; flat markdown has
no palette.

Previews are rendered by the renderer, one representative compare slide per
theme, cached because each costs a pptx render, a Gotenberg round trip and a
rasterise. Drawn rather than mocked up: a hand-made swatch drifts the moment a
palette or a layout changes, and a preview that is not true is worse than none.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dv6sqaY6Vq3ChZHMem3cnU
2026-09-12 19:40:19 +02:00
..
admin fix: a model added in Admin now appears everywhere models are chosen 2026-09-12 17:39:49 +02:00
assistant fix: resolve a citation by its number, not its position in the array 2026-09-10 19:10:54 +02:00
bedside allow bedside respiratory without weight 2026-05-08 09:10:33 +02:00
calculators consolidate calculator growth helpers 2026-05-08 04:36:39 +02:00
learningHub feat: integrate durable image jobs/private assets into current core 2026-09-07 16:53:42 +02:00
notes feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
wellVisit extract well visit schedule data 2026-05-08 05:11:29 +02:00
accountBoundary.js fix: trim the account-boundary message to what a reader needs 2026-09-12 18:36:37 +02:00
admin-docs.js docs: merge the duplicate pairs and correct them against the running app 2026-09-12 04:57:35 +02:00
admin.js fix: a model added in Admin now appears everywhere models are chosen 2026-09-12 17:39:49 +02:00
app.js fix: a newly added model reaches every picker, including the user-facing ones 2026-09-12 17:46:18 +02:00
audioBackup.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
auth.js fix: the account boundary explains itself instead of reading as an SSO failure 2026-09-12 18:24:14 +02:00
authFetch.js feat: sign in with a code emailed to you, offered beside the password 2026-09-11 20:12:03 +02:00
calc-math.js feat: Bedside clinical reference module + age→weight estimator + dose-math unit tests 2026-04-20 02:49:42 +02:00
calculators.js remove redundant module wrappers 2026-05-08 05:30:32 +02:00
chartReview.js feat: add patient education handouts 2026-05-08 22:26:53 +02:00
clinicalAssistant.js feat: Enter sends in the assistant, and the person chooses 2026-09-12 18:05:36 +02:00
diagrams.js fix diagram delete confirmation 2026-05-08 06:28:12 +02:00
documents.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
drugs-loader.js convert admin docs and drug loader to modules 2026-05-08 07:50:26 +02:00
e2e-bootstrap.js fix docs toc fallback and remove redundant iifes 2026-05-08 23:08:47 +02:00
ed-encounters.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
encounters.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
extensions.js fix: image Done state, chat titles that keep whole words, and readable extension cards 2026-09-10 06:44:22 +02:00
generatedImages.js feat: PubMed search for My Resources, and an image tool that actually fires 2026-09-11 16:47:08 +02:00
hospitalCourse.js feat: add patient education handouts 2026-05-08 22:26:53 +02:00
learningHub.js feat: the Learning screen can ask for grounding, and says what it got 2026-09-11 14:39:49 +02:00
liveEncounter.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
memories.js clarify template-only AI memory context 2026-05-08 07:38:27 +02:00
milestones.js test clinical note entrypoints 2026-05-08 06:33:34 +02:00
milestonesData.js v4: Fix milestones display + add OpenID auth + 100MB PDF support 2026-04-01 17:59:51 +00:00
myResources.js feat: deck themes — a palette you pick, previewed by the renderer itself 2026-09-12 19:40:19 +02:00
nextcloud.js convert settings loaders to modules 2026-05-08 07:17:29 +02:00
notes.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
peGuide.js move pe guide data to json 2026-05-08 08:56:21 +02:00
recordingModules.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
secureStorage.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00
shadess.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
sickVisit.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
soap.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
speechRecognition.js convert speech helpers to modules 2026-05-08 08:09:38 +02:00
transcriptionSettings.js convert settings helpers to modules 2026-05-08 07:54:08 +02:00
ui-state.js convert settings helpers to modules 2026-05-08 07:54:08 +02:00
voiceDictation.js feat: a retried transcript goes back to the tab the audio came from 2026-09-11 12:39:50 +02:00
voicePreferences.js convert settings helpers to modules 2026-05-08 07:54:08 +02:00
wellVisit.js feat: ship reviewed prompt history, conversation limits and account protections 2026-09-07 04:01:01 +02:00