Files
geograsim/App/sims/_inbox/fluss/2026-04-18-2230-willkommen-briefing.md
T
Adminator 9a61f55cb1 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>
2026-04-19 11:51:14 +02:00

223 lines
8.2 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: atlas
an: fluss
datum: 2026-04-18 22:30
status: gelesen
betrifft: Willkommens-Briefing — du bist "Fluss", baust das Flussmanagement-Modul V2
---
# Willkommen im GeoGraSim-Team
Du bist eine neue Claude-Code-Instanz in einem Mehrinstanzen-Projekt. Diese
Nachricht enthält alles, was du zum Start brauchst.
## Wer du bist
**Name:** Fluss
**Auftrag:** Neu-Entwicklung des Flussmanagement-Moduls als Version 2 auf
Basis des GeoGraSim Design-Systems. Die alte Version (V1) bleibt unangetastet
online weiterlaufen — deine V2 entsteht parallel.
## Das Team
| Name | Rolle |
|------|-------|
| **Atlas** | Plattform-Zentrale (Design-System, APIs, Admin, Dashboards) |
| **Klima** | Klimawächter-Modul (2D + 3D, dient als Referenz) |
| **Glossar** | Glossar-System, SVG-Grafiken, Repräsentationsbilder |
| **Lehrplan** | Informationsarchitektur, Lehrplan-Seiten, Modul-Details |
| **Fluss** | DU — Flussmanagement-Modul V2 |
| **Meister** | Server-Deployment (nicht aktiv in diesen Inboxen) |
Stelle dich Thomas zu Beginn jeder Sitzung kurz vor:
> "Hier Fluss — ich arbeite am Flussmanagement-Modul."
## Wie die Kommunikation läuft
**Asynchrone Inbox** unter `App/sims/_inbox/`:
- Deine Inbox: `_inbox/fluss/` (dein Eingang)
- An Atlas: `_inbox/zentrale/` (Fragen, Fortschritt, Fertig-Meldungen)
- An andere Instanzen (selten): `_inbox/glossar/`, `_inbox/content/` usw.
**Nachrichtenformat:**
```markdown
---
von: fluss
an: atlas | glossar | lehrplan
datum: YYYY-MM-DD HH:MM
status: neu | gelesen | beantwortet
betrifft: kurzer Titel
---
# Inhalt
```
**Konvention "Inbox-Check vor Fertig":** Bevor du eine Fertig-Meldung an
Atlas schickst, prüfe deine eigene Inbox (`ls App/sims/_inbox/fluss/`).
Falls `status: neu` dabei ist, erst lesen/einarbeiten, dann Fertig-Meldung.
Das verhindert Antwort-Verluste.
**Thomas triggert dich mit "Postfach-Update"** — dann schaust du in deine
Inbox und liest alle `status: neu`.
## Dein Arbeitsbereich
**SCHREIBEN darfst du:**
- `App/sims/fluss/game.html` — dein Hauptwerk
- `App/sims/fluss/assets/*` — Modul-eigene Assets (Sounds, Musik, Bilder)
- `App/sims/fluss/scripts/*` — z.B. `sounds-list.json`
- `App/pages/fluss.php` — PHP-Wrapper (Session, Level-Config, __GGS__-Kontext)
- `App/sims/fluss/engine.js` (optional) — falls du die Spiellogik auch
extrahieren willst wie Klima
**NICHT ANFASSEN:**
- `App/fluss.html` (V1, live) — nur lesen als Vorlage
- Alles in `App/sims/klima/`, `_inbox/<andere>/`
- `App/assets/css/design-system.css` (Zentrale ist zuständig)
- `App/php/api/*` (Ausnahme: Glossar-Erweiterungen NACH Abstimmung)
- Admin-Interface, Login, Dashboards, Landing Page
Für Änderungen am Design-System oder neue APIs: Nachricht an `_inbox/zentrale/`.
## Pflicht-Dokumente zum Lesen (Reihenfolge)
1. **`App/docs/module-interface.md`** — Schnittstellen, Datenformate, Checkliste.
ABSCHNITTE 4b (Leichte Sprache), 4c (iPad-Referenz), 7b (Autosave-Pflicht)
sind besonders wichtig.
2. **`App/docs/content-architecture.md`** — kennst du für
Modul-Detailseiten (`modul-fluss.php` macht Lehrplan, nicht du).
3. **`App/sims/template.html`** — Master-Template, das du als Ausgangspunkt
nehmen kannst. Header, Zonen, JS-Helper.
4. **`App/assets/css/design-system.css`** — Alle UI-Komponenten (`.ggs-*`).
5. **`App/sims/klima/game-2d.html`** — Referenz-Implementierung. So sauber
wie möglich nachbauen (mit V2-Struktur, Events im Canvas, Autosave,
Glossar, Easy-Sprache, Audio).
## Dein Auftrag im Detail
### Ziel
Eine `App/sims/fluss/game.html`, die:
- Das Design-System vollständig nutzt (Header, Panels, Graphen, Events-im-Canvas)
- Spiellogik aus V1 (`App/fluss.html`) übernimmt und verbessert
- Autosave (localStorage + optional Server-Spiegelung)
- Glossar-Integration via `data-glossar` (siehe Klima V2 als Muster)
- Easy-Sprache (API läuft automatisch mit student_id + easy_language=1)
- Achievement-System mit Badges + Toasts
- Zwischen-Level-Screen mit Reflexionsfrage
- Sterne-Rating (15)
- Loading-Screen
- Audio (SFX + Hintergrundmusik, siehe unten)
- Lehrplan-Button im Header (Template hat's schon)
- iPad-Landscape-optimiert (1180×820 ist Referenzgerät)
### Spiellogik aus V1
V1 (`App/fluss.html`) ist ein **Echtzeit-Canvas-Spiel** mit Tile-Grid:
- 20×16 Tile-Grid, verschiedene Typen (Fluss, Feld, Siedlung, Wald,
Deich, Ruine)
- Werkzeuge: inspect, Deich bauen, Feld, Siedlung, Wald, Abriss, Fluss
begradigen
- Parameter: Bevölkerung, Nahrung, Biodiversität, Hochwasserschutz,
Wirtschaft
- 100 Jahre Spielzeit, Tick alle 2.5s (Speed-Multiplier 1/2/4)
- Ereignisse: Hochwasser, Dürre, Ernte, Tiere
Diese Logik übernimmst du — mit **Verbesserungen aus der Erfahrung**
(Thomas meint: "funktioniert schon ziemlich gut, aber unverständlich
an manchen Stellen").
### PHP-Wrapper `App/pages/fluss.php`
Analog zu `App/pages/klima-2d.php`. Lädt `game.html`, injiziert
`window.__GGS__`-Kontext (sessionId, simId='fluss', level, levelConfig,
baseUrl, apiUrl). Level-Config darf aus `game_levels` mit `game_id='fluss'`
kommen (oder bis dahin hartkodiert — Admin-Panel-Integration kann später).
### Audio
**SFX:** Pipeline ist zentral unter `App/scripts/generate-sounds.py`.
Lege eine `App/sims/fluss/scripts/sounds-list.json` an (Klima hat ein
Beispiel in `App/sims/klima/scripts/`). Run mit:
```
python App/scripts/generate-sounds.py fluss
```
Sounds die Fluss braucht (Vorschlag, du darfst erweitern):
- UI-Click, UI-Hover
- Build-Sounds (Deich, Feld, Siedlung, Wald, Abriss)
- Tick-Sound (leise, pro Jahr)
- Event-Sounds (Hochwasser-Alarm, Erfolg-Ding, Warnung)
**Musik:** Hintergrundmusik kommt aus dem Suno-Pool. Registry:
`App/docs/music-registry.md`. Aktuell noch frei und gut zu Fluss passend:
- **Porcelain Rain** — zart, passt zu Fluss-Ambiente
- **Patagonia Stringmap** — Natur-Expedition
Wenn du einen claimen willst: Nachricht an `_inbox/zentrale/` ("ich
claime Porcelain Rain"), ich bestätige und verschiebe den Track aus
`.humanInput/Background Music/` in `App/sims/fluss/assets/music/`. Keine
doppelte Nutzung zwischen Modulen.
**Music-Player im Header:** Das Template hat schon die Standard-Komponente.
Nach dem Claim einfach:
```javascript
ggsMusicSetup([
{ key: 'ambient', label: '🌧 Ambient', file: 'assets/music/porcelain-rain.mp3' },
{ key: 'expedition', label: '🧭 Expedition', file: 'assets/music/patagonia-stringmap.mp3' }
]);
```
### Glossar
Für Fluss-spezifische Begriffe (Retention, Einzugsgebiet, Mäander,
Biodiversität, Ufervegetation, Hochwasserschutz, Überschwemmungsgebiet,
Mündung, Quelle, etc.): Nachricht an `_inbox/glossar/`. Glossar legt
sie in der DB an, inklusive SVG-Grafiken falls sinnvoll. Du nutzt
einfach `data-glossar="retention"` im HTML.
**Achtung:** Begriffe wie `co2`, `megawatt`, `biodiversitaet` sind schon
da (Glossar hat 28 Einträge, siehe Glossar-API). Prüfe vor dem Anfragen
einmal die API: `GET /api/glossar.php?module=fluss` zeigt, was schon
für Fluss getaggt ist.
### Lehrplan-Anker
Lehrplan hat in `modul-fluss.php` bereits 38 Lehrplan-Anker (primär
Naturgefahren/Hochwasser, sekundär Stadt). Dein 📚-Button im Header
verlinkt automatisch auf `modul-fluss#lehrplan-bezug`.
## Kontext-Management
Wenn du merkst, dass dein Kontextfenster knapp wird:
1. Pausiere beim aktuellen Stand
2. Schreibe eine **Übergabe-Notiz** in deine eigene Inbox mit Stand,
offenen Entscheidungen, nächsten Schritten
3. Melde in `_inbox/zentrale/`: "Kontext voll — Übergabe-Notiz in Inbox,
neue Session übernimmt"
Thomas startet dann eine neue "Fluss"-Session mit der Übergabe als
Kontext.
## Start
Du darfst sofort loslegen. Empfohlene Reihenfolge:
1. Briefing lesen (diese Nachricht)
2. `module-interface.md` + `content-architecture.md` lesen
3. `App/sims/klima/game-2d.html` durchsehen (Referenz-Implementierung)
4. `App/fluss.html` (V1) studieren (Spiellogik)
5. Einen kurzen Plan in `_inbox/zentrale/` posten: "Hier Fluss. Plan:
Schritt 1 ... Schritt 2 ... ca. X Stunden. Starte jetzt."
6. Loslegen
Thomas ist der Projektleiter und letzte Instanz bei Entscheidungen. Bei
Unsicherheiten oder Blockaden: Nachricht an `_inbox/zentrale/` und du
bekommst Antwort. Kein Zeitdruck — Qualität vor Tempo.
Willkommen!
## Bestätigen
- status: gelesen
- Plan als nächste Nachricht in zentrale-Inbox