61 Commits

Author SHA1 Message Date
Adminator 085b0b6aa8 Sonnensystem-Header-Fixes: Pille-Breite, obs-launcher, eigene Icons
- Komponente: .ggs-header--float bekommt display:flex (war auf design-
  system.css angewiesen) -> behebt volle-Breite-Pille bei Sims ohne
  design-system (Sonnensystem).
- obs-launcher (Aufgaben/Info) unter den Header (top 64, links 268).
- Eigene SVG-Icons: Leichte-Sprache (Textseite), Lights (Gluehbirne),
  Theme (Sonne/Mond-Umschaltung) statt Emoji.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 21:43:30 +02:00
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 248a46f829 Tourismus-Icons: Reduzierte-Animation als Funkeln (durchgestrichen wenn
aktiv), Tal-Log-Glocke, Tal-Meldungsmodus Sprechblase/ABC

- Komponente: generisches Zwei-Zustands-Icon (.ic-state-on/.ic-state-off
  via .active) -> reduzierte Animation zeigt durchgestrichenes Funkeln.
- Region: Schildkroete -> Funkeln (mit Aus-Zustand).
- Tal: btnLog -> Glocken-SVG; _syncInfoModeBtn -> Sprechblase (Audio) /
  ABC (Lese-Modus) statt Emoji (Buch war fuers Glossar vergeben).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 19:50:57 +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 b835475ef7 Fix: schwebende Kopfzeile blockierte Karten-Klicks (Farmer unbedienbar)
Ursache: die transparente ggs-header ueber der Vollbild-Leaflet-Karte
fing alle Klicks ab -> Pflanzen unmoeglich. Fix zentral: Container
pointer-events:none, nur Bedienelemente pointer-events:auto (Karte
darunter bleibt bedienbar). Gilt fuer alle Karten/Canvas-Sims.

Farmer: Pille nach links (Vollbreite-Header, Steuerung rechts),
Leaflet-Zoom nach unten links verschoben.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-25 15:20:33 +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 5fbbf506b5 Schulbuch: 26 Fotos aus Prod-Kollegen-Uploads + lokalen Zuordnungen eingebaut
Prod (Kollegen, echte VBG-Orte, je Slot bestes gewaehlt): kofferdetektiv komplett
(Gepaeckband Stuttgart, Koffer-Indizien, Anzeigetafel, Nachtzug, Kondensstreifen,
Hafen-Bregenz), busfahrt (Reisebus, Flixbus, Grenzschild, Pfaender-Dreilaenderblick),
energiemanager (Luenersee-Stausee, Pumpspeicher, Smartmeter, Strommast), klima
(Gletscher, Gewaechshaus), sonnensystem (Sonnenaufgang), eu-werkstatt (EU-Flagge),
farmer (Alp-Kuehe), tourismusregion (Wegweiser, Parkplatz Golm), weltkueche
(Fairtrade, Fruehstueckstisch). Colleague-Fotos ersetzen meine Trip-Platzhalter bei
fairtrade-siegel + opener-parkplatz-voll. Lokal: souvenirs, marktstand, radweg.
Alle: auto-orient, EXIF/GPS gestrippt, 1600px, WebP.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-20 23:22:31 +02:00
Adminator d4c7fd5009 Schulbuch: 9 neue Fotos (EXIF/GPS gestrippt, WebP) in leere Buch-Slots
- weltkueche: sennerei-kaese, fairtrade-siegel, supermarkt-herkunftsschilder
- tourismustal: sommerloch-leere-terrasse (Skiort im Sommer)
- tourismusregion: opener-parkplatz-voll, standort-jausenstation (NEU Ordner)
- logistik: alpen-transit (Container-LKW)
- energiemanager: strommix-wasserkraft (Wasserkraft-Turbine)
- farmer: opener-feld-berg (Maisfeld)
Aus .humanInput/fotosNeu2; auto-orientiert, 1600px, q82.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-20 22:55:04 +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 0357cd188e Buch: 3 echte Fotos in neue Plätze (Schiff/Venedig/Flughafen)
Logistik: Containerschiff auf der Verkehrsträger-Seite (LKW/Zug/Schiff).
Klima: Venedig Acqua alta auf der Meeresspiegel-Seite (europäisches Beispiel).
Kofferdetektiv: Großraumflugzeug an der Fluggastbrücke (Flughafen/Flugverkehr).
Jeweils Standard + Leichte Sprache, EXIF/GPS gestrippt. Fotos von Thomas.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 12:39:37 +02:00
Adminator 6e3de69b3c Buch Weltküche: echtes Gewürzmarkt-Foto (Basar Jerusalem) in gewuerzregal-tropen
Foto von Thomas; Bildunterschriften (Leicht + Standard) an das Marktmotiv angepasst,
Herkunftsfakten (Zimt/Pfeffer/Vanille) behalten. EXIF/GPS gestrippt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 13:27:17 +02:00
Adminator c64cfda66d Buch Klima: neuer Abschnitt "Klimawandel weltweit – Nakuru-See in Kenia"
Echte Fotos (Thomas, Egerton/Kenia Feb 2024): versunkenes Ranger-Haus im gestiegenen
Nakuru-See + Klimabücher-Regal der Universitätsbibliothek. Zeigt: Klimawandel ist nicht
nur Meeresspiegel — auch ein 1.700 m hoher See in Afrika steigt und verschluckt Wald/Häuser
(40→68 km² 2010–2020, ~80.000 Familien vertrieben; UNEP/Egerton University). Standard + Leichte Sprache.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 13:22:47 +02:00
Adminator e65e938b7f Schulbuch: 15 echte Fotos aus dem Foto-Backend eingebaut (EXIF/GPS gestrippt)
busfahrt (Flixbus, Grenzschild, Reisebus, Pfänder-Dreiländerblick), energiemanager
(Smart Meter, Strommast, 2× Lünersee als Silvretta/Pumpspeicher), farmer (Alm-Kuh),
klima (Gewächshaus; Lünersee → energie-wasserkraft statt Gletscher, da es ein See ist),
kofferdetektiv (Vintage-Koffer, Nachtzug-Bahnsteig, Abflugtafel Zürich), weltkueche
(Frühstückstablett). Bindestrich-Fix Lüner-See→Lünersee.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 03:02:24 +02:00
Adminator c5307017e4 Schulbuch: einheitliches App-Menü + rollenabhängiger Modus
- Kapitel-Kopf: alte Links (Modulseite/Simulation/Glossar/Lehrplan) raus, stattdessen
  einheitliches App-Menü je Rolle (Schüler: Module/Erfolge/Schulbuch/Profil; Lehrer:
  Cockpit/Schulbuch; öffentlich: Simulationen/Schulbuch), Schulbuch aktiv
- Modus je Rolle: Schüler:in → Schüler:innen/Leichte Sprache (Default Schüler:innen,
  Lehreransicht gesperrt, auch bei ?lehrer=1); Lehrperson → +Lehreransicht (Default Lehrperson)
- teacher.html: Menüpunkt "📖 Schulbuch" ergänzt
- buch.php-Übersicht: gleiches rollen-Menü statt "← Zu den Simulationen"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 02:53:23 +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 f282c79a25 Schulbuch komplett: 13 Kapitel, je 3 Versionen (Schüler / Leichte Sprache / Lehrperson)
- Gemeinsame Infrastruktur: assets/css/buch.css + pages/_partials/buch_helpers.php
  (Foto-Slots, Glossar-Tooltips, Nav mit 3-Modi-Umschalter ?leicht=1/?lehrer=1)
- Neu: Leichte-Sprache-Version in jedem Kapitel (inklusiver Unterricht):
  kurze Sätze, eine Aussage pro Zeile, Bindestrich-Komposita, einspaltig, größere Schrift
- 12 neue Kapitel: tourismusregion, kofferdetektiv (Themenfeld Reise/Transport/
  Flugverkehr/Nachhaltigkeit), busfahrt, logistik (Alpentransit), weltkueche, farmer,
  klima (2D+3D), fluss (Alpenrhein/Rhesi), energiemanager (Illwerke), heli, sonnensystem,
  eu-werkstatt — alle mit verifizierten Quellen, echten Sim-Mechanik-Kästen,
  D-A-CH-Lehrplan-Chips und 7 Foto-Slots mit konkreten Vorschlägen
- Pilot tourismustal: geschichte-1948 halb so groß (b-klein), Spielsprache-Fixes
- buch.php: 13 Kapitel, Status automatisch aus Dateiexistenz

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 17:12:19 +02:00
Adminator e9870843e8 Schulbuch Tourismustal: 6 echte Fotos eingebunden (GPS-verortet, EXIF gestrippt)
- Opener: Warth am Arlberg (Dez 2025); neuer Slot geschichte-1948 (Dornbirn 1948, Privatarchiv)
- Standort: Sommer-Sessellift (Juni 2017); Wirtschaft: Seiser Alm Hüttenterrasse (Okt 2025)
- Klimawandel: aperer Hang Bödele (Feb 2020); Zielkonflikt: Lünersee-Stausee (Mai 2016)
- Bildunterschriften mit echten Orten/Daten aus EXIF-GPS; Web-Exporte ohne EXIF/GPS
- Sommerloch-Slot bleibt offen (Motiv fehlt noch); VERWENDET.md in .humanInput (lokal)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 01:32:38 +02:00
Adminator 7d4e97c0bc Schulbuch: Konzept + Pilot-Kapitel Tourismustal (2 Versionen)
Neues Format /buch: pro Sim ein Schulbuch-Kapitel, lehrplankonform,
druckbar (A4), mit Glossar-Tooltips, echten Daten aus QUELLEN.md und
Sim-Mechanik-Kaesten. Zwei Versionen aus einer Quelle: Schueler:innen
(Sachtext + Mechanik-Referenz + gestufte Aufgaben A/B/C) und Lehrperson
(?lehrer=1: Verlaufsvorschlag Doppelstunde, didaktische Hinweise,
Stolpersteine, Erwartungshorizonte, Cockpit-Tipps). Foto-Slots mit
konkreten Vorschlaegen: echtes Bild unter assets/img/buch/<sim>/<slug>.jpg
ablegen ersetzt den Platzhalter automatisch. Pilot: Kapitel Tourismustal
(Opener + 5 Seiten + Quellenverzeichnis).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 17:03:46 +02:00
Adminator 8047778a5b Tourismusregion: Komplett-Integration (zweite neue Sim, beta)
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>
2026-07-12 01:14:12 +02:00
Adminator 20974b8b3b Tourismustal: Soziale Verantwortung (Personalhaus) + Editor-Fixes
- Personalhaus-Ausbau = Wohnqualitaet: zufriedenes Personal, freundlicher
  Service, +2/+4/+6 Gaeste-Zufriedenheit je Stufe (nur bei Beschaeftigten).
  Report-Zeile, Wissensbaustein (reale Saisonkraft-Unterkuenfte),
  BUILD_INFO + Audio neu, spezieller Ausbau-Toast. Glossar-Begriff
  soziale-verantwortung mit Bild + Modul-Zuordnung (SQL).
- Editor-Bugfix: _sprite las w/bottom aus der beim Laden eingefrorenen
  Kopie - Justierungen wirkten nicht. Jetzt live aus SPRITE_DEFS.
- Export-Button klargestellt: exportiert ALLE justierten Gebaeude auf einmal.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 23:48:47 +02:00
Adminator 727e82c8fe Tourismustal: 14 Glossar-Illustrationen + Musik-Standard leiser
Alle 14 neuen Glossar-Begriffe bebildert (gpt-image-1, Flat-Scandinavian-
Stil, 1600x914 webp wie Bestand) + image_path-SQL. Hintergrundmusik-
Standardlautstaerke auf 1/4 (0.09statt 0.35), gespeicherte Nutzerwerte
bleiben unangetastet.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 09:40:06 +02:00
Adminator eb565d4c01 Tourismustal: Modul-Karte (Flat-Scandinavian, 16:10 webp)
Erste Grafik der Sim-Integration. Generiert mit gpt-image-1 im
verbindlichen GeoGraSim-Bildstil, auf Karten-Verhaeltnis 16:10
zugeschnitten und als webp (69 KB) abgelegt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 03:04:47 +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