From ef34d6288e8272306f8dee90173d2b6703c99187 Mon Sep 17 00:00:00 2001 From: Markus Graf Date: Sun, 29 Mar 2026 21:33:28 +0200 Subject: [PATCH] =?UTF-8?q?docs(quick-260329-tv5):=20=C3=9Cbungsanleitung?= =?UTF-8?q?=20dauerhaft=20statt=20Titel=20anzeigen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../260329-tv5-PLAN.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .planning/quick/260329-tv5-bungsanleitung-dauerhaft-statt-titel-anz/260329-tv5-PLAN.md diff --git a/.planning/quick/260329-tv5-bungsanleitung-dauerhaft-statt-titel-anz/260329-tv5-PLAN.md b/.planning/quick/260329-tv5-bungsanleitung-dauerhaft-statt-titel-anz/260329-tv5-PLAN.md new file mode 100644 index 0000000..b011a74 --- /dev/null +++ b/.planning/quick/260329-tv5-bungsanleitung-dauerhaft-statt-titel-anz/260329-tv5-PLAN.md @@ -0,0 +1,61 @@ +--- +type: quick +description: "Uebungsanleitung dauerhaft statt Titel anzeigen" +files_modified: + - src/ui/screens.ts +--- + + +Replace the phase titles "Ueben"/"Woerter" with the companion instruction texts, and keep them visible for the entire phase duration. Remove the 2.5s timeout pattern that currently shows/hides the instructions. + +Purpose: The child should always see what to do during practice/words phases, not just a brief flash of instructions. +Output: Modified screens.ts with persistent instruction text in the phase indicator. + + + +@src/ui/screens.ts + + + + + + Task 1: Replace phase titles with instruction text and remove 2.5s delay + src/ui/screens.ts + +In the `setPhase()` function (line 160-167), change the labels map: +- `practice` label: from "Ueben" to "Jetzt kannst du ueben! Druecke die Taste zu dem Buchstaben, der herunterfaellt." +- `words` label: from "Woerter" to "Jetzt kommen ganze Woerter! Tippe die Buchstaben nacheinander ein." +- `discover` label: keep "Entdecken" as-is + +In `runPracticePhase()` (line 472-484), remove: +- Lines 474-479: the companionText.textContent assignment, companionArea.style.display, the setTimeout/await 2500ms delay, the cancelled check after delay, and the companionText clearing +- Keep: `setPhase("practice")`, `createExerciseState(level)`, and the `runLetterExercise` promise + +In `runWordsPhase()` (line 486+), remove: +- Lines 488-493: the companionText.textContent assignment, companionArea.style.display, the setTimeout/await 2500ms delay, the cancelled check after delay, and the companionText clearing +- Keep: `setPhase("words")`, and everything from `const wordCount` onward + + + cd /home/dev/workspace/zauberwald && npx tsc --noEmit && npx vitest run 2>&1 | tail -20 + + +- setPhase("practice") sets the phase indicator to the full instruction text instead of "Ueben" +- setPhase("words") sets the phase indicator to the full instruction text instead of "Woerter" +- No setTimeout 2500ms delay in either runPracticePhase or runWordsPhase +- No companionText assignment or clearing in those two functions +- Instruction text stays visible for the entire phase duration via the phase indicator + + + + + + +Run `npx tsc --noEmit` and `npx vitest run` -- both must pass. Manual check: start a lesson, observe that practice/words phases show the instruction text in the phase indicator area throughout the entire phase. + + + +- Phase indicator shows full instruction text during practice and words phases +- No 2.5s delay before exercises start +- No companion text flickering (set then cleared) +- TypeScript compiles, tests pass +