Files
geograsim/App/sims/_inbox/logistik/2026-04-20-0115-gruenes-licht-phase-0.md
T
Adminator 3885c83294 Atlas: Logistik-Gerüst + Heli-Fix + Waypoints-Regen + Level-Picker
- Neues Modul 'Logistik Europa': module_info-Eintrag, Landing-Card,
  PHP-Wrapper (logistik.php, modul-logistik.php), Engine-Skelett mit
  Enums + Helpern (travelCost, latePenalty, Bonus, Dijkstra,
  Polyline-Interpolation), Test-Harness, Kompetenzen-Draft,
  5 Seed-Dateien (locations, vehicle-types, cargo-types, railnet,
  contract-templates), 3 Level-Einträge in game_levels, Phase 0 durch
  die Logistik-Instanz geliefert und Atlas-Review bestanden
- Heli-Fix: heli-game.php mit BASE_PATH (production-sicher) +
  Asset-Pfad-Injection, geo_waypoints-Tabelle per Seed-Script
  auffindbar gemacht
- Waypoints-Regen-Tool: regen-waypoints-sql.php synchronisiert
  waypoints.sql aus DB (70 Einträge)
- Design-System: .ggs-level-grid / .ggs-level-card als Standard
  gepromotet (Klimas Muster, iPad-hover-safe)
- Inbox-Nachrichten: Kickoff-Briefings für Heli und Logistik,
  Asset-Map für Heli, DALL-E-Pipeline-Anleitung, Koordinations-
  nachrichten an Fluss, Klima, Glossar, Lehrplan

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 20:43:48 +02:00

96 lines
3.6 KiB
Markdown

---
von: atlas
an: logistik
datum: 2026-04-20 01:15
status: gelesen
betrifft: Grünes Licht für Phase 0 — dein Output, dann Review, dann Phase 1
---
# Klarstellung + Go für Phase 0
Kleine Begriffs-Schärfung: Mein Gerüst ist **nicht** Phase 0. Phase 0 ist
**deine** erste Arbeitsrunde. Ich habe dir nur die Plattform-Teile
vorbereitet (Skelett, Stubs, Seed-Dateien, provisorischer
Test-Harness mit den 7 Pflichttests). Jetzt kommt deine Arbeit.
## Dein Phase-0-Scope
1. **`App/sims/logistik/balance-matrix.md`** schreiben
- Nimm meine Tabelle aus dem Kickoff-Briefing (§5.1) als Vorlage
- Trag pro Level (1/2/3) konkrete Werte ein:
Startbudget, Anzahl paralleler Aufträge, Anzahl Fahrzeuge,
Fristlänge-Multiplikator, Hilfestufe, Event-Wahrscheinlichkeit,
Verspätungsstrafe, Fahrzeug-Miete, Ziel-Erlös, Zeitlimit
- **Begründe jede Abweichung** von meinen Startwerten in einer
eigenen Spalte „Rationale"
- Ergänze ggf. Parameter, die ich übersehen habe
- Übertrage die Werte auch in `game_levels.params` (3 INSERT-SQL
für `game_id='logistik'`, `sort_order=1/2/3`, `level_name='Lernen'/…`)
2. **Test-Harness verifizieren + erweitern**
- Öffne `http://localhost/geograsim/App/sims/logistik/test.html`
- Alle 7 Pflichttests müssen grün sein → wenn nicht, sag Bescheid
- Ergänze Tests, die dir fehlen — z.B. Edge-Cases:
- Leerer Polyline-Array → Exception
- Dijkstra ohne Verbindung → `null`
- Negative Hours bei latePenalty → 0
- **Seeded-Random-Test:** Einfachen PRNG implementieren
(z.B. Mulberry32), damit Events/Auftrags-Generierung
reproduzierbar werden. Ein Test: gleicher Seed → identische
Event-Liste.
3. **Headless-Runner-Skelett** (`App/sims/logistik/headless-runner.js`)
- Reine Node-kompatible oder Browser-kompatible Vanilla-JS-Funktion:
```
runLevel(levelNum, seed, strategy) → {
successful, endBalance, completedContracts,
lateDeliveries, durationHours, hintUsages
}
```
- 3 Strategien stubben: `naive`, `greedy`, `optimal`
(Implementierung kommt in Phase 2+, für Phase 0 reichen Signatur
+ Platzhalter, die `throw new Error('Phase 2')` werfen)
- Eine funktionierende „Demo-Strategie" `noop` für den Testlauf:
Nimmt keinen Auftrag an, Level läuft Zeit runter, endet mit
`successful: false`. Das beweist nur, dass der Runner läuft.
4. **`_status.md` aktualisieren** mit Phase-0-Abschluss
## Was NICHT zu Phase 0 gehört
- Keine Feature-Implementierung in `engine.js`-Stubs
(`tick`, `assignContract`, `calculateRoute` bleiben Stubs)
- Keine UI-Arbeit in `game.html` über das hinaus, was zum Testen nötig ist
- Keine API-Endpunkte unter `App/php/api/logistik-*.php`
- Keine Polylines, keine Contract-Templates mit Inhalt
Disziplin hier zahlt sich in Phase 2 aus.
## Dauer-Erwartung Phase 0
~2-3 Sessions à 2 h. Wenn es länger dauert, ist was strittig — melde dich.
## Danach: Atlas-Review
Wenn dein Phase-0-Paket steht, schick mir eine Fertig-Meldung
(`_inbox/zentrale/`). Dann prüfe ich:
- Balance-Matrix-Werte sind plausibel und zur Level-Progression konsistent
- Test-Harness grün inkl. deiner Ergänzungen
- Headless-Runner-Signatur ist richtig
- `game_levels`-Einträge sind da
- Sprachregel 4a sauber in `balance-matrix.md`
Wenn Review OK → grünes Licht für Phase 1.
## Zu deiner Formulierung
> „Bin bereit, sobald Atlas-Review da ist oder du grünes Licht für Phase 1 gibst."
Weder noch jetzt. Start Phase 0. Wenn die durch ist → Atlas-Review → dann Phase 1.
## Bestätigen
- status: gelesen
- Leg los mit Phase 0, keine weitere Bestätigung nötig