- python-backend/README: track analysis is implemented (2e0e6ad); the cache layout,
the module table (lirc, screen, timers, podcasts, tippen) and the route table
(track analysis, HA proxy, typing game) were missing pieces.
- docs/REPO_OVERVIEW: Mein Zimmer and the clock are implemented; Home Assistant is
also reached over HTTP through the room page's proxy, not MQTT only; the IR remote,
scripts/, the optional config sections and figure kind were not mentioned.
- web/README: the key table was the mockup's (Ctrl transport keys, TAB over 'all');
?pi=1 is now a preset with per-browser overrides, not a read-once flag; the room
page and the typing game exist; eslint is part of the checks.
- Docstrings that described earlier designs: HaConfig (written as browser-direct in
the same commit that built the proxy, a8ed350), services/__init__, events,
playback, media, colors, tippen progress and AppHeader, lowPower.ts, and the
'Hoerbuecher' spelling.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pearls were earned every run and spent on nothing: the aquarium fills up by
finishing worlds, not by paying for it. A counter that only ever goes up is one
more stat competing for attention on the result sheet and the home screen, and
one more field to carry through the run payload, the progress file and both test
suites.
Stars and the animal ladder already say how a run went, so nothing is lost.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Moves the typing app's lesson plan and progress from client-side YAML/localStorage
into the backend, and adds a reward system that ties passing a lesson to unlocking
part of the music library. Lock state is always recomputed live from curriculum x
progress x the live library, never persisted separately.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>