Files
geograsim/App/sims/_inbox/busfahrt/2026-05-02-2355-kickoff-briefing.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

271 lines
9.7 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: thomas (via logistik-instanz vorbereitet)
an: busfahrt
datum: 2026-05-02 23:55
status: neu
betrifft: Kickoff-Briefing — neue Simulation „Busfahrt" (Topografie Europa, Distanz-Schätzung)
---
# Kickoff: Simulation „Busfahrt"
Willkommen, Busfahrt-Instanz. Du baust ein neues, **bewusst kleines**
Modul für GeoGraSim. Ziel: Schüler*innen lernen Hauptstädte, Staaten und
Entfernungen in Europa, indem sie für ein Busunternehmen Touren-Aufträge
abarbeiten.
Thomas hat ausdrücklich gewünscht, dass diese Simulation **einfach
bleibt** — sie soll innerhalb einer Programmiersession funktionieren.
Komplexitäts-Hütchen: Wirtschaft, Multi-Tag, Multi-Fahrzeug → erst später.
---
## 1. Mission
Ein Busunternehmen erhält Aufträge: „Fahre nach Paris (Hauptstadt von
Frankreich)." Der/die Bearbeiter*in tippt die Stelle auf der Karte.
Abweichung in km wird gemessen. Drei Versuche. Danach Info-Card zur Stadt.
In der Voll-Variante (Phase 2): Kilometer schätzen, Angebot kalkulieren,
gegen Konkurrenz-Preise antreten.
---
## 2. Lernziele (AT GW Sek I)
| # | Lernziel | Lehrplan-Bezug |
|---|----------|----------------|
| 1 | Hauptstädte und Staaten Europas auf der Karte verorten | 1./2. Klasse — Räumliche Orientierung, Topografie Europas |
| 2 | Entfernungen zwischen europäischen Städten grob in km schätzen | 2./3. Klasse — Maßstab, Distanz, Luftlinie |
| 3 | Distanz↔Preis-Zusammenhang erkennen, einfaches Angebot kalkulieren | 3. Klasse — Mobilität, Wirtschaft, Verkehrsräume |
| 4 | Kulturelle Eigenheiten europäischer Hauptstädte (Bevölkerung, Sprache, Kuriosum) | Querschnitt — Allgemeinbildung, Vielfalt Europas |
Lehrplan-Anker via Lehrplan-Instanz nachpflegen lassen
(`_inbox/lehrplan/` mit Begriffsbedarf-Anfrage anpingen).
---
## 3. Mechanik
### Phase 1 (MVP — die erste Session)
**Auftrags-Loop pro Auftrag:**
1. Auftrag erscheint als Card oben/links: „Fahre nach **Paris**
Hauptstadt von Frankreich. Hinweis: liegt am Fluss Seine."
2. Optional vorgelagerte **Single-Choice-Frage** bei Hauptstadt-Aufgaben:
„Wie heißt die Hauptstadt von Frankreich? □ Paris □ Madrid □ Rom"
(34 Optionen, eine korrekt). Falsch = Hinweis, dann Klick
auf Karte.
3. **Karte tippen** (Leaflet/OSM): Touch/Click setzt Marker, Distanz-Mess-
Linie zeigt Luftlinie zur tatsächlichen Position (erst NACH Tap, nicht
vorher als Live-Hilfe).
4. **Bewertung pro Versuch:**
- < 50 km → Treffer (Volle Punkte)
- 50200 km → ungenau (halbe Punkte)
- > 200 km → daneben (kein Punkt, Versuch verloren)
5. Drei Versuche. Bei Fehlversuch ein **Hinweis** (z.B. „Du bist 280 km
zu östlich" oder Himmelsrichtung anzeigen).
6. **Info-Card** nach Auflösung: Stadtname, Land, Bevölkerung, kurze
3-Zeilen-Beschreibung, Bild (DALL-E im offiziellen Bildstil — siehe
Memory `reference_bildstil.md`).
**Score-System (MVP):** Punkte pro Auftrag (3 / 1 / 0 je nach Treffer).
Insgesamt 810 Aufträge pro Level → max 30 Punkte. Sterne-Auswertung am
Ende.
### Phase 2 (Erweiterung — zweite Session)
**Wirtschaft drauf:**
1. Nach Karten-Treffer öffnet sich **Rechnungs-Maske**:
„Wie viele km muss der Bus fahren? Bitte Angebot kalkulieren."
2. Schüler*in tippt Schätzung ein (km).
3. **Konkurrenz-Mechanik**: System zeigt verdeckten Konkurrenz-Preis
(z.B. 95 % der echten Distanz × Tarif). Wenn eigene Schätzung höher
→ Auftrag verloren (kein Geld). Wenn niedriger → Auftrag gewonnen,
aber Marge sinkt mit jedem km Differenz.
4. **Budget über mehrere Aufträge** statt Punkte: Startbudget 5 000 €,
am Ende soll mindestens 7 500 € stehen.
### Phase 3 (Polishing — optional)
- **OSRM-Streckenführung** wie in Logistik. Bisher rechnen wir mit
Luftlinie × 1.3 (Aufschlag analog Logistik L1). In Phase 3 echte
Streckenführung über `App/assets/data/lg-roadnet.json` oder OSRM-API,
damit Schüler*innen verstehen: „durch Berge ist's länger als
Luftlinie".
- **Luftlinien-Mess-Tool** als Hilfsmittel: Schüler*in kann VOR dem Tap
auf zwei Punkte tippen und bekommt Luftlinie angezeigt — Hilfe für
Schätzung in Rechnungs-Maske.
---
## 4. Aufgabentypen
Vier Typen, in steigender Schwierigkeit:
| Typ | Beispiel | Hinweis-Form |
|-----|----------|--------------|
| **A** Hauptstadt direkt | „Fahre nach Paris" | Stadtname genannt |
| **B** Hauptstadt via Land | „Fahre in die Hauptstadt von Frankreich. Wie heißt sie?" (Single Choice) | Land genannt, Stadt erraten |
| **C** Stadt direkt (kein Hauptstadt) | „Fahre nach Hamburg" | Stadtname genannt |
| **D** Beschreibungs-basiert | „Fahre in die größte Stadt Skandinaviens" | Schüler*in muss schließen |
Levels:
- **L1 — DACH:** AT, DE, CH, IT, FR, BE, NL — Aufgabentypen A + B (8 Aufträge).
- **L2 — West-/Mitteleuropa:** + Skandinavien, Iberien — alle Typen (10 Aufträge).
- **L3 — Ganz Europa:** + Osten, Balkan, Türkei — alle Typen, Typ D häufiger (12 Aufträge).
---
## 5. Daten-Struktur
### `assets/data/cities.json`
```json
[
{
"id": "paris",
"title": "Paris",
"country": "Frankreich",
"isCapital": true,
"lat": 48.8566,
"lon": 2.3522,
"population_million": 2.1,
"infoText": "Paris liegt an der Seine. ...",
"imagePath": "assets/img/cities/paris.png",
"level": 1
}
]
```
Erstausstattung: 3040 europäische Städte/Hauptstädte. Bilder dazu im
Bildstil (siehe Memory `reference_bildstil.md`). Mehrere existieren
schon in `App/sims/logistik/assets/cities/_original/` (paris.png,
berlin.png, madrid.png, london.png … ~50 Stück) — **diese
wiederverwenden**, nicht neu generieren.
### `assets/data/orders.json`
```json
[
{
"id": "ord-1",
"level": 1,
"type": "A",
"cityId": "paris",
"prompt": "Fahre nach Paris — Frankreichs Hauptstadt liegt an der Seine.",
"tariffPerKm": 1.20,
"fixedFee": 200
}
]
```
### Schätzungs-Schwellen für Bewertung
```js
const HIT_THRESHOLDS = {
PERFECT: 50, // < 50 km Abweichung = volle Punkte
OK: 200, // 50200 km = halbe Punkte
// > 200 km = Fehlversuch
};
```
---
## 6. Tools
- **Leaflet 1.9.4** mit Carto Positron via tile-proxy
(`App/php/tile-proxy.php` existiert schon, von Logistik mitgenutzt)
- **Marker-Pins** für eigene Tipps, Ziel-Marker erscheint erst
NACH Auflösung
- **Distanz-Polyline** zwischen Tap und echter Position (Luftlinie)
- **Optional Phase 2:** Lineal-Tool zum Vorab-Messen
(Tap A + Tap B → Luftlinie in km anzeigen)
---
## 7. Wiederverwendung aus Logistik
| Was | Pfad |
|------|------|
| Tile-Proxy | `App/php/tile-proxy.php` |
| Bildstil-Generator | `App/sims/logistik/scripts/generate-splash-images.sh` |
| Stadt-Bilder | `App/sims/logistik/assets/cities/_original/` (~50 Stück, im Bildstil) |
| Routenführung (für Phase 3) | `App/assets/data/lg-roadnet.json` |
| Mulberry32-RNG (Order-Shuffle) | `App/sims/logistik/headless-runner.js` |
| Modal-Pattern (iPad-Polish) | Memory `feedback_ipad_overlay_pattern.md` |
**Wichtig:** Vor jeder Bildgenerierung Memory `reference_bildstil.md`
beachten — verbindlicher Prompt-Block. Einheitlicher Stil ist Pflicht.
---
## 8. Phasenplan
- [ ] **Phase 0** — Atlas baut Modul-Gerüst:
- DB: `module_info`-Eintrag (slug `busfahrt`, group „Wirtschaft &
Verkehr", Status `aufbau`)
- PHP-Wrapper `App/pages/busfahrt.php`
- Sim-Skelett `App/sims/busfahrt/{game.html, engine.js, README.md}`
- Landing-Card auf Schülerseite (LOCKED bis FREE-Stempel)
- [ ] **Phase 1** — MVP (Karte tippen, 3 Versuche, Info-Card, Punkte)
- [ ] **Phase 2** — Wirtschaft (Rechnungs-Maske, Konkurrenz, Budget)
- [ ] **Phase 3** — OSRM-Streckenführung, Lineal-Tool
Phase 1 sollte **nach einer einzigen Programmiersession spielbar** sein.
---
## 9. Pflicht-Konventionen (kurz)
- **Sprachregel 4a:** keine „spielen / Spiel / Spieler" — wir sagen
„Bearbeiter*in", „Tour", „Auftrag", „Fahrt". Memory
`feedback_keine_spielsprache.md`.
- **Easy-Sprache 4b:** alle Auftragstexte zweisprachig (normal +
Leichte Sprache via `pickText()`).
- **iPad-Pattern:** Modale mit `dvh`, safe-area, sticky-Buttons,
Float-✕. Memory `feedback_ipad_overlay_pattern.md`.
- **Bildstil:** Memory `reference_bildstil.md` — Flat Scandinavian
Illustration, verbindliche Farbpalette.
- **Inbox-Check vor Fertig:** Memory `feedback_inbox_check_vor_fertig.md`.
- **Keine KI im Produkt:** Auftragstexte und Konkurrenz-Preise
vorab fixiert oder parametrisch, KEIN Live-Aufruf an OpenAI/Anthropic.
---
## 10. Erste Schritte
1. Diese Mail lesen, Status auf `gelesen` setzen.
2. `App/docs/module-interface.md` Abschnitt 4 a/b/c lesen
(falls noch nicht gemacht).
3. Atlas-Mail in `_inbox/zentrale/` schreiben mit Empfangsbestätigung
und ggf. Rückfragen.
4. **WARTEN auf Atlas-Gerüst** (Modul-Skelett + DB-Eintrag) — das ist
Atlas-Territorium.
5. Sobald Gerüst steht: `cities.json` und `orders.json` als erste
Datenstrukturen anlegen — Bilder aus Logistik-Pool ziehen.
6. Phase 1 implementieren.
---
## 11. Komplexitäts-Erinnerung
Diese Sim soll **klein bleiben**. Wenn dir während der Implementierung
einfällt: „Och, könnte man auch noch X einbauen" → bitte ablehnen oder
in den Phasenplan schieben. Thomas baut bewusst auch einfache,
konzentrierte Sims — nicht alles muss Logistik-groß werden.
Faustregel: **MVP < 800 Zeilen game.html-JS, < 400 Zeilen engine.js**.
---
## 12. Glossar-Bedarf
Die Begriffe für die Glossar-DB werden später angefragt (siehe
Logistik-Pattern). Für die MVP-Phase sind keine Glossar-Verweise
zwingend — sobald Phase 2 (Wirtschaft) drankommt, lohnt sich
`Angebot`, `Tarif`, `Marge`, `Konkurrenz`, `Luftlinie`, `Maßstab`.
Lehrplan-Anfrage und Glossar-Anfrage **erst nach Phase 1**, sonst
verzettelst du dich.
— Logistik-Instanz (im Auftrag von Thomas)