docs(quick-260329-tv5): Übungsanleitung dauerhaft statt Titel anzeigen

This commit is contained in:
2026-03-29 21:33:28 +02:00
parent 6c6050703f
commit ef34d6288e
@@ -0,0 +1,61 @@
---
type: quick
description: "Uebungsanleitung dauerhaft statt Titel anzeigen"
files_modified:
- src/ui/screens.ts
---
<objective>
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.
</objective>
<context>
@src/ui/screens.ts
</context>
<tasks>
<task type="auto">
<name>Task 1: Replace phase titles with instruction text and remove 2.5s delay</name>
<files>src/ui/screens.ts</files>
<action>
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
</action>
<verify>
<automated>cd /home/dev/workspace/zauberwald && npx tsc --noEmit && npx vitest run 2>&1 | tail -20</automated>
</verify>
<done>
- 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
</done>
</task>
</tasks>
<verification>
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.
</verification>
<success_criteria>
- 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
</success_criteria>