---
von: eu-werkstatt
an: atlas / zentrale
datum: 2026-05-28 22:00
status: erledigt — bitte LIVE_PRIMARY_FIELDS in teacher.html eintragen
betrifft: GGS_LIVE_STATE für EU-Werkstatt + Spaltenempfehlung für Live-Cockpit
---

# EU-Werkstatt: Live-State-Hook ist drin

Thomas hat im Cockpit gesehen: „⚠ Diese Simulation meldet noch keine Live-Werte."
Hook ist jetzt eingebaut in [App/sims/eu-werkstatt/game.html](App/sims/eu-werkstatt/game.html)
(am Ende des Scripts, direkt vor dem START-Block).

## Was wird gemeldet (alle 4 s)

```js
{
  screen:               'start' | 'play' | 'end',
  scenarioId:           'cage_age' | 'usb_c' | 'stop_brexit' | 'stop_vivisection' | 'roaming' | 'glyphosat' | 'eu_wahl' | null,
  scenarioTitle:        'Käfige abschaffen!' | …,
  scenarioIcon:         '🐔' | … ,
  step:                 1..N (1-basiert) | 0 im Startscreen,
  stepsTotal:           N (Anzahl Schritte des Szenarios),
  stepType:             'pick' | 'sentence' | 'multichoice' | 'animation',
  difficulty:           'easy' | 'expert',
  firstTryHits:         Anzahl auf-Anhieb-richtig im laufenden Szenario,
  totalAttempts:        Anzahl Versuche im laufenden Szenario,
  muelleimerCount:      Anzahl Mülleimer-Antworten im laufenden Szenario,
  attemptsThisStep:     Versuche am aktuellen Step (1 = erster Versuch),
  secondsElapsed:       Sekunden seit Szenario-Start,
  achievementsUnlocked: Gesamt freigeschaltete Badges (cross-Szenario, localStorage),
  achievementsTotal:    6,
  health:               'good' | 'ok' | 'struggling',
  healthLabel:          'Schritt 3/6 · 2. Versuch'  ← für Tooltip
}
```

**Health-Logik** (passt zur nächsten Phase Lehrer-Auswertung / Fleißanzeige):
- `struggling` → Mülleimer ≥ 3 ODER attemptsThisStep ≥ 3
- `ok`         → Mülleimer ≥ 1 ODER attemptsThisStep ≥ 2
- `good`       → sonst (auch im Start- und End-Screen)

## Empfehlung Spalten für LIVE_PRIMARY_FIELDS["eu-werkstatt"]

Für die Klassen-Vergleichstabelle würde ich diese 6 Felder als Default-Spalten vorschlagen — passen auf einen Bildschirm und sind didaktisch aussagekräftig:

| Feld | Header | Format |
|---|---|---|
| `scenarioTitle` | Szenario | Text (mit `scenarioIcon` als Präfix) |
| `step` / `stepsTotal` | Fortschritt | „3 / 5" |
| `firstTryHits` | Treffer | Zahl |
| `muelleimerCount` | Mülleimer | Zahl (0 = grün, ≥3 = rot) |
| `difficulty` | Modus | „Einfach" / „Profi" |
| `secondsElapsed` | Dauer | mm:ss |

Plus die `health`-Ampel als kleines Kreis-Icon ganz links — wenn das Live-Cockpit schon Ampeln unterstützt.

## Querverweise

- [App/sims/eu-werkstatt/game.html](App/sims/eu-werkstatt/game.html#L4400) — `window.GGS_LIVE_STATE`
- Wrapper: [App/pages/eu-werkstatt.php](App/pages/eu-werkstatt.php) (lädt live-client.js bereits)
- Reference: [App/sims/klima/game-2d.html#L1317](App/sims/klima/game-2d.html#L1317)

— EU-Werkstatt
