Skip to content

Adaptive Learner v2.14.0

Choose a tag to compare

@astrapi69 astrapi69 released this 05 Sep 07:36
· 635 commits to develop since this release

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.

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 SHA256

Compare 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's t() 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/lesson and lib/content god-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: speechRecordings registered 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-python action version.

Full commit history: v2.13.0...v2.14.0.