1e51ef7def
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/ - 12 code-workspace-Files - STATUS-*.md - viele M/D/R-Änderungen an bereits getrackten Files - .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
66 lines
2.8 KiB
Markdown
66 lines
2.8 KiB
Markdown
---
|
|
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
|