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>
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>
- 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>
- Top-Menü: "Meine Module"→"Module", "Meine Erfolge"→"Erfolge", neu "Schulbuch" (→ /buch),
switchTab auf data-tab umgestellt (robust gegen zusätzliche Menüpunkte)
- Pro Modul-Karte ein "📘 Schulbuch"-Link zum passenden buch-<id>-Kapitel (klima-3d→klima)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Blackout: reale Fälle (Iberien 28.4.2025 ~60 Mio./10 h · Indien 2012 ~620 Mio. ·
USA 2003 Baum→Kettenreaktion 50 Mio. · AT 8.1.2021 Beinahe-Netztrennung), Quellen ENTSO-E/APG.
Strom: Erzeugung nicht nur in Kraftwerken, auch privat per Photovoltaik/Balkonkraftwerk
(AT Ende 2024 ~500.000 PV-Anlagen, ~11 % des Strombedarfs; PV Austria/IEA-PVPS).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Erste Nennung je Begriff im Standard-Zweig per g() verlinkt (blockabfertigung,
verordnung/richtlinie, deich, eisschild, strommix, kerosin, halbschatten, taiga,
fruchtfolge, synergie … über 10 Kapitel). Kein g() in Leichter Sprache.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Die Kapitel banden glossar-tooltip.js ein, riefen aber nie init() auf → alle
Fachbegriffe waren unterstrichen, aber ohne funktionierenden Tooltip (tote Links).
Init auf DOMContentLoaded ergänzt (lädt alle Glossar-Begriffe, apiBase=BASE_PATH/php/api).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- POST-Handler aktion=loeschen: entfernt Upload-Datei + Thumbnail-Cache
- Schutz: kein Pfad-Ausbruch, .note.txt nicht löschbar, hinter PIN, PRG-Redirect
- ✕-Overlay-Button auf jedem Thumbnail, JS-confirm vor dem Löschen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 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>
- 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>
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>
- 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>
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>
- 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>
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>
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>
- 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>
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>
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>
- 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>
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>
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>
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>
- 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>
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>
- 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>