Repository navigation
Adaptive Learner v2.14.0
Adaptive Learner v2.14.0
Sessions get a game layer: an optional Spielmodus adds combo streaks, flying points, checkpoints, answer physics, playful hearts/countdown tension, and its own sound set - stackable with two new arcade minigames (Lern-Memory + Snake, TicTacToe against a beatable heuristic AI, a Simon color-sequence game) unlocked through XP, plus flash rounds at set completion. The Lernfunke mascot gets unlockable color variants, and avatars get a preset gallery, frames tied to level/badge unlocks, and photo staging with a confirmation dialog on figure change.
Content navigation grew up: a set page now lists its lessons with progress, shows your position within the set, and takes you back to the set (not the flat content tab) when you leave a lesson - with a set-completion review collecting every mistake of a set in one place. Settings gained a dedicated "Diagnostics & Support" tab that unites the error report, the viewport probe, and developer mode behind one hideable measurement bar with a sticky corner toggle.
Three new extension types are adoptable from the creation wizard for the first time: al-speak-and-record, al-audio-choice, and al-audio-tiles.
Before you install
AdaptiveLearner runs in Docker. You need Docker Desktop installed and running before starting the launcher.
- Docker installation guide (English) - includes a "Is Docker safe to install?" section
- Docker-Installationsanleitung (Deutsch) - mit Abschnitt "Ist Docker sicher zu installieren?"
The launcher detects Docker, downloads the ready-built AdaptiveLearner image from GitHub's registry (about 110-120 MB compressed, roughly 500 MB on disk - nothing is built on your machine), and opens the app in your browser. Later starts are fast and work offline.
Download
| Platform | File |
|---|---|
| Windows | adaptive-learner-launcher.exe |
| macOS (Apple silicon) | adaptive-learner-launcher-macos.zip |
| Linux | adaptive-learner-launcher (ELF binary) |
Each platform also ships a *.sha256 checksum next to the binary.
Verifying downloads
# macOS / Linux
shasum -a 256 adaptive-learner-launcher-<platform>
# Windows (PowerShell)
Get-FileHash adaptive-learner-launcher.exe -Algorithm SHA256Compare the output with the matching .sha256 file from the release assets.
What's new
Added
- Spielmodus (game mode): a configurable Settings toggle with a hint at lesson start; combo streaks, flying points, checkpoints and answer physics ("Juice-Paket"); optional hearts + countdown-ring tension systems; series bonus XP additive after the multiplier; its own sound set (combo pitch, checkpoint jingle, fanfare); playful renderers for multiple-choice tiles, cloze word-jump and matching pop.
- Arcade minigames, each an XP unlock: Lern-Memory + Snake, TicTacToe against a beatable heuristic AI (100 XP), a Simon color-sequence game with configurable target length (300 XP) - plus configurable flash rounds at set completion, playable inside the error-replay player.
- Lernfunke mascot: unlockable color-variant palettes tied to level/badge progress.
- Avatars: a preset gallery next to the photo upload, level-/badge-gated frames purchasable with XP, and a photo-staging + confirmation dialog when switching figures.
- Three new extension types adoptable from the creation wizard: al-speak-and-record, al-audio-choice, al-audio-tiles (previously reachable only via hand-authored or generated lesson JSON).
- Content navigation: a set page lists its lessons with progress; a lesson shows its position within the set and links to the previous lesson; leaving a lesson returns to its set instead of the flat content tab; a set-completion review collects every mistake of the set in one place.
- Bonus lessons via app convention: visible-but-locked until their unlock condition is met.
- Settings: a dedicated "Diagnostics & Support" tab unifies the error report, the viewport probe, and developer mode; the measurement bar can hide itself while still recording, toggled by a sticky corner button; the probe report is now self-describing (environment, user agent, timestamp, event timeline).
- Speech recordings: their own selective-export backup category, plus a per-user storage cap with oldest-first eviction and user-facing eviction messaging.
- Share the result card as a standalone image, so link-only networks show it.
- Mentor mode: an editor deep link, per-step notes with a punch list, and AI fix suggestions.
- create-lesson: title comes first in step 1, with the template picker collapsed (Blank preselected) behind a toggle.
- The lesson summary's mistake review ("Why you missed these") now shows the original question, not just the answers.
- i18n: a full-tree key-usage coverage gate extends the first-paint gate across every
t()call site in the frontend, catching missing catalog keys tree-wide. - CI: a dead-code detection gate flags new unused Python functions/methods/classes and TS exports behind a tracked baseline ratchet; an optional AI-output metrics journal block with a stdlib aggregator.
Changed
- i18n now runs on i18next under the existing facade (
useI18n'st()signature unchanged) instead of the hand-rolled provider/cache/retry logic - the first step of a two-part library adoption (interpolation stays manual for now). lib/lessonandlib/contentgod-folders regrouped by concern (prefs, wizard, browse, renderers), retiring their complexity-baseline whitelist entries.- Docker image-size ratchet tolerance raised 200,000 -> 500,000 bytes to absorb routine dependency-bump PRs without a ceiling round-trip each time, while staying well under the previously-rejected 2 MB tolerance that let a real regression through unnoticed.
- Routine dependency currency sweep across backend, frontend, launcher and docs subsystems (patch/minor only; six flagged majors - anthropic, openai, isort, websockets, pytest-randomly, typescript, vitest/coverage-v8, backrefs, pymdown-extensions - deferred to their own sessions).
Fixed
- First paint no longer mixes languages: a deep-path lookup fixes the fallback catalog resolution before the language chunk loads.
- Backup:
speechRecordingsregistered in the Dexie backup surface; six tables missing from the LAN device-sync surface registered. - Content: the set-overview lesson list shows the correct order and real titles.
- Matching exercise: the left column never reshuffles, and resolving keeps the established order.
- The Lern-Memory arcade game no longer pre-occupies the most-recently-learned set.
- Long unbreakable title words no longer push footer buttons out of the viewport.
- ViewportDiagnostic starts collapsed, with the report textarea behind a Details toggle.
- Several e2e/CI staleness fixes: the extension-picker button count (6th type), the create-lesson template-row toggle timing, the error-report capture target (moved to the new Diagnostics tab), missing mascot-variants feature screenshots, a stale dead-code baseline, the
setup-pythonaction version.
Full commit history: v2.13.0...v2.14.0.