- Justier-Editor (editor.html): jedes Gebaeude in allen Stufen, 1x1 und
Mega-2x2, Oeko an/aus - Sprite-Breite, Boden-Anker und Solarpanel-
Position (dx/dy/s pro Sprite-Key) live auf echten Tiles tunen. Werte
wirken sofort via localStorage-Override, Export-JSON zum Einbacken.
- Bikepark umgebaut aufs Rodelbahn-Prinzip: 1x1-Station, Flowtrail-
Strecke 5 Felder talwaerts mit Schwuengen, Platz wird SCHON BEIM BAU
geprueft und reserviert (tile.bikeTrail blockiert Bebauung), fahrende
Raeder mit Kurvenneigung (mehr Biker je Ausbaustufe), Ziel-Bogen.
- Animationen: Spielplatz (Schaukel + Rutscher), Hochseilgarten
(Zipline-Gleiter), Aussichtsplattform (Foto-Blitz), Fahrradverleih
(drehendes Werkstatt-Rad), Gasthaus (Kamin-Dampf).
- Ambiente: Wolkenschatten ziehen uebers Tal; Schafe auf Almen und
Kuehe auf Talwiesen (grasen, deterministische Herdenplaetze, nicht
im Winter).
- Baumenue-Karten: oben Titel+Info links / Preis rechts, darunter
zweispaltig Icon und Beschreibung.
- Solar-Position pro Gebaeudetyp justierbar (SOLAR_POS).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Antwort auf die Design-Frage 'Naturwert zurueck ausser weniger bauen':
- Oeko-Umbau pro Gebaeude (Button im Gebaeude-Dialog): einmalig, 40 % des
Bauwerts, dafuer -20 % Betriebskosten, +2 Naturwert, Gebaeude belastet
die taegliche Natur-Regeneration nicht mehr. Sichtbar: Solardach-Overlay
(auch auf Megabauwerken, 1,6x). Didaktik: Investition vs. laufende
Kosten, nachhaltiges Wirtschaften (GW 4.10).
- Aufforsten als wiederholbare Aktion im Baumenue (1.500 Euro): pflanzt
Wald auf freie Wiese/Alm/Feld, +3 Naturwert, Werkzeug bleibt aktiv fuer
Serien-Pflanzung. Wissen: Renaturierung + Schutzwald (1/3 des
oesterreichischen Walds).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Grosse Gebaeude wurden von davorliegenden Kacheln uebermalt (Grasbueschel
ueber dem Hotelfuss). Jetzt zeichnet die VORDERSTE Footprint-Kachel das
Sprite, Terrain-Details entfallen auf bebauten Kacheln, Sprite-Mitte =
Mitte der 4 Kacheln, w/bottom so dass der Fuss die vordere Spitze deckt.
SQL-Migration audio_info MySQL-kompatibel (information_schema-Guard statt
MariaDB IF NOT EXISTS - Prod ist echtes MySQL).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Bau-Ablehnung erklaert jetzt immer auch die Bauregeln des Gebaeudes
(Toast: Grund + Beschreibung, 7 s).
- Lehrer-Schalter fuer den Vorlese-Modus: class_modules.audio_info
(Migration, Default AN) + modules-API set_audio_info + Toggle auf der
Modul-Karte im Cockpit (Vorlesen an/aus) + Wrapper injiziert
TT_FEATURES.audioInfo + Sim blendet den Umschalter aus und erzwingt
Lese-Modus, wenn gesperrt.
- Bus zeigt bei Rueckfahrt sein Heck: Heckscheibe + rote Ruecklichter,
Tuer/Spiegel richtungsabhaengig.
- Bikepark-Flowtrails: 3 Stufen hangAUFwaerts (gleiche Richtung wie
Lift-Pisten).
- Info-Button an jedem Bauwerk im Baumenue: erklaert Wirkung, Kosten,
Lage-Regeln und Lehrplan-Wissen VOR dem Bau.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Vorher drei verschraenkte Regeln (Hoehe >=6 + Talstation <=4 + Hochlagen)
-> fast nirgends baubar. Jetzt: Hoehe >=5 UND Naehe zu Tal- ODER
BERGstation (oberes Pistenende) einer Bahn - thematisch korrekt, die
Bahn bringt die Ausflugsgaeste ja hinauf. 52 baubare Felder um zwei
Bahnen statt Handvoll. Klare Fehlermeldungen je Bedingung.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 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>