diff --git a/.planning/STATE.md b/.planning/STATE.md index 1344c7d..8b96e9b 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -125,9 +125,10 @@ None yet. | # | Description | Date | Commit | Directory | |---|-------------|------|--------|-----------| | 260329-ten | Leertaste-Symbol in Entdecken-Phase erklären | 2026-03-29 | a7afe06 | [260329-ten-leertaste-symbol-in-entdecken-phase-erkl](./quick/260329-ten-leertaste-symbol-in-entdecken-phase-erkl/) | +| 260329-tk2 | Ueben/Woerter-Phase kindgerechte Erklaerung hinzugefuegt | 2026-03-29 | 4cb5fa6 | [260329-tk2-ben-phase-kindgerechte-erkl-rung-statt-n](./quick/260329-tk2-ben-phase-kindgerechte-erkl-rung-statt-n/) | ## Session Continuity Last session: 2026-03-29T16:23:36.950Z -Stopped at: Completed 04-04-PLAN.md +Stopped at: Completed quick task 260329-tk2 Resume file: None diff --git a/.planning/quick/260329-tk2-ben-phase-kindgerechte-erkl-rung-statt-n/260329-tk2-SUMMARY.md b/.planning/quick/260329-tk2-ben-phase-kindgerechte-erkl-rung-statt-n/260329-tk2-SUMMARY.md new file mode 100644 index 0000000..0b2f789 --- /dev/null +++ b/.planning/quick/260329-tk2-ben-phase-kindgerechte-erkl-rung-statt-n/260329-tk2-SUMMARY.md @@ -0,0 +1,54 @@ +--- +phase: quick +plan: 260329-tk2 +subsystem: ui/lesson +tags: [ux, companion, onboarding, child-friendly] +one_liner: "Added 2.5-second child-friendly German companion instructions before practice and words phases in the lesson screen" +key_files: + modified: + - src/ui/screens.ts +decisions: + - "Companion text cleared before exercise starts (after delay) so it doesn't distract during actual typing" + - "async/await conversion matches existing discover phase pattern for consistency" +metrics: + duration: 5min + tasks: 1 + files: 1 + completed: 2026-03-29 +--- + +# Quick Task 260329-tk2: Ueben-Phase kindgerechte Erklaerung statt nichts + +## Summary + +Added child-friendly companion instructions at the start of the practice ("Ueben") and words ("Woerter") phases. Previously these phases showed no explanation, leaving a 7-year-old without guidance on what to do. Now each phase begins with a 2.5-second companion message before the exercise starts. + +## Tasks Completed + +| Task | Name | Commit | Files | +| ---- | ---- | ------ | ----- | +| 1 | Add companion instructions for practice and words phases | 4cb5fa6 | src/ui/screens.ts | + +## Changes Made + +**src/ui/screens.ts:** + +- `runPracticePhase()` converted from callback-based `Promise` return to `async function` +- Before exercise begins, shows: "Jetzt kannst du ueben! Druecke die Taste zu dem Buchstaben, der herunterfaellt." +- `runWordsPhase()` converted from callback-based to `async function` +- Before exercise begins, shows: "Jetzt kommen ganze Woerter! Tippe die Buchstaben nacheinander ein." +- Both functions display companion area, wait 2500ms, then clear text before starting exercise +- `cancelled` check after delay ensures clean abort if user navigates away during the intro + +## Deviations from Plan + +None - plan executed exactly as written. + +## Verification + +- `npx vitest run`: 85/85 tests passed +- `npx tsc --noEmit`: No TypeScript errors + +## Known Stubs + +None.