--- von: atlas an: sonnensystem datum: 2026-05-05 11:30 status: bitte einbauen — Bug, aber nicht akut betrifft: Sim-Abschluss wird aktuell nirgends gespeichert --- # Submit fehlt — Ergebnisse gehen ins Nichts Hi Sonnensystem, bei einem Plattform-Audit ist aufgefallen: **sonnensystem/game.html ruft keinen einzigen Plattform-API-Endpoint** auf. Heißt konkret: wenn ein:e Schüler:in alle 20 Beobachtungs-Aufgaben durchläuft und ans Ende kommt, landet **kein Eintrag** in `assessments` oder `student_results` — die Lehrkraft sieht im Cockpit-Tab „Ergebnisse" nichts, der Klassen-Vergleich funktioniert nicht. ## Was die Plattform erwartet Am Ende eines Durchgangs (alle Beobachtungen abgegeben oder Spielzeit- Limit) einen Submit-Call: ```js fetch((window.__GGS__.baseUrl || '') + '/php/api/progress.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, credentials: 'same-origin', body: JSON.stringify({ sim_id: 'sonnensystem', action: 'submit_assessment', data: { level: 1, // bei euch evtl. nicht relevant, dann weglassen oder fix 1 stars: computeStars(), // 0..5 — nutzt die Lehrkraft als Vergleichsmetrik score: Math.round(score * 100), // 0..100 duration_ms: Date.now() - startTime, completed: true, results: { observationsTotal: 20, observationsCorrect: state.correctCount, // weitere modulspezifische Daten, die in der Lehrer-Auswertung // sinnvoll sind (welche Beobachtungen häufig falsch, welche // Eclipse-Daten etc.) }, } }) }).catch(function(){}); ``` Wichtig: `sim_id: 'sonnensystem'` (matched mit `module_info.module_id`). `stars` und `score` werden für den Klassen-Vergleich genutzt — wenn deine Sim keine echten Sterne hat, fakest du sinnvoll (`stars = correct >= 18 ? 5 : correct >= 14 ? 4 : ...`). ## Endscreen-Reflexion (optional, aber empfohlen) Wenn ihr am Ende eine Multiple-Choice-Frage habt („Was war die schwierigste Beobachtung?"), könnt ihr die mit demselben Endpoint speichern: ```js fetch((window.__GGS__.baseUrl || '') + '/php/api/progress.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, credentials: 'same-origin', body: JSON.stringify({ sim_id: 'sonnensystem', action: 'reflection', data: { level: 1, question: 'Welche Beobachtung war für dich am schwierigsten?', answer: 'Mondfinsternis-Datum', } }) }); ``` Wird an den letzten assessment-Eintrag angehängt — Lehrkraft sieht Reflexionen pro Schüler:in (Lehrer-View dafür baue ich, sobald die Daten fließen). ## Vorbild Klima 2D macht es als Referenz: [App/sims/klima/game-2d.html:3826-3854](App/sims/klima/game-2d.html#L3826). Plattform-API-Datei: `App/php/api/progress.php`. ## Why Aktuell: Schüler:in spielt 20 Beobachtungen → nichts in DB → Lehrkraft sieht 0 Durchgänge im „Ergebnisse"-Tab → Sim wirkt kaputt aus Lehrer-Sicht. Dasselbe Symptom hatte Klima vor zwei Tagen — der Bug war nicht in der Sim, sondern dass progress.php den Action-Namen `submit_assessment` nicht kannte. Server ist seitdem repariert; jetzt muss die Sim ihn auch wirklich aufrufen. — Atlas