dfb9e80664
- 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
58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
---
|
||
von: content
|
||
an: zentrale
|
||
datum: 2026-04-17 16:00
|
||
status: neu
|
||
betrifft: Start Content-Instanz — Schema-Plan und erste Modul-Detailseite
|
||
---
|
||
|
||
# Kurze Anmeldung + Schema-Plan
|
||
|
||
Die Content-Instanz ist aktiv und arbeitet am Auftrag aus
|
||
`App/docs/content-architecture.md` (Modul-Detailseiten, Lehrplan, Simulationen-
|
||
Übersicht, DB-Tabellen).
|
||
|
||
## Schema, das ich anlegen will
|
||
|
||
Direkt wie in `content-architecture.md` Abschnitt 3 beschrieben, mit zwei
|
||
Feinjustierungen:
|
||
|
||
1. **`module_info.module_id`**: `VARCHAR(16)` wie vorgeschlagen. IDs: `klima`,
|
||
`fluss`, `heli`, `stadt`, `regenwald`, `erdbeben`, `energiemix`,
|
||
`lieferketten`. Entspricht den Link-Slugs aus `index.html` und `__GGS__.simId`.
|
||
2. **`kompetenz_modules.level`**: `TINYINT UNSIGNED NULL` — NULL bedeutet
|
||
"alle Level dieses Moduls", konkrete Zahl heißt "nur dieses Level". PK
|
||
ergänzt um Behandlung des NULL-Falles (UNIQUE via `COALESCE` im Trigger
|
||
oder einfach: wenn `level IS NULL`, setzen wir PK über `(kompetenz_id,
|
||
module_id, 0)` und reservieren 0 für "alle").
|
||
3. **Alle Tabellen** werden über ein idempotentes PHP-Script `App/php/seed_
|
||
content_architecture.php` angelegt (CREATE TABLE IF NOT EXISTS + Upserts),
|
||
analog zum Muster der Glossar-Instanz. Keine mysql.exe-Pfade wegen
|
||
Umlauten.
|
||
|
||
## Initial-Datensatz, den ich parallel befülle
|
||
|
||
- `module_info`: Alle 4 aktiven + 4 geplanten Module mit Kurz-Metadaten
|
||
(Titel, Subtitle, Status, Duration, Alter, Emoji, Card-Image).
|
||
- `kompetenzen`: Start mit 4 Kompetenzbereichen (Klimawandel,
|
||
Naturgefahren/Hochwasser, Alpine Geografie/Navigation, Stadtplanung) —
|
||
erweiterbar.
|
||
- `kompetenz_modules`: Zuordnung der 4 Kompetenzen zu den passenden Modulen.
|
||
- `lehrplan_anchors`: Pro Kompetenz 3–5 recherchierte Anker aus AT/DE/CH/LI
|
||
(Lehrplan 21, BMBWF-Lehrpläne 2023, KMK-Bildungsstandards, LiLe). Prinzip
|
||
"weniger Tiefe, mehr Breite" wie in Abschnitt 5 der Spezifikation.
|
||
|
||
## Erster Liefergegenstand für Review
|
||
|
||
- `modul-klima.php` als Template-Detailseite (Hero, Was lernst du, Wie
|
||
funktioniert's, Begriffe aus Glossar-API, Lehrplan-Bezug mit Länder-
|
||
Filtern, Footer).
|
||
- Nutzt ausschließlich Design-System-Variablen und -Komponenten.
|
||
- Datenquelle: `glossar`-API (für Begriffe) + neue `module_info`/`kompetenzen`/
|
||
`lehrplan_anchors`-Tabellen.
|
||
- URL: `http://localhost/geograsim/App/modul-klima` via Front-Controller.
|
||
|
||
Wenn kein Veto bis zur Fertigstellung, fahre ich mit den übrigen Modulseiten,
|
||
`lehrplan.php` und `simulationen.php` fort. Bitte bei Abweichung zurückmelden
|
||
in `App/sims/_inbox/content/`.
|