Commit Graph

52 Commits

Author SHA1 Message Date
Adminator 64a9a62157 Gesamt/Fleiss: laufende Sessions als blinkende Saeule im aktuellen Bucket
Statt separatem Top-Streifen (rueckgebaut): results.php view=fleiss spielt
laufende live_sessions in den aktuellen Bucket (Stunde/Wochentag/Tag/Monat) ein,
markiert ihn `live`. renderFleiss laesst diese Saeule blinken (roter Rahmen).
So sieht man Bens laufendes Spiel direkt bei "Fleiss pro Schueler*in".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 15:02:19 +02:00
Adminator ad8c6b7d7e Gesamt: "Jetzt live"-Streifen oben (laufende Spiele, blinkend)
In Ergebnisse/Gesamt fehlten laufende Sessions (Fleiss baut nur auf fertigen
Laeufen). Neuer blinkender Live-Streifen ganz oben aus live_sessions: Name +
Sim-Symbol + Laufzeit, Klick = zuschauen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 14:55:32 +02:00
Adminator 71226581fa Tag-Ansicht: laufende Spiele als langsam blinkende Bloecke
Running-Balken (isLive/running) blinken jetzt sanft (_tagblink 1.8s), damit
laufende Spiele klar von fertigen zu unterscheiden sind. Breite = Spieldauer
(waechst mit der Zeit) war bereits so.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 14:47:51 +02:00
Adminator 540b27a2bd Cockpit: "Heute in der Klasse"-Zeile ganz oben in der Klassenuebersicht
Immer sichtbare Live-Zeile ueber den Empfehlungen: wie viele gerade aktiv +
welche Sims, und wer JETZT Hilfe braucht (needsHelp) als klickbare Chips mit
Klartext-Grund (z.B. "Ben - Trefferquote 10 %"). Quelle: cockpit.students.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 14:30:07 +02:00
Adminator 5635fa26b4 Lehreransicht: Ampel Farmer=Trefferquote, Vergleich->Fortschritt+Qualitaet, Mini-Balken ueberall
- _liveMood: farmer-Fall (hit_rate >=60 gruen / >=30 gelb / sonst rot) -> Ampel
  spiegelt Qualitaet, nicht mehr nur Fortschritt.
- qualityScore: farmer hit_rate -> "Qualitaet"-Spalte im Fortschritt-View gefuellt.
- "Vergleich"-Button/Titel -> "Fortschritt (& Qualitaet)".
- "Aktuell"-Tabelle: Mini-Balken jetzt fuer ALLE Zahlenspalten aller Sims
  (relativ zum Spalten-Max, neutral), Spalten mit eigenem Balken ausgenommen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 14:26:47 +02:00
Adminator 4e38b27c64 Tag-Ansicht: echte Spieldauer + Ampelfarbe nach Erfolg + Sim-Symbol
Bug: fertig gespielte Laeufe (Farmer-Endbericht = 1 Assessment) erschienen als
kurzer "Abbruch"-Balken (Dauer 0). Fix:
- live.php summary: nutzt duration_ms -> Balken decken die echte Spielzeit ab und
  fluchten am Start; kein Falsch-Abbruch mehr. Neues Feld `score` (0-100) je
  Session (Score/Sterne); laufende Farmer-Sessions bekommen hit_rate als Live-Score.
- teacher.html Tag-Balken: einheitliche Hoehe (Hoehe raus), Farbe = Ampel nach
  Erfolg (gruen->rot), App-Farbe ersetzt durch Sim-Symbol; Klick = Details.
  Legende angepasst.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 12:56:47 +02:00
Adminator 85ee58c56d Farmer: "Braucht Hilfe" auch bei schlechter Trefferquote (nicht nur cash<0)
Ben spielt bewusst schlecht (hit_rate ~10%), Konto aber wieder im Plus -> blinkte
nicht. needsHelp (teacher.html client + live.php server) jetzt: cash<0 ODER
(attempts>=6 UND hit_rate<30). Faengt dauerhaft falsche Boden/Klima-Wahl; Clara
(hit 75, 3 Krankheiten) bleibt bewusst ruhig.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 12:41:39 +02:00
Adminator fecd8bb9c9 Textsystem: Bis-Strich mit Leerzeichen (Zahl – Zahl) per Agent-Sweep
562 Ersetzungen in 50 Dateien: Halbgeviertstrich zwischen zwei Ziffern (=
"bis"-Bereich) bekommt Leerzeichen davor/danach (3–4 -> 3 – 4). Regex
/([0-9])\s*–\s*(?=[0-9])/ auf Rohtext (format-erhaltend, CRLF/Einrueckung
unveraendert), Bindestriche in Woertern und Minuszeichen unangetastet, alle
JSON weiter gueltig. Energiemanager-Zeitbloecke sind Display-Labels (kein
Logik-Key) -> safe.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 12:38:19 +02:00
Adminator 257b5e5099 Lehreransicht "Aktuell": Mini-Balken unter den Zahlen (Farmer-Spalten)
Kleine Balkengrafik unter jedem Zahlenwert: bounded Metriken (Jahr/Trefferquote/
Sorten absolut zur Skala) + offene Werte (Konto/Laender/Felder/Versuche/CO2)
relativ zum groessten Wert der Spalte ueber alle Schueler:innen -> auf einen
Blick "wer liegt vorn". Konto signiert (rot bei minus), CO2/Krankheiten
invers (rot = mehr). Helfer _liveMiniBar/_liveBarColor, colMax pro Spalte.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 12:03:29 +02:00
Adminator 532b5471ec Lehreransicht: Farmer-Spalten in "Aktuell" uebersetzt statt roher Keys
LIVE_PRIMARY_FIELDS um farmer-Eintrag ergaenzt: Jahr /10, Markt, Konto (rot bei
minus), Trefferquote (Balken), Sorten /10, Laender, Felder, Versuche, CO2 kg,
Krankheiten (rot bei >0). Redundante/interne Keys (phase, market-id, progressPct,
simId, timestamp) fallen weg. Vorher fiel die Tabelle auf rohe englische Keys.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 11:58:45 +02:00
Adminator 0555a2d245 Lehrer-Aktivitätsstreifen: Farbe je Sim, Höhe=Erfolg, Rahmen=Zustand
Tages-Balken neu kodiert (nach Thomas' Spec):
- Eine Farbe pro Simulation (simColor, stabil per Hash).
- Balkenhöhe = Maß für den Erfolg (mehr Sterne → höher) → Leistungen auf einen
  Blick vergleichbar.
- Rahmen kodiert den Zustand: fertig gespielt = geschlossener dünner Rahmen ·
  noch dran = rechts offener Rahmen · Abbruch = gestrichelt + ✖ am Ende.
- Beschriftung: 3-Buchstaben-Kürzel (eng) → Wort → Wort+Lektion (Platz).
- Legende entsprechend erneuert.

Datenbasis vorhanden: live.php summary liefert success (inkl. 'aborted'),
stars, completed pro Session. Offen für v2: „läuft noch"-Balken aus aktiven
live_sessions einblenden (Tag-View ist bisher assessments-basiert = Abschlüsse).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-19 18:14:56 +02:00
Adminator c1f90e255d Lehreransicht aufräumen: Sim-Labels + Logistik-Spalten + assessment-Skip-Fix
- SIM_LABELS: EIN Wort + eindeutiges 3-Buchstaben-Kürzel je App (zentrale
  Quelle simWord()/simCode()). Tages-Balken nutzt jetzt Kürzel (eng) → Wort
  (mittel) → Wort+Lektion (breit) statt kryptischem "Log L1".
- LIVE_PRIMARY_FIELDS['logistik'] ergänzt (Stufe · Budget · Geliefert/Gesamt ·
  Unterwegs · Offen · Verspätet · Fortschritt) — vorher Roh-Dump aller Keys.
- Aktuell-Fallback (uncurated Sims): interne __-Heartbeat-Keys + simId/
  timestamp/screen ausgeblendet, nicht mehr als Spalten.
- assessment.php: Skip-Bug gefixt — las phase aus $body['processLog']['phase'],
  gesendet wird $body['phase']. Dadurch landeten alle 'started'/'running'-Pings
  als LEERE Zeilen in assessments und verschmutzten Ergebnisse/Tag. Jetzt
  greift der Skip; nur echte 'completed'-Abschlüsse werden gespeichert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-19 15:05:42 +02:00
Adminator 5655af81bf Lehrer-Observability + Weltküche-Inhalt + Wrapper-Fix + Passstraße
teacher.html: Menü „Live" → „Ergebnisse" mit Unteransichten
Tag·Aktuell·Vergleich·Gesamt (alte Ergebnisse-Ansicht ist jetzt „Gesamt").
Neue Kennzahl Qualität (grafischer richtig/falsch-Balken) in Aktuell +
Vergleich + Weltküche-Zeile, Gerichte-Zähler (Fleiß), Labels entschärft
(„Kritisch" → Stark/Solide/Viele Fehler).

Weltküche: korrekte Artikel (der/die/das) für alle 70 Zutaten in
production-matrix.json; verdrehten Herkunfts-Satz + Heimat-Banner neu und
marktbewusst (Ukraine-Distraktor ehrlich erklärt), „man"-Konstruktionen
für Singular/Plural.

_scripts.php: renderPage() injizierte Favicon per strrpos ins letzte
</head> — das lag in teacher.htmls printBatchTickets-JS-String → SyntaxError
zerschoss das ganze Inline-Script auf /teacher. Fix: strpos (erstes </head>).

tourismusregion: neue Karte passstrasse in maps-custom.json (Route bergauf
136 Punkte, 41 Bauslots) aus Editor-Export.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-18 13:32:24 +02:00
Adminator f6df2eb79f Teacher: Triage 'Nachfassen'->'Nicht aktiv'; Weltkueche live-state phase-Bug gefixt (zeigte immer 'forschen', jetzt 'Gericht X · Zutat Y/Z')
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-18 12:21:24 +02:00
Adminator 031ca87daf Aufgabe: Freigabe/Tempo entfernt (sofort startbar); Beenden als Dialog
- keine Vorbereiten/paused/Start-freigeben/Pause mehr — Aufgabe ist ab Vergabe
  sofort startbar (paused:false), Card zeigt nur "Laeuft" + Beenden
- Schueler-Card immer "Jetzt starten" (kein Warte-Zustand)
- "Aufgabe beenden" jetzt ordentlicher Dialog (#modal-stopassign) statt confirm()

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 02:41:43 +02:00
Adminator 405fcc2b69 Aufgabe: Ab-wann + Bis-wann mit gutem Picker; neue Klasse nur Weltkueche frei
- Modal: "Ab wann" (Sofort/Zeitpunkt) + "Bis wann" (Presets + date/time statt
  datetime-local), Live-Zusammenfassung; zukuenftiger Start => vorbereitet
- assignments.php: startsAt-Param (Default NOW()), T->Space
- modules.php: neue Klasse ohne Eintrag -> nur Weltkueche frei (_defaultMode),
  Rest gesperrt; Freigabe-Matrix bleibt (getrennt von der Aufgabe)
- schueler.html: Hinweis "Deine Lehrperson kann weitere Simulationen freischalten"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 17:39:28 +02:00
Adminator 7f774c7b2a Aufgaben-Dropdown: geplante Module nicht vergebbar (nur laufende)
stadt (Stadt & Raumplanung) auf 'geplant' gesetzt (Prod war 'aktiv').

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 13:53:37 +02:00
Adminator bbef4856d0 Klassenaufgabe: Modal mit Frist-Schnellwahl + Live-Bestaetigung; Start/Tempo auf aktiver Card
- Modal "Aufgabe erteilen": Frist-Buttons (Heute/Morgen/+1 Woche/Kein Limit),
  Default +1 Woche, Tempo-Checkbox "Vorbereiten", Live-Zusammenfassung als
  Bestaetigung, Button "Auftrag erteilen"
- Aktive Klassen-Aufgabe-Card: Sim-Bild + Status (Vorbereitet/Laeuft) +
  Steuerung "Start freigeben" / "Pause" / "Beenden" direkt auf der Card
  (Tempo-Start nicht mehr in der individuellen Freigabe)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 11:58:04 +02:00
Adminator 97144495a1 Live/Vergleich an Klassenaufgabe gekoppelt
- aktive Klassenaufgabe wird automatisch als Vergleichs-Modul vorgewaehlt
  (Chip mit 📋 markiert, immer vorne)
- Aufgaben-Banner: begonnen X/N (aus matrix) · gerade aktiv A · Oe Fortschritt
- zeigt Aufgabe auch wenn noch niemand aktiv ist (mit Hinweis)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 01:27:36 +02:00
Adminator 5f6abeeb42 Live/Aktuell: allgemeine Erfolgs-Spalten Fortschritt + Lage
- _liveProgressPct/_liveMood: aus dem Live-State jeder Sim ableitbarer
  Fortschritt (%) und Lage-Ampel (health/heuristik) -> modueluebergreifend
  vergleichbar
- weltkueche: redundante "Gerichte" ersetzt durch Fortschritt-Balken + Lage-Ampel

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 01:05:19 +02:00
Adminator ebdd1ce438 Live: weltkueche-Spalten kuratiert; pausierte Sessions bleiben sichtbar
- LIVE_PRIMARY_FIELDS.weltkueche: Gericht/Herkunft/Zutaten/Gerichte/Fehlklicks
  (statt Rohdaten-Dump aller State-Keys) — 5 Spalten, kein Quer-Scroll
- Idle/Pause: live.php Fenster 30s->2h (LIVE_IDLE_WINDOW_SEC); Aktuell zeigt
  laenger inaktive Sessions als "pausiert" (⏸, grau) statt sie zu verlieren;
  braucht-Hilfe + aktiv-Zaehler nur fuer wirklich aktive Sessions

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 00:43:40 +02:00
Adminator 07010f2302 Live: Cockpit entfernt; braucht-Hilfe + Reflexionen in Aktuell
- Live-Modi jetzt nur Tag / Aktuell / Vergleich (Cockpit-Toggle raus)
- Aktuell: Live-"braucht Hilfe"-Banner + rote Zeilen-Hervorhebung (Heuristik
  gespiegelt aus live.php), Spectator per Zeilenklick bleibt
- Reflexionen als Block am Ende von Aktuell, gecacht gegen 4s-Refresh-Flackern

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 00:32:59 +02:00
Adminator 05ace93318 Live-Tag: Sterne nach Abschluss immer am Balkenende (gold, gefuellt+leer)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 20:31:21 +02:00
Adminator 25faca0819 Lehrer-Menue: Live an 2. Stelle; Live-Default-Ansicht = Tag
- Live-Tab direkt nach Uebersicht (tabs-Array + DOM synchron)
- Live-Modus-Default 'uebersicht' (Tag), Toggle-Reihenfolge Tag zuerst

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 20:16:53 +02:00
Adminator 532956fd7d Modul-Datumsfilter: Picker auch im Detail-Modal + global persistent
- Datums-Picker (von/bis) jetzt auch im Modul-Detail-Modal; Aendern laedt die
  Ansicht mit neuem Zeitraum und haelt Uebersichts-Cards synchron
- _modFilter global in localStorage persistiert (bleibt bis Aenderung)
- resetModDateModal ↺ setzt auf Schuljahresbeginn

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 19:07:38 +02:00
Adminator 52e9fafd92 Uebersicht: Wochengrafik mit Navigation, Triage-Cards immer, Modul-Datumsfilter
Wochen-Saeulengrafik:
- Pfeile Woche vor/zurueck (Kalenderwoche, view=activity&week_offset)
- Datum unter jedem Wochentag, halbierte + condensed Schrift
- Y-Skala links mit Anzahl, skaliert auf Max-Saeulenhoehe
- rendert auch bei leerer Woche (mit Hinweis) fuer die Navigation

Triage: alle 5 Cards immer sichtbar, leere mit "Aktuell niemand betroffen".

Module — Stand der Klasse:
- von/bis-Datumsfilter (Default bis=heute, von=Schuljahresbeginn 1. August)
- neuer view=mod_stats speist die Cards datumsgefiltert
- view=module auf student_results umgestellt (Datum+Score+JSON), from/to-Filter
  wirkt auf Tabelle, Highlights, Champions, classStats; Zeitraum im Modal-Header

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 11:43:12 +02:00
Adminator e750402799 Uebersicht: Top Performers heute + neue Abzeichen heute; Wochengrafik-Labels; Spielzeit sortierbar
- results.php view=today: heutige finale Laeufe (topToday) + vorher/nachher-Progress
  je Schueler:in x Sim (aus student_results rekonstruiert) fuer Badge-Erkennung
- teacher.html: Sektion "Top Performers heute" (heutige Wertung, Sterne + Erfolg)
  ersetzt Allzeit-Top; darunter "Neue Abzeichen heute" (badges.js, jetzt erfuellt
  aber vor heute nicht)
- Wochen-Saeulengrafik: Sim-Titel klein in die Balkenabschnitte, hoehere Grafik
- Modul-Tabelle: Spielzeit-Spalte sortierbar (Quoten-Spalten schon sortierbar)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 22:43:41 +02:00
Adminator 56d8a3217b Uebersicht: Abstand vor Top-Performer-Karte
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 22:32:48 +02:00
Adminator ff285e9af3 Verlauf-Grafik aus Sim-Schema (mehrere Linien) + Ampelbalken in allen Spalten
- renderRunsLineChart nutzt wieder SIM_METRICS statt highlights -> deckt auch
  Module ohne Highlight-Def ab (weltkueche/fluss zeigten sonst nur Sterne);
  Snapshot bei einem Durchgang via renderSimMetrics-Kacheln
- Modul-Tabelle: Ampelbalken auch fuer Durchgaenge, Spielzeit, Zuletzt
  (mehr/aktueller = gruen) -> alle Spalten konsistent grafisch

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 16:14:16 +02:00
Adminator d1a01915af Modul-Klassenuebersicht: Ampelbalken pro Zelle + Verlauf als Liniengrafik
- renderModDetail: kleiner Ampelbalken je Kennzahl-Zelle, Werte spaltenweise
  normiert, Richtung aus h.agg (gruen=positiv, weniger-ist-besser invertiert)
- Sterne-Zelle mit Ampelbalken (n/5)
- Verlauf-Button zeigt statt JSON eine Liniengrafik ueber die wichtigsten
  Kennzahlen (eine Linie je Highlight-Spalte + Sterne, oben=besser, Legende
  mit letztem Wert + Trendpfeil); Snapshot-Kacheln bei nur einem Durchgang
- sim-metrics.js: dir:'lo' fuer Kennzahlen wo weniger besser ist

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 16:00:44 +02:00
Adminator 5bf8f0fe03 Drilldown: volle Modalbreite + durchgaengige Ampelfarben (gruen->rot)
- Modal max-width 640->1120px, Kachel-Grid dichter -> Kennzahlen einzeilig
- Werte UND Balken ampelgefaerbt (pct/pctInv/ratio), Sterne mit Ampelbalken
  je n/5 -> Vergleich auf einen Blick

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 15:51:33 +02:00
Adminator c83da66325 Lehrer-Drilldown: grafische Kennzahlen, Avatar-Bild, Sterne & Abzeichen
- sim-metrics.js: kuratiertes Feld-Schema pro Sim (Sterne/Prozentbalken/
  Verhältnis/Geld/Temperatur), technische Felder ausgeblendet, sauber benannt
- Drilldown zeigt Avatar als Bild (avatar:<slug>), Erfolg als Sterne,
  Parameter als grafische Kacheln, Abzeichen-Sammlung pro gespielter Sim
- live.php student_runs liefert player_progress fuer die Abzeichen

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 15:35:29 +02:00
Adminator 2db99c37ee Übersicht: Schüler-Drilldown (Klick → aktuelle Simulationsparameter, cockpit-artig)
live.php: student_runs=<id> liefert letzte Läufe (detail_json = Parameter) + Live-State
+ Recency. teacher.html: Klick auf Triage-Zeile öffnet Modal mit Erfolg/Zuletzt, Live-
Tätigkeit und den letzten Durchläufen samt geparsten Sim-Parametern (CO₂, Fehlklicks …).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 15:20:40 +02:00
Adminator 4cd6302f0a Übersicht: Erfolg-Balken-Fix (Farbe auf Füllung statt Track)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 15:16:58 +02:00
Adminator 1f00d83232 Übersicht: Empfehlung nur aus AKTUELLER Leistung (Recency)
Denkfehler behoben — eine Empfehlung reagiert auf das Zuletzt-Gesehene, nicht auf
einen Allzeit-Rückblick. live.php cockpit liefert jetzt recentErfolg (Ø letzte 3
Läufe), earlyErfolg (frühere Läufe), daysSince, recentPlays. Triage rechnet darauf:
>14 Tage weg → Nachfassen; recent schwach → Fördern; recent+viel → Begleiten; recent
stark, kaum gefordert → Fordern; recent > früher → Bestätigen. Neue Spalte „Zuletzt",
Legende erklärt: Erfolg = letzte Läufe, Verlauf = nur Historie. 4b-Daten mit
kontrollierter Recency neu (jede Gruppe besetzt).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 15:11:35 +02:00
Adminator 84386e93d0 Lehrer: Default-Klasse = zuletzt gewählte (persistent), Fallback älteste
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 14:51:48 +02:00
Adminator 504b0098a6 Abzeichen: thematische Sim-Abzeichen + saubere Icons + Lehreransicht
- badges.js: 5 Basis-Abzeichen + je Sim 1 thematisches (Vier-Jahreszeiten,
  Sterne-Koch, Alpen-Pilot …), 19 sauber generierte Flat-Emblem-Icons (keine Emojis)
- Erfolge-Tab: Sammlung mit Bild-Icons, gesperrte grau = Ziele; alte Emoji-Badges raus
- Lehrer-Matrix: neue Spalte „Abzeichen" (freigeschaltet von gesamt) pro Schüler:in

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 14:35:43 +02:00
Adminator 3d1b8e49a3 Übersicht-Feinschliff + Idle-Fairness
- Überschrift „Klassenübersicht", Sektion „Empfohlene Aktivität für dich."
- Volle Legende (Gradient-Balken, Ampelpunkte, Beispiel-Sparkline)
- 4b-Testdaten: jede Triage-Karte besetzt (Beteiligen/Begleiten/Fördern/Fordern/
  Bestätigen), Verlauf in den letzten 10 Wochen inkl. steigender Fälle
- live-client.js: Idle-Fenster 90s→5min (Lesen/Denken nicht bestrafen) +
  Tab-Sichtbarkeit blendet echtes Weg-Sein aus

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 13:36:03 +02:00
Adminator 1c2fa2e1b4 Übersicht: Cap grafisch (rote Kappe über gedeckelten Verlauf-Balken)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 13:20:19 +02:00
Adminator 15ac35a7ad Lehrer-Übersicht: Interventions-Block (Erfolg/Aktiv/Verlauf + Triage) live
Neuer Block oben im Übersicht-Tab: 5 Stat-Karten (Erfolg-Klassenschnitt, Aktuell
aktiv als Streifen, Verlauf-Klassenschnitt mit Skala, Schüler, Simulationen) +
Interventions-Triage (Fördern/Fordern/Begleiten/Bestätigen/Beteiligen) mit
Erfolg-Ampelbalken, blinkender Live-Aktiv-Ampel und Verlaufs-Sparkline pro Person.
Ampelfarben nur für Leistung, Triage-Karten neutral. Alte 5 Stat-Cards raus,
Top-Performer bleibt. Wochen-Cap gegen Zwischenspeicher-Log-Ausreißer.

- results.php: neue fleiss-range 'weeks' (letzte 10 ISO-Wochen)
- 2. Testklasse „3b Klasse" (3 Schüler); Klasse 99 → „4b Klasse"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 13:17:22 +02:00
Adminator 69888445c7 Handbuch: Fachtext formative Leistungsbeurteilung + Literaturverzeichnis
Neuer Abschnitt in „6. Bewertung" (Anker #leistungsbeurteilung): formativ vs.
summativ, drei Bezugsnormen (kriterial/ipsativ/prozess statt normativ), Wirkungs-
belege mit ehrlicher Effektstärken-Einordnung, Leitplanken (Butler, Kluger&DeNisi,
keine Bestenliste), Fleiß als produktives Engagement, Diagnose→Intervention. Volles
Literaturverzeichnis (27 Quellen). Lehrer-Cockpit verlinkt an der Benchmark-Box
darauf. Normative Reflexionsaufgabe entschärft.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 00:36:05 +02:00
Adminator c5307017e4 Schulbuch: einheitliches App-Menü + rollenabhängiger Modus
- Kapitel-Kopf: alte Links (Modulseite/Simulation/Glossar/Lehrplan) raus, stattdessen
  einheitliches App-Menü je Rolle (Schüler: Module/Erfolge/Schulbuch/Profil; Lehrer:
  Cockpit/Schulbuch; öffentlich: Simulationen/Schulbuch), Schulbuch aktiv
- Modus je Rolle: Schüler:in → Schüler:innen/Leichte Sprache (Default Schüler:innen,
  Lehreransicht gesperrt, auch bei ?lehrer=1); Lehrperson → +Lehreransicht (Default Lehrperson)
- teacher.html: Menüpunkt "📖 Schulbuch" ergänzt
- buch.php-Übersicht: gleiches rollen-Menü statt "← Zu den Simulationen"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 02:53:23 +02:00
Adminator 8047778a5b Tourismusregion: Komplett-Integration (zweite neue Sim, beta)
Wellenbasierte Routen-Sim (DefensegeograSimMac) nach dem Tourismustal-
Playbook integriert: Sim nach App/sims/tourismusregion (game.html,
Sprites 47MB->9.5MB, ohne Eigen-Backend/Editor/Dashboard/Keys),
Plattform-Hooks (GGS_LIVE_STATE mit Welle/Budget/Umwelt/Sterne/Lenkung,
Submit bei Partie-Ende mit fertigem 0-100-Score, GGS_TUTORIAL, Home-
Button, Musik leise). Wrapper + Modul-Detailseite. SQL: module_info
(beta, Karte), Glossar-Kernbegriff Besucherlenkung (+Bild, Leichte
Sprache) + 12 Zuordnungen, Lehrplan-Mapping auf tourismus-
raumentwicklung (primaer) + verkehrserziehung/systemisches-denken.
LEHRPLAN.md mit Schwerpunkt Besucherlenkung & Mobilitaet. Lehrer-
Backend: Benchmark (Sim-Score direkt), Live-Cockpit-Spalten,
needsHelp, Highlights.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 01:14:12 +02:00
Adminator 55a83d5daf Tourismustal: iPad-Feedback Runde 2 (5 Punkte)
- Bau-Ablehnung erklaert jetzt immer auch die Bauregeln des Gebaeudes
  (Toast: Grund + Beschreibung, 7 s).
- Lehrer-Schalter fuer den Vorlese-Modus: class_modules.audio_info
  (Migration, Default AN) + modules-API set_audio_info + Toggle auf der
  Modul-Karte im Cockpit (Vorlesen an/aus) + Wrapper injiziert
  TT_FEATURES.audioInfo + Sim blendet den Umschalter aus und erzwingt
  Lese-Modus, wenn gesperrt.
- Bus zeigt bei Rueckfahrt sein Heck: Heckscheibe + rote Ruecklichter,
  Tuer/Spiegel richtungsabhaengig.
- Bikepark-Flowtrails: 3 Stufen hangAUFwaerts (gleiche Richtung wie
  Lift-Pisten).
- Info-Button an jedem Bauwerk im Baumenue: erklaert Wirkung, Kosten,
  Lage-Regeln und Lehrplan-Wissen VOR dem Bau.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 18:07:03 +02:00
Adminator 0a2ebf46b4 Tourismustal: Komplett-Integration (Sim + Wrapper + SQL + Lehrer-Backend)
Sim nach App/sims/tourismustal umgezogen (Source of Truth), game.html mit
Injection-Marker. Neu in der Sim: 5 Sommergebaeude (Bikepark mit Flowtrails,
Hochseilgarten, Fahrradverleih als Verstaerker, Aussichtsplattform,
Erlebnisspielplatz), Rettungsstation mit Notarzthubschrauber, Ausbau-
Bauanimation, Event-Pacing, Schulden-Notbremse (Bank-Zwangsverkauf),
Berater-Tipps (Ruecklagen), Sommer-Trend-Mechanik (Serfaus-Effekt) und
Wissens-Bausteine mit echten DACH-Tourismusdaten (QUELLEN.md).

Plattform: PHP-Wrapper mit base-Tag + Session-Mode, Modul-Detailseite,
module_info (beta) + Glossar (14 Begriffe inkl. Leichter Sprache + Quellen)
+ Lehrplan-Anker AT/DE/CH an neuer Kompetenz tourismus-raumentwicklung.
Lehrer-Backend: Benchmark-Formel, Live-Cockpit-Spalten, needsHelp-Heuristik,
Modul-Highlights. Strategie-Testharness (tests/strategien.mjs) belegt:
Panzer-Rush wird liquidiert, Ruecklagen zahlen sich aus.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 02:45:08 +02:00
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- 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>
2026-07-08 02:27:02 +02:00
Adminator 33fb423967 Atlas: Live-View-Feature + Submit-Bug-Fixes + Admin-Styleguide
- Neuer API-Endpoint /api/live (heartbeat / spectator) + DB-Tabelle
  live_sessions + class_modules.paused-Spalte
- Plattform-Live-Client (assets/js/live-client.js): Heartbeat,
  Pause-Overlay, Spectator-Mode bei ?view=teacher
- ggs_inject_live() in _scripts.php als Helper, in alle 11 Sim-Wrapper
  integriert
- Lehrer-Cockpit: tabellarische Klassen-Live-Ansicht pro Sim,
  Pause-Toggle, blinkender Tab-Indikator wenn aktive Sessions
- Submit-Bug erschlagen: progress.php hat jetzt submit_assessment-
  und reflection-Action; saves.php akzeptiert beide Key-Konventionen;
  alle Direkt-Pfad-API-Files mit require_once-Bootstrap
- Avatar-Default: zufaelliger DALL-E-Avatar fuer neue Schueler:innen
- Admin-Styleguide-Seite mit Bildstil, Farb-Tokens, Layout, iPad-Pattern
- Klima 2D + 3D: GGS_LIVE_STATE-Hook, Klima 2D zusaetzlich skipResume
  fuer Klassenaufgaben-Reset
- Test-Lehrer Jakob + 3 Schueler:innen lokal + auf Live angelegt
- Rundbriefe an alle Sim-Instanzen + Submit-Briefe an sonnensystem,
  busfahrt, energiemanager + Glossar-Anfrage zu Grundriess
- Status-Uebergabe in _inbox/zentrale/_status.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 01:20:53 +02:00
Adminator 2bd6a84435 Atlas+Instanzen: Phase B Integration — Wrapper-Mode-Check + Assessment
Logistik + Heli Wrappers von den Instanzen umgebaut:
- Mode-Check (free/teacher_started/locked) direkt aus DB
- Forced-Level-Start bei teacher_started
- Easy-Flag aus students.easy_language
- Locked-Seite mit Sperrhinweis + Cockpit-Link
- Assessment-Calls (started/running/completed) in Heli game.html

Atlas-Arbeit:
- teacher.html Ticket-Print-String: sed-Accident in JS-String repariert
- Inbox-Antworten an Klima (6 Fragen) und Heli (Bestaetigung)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 23:21:57 +02:00
Adminator 8455a96674 Atlas: Versions-Tag rechts unten auf allen Hauptseiten
- App/version.json mit Commit-SHA + Build-Datum
- App/assets/js/version-tag.js — rendert kleines Tag rechts unten
- Eingebunden in schueler, teacher, index, login, admin, profil
- Ermoeglicht Vergleich lokal vs. geograsim.at auf einen Blick

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 18:06:42 +02:00
Adminator b356c79134 Atlas: Phase A Integrations-Konzept + Cockpit + End-Screen
- Integrations-Konzept dokumentiert (App/docs/integration-konzept.md)
- Module-IDs vereinheitlicht: sim-XX -> semantische IDs (klima/heli/fluss/logistik/...)
- class_modules um current_level + quiz_enabled Spalten erweitert
- modules.php liefert dynamisch aus module_info, inkl. forcedLevel, quizEnabled,
  play_url, dueDate; neuer Filter ?module_id=X fuer einzeln
- schueler.html Cockpit: komplett API-first, teacher_started-Sektion als
  Auftrags-Block, neue IDs, Sprachregel 4a (Starten statt Spielen)
- teacher.html: Hardcoded ALL_MODS entfernt, laedt dynamisch
- Design-System: .ggs-endscreen-Komponente fuer einheitliche Modul-Abschluesse
- index.html Landing-Links gefixt: App/modul-X -> modul-X, V1-HTMLs auf
  Front-Controller-Routen (fluss, heli-game, stadt)
- 6 Inbox-Auftraege an Instanzen (Klima/Heli/Fluss/Logistik/Lehrplan/Glossar)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 11:42:19 +02:00