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>
7.7 KiB
7.7 KiB
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)
- Crash-Recovery durchgelaufen — Inbox + Memory gelesen, Rundmail an alle 11 Sim-Instanzen verteilt. Antworten kamen von Farmer + Energiemanager + Glossar.
- 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
- Lehrer:
- Avatar-Default umgestellt — neue Schüler*innen kriegen jetzt
automatisch einen zufälligen DALL-E-Avatar aus 30 Slugs (statt Emoji
🧑🎓). Code:students.php→ggs_random_avatar_slug(). UI-Bug inteacher.html:1208(Slug als Text statt Bild) gefixt.
2026-05-04 / 05 (Drei große Bugs gefunden + gefixt)
- Submit-Bug in progress.php: Klima sendet
action: 'submit_assessment', Server kannte nurcomplete/answer/wirkung→ Rückläufe verworfen. Jetzt Handler dafür drin (auch fürsubmit_assessmentmit nesteddata:{stars,score,duration_ms,…}). - Save-API-Mismatch: Klima sendet
save_key/save_data,saves.phperwartetekey/data. Beide Schreibweisen werden jetzt akzeptiert. - Direkt-Pfad-Pfad-PHP-Files ohne require_once: progress.php /
saves.php / modules.php / live.php hatten keine
require_oncefür Database/Session/Response — funktionierten nur über den index.php- Router. Klima ruft/php/api/progress.phpaber direkt → Fatal Error. Gefixt mitrequire_once-Bootstrap-Block in allen 4 API-Files. - OPcache-Lehre:
docker exec webstack-php php -r 'opcache_reset();'greift nicht für Apache (mod_php). Immerapachectl -k gracefulnach Code-Deploy. Memory:feedback_apache_opcache.md.
2026-05-05 (Live-View-Feature)
- DB-Migration:
class_modules.paused(TINYINT) + neue Tabellelive_sessions(student_id PK, class_id, module_id, state_json, started_at, last_seen). - 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)
- POST
- 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
- Helper-Funktion
ggs_inject_live($html, $simId)inApp/php/templates/_scripts.php— alle Sim-Wrapper rufen das vorecho $html;auf. Pattern: 1 Zeile pro Wrapper, idempotent. - 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)
- Sim-Eingriff in Klima 2D + 3D:
window.GGS_LIVE_STATEin beiden game.html (state-Snapshot)skipResume-Flag inklima-2d.phpWrapper (bei aktivem unerledigtem Lehrer-Auftrag → localStorage löschen + frisch starten)
- 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_atexistiert (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_STATEbekommen (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
- Farmer ✓ eingebaut (
- 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.mdneu angelegt — Atlas-Memory wurde von Glossar mitgepflegt.
2026-05-06 (Admin-Styleguide-Seite)
- Neue Seite
App/admin-styleguide.htmlmit:- 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.htmlTopbar 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 inteachers/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 ausdeploy.shübernehmen. - 9 reale Lehrer-Accounts auf Live (siehe
reference_prod_user_bewahren.md)- 1 neuer Test-Lehrer Jakob.
Offen / Nächste Schritte
- 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.
- Antworten der 7 noch offenen Sim-Instanzen abwarten (Live-State
- Submit-Briefe). Bei Antwort
LIVE_PRIMARY_FIELDS.<sim>-Schema inteacher.htmleintragen.
- Submit-Briefe). Bei Antwort
- Glossar „Grundriess(er)" — wartet auf Glossar-Antwort, was der Begriff genau ist.
- Lehrer-View für Reflexionen —
assessments.reflectionswerden 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"). - 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 5–10 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