8047778a5b
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>
36 lines
849 B
JavaScript
36 lines
849 B
JavaScript
// Telemetrie-Stub für das Lehrer-Dashboard. Läuft jetzt lokal (localStorage);
|
||
// bei der Integration ins GeoGraSim-Backend wird flush() auf einen POST
|
||
// umgestellt und erhält Session-/Schüler-Kontext vom PHP-System.
|
||
|
||
const KEY = 'tourismusregion_telemetry';
|
||
|
||
export const telemetry = {
|
||
events: [],
|
||
_timeProvider: null,
|
||
|
||
init(timeProvider) {
|
||
this._timeProvider = timeProvider;
|
||
this.events = [];
|
||
},
|
||
|
||
log(type, data = {}) {
|
||
this.events.push({
|
||
ts: Date.now(),
|
||
gameTime: this._timeProvider ? this._timeProvider() : null,
|
||
type,
|
||
data,
|
||
});
|
||
this._persist();
|
||
},
|
||
|
||
_persist() {
|
||
try {
|
||
localStorage.setItem(KEY, JSON.stringify(this.events.slice(-500)));
|
||
} catch (e) { /* voller Speicher o. Privatmodus – Telemetrie ist optional */ }
|
||
},
|
||
|
||
flush() {
|
||
return this.events;
|
||
},
|
||
};
|