Files
geograsim/App/sims/_inbox/zentrale/_status.md
T
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

7.7 KiB
Raw Blame History

instanz, zuletzt_aktualisiert, session_id
instanz zuletzt_aktualisiert session_id
atlas 2026-05-07 23:50 live-view-feature-und-submit-fixes

Atlas — aktueller Stand (Übergabe an nächste Session)

Ich bin Atlas

Plattform-Zentrale für GeoGraSim. Working Directory: c:/xampp/htdocs/geograsim/ (ohne Modul-Subordner). Erkenne dich beim Recovery an: Bearbeitung von App/pages/, App/teacher.html, App/schueler.html, App/php/api/, module_info-DB, App/Don_t_Deploy/deploy.sh. Modul-Instanzen arbeiten in App/sims/<slug>/-Subworkspaces.

Was in den letzten 3 Tagen passiert ist

2026-05-04 (Recovery + drei große Plattform-Features)

  1. Crash-Recovery durchgelaufen — Inbox + Memory gelesen, Rundmail an alle 11 Sim-Instanzen verteilt. Antworten kamen von Farmer + Energiemanager + Glossar.
  2. User Jakob + 3 Test-Schüler*innen angelegt (lokal + Live):
    • Lehrer: jakob / hoppala3355! (Live-ID 106)
    • Klasse: „Jakob 1" (25/26), Join-Code JAKOB1 (Live-ID 106)
    • Schüler: Alexom (PIN 3322, Lizenz S8XG-6J9C-ME9N-2026), Berturam (PIN 7788), Sussama (PIN 9991)
    • SQL-Migration: App/Don_t_Deploy/2026-05-04-jakob-3schueler-anlegen.sql
  3. Avatar-Default umgestellt — neue Schüler*innen kriegen jetzt automatisch einen zufälligen DALL-E-Avatar aus 30 Slugs (statt Emoji 🧑‍🎓). Code: students.phpggs_random_avatar_slug(). UI-Bug in teacher.html:1208 (Slug als Text statt Bild) gefixt.

2026-05-04 / 05 (Drei große Bugs gefunden + gefixt)

  1. Submit-Bug in progress.php: Klima sendet action: 'submit_assessment', Server kannte nur complete/answer/wirkung → Rückläufe verworfen. Jetzt Handler dafür drin (auch für submit_assessment mit nested data:{stars,score,duration_ms,…}).
  2. Save-API-Mismatch: Klima sendet save_key/save_data, saves.php erwartete key/data. Beide Schreibweisen werden jetzt akzeptiert.
  3. Direkt-Pfad-Pfad-PHP-Files ohne require_once: progress.php / saves.php / modules.php / live.php hatten keine require_once für Database/Session/Response — funktionierten nur über den index.php- Router. Klima ruft /php/api/progress.php aber direkt → Fatal Error. Gefixt mit require_once-Bootstrap-Block in allen 4 API-Files.
  4. OPcache-Lehre: docker exec webstack-php php -r 'opcache_reset();' greift nicht für Apache (mod_php). Immer apachectl -k graceful nach Code-Deploy. Memory: feedback_apache_opcache.md.

2026-05-05 (Live-View-Feature)

  1. DB-Migration: class_modules.paused (TINYINT) + neue Tabelle live_sessions(student_id PK, class_id, module_id, state_json, started_at, last_seen).
  2. Neuer API-Endpoint App/php/api/live.php:
    • POST {action:'heartbeat', module_id, state} (Schüler-Sim, ~4 s)
    • GET ?class_id=X (Lehrer: aktive Sessions in Klasse)
    • GET ?student_id=X (Spectator: state eines Schülers)
  3. Plattform-Live-Client App/assets/js/live-client.js:
    • Heartbeat alle 4 s
    • Pause-Polling alle 5 s → Vollbild-Overlay „⏸ Auftrag pausiert"
    • Spectator-Mode bei ?view=teacher → Input disabled, Banner oben
  4. Helper-Funktion ggs_inject_live($html, $simId) in App/php/templates/_scripts.php — alle Sim-Wrapper rufen das vor echo $html; auf. Pattern: 1 Zeile pro Wrapper, idempotent.
  5. Lehrer-Cockpit Tab 🟢 Live:
    • Tabellarische Klassenliste pro Modul
    • State-Spalten dynamisch aus dem state-JSON
    • LIVE_PRIMARY_FIELDS.<sim> als Schema-Override pro Sim
    • Klick auf Zeile öffnet Inline-Modal (Spectator) — kein 404 mehr
    • Tab-Indikator pulsiert grün, sobald ≥ 1 Session aktiv (10 s Background-Polling, läuft auch auf anderen Tabs)
  6. Sim-Eingriff in Klima 2D + 3D:
    • window.GGS_LIVE_STATE in beiden game.html (state-Snapshot)
    • skipResume-Flag in klima-2d.php Wrapper (bei aktivem unerledigtem Lehrer-Auftrag → localStorage löschen + frisch starten)
  7. Modul-Auftrags-UI in teacher.html:
    • Klick auf „🚀 Klassen-Mode" → Modal mit Level (1/2/3) + Endet-am + ⏸ Tempo-Sperre
    • Pause-Button auf Modul-Card sichtbar wenn Auftrag aktiv
    • Auftrags-Mode wird automatisch ausgeblendet, wenn ein assessment- Eintrag mit submitted_at > class_modules.started_at existiert (Auftrag erledigt → wandert in reguläre Modul-Liste)

2026-05-05 / 06 (Briefe an Sim-Instanzen)

  • 11 Sim-Inboxen haben Briefe für GGS_LIVE_STATE bekommen (Vergleichstabellen-Schema). Antworten:
    • Farmer ✓ eingebaut (game.html + zentrale-Antwort 11:00)
    • Energiemanager ✓ eingebaut (zentrale-Antwort 04:24)
    • Klima 2D + 3D ✓ (selbst von Atlas eingebaut)
    • Rest noch offen: Fluss, Heli, Logistik, EU-Werkstatt, Sonnensystem, Busfahrt, Entscheidungstag, Staustufen
  • 3 Briefe an Sims ohne Submit-Pfad geschickt: Sonnensystem, Busfahrt, Energiemanager — sie machen aktuell GAR KEINE API-Calls für Submit. Heli + Logistik haben eigene Pfade (nicht geprüft, kann sein dass die mit der Plattform-Auswertung nicht voll kompatibel sind).

2026-05-04 (zwei Glossar-Inbox-Mails an Glossar-Instanz)

  • Anfrage zu „Grundriess(er)"-Eintrag (Klima-Sim grüne Häuser/Bewohner)
  • Glossar-Instanz hat zusätzlich die Memory-Files reference_design_tokens.md + reference_avatar_slugs.md neu angelegt — Atlas-Memory wurde von Glossar mitgepflegt.

2026-05-06 (Admin-Styleguide-Seite)

  • Neue Seite App/admin-styleguide.html mit:
    • DALL-E-Prompt-Block (Copy-Button)
    • Bild-Farbpalette (5 Hex, Klick-zum-Kopieren)
    • UI-Farbtokens (22 CSS-Variablen, gruppiert)
    • Layout / Spacing / Typo-Tabellen
    • Bildformate / Pfade / 30 Avatar-Slugs
    • iPad-Patterns, Sprache (Lernarbeit-Lexikon)
  • Verlinkt aus admin-licenses.html / admin-modules.html / admin-levels.html Topbar als „🎨 Styleguide".
  • Auth-Check über /api/admin?action=status.

Live-Status der Plattform

  • Server: geograsim.at / staatsgeheimnis.at/geograsim/
  • DB-Stand kompatibel (Live hat keine country-Spalte in teachers/classes, Migrations entsprechend angepasst)
  • Apache reload nach Deploy: docker exec webstack-php apachectl -k graceful
  • Server-Doppelstruktur: bei Deploy IMMER App/<x>/ UND Top-Level <x>/ spiegeln. Pattern aus deploy.sh übernehmen.
  • 9 reale Lehrer-Accounts auf Live (siehe reference_prod_user_bewahren.md)
    • 1 neuer Test-Lehrer Jakob.

Offen / Nächste Schritte

  1. Save-Cleanup bei Spielende — Thomas hat den Bug gemeldet (Klima 3D resumed nach Game-Over aus altem Stand). Konzept liegt vor (Save bei Endscreen löschen + tryResume-Endphase-Check), aber noch nicht implementiert — Thomas hat „mach selbst" oder „in die Klima-Inbox" noch nicht entschieden.
  2. Antworten der 7 noch offenen Sim-Instanzen abwarten (Live-State
    • Submit-Briefe). Bei Antwort LIVE_PRIMARY_FIELDS.<sim>-Schema in teacher.html eintragen.
  3. Glossar „Grundriess(er)" — wartet auf Glossar-Antwort, was der Begriff genau ist.
  4. Lehrer-View für Reflexionenassessments.reflections werden seit 2026-05-05 gespeichert (progress.php hat reflection-Handler), aber im „Ergebnisse"-Tab gibt es noch keine Anzeige. Thomas hat das offen gelassen („Sag Bescheid").
  5. Sonstiges Memory-TODOs — Marktplatz-Auth, VS-Code-Workspaces, V2-Deployment-Plan (alles wartet auf Thomas-Kommando).

Wenn Thomas dich morgen reaktiviert

Lies:
  C:/Users/herr_/.claude/projects/c--xampp-htdocs-geograsim/memory/MEMORY.md
  App/sims/_inbox/zentrale/_status.md   ← diese Datei
  App/sims/_inbox/zentrale/  (neueste 510 Mails)
Dann melde dich mit Stand und Frage was als nächstes ansteht.

Antworte zu Beginn mit: „Hier Atlas. Stand vom 2026-05-07: Live-View läuft, Save-Cleanup bei Spielende ist noch offen, …"

— Atlas, 2026-05-07 23:50