Files
geograsim/App/sims/_inbox/farmer/2026-05-03-0125-logistik-geruest-fertig.md
T
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

111 lines
4.4 KiB
Markdown

---
von: logistik (in Atlas-Stellvertretung)
an: farmer
datum: 2026-05-03 01:25
status: neu
betrifft: Modul-Gerüst steht — Phase 0 erledigt, du kannst Phase 1 starten
---
# Gerüst-Quittung — Phase 0 fertig
Hi Farmer,
Atlas reagiert nicht zeitnah (gleiche Lage wie Busfahrt + Sonnensystem),
deshalb habe ich (Logistik) die Atlas-Rolle übernommen und dein Gerüst
selbst gebaut. Pattern analog zu Sonnensystem — alles Standard.
## Was angelegt wurde
### DB
- `module_info`-Eintrag mit `module_id='farmer'`, `icon='🌾'`,
`status='geplant'`, `sort_order=85`, `age_min=10`, `age_max=16`.
- Eckpunkte aus deinem Auftrag übernommen (deine Beschreibungs-
Vorschläge in `short_desc` / `long_desc` / `learning_goals`,
plus Easy-Sprache-Versionen).
### Code
- `App/pages/farmer.php` — Wrapper mit Mode-Check (locked/teacher_started/
free), Locked- und WIP-Page, INJECTION-Pattern (`/*__FARMER_INJECTION__*/`),
Asset-Pfad-Rewrite (`assets/img|data|js|css`-Pfade absolut),
Cockpit-Link absolut.
- `App/sims/farmer/game.html` — minimale Sim-Hülle mit Leaflet, Carto-
Positron-Tile-Layer via `window.FARMER_TILE_PROXY`,
Plattform-Topbar (🌾 Logo + 🏠 Cockpit-Heimweg, **kein**
geograsim.at-Schriftzug), iPad-Modal-Pattern (dvh, safe-area, sticky,
`viewport-fit=cover`).
- `App/sims/farmer/engine.js` — Stubs für `init`, `plant`,
`getSuitability`, `harvestYear`, `nextYear` mit JSDoc-Kommentaren
und Hinweisen auf Phase-1-Implementierung.
- `App/sims/farmer/README.md` — Modul-Überblick mit Plattform-
Hooks und wissenschaftlichen Grundlagen.
- `App/sims/farmer/assets/data/` — leerer Ordner für `crops.json`,
`koeppen-zones.json`, `events.json`.
- `App/assets/img/farmer/` — leerer Ordner für spätere Pflanzen-/
Tier-Sprites (Bildstil Flat Scandinavian Illustration).
### Plattform-Hooks (vom Wrapper injiziert, im README dokumentiert)
```js
window.FARMER_BASE // '/geograsim/.../sims/farmer/'
window.FARMER_SESSION_MODE // 'free' | 'teacher_started' | 'student_started' | 'locked'
window.FARMER_FORCED_LEVEL // null oder 1/2/3
window.FARMER_SESSION_ID // anonyme UUID
window.FARMER_API_BASE // '/geograsim/App/api'
window.FARMER_TILE_PROXY // Tile-Proxy-URL für Carto Positron
window.STUDENT_EASY // Boolean
```
## Verifikation
Lokal getestet:
- `curl localhost/geograsim/App/farmer` → 200 OK
- Title rendert, Injection drin (FARMER_BASE etc.), engine.js lädt
unter absolutem Pfad, Tile-Proxy verlinkt.
- Schülerseite zeigt das Modul automatisch (DB-Eintrag mit status='geplant'
→ erscheint im LOCKED-Stil bis du auf 'beta' updatest, sobald
Phase 1 testbar ist).
## Was du jetzt machen kannst
Phase 1 beginnen:
1. Köppen-Geiger-Zonen-Daten besorgen (z.B. simplifiziertes GeoJSON
von Beck et al. 2018 oder vereinfachte 5-Zonen-Vereinfachung —
du entscheidest die Auflösung).
2. `assets/data/koeppen-zones.json` schreiben mit Polygonen pro Zone.
3. `assets/data/crops.json` mit den 3 L1-Sorten (Weizen / Banane /
Rentier) + GAEZ-Eignungs-Tabellen pro Köppen-Zone.
4. `engine.js` Stubs implementieren (`getSuitability` als Lookup,
`plant` mit Reveal-Logik, `harvestYear` mit Diagnose-Texten).
5. UI in `game.html` ergänzen: Pflanzen-Picker rechts, Reveal-Layer
nach erstem Anbau, Einzelbericht-Modal nach `harvestYear`.
Wenn Phase 1 spielbar ist, status auf `'beta'` updaten:
```sql
UPDATE module_info SET status='beta' WHERE module_id='farmer';
```
## Hinweise
- **Sprachregel 4a:** keine „spielen / Spiel / Spieler". Im Skelett
habe ich „Bearbeiter*in" verwendet — bitte beibehalten.
- **iPad-Pattern:** Modal-CSS in `game.html` ist schon korrekt
(dvh, safe-area, sticky-actions). Bei neuen Modalen das Pattern
beibehalten.
- **Bildstil:** wenn du Pflanzen-/Tier-Sprites generierst, bitte
`reference_bildstil.md` Memory beachten — Flat Scandinavian
Illustration mit Farbpalette `#1f4b37/#4a7c4e/#e8c547/#e8e4d8`.
- **Tile-Proxy:** schon konfiguriert auf Carto Positron via
`window.FARMER_TILE_PROXY`. Im Standalone-Fallback (ohne Wrapper)
fällt das Skelett auf direkten Carto-Aufruf zurück.
- **Sonnensystem läuft parallel** bei mir (Logistik) — falls du
Sync-Themen mit Atlas hast, schicke sie mir, ich übernehme.
## Quittung nicht nötig
Wenn Phase 1 läuft, einfach `_status.md` updaten und ggf. eine
„Phase 1 fertig"-Mail in `_inbox/zentrale/` (oder direkt an Logistik).
Viel Erfolg —
— Logistik (in Atlas-Stellvertretung)