- Umschalter Topbar (Lese-/Audio-Modus, persistiert): Im Audio-Modus
laeuft das Spiel weiter, Meldungen werden per Browser-TTS (deutsche
Stimme) vorgelesen und erscheinen als antippbare Info-Zeile oben;
Klick oder 🔔-Log oeffnet die volle Karte. Entscheidungen (A/B) und
wichtige Karten (Sieg, Zwischenbilanz, Bank) bleiben immer modal.
- Megabauwerke: 9 eigene Sprites (mehr Elemente statt vergroesserter
Fenster/Tueren - glaubwuerdige Proportionen), zentriert, ~80 % der
bisherigen Darstellungsgroesse; Fallback normales Motiv x1,4.
Rodelbahn aus der Merge-Liste (dynamische Vektor-Bahn).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Merge-Mechanik: 4 gleiche 1x1-Gebaeude im Quadrat verschmelzen zum
2x2-Megabauwerk. Skaleneffekt als Lernmoment: 4-fache Leistung, nur
3-fache Betriebskosten (Erklaerkarte beim ersten Mal). Level = Maximum
der Teile, Abriss-Erloes auf 4-fachem Bauwert, Bahnen/Bus/Bikepark
ausgenommen. Rendering zentriert und 1.75x skaliert.
- Gaeste stehen nicht mehr im Wasser (dwell auf Wasser -> sofort ans Ufer).
- Skifahrer schimpft "#*!", wenn ihm der Schnee unterm Ski ausgeht.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Bikepark: echtes 2x2-Footprint (canPlace/place/demolish/upgrade/Report
ankerbasiert, buildingRef auf Teilflaechen), Sprite ohne Schatten neu
generiert, zentriert gross gezeichnet. Baukriterium gelockert: Bahn-Naehe
ersetzt die Zonen-Regel (wie Hotel im Bahn-Umkreis).
- Zeit halbiert: 1 Tag = 4 s bei 1x (Absturz-Rate entsprechend angepasst).
- Problem-Sprechblasen alle ~3 min am Gebaeude (Personal gesucht / kein
Schnee), erster Hinweis nach 15-35 s.
- Heli: sichtbares Abheben/Landen am Pad (aus vorigem Commit) bleibt.
- Test-Harnesse (model-test, strategien) wandern in App/sims/tourismustal/tests.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Senkrechter Start/Landung mit geglaetteter Hoehenkurve, Rotor laeuft
an/aus (spin-basiert statt Echtzeit), Rotor-Abwind-Wirbel am Boden,
Schatten skaliert mit Flughoehe. Kein Teleport-Erscheinen mehr.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sim nach App/sims/tourismustal umgezogen (Source of Truth), game.html mit
Injection-Marker. Neu in der Sim: 5 Sommergebaeude (Bikepark mit Flowtrails,
Hochseilgarten, Fahrradverleih als Verstaerker, Aussichtsplattform,
Erlebnisspielplatz), Rettungsstation mit Notarzthubschrauber, Ausbau-
Bauanimation, Event-Pacing, Schulden-Notbremse (Bank-Zwangsverkauf),
Berater-Tipps (Ruecklagen), Sommer-Trend-Mechanik (Serfaus-Effekt) und
Wissens-Bausteine mit echten DACH-Tourismusdaten (QUELLEN.md).
Plattform: PHP-Wrapper mit base-Tag + Session-Mode, Modul-Detailseite,
module_info (beta) + Glossar (14 Begriffe inkl. Leichter Sprache + Quellen)
+ Lehrplan-Anker AT/DE/CH an neuer Kompetenz tourismus-raumentwicklung.
Lehrer-Backend: Benchmark-Formel, Live-Cockpit-Spalten, needsHelp-Heuristik,
Modul-Highlights. Strategie-Testharness (tests/strategien.mjs) belegt:
Panzer-Rush wird liquidiert, Ruecklagen zahlen sich aus.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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>
Vor Abschalten der Lehrplan-Instanz: 5 Modul-Detail-Wrapper, die
bisher untracked waren, werden gespeichert. Alle 3-Zeilen-Wrapper
auf den gemeinsamen Partial _partials/modul_detail.php:
- modul-busfahrt.php
- modul-energiemanager.php
- modul-eu-werkstatt.php
- modul-farmer.php
- modul-sonnensystem.php
_status.md mit vollem Crash-Recovery-Snapshot:
- 16 Module (11 aktiv, 4 geplant, 1 archiv)
- 14 Kompetenzen, 39 kompetenz_modules
- 144 Lehrplan-Anker (76 AT, 28 DE, 24 CH/LI)
- 130 Glossar-Begriffe (10 astronomie + 12 EU + 108 andere)
- Alle 11 aktiven Sims haben Lehrplan-Bezug
- Letzte 6 Commits dokumentiert
Inbox: keine offenen Nachrichten an lehrplan.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Live-State-Hook für 3D ist heute committed (e354a30). Status-Datei
überschrieben mit aktueller Bestandsaufnahme + Backlog (B-F).
Glossar-DB-Inbox-Nachricht von Logistik (02.05.) jetzt mit ge-trackt.
Klima-Instanz darf abgeschaltet werden.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 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>
Atlas-Auftrag aus _inbox/klima/2026-05-05-0140 — analog zum 2D-Hook,
plus 3D-spezifische Felder.
- game-3d.html: window.GGS_LIVE_STATE liefert {variant:'3d', tick, year,
level, phase, budget, population, co2, temp, floodedPct, seaLevelCm,
speed, measures, levelWon, tourism, hasShield, hasBeach, placing}.
Aufruf alle ~4s durch live-client.js, gepostet an /api/live.
- klima-3d.php: Live-Client-Script-Tag nachgezogen (war nur in
klima-2d.php). Wird wie üblich vor </body> injiziert.
Heartbeat → DB live_sessions, Lehrer-Cockpit zeigt Karten an mit
Live-Kennzahlen.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Auf der Lehrplan-Seite wurden in den "Simulationen zu diesem Bereich"-
Cards auch geplante Module (Energiemix, Erdbeben, Lieferketten) und
das archivierte Staustufen gelistet. Stimmt nicht mit den
existierenden Sims ueberein.
modStmt-SQL erweitert um Status-Filter:
AND mi.status IN ('aktiv','beta')
Verifiziert: Lehrplan-Seite zeigt jetzt 11 Module statt 15.
Sichtbar bleiben alle aktiven Sims (Busfahrt, EU-Werkstatt,
Energiemanager, Fluss, Heli, Klima, Klima-3D, Landwirtschaft,
Logistik, Sonnensystem, Stadt). Geplant + archiv sind raus.
Anker-Anzeige bleibt unveraendert: alle 144 Lehrplan-Anker bleiben
sichtbar, weil sie an Kompetenzen haengen, nicht an Modulen.
Auch wenn ein Modul geplant/archiv ist, bleibt der didaktische
Lehrplan-Bezug seiner Kompetenz wertvoll.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Auftrag von Thomas: Default-Filter überall auf Österreich, andere
Länder weiterhin wählbar.
Modul-Detailseiten (gemeinsamer Partial):
- Filter-Chip mit data-country=Country::current() bekommt Klasse
active server-seitig (statt "🌐 Alle Länder")
- Country.php in Partial eingebunden
- JS-Filter-Logik überarbeitet: bei konkretem Land werden NUR
anchor_type='fach' Anker streng nach Land gefiltert; übergreifende
Themen und andere Fächer bleiben sichtbar (sind primär aus dem
AT-Lehrplan abgeleitet, didaktisch land-agnostisch nutzbar)
- applyFilter() wird beim Page-Load mit dem aktiven Chip ausgeführt
Lehrplan.php:
- gleiche Filter-Logik gespiegelt (war vorher streng auch für
übergreifend/andere_fach)
- Default war schon Country::current(), bleibt unverändert
Verifiziert: alle 10 aktiven modul-*.php-Seiten zeigen AT als
Default-active, Lehrplan-Seite ebenfalls.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tap auf eine Erfolgs-Badge öffnet einen kleinen Tooltip mit Titel +
Beschreibung. Verschwindet nach 4 s oder beim nächsten Tap außerhalb.
Position bevorzugt unter der Badge, mit Fallback nach oben falls unten
kein Platz.
- Default-Spalte 76 px, nur Icons 60x60 + grüner Ring für owned
- ℹ-Toggle oben → Spalte schiebt sich als Absolute-Overlay auf 280 px
(Desktop-Card-Variante mit Titel/Desc/Badges)
- Tap auf Karte: Bau-Flow + Auto-Collapse zur Icon-Spalte
- Querformat-Hinweis bei Portrait + Touch (📱 Bitte drehen)
- kw-card-detail-overlay (Center-Modal) entfernt — Thomas wollte das nicht
- viewport-fit=cover + dvh + safe-area schon vorher drin
Thomas möchte teacher.html-Tab "Ergebnisse" um Modul-Filter, Modul-
spezifische Spalten, Game-Over-Indikator und Fleiß-Übersicht erweitern.
Cross-modulare Lehrer-Seite → Atlas-Territorium. Ich liefere den
Klima-Block fertig:
- 12 entscheidende Erfolgs-Parameter mit JSON-Pfad in `results`
- Game-Over-Erkennung + Icon-Mapping (🏆/💸/🌊/🌫/🌡/⏸)
- Hinweis auf 2D/3D-Varianten-Trennung (optional)
- Fleiß-SQL-Skizze für duration_ms-Aggregation
Engine sendet alle Felder bereits — Atlas kann die JSON direkt parsen,
keine Modul-seitige Änderung nötig.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Keine pending Klima-Datei-Änderungen mehr. Mailbox seit 23.04. nicht
neu beschrieben. Atlas-Antwort liegt verarbeitet vor, Integrations-
Umbau wartet weiter auf Thomas-Go.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sicherheits-Commit, damit der Stand vor möglichem Shutdown gesichert
ist. App/pages/klima-2d.php war noch untracked, jetzt im Repo.
Restliche modified-Markierungen waren reine Line-Ending-Normalisierung.
Externer Plattform-Sweep hat in allen Klima-HTML-Files iPad-spezifische
Polish-Änderungen ergänzt:
- viewport-fit=cover in 2D / 3D / preview-sounds (Notch-Handling)
- 100dvh statt 100vh in plane-test + preview-sounds (dynamic viewport)
- Cockpit-Link in 3D-Endscreen auf '../../schueler' präzisiert
Inhaltlich keine Modul-Änderung von mir, nur Sicherung der externen
Edits, damit nichts verloren geht.
_status.md auf bereit-warte-auf-go gesetzt — Atlas-Antwort vom 23.04.
liegt vor (alle 6 Fragen beantwortet, End-Screen-Komponente verfügbar,
2D+3D parallel umbauen, Sammel-Commit-Subject vorgegeben). Klima-
Instanz ist arbeitsbereit, wartet auf Thomas-Go fürs Loslegen.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- lehrplan.php liest jetzt den Query-Parameter ?module=<id> und
filtert die Kompetenz-Cards auf die dem Modul zugeordneten
Eintraege (via kompetenz_modules)
- Modul-Fokus-Banner ueber dem Hero: Icon, Titel, "Zurueck zur
Simulation"-Link, "Alle Module anzeigen"-Link
- Hero-Titel + Meta-Description + <title>-Tag spiegeln den Fokus
- Ungueltige Modul-Slugs fallen stillschweigend auf Full-View zurueck
- Alle bestehenden Filter (country, theme) wirken weiterhin
gleichzeitig
Use-Case: Atlas' Template-Button 📚 Lehrplan in den Sim-Wrappern
zeigt aktuell auf /modul-<id>#lehrplan-bezug. Diese Seite dient als
Alternative/Fallback, falls jemand direkt auf lehrplan.php?module=X
landet.
Verifiziert:
- lehrplan?module=logistik 6 Kompetenzen (von 10)
- lehrplan?module=klima 1 Kompetenz
- lehrplan?module=fluss 2 Kompetenzen (Naturgefahren + Stadt)
- lehrplan?module=unknown 10 Kompetenzen (Full-View Fallback)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Sonderfall im Partial fuer MODULE_ID=klima: zwei CTAs
"2D starten" (primary) + "3D starten" (secondary), beide mit
level=1 als Default
- WebGL-Hinweistext unter den CTAs (dezent, iPad Gen 8 als Schwelle,
2D didaktisch identisch empfohlen)
- .md-device-hint CSS: fjord-Akzent, max-width 560px, 14px
Andere Module unveraendert — Single-CTA-Pfad bleibt Default.
Atlas' 19.04.-Toggle-Auftrag erledigt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Logistik + Heli Wrappers von den Instanzen umgebaut:
- Mode-Check (free/teacher_started/locked) direkt aus DB
- Forced-Level-Start bei teacher_started
- Easy-Flag aus students.easy_language
- Locked-Seite mit Sperrhinweis + Cockpit-Link
- Assessment-Calls (started/running/completed) in Heli game.html
Atlas-Arbeit:
- teacher.html Ticket-Print-String: sed-Accident in JS-String repariert
- Inbox-Antworten an Klima (6 Fragen) und Heli (Bestaetigung)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- modul-regenwald.php, modul-erdbeben.php, modul-energiemix.php,
modul-lieferketten.php, modul-logistik.php (alle status=geplant)
- modul-klima-3d.php (aktiv, Atlas' Admin-Eintrag)
- Alle als 3-Zeilen-Wrapper auf dem gemeinsamen Partial
- Status-'geplant' zeigt automatisch Vorschau-Banner
("Modul ist noch in Entwicklung, Inhalte werden ergaenzt")
- Lehrplan-Bezug + Glossar-Chips + Metadaten sind sofort verfuegbar,
sobald Atlas' Admin-UI die Prosa befuellt
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 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>
Hart gesetztes RewriteBase /geograsim/App/ funktioniert nur lokal,
fuehrt auf der eigenen Domain geograsim.at zum Endlos-Redirect-Loop
(AH00124: 10 internal redirects). Ohne RewriteBase nutzt Apache den
Request-Pfad automatisch — funktioniert fuer alle drei Deploy-Ziele:
localhost/geograsim/App, staatsgeheimnis.at/geograsim, geograsim.at.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>