38 Commits

Author SHA1 Message Date
Adminator 637c058507 Sonnensystem: einheitliche Kopfzeile oben, #ui + Top-Elemente nach unten
- ggs-header (Overlay) oben: Titel-Pille + Toolbar-Buttons (Home/Reset/BGM/
  Hilfe iconisiert, Easy/Light/Theme als Sim-Buttons) rechts oben.
- Toolbar + Titel aus #ui entfernt; #ui nach unten (top 62).
- Datums-Banner (top 64) und Lupe (top 104, inkl. renderInspect-Offset)
  unter den Header geschoben.
- Komponente: cockpit-link/home, reset-defaults-toggle/reset, help-toggle/
  help, bgm-toggle/music erkannt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 21:10:47 +02:00
Adminator 2e9ad6a83f Tourismusregion: eigene SVG-Icons (Log/Anim/Kamera) + Tempo ganz links
- Komponente: Tempo-Steuerung an erste Aktions-Position (ganz links),
  Rest ans Ende.
- Region: 🔔/🐢/🎯 durch eigene SVG-Icons ersetzt (logBadge erhalten).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 19:34:02 +02:00
Adminator 6009eabca1 ggs-header: Tourismustal + Tourismusregion (Batch 2)
- Komponente: btnHome/⌂-Erkennung (ganzer Header durchsucht), sim-eigener
  Musik-Toggle (btnMusic) -> Musik-Icon, Panel-Optik (blur/shadow/radius)
  gestrippt fuer Sims mit .panel-Leiste.
- Beide Tourismus-Sims: topbar -> ggs-header (Klassen additiv, alle IDs +
  ui.js-Bindings erhalten), Tempo-Popover ueber .ggs-speed, Musik bleibt
  eigenes Panel (btnMusic oeffnet es). ggs-header.css vor style.css fuer
  position:fixed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 17:46:46 +02:00
Adminator 41731254b1 ggs-quick-intro: alwaysShow-Option; Busfahrt zeigt Onboarding bei jedem Besuch
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 17:19:14 +02:00
Adminator 1dffef8200 Busfahrt: nur EIN Onboarding (Welcome-Overlay abgeloest)
Ursache 2x: Busfahrt zeigte sein eigenes #welcome-overlay UND das
GgsQuickIntro-Onboarding. Jetzt ist GgsQuickIntro das einzige Start-Gate:
- ggs-quick-intro: onStart-Callback (feuert einmal beim Schliessen bzw.
  sofort wenn schon gesehen), isSeen exportiert.
- Busfahrt: welcome-overlay wird nicht mehr gezeigt; onStart -> startGame;
  startGame wartet per Retry auf boot() (kein Timing-Problem).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 17:09:28 +02:00
Adminator 496fc59c7b Busfahrt: Neustart-Button + Onboarding-Doppelung abgesichert
- ggs-quick-intro: open() entfernt vorab alle vorhandenen Overlays (nie 2x).
- Busfahrt: Neustart-Button (btn-reset, location.reload mit Rueckfrage).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 16:54:34 +02:00
Adminator 8f89613eee Busfahrt: Auftrags-Card tiefer, EN-Button -> Onboarding Seite 2, Texte
- ggs-quick-intro.js: optionale zweite Seite (config.page2 {title, html})
  mit Weiter/Zurueck-Navigation. Rueckwaertskompatibel (ohne page2 = 1 Seite).
- Busfahrt: EN-Button entfernt; die "Warum Englisch?"-Erklaerung liegt jetzt
  auf Onboarding-Seite 2 + Satz zur mehrsprachigen Hintergrundmusik.
- Onboarding-Schritte ohne lange "-" ausformuliert.
- Auftrags-Card (.bf-order) 20px tiefer (top 84).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 16:32:32 +02:00
Adminator ec746f250f Header-Komponente: Bespoke-Fixes (Logo-Verzerrung, Icon-Groesse, Glossar-Icon)
- Logo-Kreis resettet Padding/Border/min-height (Sim-eigenes a-Styling
  vererbte sich -> verzerrter Logo-Kreis).
- .ic-Groesse (20px) auch fuer Buttons/Links ohne .ggs-btn-ghost-Klasse
  (Lautsprecher/Hilfe rendeten riesig).
- Sim-interne Glossar-Buttons (glossar-btn u.a.) bekommen das Buch-Icon
  statt Emoji.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 15:07:09 +02:00
Adminator 6c2990aa5e Farmer-Header v2 nach Thomas-Feedback + Default-Musikplayer
- Header nach oben RECHTS (raus aus dem Leaflet-Zoom oben links),
  Geld-Anzeige entfernt (steht in linker Sidebar), Emoji aus Titel,
  Jahr als Badge in die Pille (Konsistenz mit Batch 1), Inter-Font.
- Jahr-Leiste + Anbau-Versuch-Spalte nach unten geschoben (unter Header).
- Komponente: wiederverwendbarer Default-Musikplayer (data-ggs-music,
  Klima-Tracks als Plattform-Standard) + Musik-Widget-Styling fuer Sims
  ohne design-system.css.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 15:02:18 +02:00
Adminator 7b1bdb8d1b ggs-header Batch 2 Start: Farmer + Komponenten-Vorruestung
- Komponente: Logo-Fallback (Kreis-Logo wenn Sim keins hat), Overlay-Modus
  (data-ggs-overlay fuer Vollbild-Canvas), generische Icon-Button-Optik fuer
  Aktionen ohne .ggs-btn-ghost-Klasse, Ton-IDs erweitert (audio-toggle/btnSound).
- Farmer als erstes Bespoke-Muster: ggs-topbar -> ggs-header, schwebende Pille
  (Fallback-Logo + Titel) + Geld-KPI + Icon-Buttons; interne Fachinfo bleibt
  (data-ggs-no-glossar).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 14:33:53 +02:00
Adminator 502f271f36 Einheitliche Sim-Kopfzeile (Entwurf B) als Komponente + Lizenz-Datenmodell
- ggs-header.css/.js: schwebende Pillen-Kopfzeile aus vorhandenem
  .ggs-header-Markup (Kreis-Logo/Titel/Level als eine Pille, eigene
  SVG-Icons, Tempo-Panel links + Zustandsbutton, Musik-Panel unten,
  30% transparente Untermenues, Glossar target=_blank, Lehrplan raus).
  Enhance-Ansatz: Spiel-Logik (IDs/Klassen, data-speed) bleibt unberuehrt.
- Eingebaut in Klima 2D/3D, Fluss, Logistik (Auto-Tempo), Energiemanager,
  Kofferdetektiv 3D.
- admin-licenses.html: Datenmodell-Sektion (licenses-Tabelle, Lebenszyklus
  Generiert->Eingeloest->Zugewiesen, Beziehungen, Jahr->Schuljahr->Code).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 14:06:41 +02:00
Adminator ce7bff3184 Drilldown-Metriken: schwarze Balken -> farbig + Sterne raus (sim-metrics.js)
bar() faerbte ueber ivm-CSS-Klassen, die im Schueler-Drilldown fehlen ->
Balken erschienen schwarz. Jetzt INLINE gefaerbt (ivmColor = _pctColor-Skala).
starsBlock (Heli Start/Landung) zeigt jetzt %+Balken statt Sterne.
pct/pctInv/ratio/money/temp/bool ebenfalls inline gefaerbt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 11:34:25 +02:00
Adminator 0d9481cae2 Tag-Ansicht: pausierte Zeiten bleiben als Verlauf stehen (verschwinden nicht mehr)
live-client loggt Pausen-Spannen (__pauseSpans: {s,e}), live.php reicht sie durch,
renderLiveSummary zeichnet jede als bleibendes halbhohes Segment im Tag-Balken
(offene/laufende Pause blinkt). Fallback fuer Sim-Pause via phase bleibt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-23 12:53:07 +02:00
Adminator 0d765961af Idle-Pause fuer Heli funktionsfaehig + iframe-aware Interaktionserfassung
- Interaktionen aus gleich-origin iFrames (Heli-Start/-Flug/-Landung) zaehlen jetzt
  (periodisches _hookFrame), plus postMessage {type:'ggs-activity'} + __GGS_LIVE__.ping().
  Aktives Steuern gilt nicht mehr faelschlich als idle.
- EVENTS erweitert (keyup/touchmove/pointermove). Heli in IDLE_PAUSE_SIMS aufgenommen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-23 12:50:30 +02:00
Adminator 6dfcf4d57f Idle-Pause vorerst NUR in Klima (per-App-Freischaltung)
Die plattformweite Idle-Pause stoerte passive/iframe-Phasen (Heli-Flug: aktiv gesteuert,
aber Steuerung im iframe/Halte-Taste zaehlte nicht als Interaktion -> Fehlpause).
Jetzt Allowlist (klima/klima-3d) bzw. window.GGS_IDLE_PAUSE=true. Andere Apps: keine
Auto-Pause, bis sie dort einzeln getestet + die Interaktionserfassung angepasst ist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-23 12:27:01 +02:00
Adminator 48971b4588 Plattformweit: Idle-Pause-Overlay nach 3 min Untaetigkeit mit "Weiter"-Button
live-client.js (laedt in JEDER Sim): nach 3 min ohne Interaktion sichtbare Pause
(friert Aktivzeit ein -> Idle zaehlt nicht als Arbeitszeit), Weiterarbeiten per
Klick. Heartbeat meldet __paused/__idlePaused. Kein Sim-Code noetig.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-22 23:32:50 +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 d9f9f901a1 Logistik-Pause friert die Aktivzeit ein (Lehrer-Cockpit)
Problem: bei Pause lief die „Seit"-Zeit im Lehrer-Cockpit weiter, obwohl das
Spiel steht — live-client.js akkumulierte activeMs unabhängig vom Pause-Zustand.

- live-client.js: opt-in Pause-Unterstützung. window.__GGS_LIVE__.setPaused(bool)
  friert die activeMs-Buchhaltung ein (lastTickAt wird weiter aktualisiert, damit
  beim Fortsetzen nichts nachspringt). __paused zusätzlich im Heartbeat. Default
  aus → alle anderen Sims unberührt.
- logistik game.html: Pause-/Auto-Button ruft setPaused(mode==='pause').

Verifiziert (Playwright): activeMs 0→2000 (läuft) → 2000 (Pause eingefroren)
→ 3999 (Fortsetzen).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-19 15:12:50 +02:00
Adminator 8b1088a070 Balancing: sonnensystem (Erst-Treffer-Bewertung, Loesung nicht aufdecken, Level-Badge) + energiemanager (echter Blackout an Netzfrequenz, Schwierigkeitsrampe)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-15 21:59:32 +02:00
Adminator 2984d93e7e Review-Batch P0: Sicherheit + Schueler-Ergebnisse + Assessments-Aufblaehung
Sicherheit:
- progress.php: IDOR geschlossen (student_id-Zweig verlangt Lehrer-Login + Klassenbesitz)
- licenses.php: ?admin=1 und generate nur noch fuer echten Admin; Collision-Retry mit Cap
- .htaccess: .env/.sh/.sql/.bak Deny (Defense-in-Depth)

Schueler-Ergebnisse (kritisch):
- sim-metrics.js + .ivm-CSS in schueler.html; renderOwnRunCard-Fallback zeigt jetzt
  Sterne + grafische Kennzahlen fuer die 9 bisher leeren Sims
- sim-metrics.js: klima final_budget als "Mio EUR" statt "EUR" (Faktor 10^6)

Skalierung:
- assessment.php: Zwischen-Pings (phase running/started) nicht mehr persistiert
- heli: 30-s-assessmentPing entfernt (Live-Zustand laeuft ueber Heartbeat)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-15 16:21:25 +02:00
Adminator bfc90b78de Modul-Uebersicht: relevante Kennzahlen pro App korrigiert + Quoten
Alle $MODULE_HIGHLIGHTS gegen echte Daten (Klasse 102) verifiziert und auf die
tatsaechlichen Feldnamen umgestellt (viele waren veraltet/leer, z.B. farmer,
sonnensystem, energiemanager, busfahrt, logistik, heli, tourismus*).

- kofferdetektiv NEU: Geloest-Quote, Erstversuch, Fehlversuche, Oe Hinweise
- weltkueche/fluss NEU
- fluggesellschaft NEU (aus Submit-Schema)
- Berechnete Quoten via num/den -> Prozent (Erfolgsquote statt Rohzahl):
  kofferdetektiv, weltkueche, busfahrt, logistik, energiemanager, eu-werkstatt,
  sonnensystem, tourismustal, fluggesellschaft
- heli: Planung/Start/Landung/Level; sim-metrics: Level + Oe Hinweise ergaenzt

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 21:22:50 +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 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 65ca8692cb Abzeichen: gemeinsame Bibliothek + Sammlung im Erfolge-Tab
Neue badges.js: 5 einheitliche Abzeichen pro Sim (Einstieg/Fortgeschritten/
Könner/Meister/Ausdauer), Bedingungen aus allgemeinen Leistungsdaten (plays/
best_stars/level) → gelten sofort für ALLE Sims. Gesperrte Abzeichen sichtbar
als Ziele. ggsErfolgToStars() für Sterne aus normiertem Erfolg. Erfolge-Tab in
schueler.html zeigt die Sammlung pro Simulation (auch ungespielte = Ziele).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 14:24:55 +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 685b4700f8 Glossar: 4 erklärende Widgets + 2 Einträge anschaulicher
Widgets: Ernährungspyramide (US-1992 vs DACH-2024 vs Denkfehler), Kakao-Bohne
(Schoko-Fließband + Mischverhältnis→Sorte/kaputte Masse), Klimazone (Bänder Äquator→Pol
mit Beispielpflanzen), Monsun (Monatsregen-Balkendiagramm Mumbai + Wien-Vergleich, Quelle IMD).
Texte: off-season-import (Winter-Erdbeere ~10× CO₂, Schiff vs Flug) + lebensmittelverschwendung
(70 kg = ~6 Wochen Essen; 700 Mio. Hungernde) — greifbare Vergleiche.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 01:42:20 +02:00
Adminator f8e77910ea Glossar: 51 neue Einträge komplett — Bilder + 12 interaktive Widgets
Bilder (Flat-Scandinavian, gpt-image-1) für alle 51 neuen Begriffe; 12 Widgets in
neu1.js (strommix, eisschild, klimabilanz, megawattstunde, niederschlag, fruchtfolge)
und neu2.js (halbschatten, blockabfertigung, grundfreiheiten, synergie, aufenthaltsdauer,
grundwasser). image_path + module-Mappings, key_slug-basiert.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 23:17:59 +02:00
Adminator 2e50aaf49f Glossar: 12 neue interaktive Widgets (Tourismus + Geo/Energie/Reise)
tourismus.js: beschneiung (Temp→Schnee), diversifizierung, kapazitaet, saisonalitaet,
uebertourismus, bevoelkerungsdichte
geowelt.js: gletscher, lawinenwarnstufe, lichtgeschwindigkeit, gigawattstunde,
netzspannung, kartenmaßstab
Einbindung in glossar.php (Registry via Object.assign).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 02:36:55 +02:00
Adminator 0febe51685 Glossar-Qualität Welle 1: Angebot&Nachfrage neu (Kino-Beispiel) + Markt-Widget, DIN-Striche, Fixes
- angebot-nachfrage: kindgerechter Text (20-€-Taschengeld/Kino), kein Lehrplan-Jargon,
  neues interaktives Markt-Widget (10 Äpfel, Preis-Regler → Gleichgewicht)
- beduerfnisse, raumnutzungskonflikt: Lehrplan-Sätze raus, kindgerechter
- DIN 5008: Zahlenbereiche programmweit als "5 – 9" (71 Einträge)
- Leichte Sprache: falsche Bindestriche gefixt (Infrastruktur, Grundausstattung, …)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 02:17:54 +02:00
Adminator c4276083a2 Glossar visuell komplett: 162 Bilder, 13 Kapitel-Icons, 12 interaktive Widgets
- 162 neue Glossar-Bilder (Flat-Scandinavian, gpt-image-1) → alle 402 Einträge bebildert;
  image_path-Update: App/Don_t_Deploy/2026-07-16-glossar-bilder.sql
- 13 Kapitel-Icons (icon-<id>.webp) ersetzen die Emojis in Buch-Übersicht + Kapitel-h1
  (buchKapIcon-Helper mit Emoji-Fallback)
- 12 interaktive Glossar-Experimente in 2 Modulen:
  natur (Mondrotation, Kernschatten, Keeling-Kurve, Pegel/HQ100, Wärmeausdehnung,
  Klimaträgheit) + wirtschaft (Preiselastizität, Engpass, Skaleneffekt, Modal Split,
  Netzfrequenz/Hertz, Lageenergie/Pumpspeicher); Registry via Object.assign,
  Script-Einbindung in glossar.php

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 00:59:30 +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 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 2136bbbe62 Glossar: Windrad-Experiment entfernt (redundant mit SVG-Grafik)
Der Windrad-Höhenslider war redundant mit der bestehenden
windrad-groessenvergleich.svg, die denselben Sachverhalt als
statische Vergleichsgrafik bereits zeigt. Entsprechend aus der
Registry und dem Code entfernt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 01:14:16 +02:00
Adminator 22f5e9b686 Glossar: 3 weitere Experimente + Watt-Leiter-Infografik
- Treibhauseffekt-Slider (CO2-ppm 200..800 -> Temperatur-Anomalie via IPCC-Faustformel, Moleküle füllen Atmosphäre dynamisch, Thermometer visualisiert ΔT)
- Windrad-Höhenslider (0..260 m, 7 Vergleichsobjekte Mensch..modernes Windrad leuchten je nach Schieberstellung auf)
- Methan-GWP-Waage (CO2-Schale variabel 1..60 kg, Waage kippt physikalisch bis bei 28 kg Balance erreicht ist)
- kWh-Rennen: Fahrzeuge fahren jetzt von rechts nach links (plattformunabhängige Emoji-Orientierung), Animation auf 6,5s verlangsamt
- Watt-Leiter: neue gemeinsame Infografik (log-Skala 1 W..1 GW mit 6 Haushalts- und Kraftwerks-Beispielen), verknüpft mit watt/kilowatt/megawatt
- CSS für Slider-Experimente (.ge-gh-*), Waagen-Animation, Windrad-Highlighting

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 00:52:39 +02:00
Adminator a425ce31e6 Glossar: Komplettpaket (28 Eintraege, 19 SVGs, 5 DALL-E-Bilder, iPad, Experimente)
- Mindmap mit Force-directed Layout (pages/mindmap.php) + Cross-Links
- 28 Eintraege im Fachartikel-Stil mit 113 Quellen + Inline-Referenzen [^n]
- Leichte-Sprache-Version fuer alle 28 Eintraege (short_easy, text_easy, examples.text_easy)
- 19 Infografiken (12 neu): co2-Keeling, klimawandel-Temp, kohlenstoff-Kreislauf, fotosynthese, energiemix-AT, methan-GWP, photovoltaik, wasserkraft, kipppunkt, biodiversitaet-LPI, permafrost, treibhausgas-GWP + bestehende (treibhauseffekt, ppm, windrad, albedo, fossile, kwh, co2-fussabdruck)
- 5 DALL-E-Reprasentationsbilder im Querformat (nachhaltigkeit, klimaneutralitaet, erneuerbare-energie, emissionen, pariser-abkommen)
- Alphabetische Sprungnavigation A-Z mit Buchstabenbannern
- Lightbox-Vollbild auf allen Infografiken mit expliziten SVG-Dimensionen (Safari/iPad-Fix)
- Easy-Sprache-Toggle pro Card mit localStorage-Persistenz
- 4 interaktive Experimente: kWh-Rennen, ppm-Finder, albedo-Slider, CO2-Fussabdruck-Rechner
- iPad-Optimierung: Touch-Ziele >=38px, Hover in @media (hover), touch-action
- Modul-Metadaten aus DB-Tabelle module_info (keine Hardcodes)
- Cache-Buster auf JS-Asset
- Schema-Erweiterung: glossar_sources, examples.text_easy

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