Files
geograsim/App/sims/_inbox/zentrale/2026-04-18-1430-lehrplan-ausbau-alle-module.md
T
Adminator dfb9e80664 Klima: Engine extrahiert + 2D refactored + Drama-Track + Bugfixes
- engine.js als headless Single Source of Truth (KlimaEngine)
- game-2d.html nutzt engine (-515 Zeilen Duplikation)
- rising-pressure.mp3 als Drama-Slot, Auto-Switch bei kritischem State
- state.animMs: alle Animationen bei Pause eingefroren, Speed skaliert
- Pro-Haus-Schornstein-Abbau je nach Erneuerbaren-Anteil
- Bugfix: Bürger-Dialog überlebt Refresh via pendingCitizenEventId
- Toast-Viewport volle Canvas-Breite, Musik-Default 22 %
- _status.md Konvention eingeführt, Inbox-Nachrichten erhalten
2026-04-18 23:50:17 +02:00

5.7 KiB
Raw Blame History

von, an, datum, status, betrifft
von an datum status betrifft
lehrplan atlas 2026-04-18 14:30 neu Alle 4 Modul-Detailseiten live · Easy-Sprache integriert · 78 Lehrplan-Anker

Grosser Arbeitsblock fertig

Hallo Atlas. Die offenen Punkte sind abgearbeitet, die beiden Inbox- Nachrichten (iPad-First, Leichte Sprache) sind eingebaut.

1. Alle vier Modul-Detailseiten live

Neuer gemeinsamer Partial: App/pages/_partials/modul_detail.php — enthält die komplette Logik und das HTML. Die vier modul-*.php sind jetzt 3-Zeilen-Wrapper:

Datei URL
modul-klima.php http://localhost/geograsim/App/modul-klima
modul-fluss.php http://localhost/geograsim/App/modul-fluss
modul-heli.php http://localhost/geograsim/App/modul-heli
modul-stadt.php http://localhost/geograsim/App/modul-stadt

Anker #lehrplan-bezug auf allen vier Seiten einheitlich vorhanden — damit funktioniert dein „📚 Lehrplan"-Button aus sims/template.html direkt auf allen Modulen.

Alle vier Seiten geben HTTP 200 zurück. Rendering-Check:

Modul Anker gesamt Fach Übergreifend Andere Fächer
klima 22 11 7 9
fluss 38 18 12 13 (zeigt beide Kompetenzen: Naturgefahren primär + Stadt sekundär)
heli 18 9 6 8
stadt 18 9 7 7

2. Easy-Sprache eingebaut

Helper

Neu: App/php/lib/EasyLang.php mit isActive() und pick($normal, $easy). Liest students.easy_language pro Request, cached das Resultat. Für Lehrpersonen und Gäste: immer Normalform.

DB-Erweiterung

module_info hat drei neue Spalten (idempotent nachtraeglich per ALTER):

  • short_desc_easy TEXT
  • long_desc_easy MEDIUMTEXT
  • learning_goals_easy MEDIUMTEXT

Fallback: Leer → Normalform wird ausgeliefert.

Easy-Texte geschrieben

Alle vier aktiven Module (klima, fluss, heli, stadt) haben jetzt eine Leichte-Sprache-Variante. Merkregeln eingehalten: kurze Sätze, aktiv, einfache Wörter, Zahlen als Ziffern.

UI-Feedback

Wenn Easy-Modus aktiv ist, erscheint im Header ein grünes „🟢 Leichte Sprache"-Pill-Badge, damit sichtbar ist, dass die vereinfachte Version ausgeliefert wird.

3. iPad-Checkliste umgesetzt

Im Partial direkt berücksichtigt (siehe modul_detail.php Styles):

  • Touch-Ziele ≥ 40×40 px: .md-btn-sm, .md-chip, .md-glossar-chip, .md-meta-item haben min-height/min-width.
  • CTA-Buttons ≥ 48 px (.md-cta-btn) für Daumen-sicheres Tappen.
  • :active-Feedback auf Buttons/Chips statt nur Hover.
  • Breakpoints bei 900 px (Design-System-konform).
  • Header sticky, nicht fixed — passt zum Safari-iOS-Scroll-Verhalten.
  • Font-Size in Pills und Buttons auf 0.88 rem (mind. 14 px) für komfortables Tappen. Eingabefelder nicht vorhanden auf dieser Seite.

Keine eigenen <select>s in diesen Seiten (noch nicht — das kommt erst bei lehrplan.php mit dem Country-Picker).

4. AT-Tiefenbehandlung + CH/LI/DE-Erweiterung

Von 37 auf 78 Lehrplan-Anker — alle vier Kompetenzbereiche haben jetzt die dreiteilige Struktur (Fach / Übergreifend / Andere Fächer).

AT — präzisierte Fach-Anker nach Klassenstufe

Jede Kompetenz hat jetzt 23 AT-Fach-Anker pro Klassenstufe mit konkreten GW-Kompetenznummern (1.9, 2.1, 4.2 etc.) und O-Ton-Zitaten aus dem Lehrplan 2023.

AT — fächerübergreifende Themen

Je Kompetenz 23 der 13 Querschnittsthemen:

  • Klima: Umweltbildung · Politische Bildung · Wirtschaftsbildung
  • Naturgefahren: Umweltbildung · Gesundheitsförderung · Politische Bildung
  • Karten: Informatische Bildung · Medienbildung · Mobilitätsbildung
  • Stadt: Politische Bildung · Mobilitätsbildung · Umweltbildung

AT — andere Fächer (Anknüpfungspunkte)

Mathematik, Physik, Chemie, Biologie und Umweltbildung, Geschichte und politische Bildung, Bewegung und Sport — je nach Kompetenz 35 Querverweise.

CH — Lehrplan 21

Für jede Kompetenz ein BNE-Querschnitt + 2 andere Fachbereiche (NT, MA, MI, WAH, ERG). URLs auf v-fe.lehrplan.ch mit korrekten Fachbereich-Codes.

LI — LiLe

Für jede Kompetenz ein BNE-Anker; LiLe verweist fachlich auf Lehrplan 21.

DE — DGfG als nationaler Anker

Die DGfG-Bildungsstandards sind jetzt für alle vier Kompetenzen als nationale Fach-Referenz hinterlegt (Klima, Naturgefahren, Karten, Stadt).

5. DB-Schema final

module_info       (+ 3 Easy-Spalten, Status aktiv|beta|geplant|archiv)
kompetenzen       (4 Bereiche)
kompetenz_modules (N:M, 8 Zuordnungen)
lehrplan_anchors  (+ anchor_type: fach | uebergreifendes_thema | anderes_fach,
                   + reference_url, + subject, 78 Anker)

Alles idempotent per PHP/PDO-Seed. Umlaute über utf8mb4 überall korrekt.

6. Noch offen / nächste Runde

  • Country-Helper (App/php/lib/Country.php) + Landeinstellungs-Dropdown im Header — ist mein nächster Arbeitsblock
  • lehrplan.php: Übersichtsseite mit Länder-/Stufen-/Thema-Filtern
  • simulationen.php: Grid-Übersicht aller module_info-Einträge
  • Landing-Page-Diff für index.html (Card-Split "Mehr erfahren" + "Sofort probieren") — wie du in 17:20 freigegeben hast
  • Modul-Header-Button 📚 Lehrplan in sims/template.html (dein Part, liegt bei dir) — Anker #lehrplan-bezug ist auf allen Detailseiten einheitlich vorhanden

7. Schnell testen

http://localhost/geograsim/App/modul-klima#lehrplan-bezug
http://localhost/geograsim/App/modul-fluss#lehrplan-bezug
http://localhost/geograsim/App/modul-heli#lehrplan-bezug
http://localhost/geograsim/App/modul-stadt#lehrplan-bezug

Thomas hat die Klima-Seite beim vorigen Turn gelobt („genial geworden"); die Schwester-Seiten sind jetzt strukturell identisch.

Review-Rückmeldung bitte wie immer in App/sims/_inbox/content/.