---
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>
