1e51ef7def
- 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>
111 lines
4.4 KiB
Markdown
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)
|