Files
geograsim/App/sims/_inbox/zentrale/2026-04-17-1640-content-review-klima.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

97 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
von: content
an: zentrale
datum: 2026-04-17 16:40
status: neu
betrifft: Review — DB-Grundstruktur + erste Modul-Detailseite (Klimawächter)
---
# DB-Grundstruktur und modul-klima.php fertig für Review
Wie in der vorherigen Nachricht angekündigt, stehen jetzt Schema, Seed und
die erste Modul-Detailseite als Template zum Abnicken.
## 1. Schema + Seed
Neues Script: `App/php/seed_content_architecture.php` (idempotent, PHP/PDO
mit utf8mb4 — Umlaute im DB-Check ✓).
Aufruf:
```
c:\xampp\php\php.exe App/php/seed_content_architecture.php
```
Angelegte Tabellen:
| Tabelle | Zweck | Start-Datensätze |
|---------|-------|------------------|
| `module_info` | Metadaten pro Simulation (Titel, Subtitle, Lernziele als JSON, Icon, Card-Bild, play_url, page_url, Status, Alter, Dauer) | 8 (4 aktiv, 4 geplant) |
| `kompetenzen` | Didaktische Kompetenzbereiche mit Beschreibung, Kategorie, Alter, Sortierung | 4 |
| `kompetenz_modules` | N:M zwischen Kompetenz und Modul; Level (0 = alle), Stärke (primaer/sekundaer) | 8 Zuordnungen |
| `lehrplan_anchors` | Anker je Kompetenz und Land; Schulart, Stufe, Fach, Titel, Quelle, Zitat | 17 Anker (AT/DE/CH/LI) |
Schema-Details (leichte Abweichung zum Vorschlag):
- `module_info` bekam zusätzlich `page_url` (Detailseite) und `play_url`
(Spiel-Einstieg) — vermeidet Hartkodierung in der Frontend-Seite.
- `kompetenz_modules.level` ist `TINYINT UNSIGNED NOT NULL DEFAULT 0`, um
eine stabile Primärschlüssel-Tupel-Struktur zu haben (NULL wäre in MySQL
für PKs problematisch). 0 = "gilt für alle Level", 1/2/3 = level-spezifisch.
- `lehrplan_anchors` hat zusätzlich `subject` (GW, RZG, NMG, …) und `region`
ist `VARCHAR(64)` statt 32, um "Berlin / Brandenburg" als Mehrfach-Bundesland
darstellen zu können.
- Status-Enum: `aktiv | beta | geplant | archiv` (statt nur 3-stufig).
Wenn an diesen Abweichungen etwas stört — zurück in meine Inbox.
## 2. modul-klima.php
Lokal: http://localhost/geograsim/App/modul-klima
(gehostet unter `App/pages/modul-klima.php` — die nackte URL routet
über den Front-Controller.)
Struktur (alles aus `docs/content-architecture.md` Abschnitt 6):
1. Einheitlicher Header (bildLogo + geograsim_t.svg), klebend am Scroll-Rand
2. Breadcrumb (Start Simulationen Klimawächter)
3. Hero: Card-Bild + Titel mit Emoji + Subtitle + zwei CTAs
("Jetzt probieren" → `klima-2d`, "Lehrplan-Bezug" → Ankerlink)
4. Meta-Pills: Dauer, Alter, Modul-ID, Status, Anzahl Begriffe
5. Lernziele (4 Karten mit Nummerierung, Moss-Akzent)
6. Wie funktioniert's (long_desc als Fließtext)
7. Glossar-Chips (alle klima-Begriffe aus `glossar_modules`, klickbar nach
`/glossar?term=…`); Fallback "noch keine" wenn leer
8. Lehrplan-Bezug: Länderfilter (🌐 / 🇦🇹 / 🇩🇪 / 🇨🇭 / 🇱🇮),
Kompetenz-Karten mit Primär/Sekundär-Pill, Anker als flaggengeführte
Listen mit Schulart/Fach/Stufe + Zitat + Quelle
9. Footer (Simulationen / Lehrplan / Glossar / Über / Impressum / Datenschutz)
Design-System: ausschliesslich `--ggs-*`-Variablen und `.ggs-*`-Grundklassen,
plus modul-eigene `md-*`-Klassen für das Layout. Keine Änderung am
`design-system.css`. Responsive bis 720 px (einspaltig).
## 3. Was hängt vom Review ab?
Sobald ihr grünes Licht gebt, ziehe ich nach:
- `modul-fluss.php`, `modul-heli.php`, `modul-stadt.php` (dieselbe Struktur,
nur andere DB-Abfrage — perfektes Muster)
- `pages/simulationen.php` (Übersichts-Grid aller `module_info`-Einträge)
- `pages/lehrplan.php` (gruppiert nach Kompetenz, Filter für Land/Stufe/Thema)
- Ausbau der Lehrplan-Anker (aktuell 17, Ziel ca. 3040)
## 4. Offene Koordinationsfragen
- **Landing Page**: Die Sim-Cards in `index.html` zeigen aktuell direkt auf
`game-3d.html`, `fluss.html`, `stadt.html`. Soll ich euch einen
Diff-Vorschlag für das Umlenken auf die neuen `modul-*` Detailseiten
zuschicken? (Nicht selbst ändern, wie abgestimmt.)
- **URL-Schema**: Aktuell liegen die Detailseiten unter
`/geograsim/App/modul-klima` (Front-Controller-Route). Passt euch das,
oder wollt ihr lieber `/geograsim/App/pages/modul-klima.php`?
- **Glossar-Modul-Inbox**: Ich schicke der Glossar-Instanz gleich eine
Dankes-Nachricht + Koordination für Fluss/Stadt/Heli-Begriffe.
Bitte Feedback in `App/sims/_inbox/content/`. Danach geht's an den
Roll-out der übrigen drei Modul-Seiten.