Commit Graph

115 Commits

Author SHA1 Message Date
Adminator 78a1cdca24 Buch ↔ Glossar verbunden: 80 neue Glossar-Einträge, ~390 Tooltips, Rückverlinkung
- 13 Kapitel: alle Fachbegriffe per g()-Tooltip verlinkt, fehlende Begriffe als
  vollwertige Glossar-Einträge angelegt (short/text + Leichte-Sprache-Felder,
  glossar:-Querverweise, ohne Bild — Bild-Batch folgt)
- Modul-Mappings vervollständigt: jeder Buch-Begriff erscheint auf glossar?module=<sim>
  (kofferdetektiv erstmals gemappt, 31 Begriffe; klima auf beide module_ids)
- Ergänzende Erklärsätze im Buch, wo Begriffe bisher nur genannt wurden
- glossar.php: Chip „📖 Zum Schulbuch-Kapitel" bei aktivem Modul-Filter (BUCH_LINK-Map,
  klima-3d → buch-klima)
- SQL idempotent (INSERT IGNORE, Mappings per key_slug-Subquery, keine harten IDs):
  App/Don_t_Deploy/2026-07-15-buch-glossar-*.sql

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 17:40:56 +02:00
Adminator f91f3f26de Foto-Backend: Upload-Thumbnails + Overlay-Lightbox
- Hochgeladene Fotos erscheinen als Thumbnail-Raster beim Slot (110px, GD-generiert
  mit EXIF-Orientierung, gecacht in uploads/buch-fotos/.thumbs)
- Klick öffnet Overlay in groß (Esc/Klick/✕ schließt); auch eingebaute Slot-Fotos klickbar
- Auslieferung nur über die Seite hinter der PIN (?img=/?thumb=); Ordner bleibt gesperrt
- Notizen werden als 📝-Zeile beim Slot angezeigt

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 17:14:13 +02:00
Adminator a3d81b8983 Foto-Backend: PIN-Schranke 0815 (Cookie 1 Jahr, im Browser gespeichert)
Uploads und Slot-Liste nur nach PIN-Eingabe; falsche PIN mit Meldung,
POST-Uploads ohne Cookie werden ebenfalls von der Schranke abgefangen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 16:48:03 +02:00
Adminator 4e3ff6447f Foto-Backend /foto-upload: alle Schulbuch-Foto-Slots mit Upload-Formular
- Parst buchBild()-Slots live aus allen buch-*.php (92 Slots, bleibt automatisch synchron)
- Pro Slot: Beschreibung, Status (eingebaut/wartend/gesucht), Thumbnail, Multi-Upload
  (JPG/PNG/HEIC/WebP, max 40 MB) + Notizfeld; Sonstiges-Slot für freie Fotos
- Uploads nach uploads/buch-fotos/<sim>/, per .htaccess gesperrt (Originale mit GPS
  nie öffentlich); PRG-Redirect, Dateityp-/Größen-Validierung
- App/uploads/ in .gitignore

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 13:59:54 +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 e7e0f922c7 Tourismustal: Kosten-Check - Realitaets-Quiz mit Bonus-Budget
Kostenwahrheit als Lernmoment statt Fussnote: Nach dem Erst-Bau von
Lift/Gondel/Hotel/Beschneiung/Bushaltestelle erscheint (Event-Pacing)
je einmalig ein Kosten-Check: Info mit echtem AT-Beispiel + Schaetzfrage
(mehr/weniger). Richtig = +2.000 Euro Bank-Bonus, falsch = nur die
Aufloesung. Verifizierte Zahlen: Leppleskofel-6er 12 Mio. (Dolomiten-
stadt), Patscherkofelbahn 58 geplant -> 83,2 Mio. bezahlt (Stadt Ibk),
WKO-Hotelrichtwerte 220-270k/Zimmer, Schneekanone 27-35k + 1 Mio./
Pistenkm, Ski Arlberg Tageskarte 81,50. Erster Check traegt den
Modell-Hinweis (Preise verkleinert, Verhaeltnisse stimmen).
Antwortrichtungen gemischt (3x mehr, 2x weniger). Quiz-Karten sind
Entscheidungen -> immer modal, auch im Audio-Modus.
Schulbuch Seite 2: Daten-Box 'Was kostet das wirklich?' + Meta-Aufgabe D
(Modellkompetenz) + Quellen 8-12. Modulseite: Vereinfachungs-Hinweis
in long_desc (SQL lokal+prod).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 01:14:55 +02:00
Adminator dbfb5be5a0 Schulbuch/Tourismustal: interner Pfad raus + oesterreichische Rechenzeichen
- Schulbuch-Quellenverzeichnis: interner Dateipfad (QUELLEN.md) entfernt -
  gehoert nicht in ein Schuelerdokument.
- Tagesbericht: Malpunkt (Mittelpunkt) statt x als Multiplikationszeichen -
  oesterreichische Schulschreibweise (neue Dauerregel: +, -, Malpunkt,
  : fuer Division in allen schueler-sichtbaren Rechnungen).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 17:40:28 +02:00
Adminator 31f1744730 Schulbuch: Scrollbar-Fix (design-system.css sperrt body-Scroll)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 17:23:37 +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 3d85b7a13c Tourismusregion: Altersangabe 9-15 (einfacher Einstieg)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 16:56:12 +02:00
Adminator cf0afc5c02 Tourismusregion: Karten-Editor reaktiviert (mit Lehrer-Guard)
editor.html + js/editor.js aus der Quelle uebernommen. save_map.php
schreibt js/maps-custom.json (mit Auto-Backups) - jetzt abgesichert:
nur eingeloggte Lehrpersonen duerfen speichern. Das Spiel laedt die
Overrides beim Start (applyMapOverrides). Thomas fixt damit Routen-
Punkte und Bauplaetze; die Datei wird danach ins Repo uebernommen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 16:55:36 +02:00
Adminator 6ca643f628 Tourismustal: iPad-Runde 3 - Performance, Touch-Bauvorschau, breite Overlays
- Performance ohne Sichtverlust: Retina-Faktor auf 1.5 gecappt (~45 %
  weniger GPU-Pixel), Framerate auf ~30 fps (Pause ohne Interaktion
  ~10 fps) - Simulation exakt, uebersprungene Zeit wird akkumuliert.
  iPad sollte deutlich kuehler bleiben.
- Touch-Bauvorschau: erster Tipp heftet die volle Vorschau (gruen/rot,
  Pisten-/Strecken-Korridor, Einflusskreise) an die Kachel, zweiter Tipp
  auf DIESELBE Kachel baut. Maus behaelt Hover + Sofortbau.
- Info-Overlays breiter (680px statt 440px) - weniger Scrollen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 16:55:35 +02:00
Adminator d60bc2caff Tourismusregion: Hintergrundmusik (15 Tracks, 43 MB)
Getrennter Commit wegen Push-Groesse.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 01:14:13 +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 778634fab6 Tourismustal: Editor-Export final - alle Gebaeude justiert
Letzte Runde: Panoramaweg, Bikepark-Station, Hochseilgarten,
Fahrradverleih (+Mega), Aussichtsplattform, Spielplatz, Mega-Spielplatz
(verkleinert auf 90/20) + 36 Solar-/Muelleimer-Positionen pro Stufe
(inkl. Rodelbahn). Komplette Sprite-Justierung damit fest im Code.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:59:19 +02:00
Adminator 41ecb4d5fe Tourismustal: Oeko-Marker Hochseilgarten ebenfalls Muelleimer
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:50:32 +02:00
Adminator ecc70a333d Tourismustal: Oeko-Marker Panoramaweg = Muelleimer statt Solarzelle
Ein Weg hat kein Dach - der gepflegte Muelleimer am Wegrand (rechte
Ecke) erzaehlt sanften Tourismus besser. Position weiter ueber den
Editor-Solar-Modus justierbar (gleiches SOLAR_POS-System).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:48:31 +02:00
Adminator acde652ee7 Tourismustal: Editor-Export Runde 3 (Badesee)
Badesee 47/22 + Solar-Positionen L1-L4.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:31:47 +02:00
Adminator 24ad893dd5 Tourismustal: Editor-Export Runde 2 + Mega-Wachstum vom Zentrum
- Justier-Werte bis Badesee: Personalhaus (47/17), Mega-Personalhaus
  (101/32), Mega-Badesee (84/31) + 12 Solar-Positionen pro Stufe.
- Mega-Stufen-Skalierung waechst jetzt vom MOTIV-ZENTRUM aus statt vom
  Boden-Anker (centerScale in _sprite) - die Mitte bleibt fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:30:25 +02:00
Adminator cff7c11853 Tourismustal: Editor-Export Runde 1 fest eingebacken
Thomas' Justier-Werte (2026-07-12) in SPRITE_DEFS + SOLAR_POS uebernommen:
Gasthaus/Rettungsstation/Bushaltestelle-Anker korrigiert, Mega-Hotel/
-Gasthaus/-Schneizentrale/-Spielplatz neu gesetzt, 40+ Solar-Positionen
pro Gebaeude UND Ausbaustufe (inkl. Lift/Gondel/Bus). Lift/Gondel-
Sprite-Werte bewusst ausgelassen (Vektor-Zeichnungen, wirkungslos).
Gilt jetzt fuer ALLE Geraete, nicht nur das Justier-iPad.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:25:13 +02:00
Adminator 6d00a762bc Tourismustal: Megabauwerke wachsen mit der Ausbaustufe
Mega-Sprites skalieren jetzt je Stufe: I=90%, II=100%, III=112%,
IV=124% (vorher fix 100%). Gilt fuer alle Mega-Typen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:13:38 +02:00
Adminator b90abb31a4 Tourismustal: Mega nur fuer sinnvolle Gebaeude
Panoramaweg aus der Merge-Liste entfernt (Linien-Bauwerk). MERGEABLE
exportiert; Editor sperrt die Mega-Checkbox fuer alle nicht merge-
faehigen Typen (Bahnen, Bus, Bikepark, Rodelbahn, Panoramaweg,
Rettungsstation, Aufforsten, Plattform).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:11:03 +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 250532f9a8 Tourismustal: Editor v2 (Ziehen statt Slider, Solar pro Stufe) + Bikepark-Vorschau
- Editor: Zieh-Modi direkt auf der Karte (Gebaeude: horizontal=Breite,
  vertikal=Boden-Anker; Solar: frei ziehen) + Pixel-Feinjustage per
  Plus/Minus-Tasten, grosse Live-Wertanzeige, Footprint-Hilfslinien.
- Solar-Position wird PRO AUSBAUSTUFE gespeichert (<key>@L<stufe>,
  Vererbung Stufe -> Sprite -> Default) - Renderer-Lookup erweitert.
- Bikepark zeigt beim Bauen die komplette Strecke talwaerts (5 Felder,
  pro Kachel gruen/rot je nach Belegbarkeit) - wie die Lift-Piste.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 23:43:32 +02:00
Adminator 272c5a7169 Tourismustal: Biker fahren richtig herum (Flip statt Vollrotation)
Bildschirm-Winkel bergab ist ~140 Grad - volle Rotation stellte die
Fahrer auf den Kopf bzw. aufs Vorderrad. Jetzt: Spiegelung nach
Fahrtrichtung + leichte Bergab-Neigung (Faktor 0.3).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 23:38:43 +02:00
Adminator cfdfa4bb28 Tourismustal: Sprite-Editor, Bikepark-Umbau, Animationen, Ambiente, Baumenue-Layout
- 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>
2026-07-11 23:32:55 +02:00
Adminator d195b085d9 Tourismustal: Naturwert aktiv zurueckgewinnen (Oeko-Umbau + Aufforsten)
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>
2026-07-11 18:16:40 +02:00
Adminator 328d542fdc Tourismustal: 2x2-Gebaeude korrekt im Painter (vorderste Kachel zeichnet)
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>
2026-07-11 18:10:46 +02:00
Adminator 55a83d5daf Tourismustal: iPad-Feedback Runde 2 (5 Punkte)
- 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>
2026-07-11 18:07:03 +02:00
Adminator cb60a8c16d Tourismustal: Aussichtsplattform-Baubedingungen entknotet
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>
2026-07-11 17:59:12 +02:00
Adminator 32793d0bca Tourismustal: Vorproduzierte Sprach-Audios statt Browser-TTS
52 MP3s (OpenAI gpt-4o-mini-tts, Stimme coral, warme deutsche
Erzaehlstimme) fuer alle Info-Karten: Erst-Bau-Erklaerungen, Meilensteine,
Events, Szenen-Intros, Auftraege, Megabauwerk. Texte automatisch aus
data.js gezogen (Generator im Scratchpad-Muster). Abspiel-Logik:
assets/audio-info/<id>.mp3, Browser-TTS nur Not-Fallback. Intro-IDs je
Szene eindeutig, Onboarding bleibt immer modal.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 12:47:46 +02:00
Adminator 7e3158aede Tourismustal: Audio-Modus fuer Meldungen + eigene Mega-Motive
- 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>
2026-07-11 11:05:38 +02:00
Adminator 2591f37191 Tourismustal: Megabauwerke + Figuren-Feinschliff
- 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>
2026-07-11 10:43:06 +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 16c562ed1d Tourismustal: iPad-Test-Feedback Runde 1
- 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>
2026-07-11 09:20:06 +02:00
Adminator 2b4a92e614 Tourismustal: Heli hebt sichtbar ab und landet am Pad
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>
2026-07-11 09:13:09 +02:00
Adminator 7453bebbc3 Tourismustal: Hintergrundmusik (16 Suno-Tracks, 48 MB)
Getrennter Commit wegen Push-Groesse (Gitea, stueckweise pushen).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 02:45:09 +02:00
Adminator 0a2ebf46b4 Tourismustal: Komplett-Integration (Sim + Wrapper + SQL + Lehrer-Backend)
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>
2026-07-11 02:45:08 +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
Adminator 027831a89c Lehrplan: Speicher-Snapshot — 5 Modul-Wrapper + Status
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>
2026-05-08 13:23:40 +02:00
Adminator 1659b439a9 Klima: Glossar-DB-Set auf 18 neue Slugs erweitert + Status-Update
- GLOSSAR_DB_KNOWN in 2D + 3D um 4 Aliasse (windpark, solaranlage,
  erneuerbar, kohlekraftwerk) und 14 Volleinträge (budget, strom,
  mangrove, klimafolgen, kuestenschutz, wartung, tourismus, blackout,
  steuern, temperatur, meeresspiegel, bevoelkerung, ueberflutung,
  co2_filter) ergänzt — Logistik-Migration vom 02.05. eingespielt.
- KLIMA_TO_DB_KEY-Mapping bleibt als Robustheits-Schicht erhalten.
- Logistik-Inbox 02.05. 22:40 als gelesen markiert.
- _status.md spiegelt jetzt den tatsächlichen Stand wider.
2026-05-07 01:34:16 +02:00
Adminator 2c3ca76be5 Klima: CRLF-Normalisierung Inbox-Datei 2026-05-07 01:33:58 +02:00
Adminator 9ada666ff6 Klima: Status-Update vor Abschaltung
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>
2026-05-07 01:33:29 +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 e354a30a44 Klima 3D: Live-State-Hook für Lehrer-Spectator
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>
2026-05-05 03:42:58 +02:00
Adminator 2378075915 Lehrplan: Simulationen-Liste filtert auf aktive Sims
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>
2026-05-04 02:23:48 +02:00
Adminator 95e19818fd Lehrplan: Country-Default überall AT, übergreifend land-agnostisch
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>
2026-05-04 02:16:04 +02:00
Adminator 306ec97cb5 Lehrplan: Farmer/Busfahrt/Energiemanager + Heli-Vertiefung
Vier Module ohne (oder mit dünnem) Lehrplan-Bezug erschlossen.

Neue Kompetenz "landwirtschaft-klimazonen" (Köppen-Geiger,
FAO-Eignungsklassen, Sek I 10-14, Kategorie natur).

13 neue kompetenz_modules:
- energiemanager: energieversorgung-speicherung primär + klima sek.
- busfahrt: raeumliche-orientierung-europa primär,
  kartenkompetenz-logistik + wirtschaft sek.
- farmer: landwirtschaft-klimazonen primär, klima + erdmechanik
  + wirtschaft sek.
- heli (Vertiefung): naturgefahren-hochwasser + verkehrserziehung-
  sicherheit + systemisches-denken alle sekundär

20 neue Anker:
- 3 für Energiemanager (Lastausgleich, Physik Leistung/Arbeit,
  Mobilität+Energie)
- 4 für Busfahrt (Hauptstädte/Staaten, Maßstab/Distanzen, Mathe,
  Interkulturelle Bildung)
- 8 für Farmer (3 Fach GW 1.8/3.6/4.10, 2 übergreifend Umwelt+Wirt,
  3 andere Fächer Bio/Chemie/Mathe)
- 5 für Heli (1 Fach Bergrettung/Naturgefahren, 2 übergreifend
  Gesundheits- + Mobilitätsbildung, 2 andere Fächer
  Bewegung+Sport / Physik Aerodynamik)

Render nach Seed:
- heli: 4 Kompetenzen, 50 Anker (vorher 1/18)
- farmer: 4 Kompetenzen, 43 Anker (vorher 0/0)
- busfahrt: 3 Kompetenzen, 16 Anker (vorher 0/0)
- energiemanager: 2 Kompetenzen, 33 Anker (vorher 0/0)

DB-Bilanz: kompetenzen 14, kompetenz_modules 39,
lehrplan_anchors 144 (vorher 12/27/124)

Quellen:
- _inbox/farmer/2026-05-03-0040-konzept-vorschlag.md
- _inbox/busfahrt/2026-05-02-2355-kickoff-briefing.md
- _inbox/energiemanager/_status.md
- BMBWF GW-Lehrplan Sek I 2023

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 01:45:36 +02:00