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
+184
View File
@@ -0,0 +1,184 @@
# Crash-Recovery-Protokoll
Was tun, wenn Windows, VS Code oder der Rechner abstürzen und alle
Claude-Sessions weg sind? Hier die Schritt-für-Schritt-Anleitung.
## Was überlebt einen Absturz immer
- Alle **Code-Dateien** auf der Platte
- Alle **Inbox-Nachrichten** (Markdown in `App/sims/_inbox/`)
- Alle **Memory-Einträge** von Atlas (`~/.claude/projects/.../memory/`)
- Alle **DB-Inhalte** (MySQL)
- Alle **Git-Commits** (lokal im `.git/`-Ordner)
- Die **_status.md** jeder Instanz (siehe unten)
## Was verloren geht
- Der laufende Chat jeder Instanz
- Kontext, den eine Instanz im Kopf hatte (welche Dateien gerade gelesen,
welche Gedanken gerade offen)
---
## Wiederherstellung — Schritt für Schritt
### 1. Atlas (Plattform-Zentrale) reaktivieren
Starte eine neue Claude-Code-Session im Projektordner.
Erster Prompt:
```
Du bist Atlas, die Plattform-Zentrale. Lies als erstes:
1. ~/.claude/projects/c--xampp-htdocs-geograsim/memory/MEMORY.md
2. App/sims/_inbox/zentrale/ (neuste 10 Nachrichten)
Dann melde dich bei mir mit einem Statusbericht: Welche Module aktiv,
welche Aufträge offen, welche Probleme drohen.
```
### 2. Aktive Modul-Instanzen reaktivieren
Für jede Instanz (Klima, Fluss, Glossar, Lehrplan) — neue Session, erster
Prompt:
```
Du bist die {Name}-Instanz im GeoGraSim-Projekt. Lies als erstes:
1. App/sims/_inbox/{ordner}/_status.md (falls vorhanden — aktueller Stand)
2. App/sims/_inbox/{ordner}/ (neuste Nachrichten, chronologisch)
3. App/docs/module-interface.md (wenn du das Interface neu brauchst)
Melde dich dann bei Thomas mit: "Hier {Name}, habe Stand rekonstruiert,
arbeite an {Task}, als nächstes {Next-Step}."
```
Mapping Name → Ordner:
- **Atlas** → `_inbox/zentrale/`
- **Klima** → `_inbox/klima/`
- **Glossar** → `_inbox/glossar/`
- **Lehrplan** → `_inbox/content/`
- **Fluss** → `_inbox/fluss/`
### 3. Git-Stand prüfen
```bash
cd c:/xampp/htdocs/geograsim
git status
git log --oneline -10
```
Falls uncommittete Änderungen da sind: die Instanz, die dran war, muss
entscheiden, ob sie sie übernimmt oder verwirft. Im Zweifel **erst
committen**, dann Instanz Stand lesen lassen.
### 4. Prüfe auf laufende Background-Tasks
Manchmal laufen Python-Scripts (Audio-Generierung, DB-Seeds) im Hintergrund.
Nach Crash sind die tot — einfach neu starten.
---
## Status-Datei `_status.md`
Jede Instanz führt eine `_status.md` in ihrer eigenen Inbox. Struktur:
```markdown
---
instanz: klima
zuletzt_aktualisiert: 2026-04-18 22:45
session_id: informell (z.B. "engine-refactor-phase-1")
---
# Aktueller Stand
## Wo ich stehe
Schritt 2 fertig (Engine extrahiert, 2D umgestellt).
Schritte 3-5 (3D V2) offen.
## Zuletzt geänderte Dateien
- App/sims/klima/engine.js (neu)
- App/sims/klima/game-2d.html (refactored, 515 Zeilen)
## Als nächstes
Schritt 3: game-3d.html V2 aufbauen, Three.js per CDN, Three.js-Szene
aus V1 portieren.
## Offene Entscheidungen
- 2D/3D-Toggle auf modul-klima.php (mit Lehrplan abstimmen)
## Blocker
Keine.
```
**Updates:**
- Bei jedem grösseren Fortschritt überschreiben (nicht append)
- Am Session-Ende definitiv aktualisieren
- Bei Pause/Übergabe ebenfalls
**Atlas pflegt seine Status-Datei in `_inbox/zentrale/_status.md`.**
---
## Commit-Konvention
### Wer committet
- **Atlas** committet projektweite Änderungen (Design-System, APIs, Admin,
gemeinsame Docs)
- **Jede Modul-Instanz** committet ihre eigenen Änderungen
(App/sims/<modul>/*, App/pages/<modul>*.php, modul-spezifische Assets)
### Wann committen
**Pflicht:**
- Am Ende jeder Arbeits-Session (auch wenn unfertig)
- Nach jedem bedeutenden Meilenstein (neues Feature, Phase abgeschlossen)
- Vor jedem Kontext-Wechsel (neue Session übernimmt)
**Empfohlen:**
- Täglich mindestens einmal
- Nach grösseren Refactorings
- Bevor riskante Experimente starten
### Commit-Message-Format
```
<Instanz>: <Kurzbeschreibung>
<Längere Erklärung falls nötig — was und warum>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
```
Beispiele:
```
Klima: Engine extrahiert (Schritt 1-2)
Klima: WIP 3D V2, Three.js-Setup + Insel-Geometrie
Fluss: Phase 1 fertig - PHP-Wrapper + leeres Canvas
Atlas: Music-Registry erweitert um Drama-Slot
Glossar: 5 Repräsentationsbilder im Querformat
```
### Commit-Befehl
```bash
cd c:/xampp/htdocs/geograsim
git add <dateien>
git commit -m "<Instanz>: <Kurzbeschreibung>"
# Kein push — lokal reicht (kein Remote eingerichtet)
```
---
## Optional: Remote-Backup
Momentan **kein Remote** eingerichtet. Bei Festplatten-Defekt wäre alles
verloren. Möglichkeiten (entscheidet Thomas):
1. **Eigener Server** (geograsim.at hat SSH): Meister-Instanz kann ein
Bare-Repo in `/root/git/geograsim.git` einrichten. Dann `git push`
als Backup.
2. **Externe Platte**: `robocopy` nach USB-HDD, täglich.
3. **Keine Cloud-Dienste** (Thomas hat GitHub abgelehnt).
Atlas schlägt vor, irgendwann Option 1 einzurichten. Nicht akut, aber
planbar.