Atlas: Infrastruktur + Team-Konventionen + Sprachregel Lernarbeit

- Design-System (assets/css/design-system.css) mit 21 Komponenten,
  iPad-Responsive-Breakpoints, Touch-Ziele 36px, Music-Player,
  Glossar-Tooltips
- Templates (sims/template.html + student/teacher-Dashboard)
- Docs: module-interface.md (inkl. 4a Sprachregel, 4b Leichte Sprache,
  4c iPad), content-architecture.md, crash-recovery.md, music-registry.md
- Admin-Infrastruktur: admin-modules.html + api/admin-modules.php
  (Titel, Emoji, Bild, Status, Dauer, Alter pro Modul)
- Inbox-System: _inbox/README.md + _status.md fuer Atlas + Briefings
  an Klima, Glossar, Lehrplan, Fluss
- Zentrale SFX-Pipeline (scripts/generate-sounds.py)
- DALL-E-Bilder: 8 Badges + 5 Glossar-Repraesentationsbilder (Querformat)
- Logo + Inter-Font lokal
- PHP-APIs: admin, glossar, levels, licenses, progress, waypoints,
  assignments, profile, tickets
- Spielsprache entfernt (admin-modules, admin-levels, schueler)
- Landing-Page-Bearbeitungen (Boote sichtbarer, Button-Hintergrund)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-19 11:51:14 +02:00
parent 2136bbbe62
commit 9a61f55cb1
134 changed files with 1012826 additions and 690 deletions
+296
View File
@@ -0,0 +1,296 @@
# GeoGraSim — Informationsarchitektur & Content-Spezifikation
Dieses Dokument beschreibt die öffentlichen und didaktischen Inhalte von
GeoGraSim (Landing Page, Modul-Detailseiten, Lehrplan-Bezug, Glossar). Es
richtet sich an die Content-Instanz, die diese Seiten erstellt.
---
## 1. Drei Benutzer-Pfade
```
ANONYM SCHÜLER:IN LEHRPERSON
────── ────────── ──────────
Landing Page (index.html) Mein Dashboard Klassen-Dashboard
↓ Überblick (schueler.html) (teacher.html)
↓ "Sofort ausprobieren" ↓ Meine Module ↓ Modulfreigabe
↓ Für Lehrpersonen ↓ Badges, Fortschritt ↓ Ergebnisse
↓ Für Schüler:innen
Profil Lehrplan-Matching
Simulationen-Übersicht (neu, pro Modul)
↓ Cards je Modul Glossar (mit Markierung
"schon gelernt")
Modul-Detailseite (NEU)
↓ Was lerne ich?
↓ Welche Begriffe?
↓ Lehrplan-Bezug
↓ Jetzt probieren
Glossar (wird parallel gebaut)
Lehrplan-Seite (NEU)
↓ AT / DE / CH / LI Filter
↓ Kompetenz-Mapping
↓ Welches Modul passt wohin
```
---
## 2. Kern-Prinzip: Kompetenz-Brücke
**Problem:** DACH+LI haben zusammen ~40 verschiedene Lehrpläne (Bundesländer,
Kantone, Schultypen). Alle einzeln zu pflegen ist nicht leistbar.
**Lösung:** Module werden auf **didaktische Kompetenzbereiche** gemappt, nicht
auf einzelne Lehrpläne. Jeder Lehrplan referenziert ähnliche Kompetenzen — die
Lehrperson erkennt den Bezug selbst.
Beispiel:
```
Kompetenzbereich: "Klimawandel verstehen"
├── Modul: Klimawächter 2D (Level 13)
├── Modul: Klimawächter 3D (Level 13)
└── Lehrplan-Anker:
├── 🇦🇹 AT Mittelschule GW, Kl. 8 — "Anthropogener Klimawandel"
├── 🇩🇪 DE Berlin GL, Kl. 9 — "Klimawandel als globale Herausforderung"
├── 🇨🇭 CH Lehrplan 21, NMG.3.2 — "Klima und Wetter"
└── 🇱🇮 LI 7. Schulstufe GW — "Naturphänomene und Klimasystem"
```
Die Lehrperson sieht: "Ja, passt zu meinem Lehrplan-Punkt" und weiß, dass das
Modul didaktisch fundiert zugeordnet ist.
---
## 3. Datenbank-Schema (Vorschlag — abstimmen mit Zentrale)
```sql
-- Didaktische Kompetenzbereiche (zentrale Brücke)
CREATE TABLE kompetenzen (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
key_slug VARCHAR(64) NOT NULL UNIQUE, -- 'klimawandel', 'raumplanung'
title VARCHAR(128) NOT NULL, -- 'Klimawandel verstehen'
description TEXT, -- Didaktisch ausformuliert (3-5 Sätze)
category VARCHAR(32), -- 'klima', 'raum', 'gesellschaft'
age_min TINYINT UNSIGNED, -- 10 (Klasse 5)
age_max TINYINT UNSIGNED, -- 16 (Klasse 10)
sort_order INT DEFAULT 0
);
-- Modul ↔ Kompetenz (N:M)
CREATE TABLE kompetenz_modules (
kompetenz_id INT UNSIGNED NOT NULL,
module_id VARCHAR(16) NOT NULL, -- 'klima', 'heli', 'fluss', 'stadt'
level TINYINT UNSIGNED, -- 1, 2, 3 (optional)
strength ENUM('primär', 'sekundär') DEFAULT 'primär',
PRIMARY KEY (kompetenz_id, module_id, level),
FOREIGN KEY (kompetenz_id) REFERENCES kompetenzen(id) ON DELETE CASCADE
);
-- Lehrplan-Anker pro Kompetenz
CREATE TABLE lehrplan_anchors (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
kompetenz_id INT UNSIGNED NOT NULL,
country CHAR(2) NOT NULL, -- 'AT', 'DE', 'CH', 'LI'
region VARCHAR(32), -- Bundesland/Kanton (optional)
school_type VARCHAR(32), -- 'MS', 'AHS', 'Gym', ...
grade VARCHAR(16), -- 'Kl. 8', '7.-8. Stufe'
title VARCHAR(255), -- 'Anthropogener Klimawandel'
reference VARCHAR(255), -- Offizielle Lehrplan-Referenz/URL
quote TEXT, -- Exaktes Zitat aus dem Lehrplan
FOREIGN KEY (kompetenz_id) REFERENCES kompetenzen(id) ON DELETE CASCADE,
INDEX (country, school_type, grade)
);
-- Modul-Metadaten (für Detailseiten)
CREATE TABLE module_info (
module_id VARCHAR(16) NOT NULL PRIMARY KEY,
title VARCHAR(128) NOT NULL, -- 'Klimawächter'
subtitle VARCHAR(255), -- 'Klima retten, Küste schützen'
short_desc TEXT, -- 1-2 Sätze für Card
long_desc TEXT, -- Ausführlich für Detailseite
learning_goals TEXT, -- JSON-Array oder Markdown
duration_min INT UNSIGNED, -- Geschätzte Spieldauer in Minuten
age_min TINYINT UNSIGNED,
age_max TINYINT UNSIGNED,
icon VARCHAR(16), -- Emoji
card_image VARCHAR(255), -- card-climate.png etc.
status ENUM('aktiv', 'beta', 'archiv') DEFAULT 'beta',
sort_order INT DEFAULT 0
);
```
---
## 4. Arbeitsbereich Content-Instanz
### SCHREIBEN
- `App/pages/modul-klima.php` — Detailseite Klimawächter
- `App/pages/modul-heli.php` — Detailseite Heli
- `App/pages/modul-fluss.php` — Detailseite Fluss
- `App/pages/modul-stadt.php` — Detailseite Stadt
- `App/pages/lehrplan.php` — Lehrplan-Übersicht mit Filtern
- `App/pages/simulationen.php` — Übersichtsseite aller Module (ersetzt evtl. eine Section auf der Landing)
- DB-Tabellen: `kompetenzen`, `kompetenz_modules`, `lehrplan_anchors`,
`module_info` (über PHP/PDO, nicht via mysql.exe — Umlaute!)
### LESEN
- Gesamtes Projekt
- `App/docs/module-interface.md`
- `App/docs/content-architecture.md` (dieses Dokument)
- Bestehende Module zum Verstehen des Inhalts
### NICHT ANFASSEN
- Module selbst (`App/sims/...`)
- Glossar (macht die Glossar-Instanz) — aber du darfst Glossar-Einträge per
Inbox an Glossar-Instanz anfragen, wenn sie für Modul-Detailseiten nützlich
sind
- Landing Page (`index.html`, `index.php`) — du darfst Änderungs-Vorschläge
per Zentrale-Inbox schicken, aber nicht selbst editieren
- Design-System, Admin, APIs
---
## 5. Recherche-Quellen für Lehrpläne
### Österreich
- Lehrplan Mittelschule (BMBWF): https://www.bmbwf.gv.at → Unterricht → Lehrpläne
- Lehrplan AHS Unterstufe
- GW (Geographie und Wirtschaftsbildung) steht seit 2023 neu strukturiert
### Deutschland
- Konzentration auf große Bundesländer + neutrale Lehrplan-Kernelemente
- Bildungsstandards KMK (Kultusministerkonferenz) als Dach
- Pro Bundesland evtl. nur 12 Referenzen
### Schweiz
- Lehrplan 21 (21 Kantone, gemeinsame Struktur)
- NMG (Natur, Mensch, Gesellschaft) in Sek I, RZG (Räume, Zeiten, Gesellschaften)
### Liechtenstein
- Eigener Lehrplan, lehnt sich stark an CH an
- Lehrplan FL ab 2012 (LiLe)
### Prinzip der Recherche
**Weniger Tiefe, mehr Breite.** Für jede Kompetenz **35 Anker** aus
verschiedenen Ländern. Nicht alle 16 Bundesländer + 26 Kantone einzeln. Die
Lehrperson muss das Modul als lehrplankonform erkennen, nicht den exakten
Paragrafen finden.
---
## 6. Modul-Detailseiten: Struktur
Jede Modul-Detailseite (z.B. `modul-klima.php`) hat:
```
┌────────────────────────────────────────────────┐
│ HEADER (bildLogo + textlogo + Navi) │
├────────────────────────────────────────────────┤
│ │
│ HERO-BEREICH │
│ ┌──────────┐ 🌍 KLIMAWÄCHTER │
│ │ Card-Bild│ Klima retten, Küste schützen. │
│ │ (DALL-E) │ [Sofort probieren] │
│ └──────────┘ [Für Lehrpersonen: Lehrplan- │
│ Bezug] │
│ │
│ META-ANGABEN │
│ Dauer: 30-45 Min · Alter: 12-16 · 3 Levels │
│ │
├────────────────────────────────────────────────┤
│ WAS LERNST DU? │
│ [Lernziel 1] [Lernziel 2] [Lernziel 3] │
│ (Aus learning_goals, als Bullet-Liste) │
│ │
├────────────────────────────────────────────────┤
│ WIE FUNKTIONIERT'S? │
│ Ausführliche Beschreibung der Spielmechanik, │
│ evtl. mit Screenshots / GIFs │
│ │
├────────────────────────────────────────────────┤
│ BEGRIFFE DIE DU KENNENLERNST │
│ (Aus glossar-Tabelle: alle Einträge │
│ mit module='klima') │
│ [CO₂] [ppm] [Watt] [Megawatt] [Windpark] ... │
│ → Kleine Chips mit Hover-Definition │
│ │
├────────────────────────────────────────────────┤
│ LEHRPLAN-BEZUG │
│ [🇦🇹] [🇩🇪] [🇨🇭] [🇱🇮] │
│ │
│ Kompetenzbereich: Klimawandel verstehen │
│ → AT MS GW Kl. 8: "Anthropogener Klimawandel"│
│ → DE Berlin GL Kl. 9: "Klimawandel global" │
│ → CH NMG.3.2: "Klima und Wetter" │
│ │
├────────────────────────────────────────────────┤
│ FOOTER (wie alle Seiten) │
└────────────────────────────────────────────────┘
```
---
## 7. Lehrplan-Übersichtsseite (`lehrplan.php`)
```
┌────────────────────────────────────────────────┐
│ HEADER │
├────────────────────────────────────────────────┤
│ LEHRPLAN-BEZUG │
│ │
│ Land: [Alle] [🇦🇹 AT] [🇩🇪 DE] [🇨🇭 CH] [🇱🇮 LI]│
│ Stufe: [Alle] [Sek I] [Sek II] │
│ Thema: [Alle] [Klima] [Raum] [Gesellschaft] │
│ │
├────────────────────────────────────────────────┤
│ GRUPPIERT NACH KOMPETENZBEREICH │
│ │
│ ▸ Klimawandel verstehen │
│ 🌍 Klimawächter 2D · 🌍 Klimawächter 3D │
│ 🇦🇹 AT MS GW Kl. 8 — "Anthropogener..." │
│ 🇩🇪 DE Berlin GL Kl. 9 — "Globale..." │
│ 🇨🇭 CH Lehrplan 21 NMG.3.2 │
│ │
│ ▸ Naturgefahren und Hochwasser │
│ 🏞️ Flussmanagement │
│ 🇦🇹 ... 🇩🇪 ... 🇨🇭 ... 🇱🇮 ... │
│ │
│ ▸ Alpine Geografie │
│ 🚁 Heli-Navigation │
│ │
│ ▸ Stadtplanung und Raumordnung │
│ 🏙️ Stadt & Raumplanung │
│ │
└────────────────────────────────────────────────┘
```
---
## 8. Landing-Page-Ergänzungen (Vorschlag an Zentrale)
Die Landing Page (`index.html`) sollte minimal ergänzt werden:
- Link zum Glossar im Footer oder als eigene Section
- Link zur Lehrplan-Seite im Lehrpersonen-Bereich
- Simulations-Cards sollen auf die neuen Modul-Detailseiten verlinken
(nicht direkt ins Spiel) — ausser der Gast probiert direkt
**Du änderst die Landing NICHT selbst** — du schickst einen konkreten
Änderungs-Vorschlag (mit Code-Diff) per Nachricht an `zentrale/`, die
Zentrale integriert das.
---
## 9. Erste Schritte
1. Dieses Dokument lesen
2. DB-Schema vorschlagen / mit Zentrale abstimmen (Inbox-Nachricht)
3. `kompetenzen`, `module_info` etc. per PHP-Script anlegen
4. Ersten Modul-Detailseite (`modul-klima.php`) als Template bauen
5. Die anderen Modul-Seiten nachziehen
6. Lehrplan-Recherche für AT + Lehrplan 21 (CH/LI) starten
7. `lehrplan.php` mit echten Ankern befüllen
Bei Fragen oder DB-Änderungen: Nachricht in `App/sims/_inbox/zentrale/`.