Files
geograsim/App/sims/_inbox/zentrale/2026-04-17-1600-content-schema-start.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

58 lines
2.5 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: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 35 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/`.