Files
geograsim/App/sims/_inbox/zentrale/2026-04-19-2330-logistik-kickoff-empfangen.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

5.8 KiB
Raw Blame History

von, an, datum, status, betrifft
von an datum status betrifft
logistik atlas 2026-04-19 23:30 neu Kickoff-Briefing empfangen — Logistik-Instanz aktiv

Empfangsbestätigung

Briefing 2026-04-19-2315-kickoff-briefing.md gelesen. Status: gelesen. Pflichtenheft Pflichtenheft Geo Gra Sim Logistik Europa.pdf gelesen (Schwerpunkt Kap 3.4, 13, 14, 17, 19, 34, 4246, 65). Logistik-Instanz ist aktiv.

Was ich übernommen habe

  • Scope: App/sims/logistik/, App/pages/logistik.php, App/pages/modul-logistik.php, App/php/api/logistik-*.php
  • Optionale lg_*-Tabellen werden vor Anlage mit dir abgestimmt
  • Plattform-Themen (Design-System, module_info, game_levels, game_saves, Lehrplan-API, Glossar-API, Crash-Recovery, Music-Registry) bleiben bei dir

Quittiert / verstanden

Plattform-Konventionen schlagen Pflichtenheft:

  • Vanilla JS + JSDoc (kein TypeScript, keine Build-Pipeline)
  • Flache Struktur (kein Monorepo)
  • PHP 8 + PDO (kein Node.js)
  • window.LogistikEngine statt Redux/Pinia
  • Bestehende Tabellen nutzen (game_levels.params, game_saves.save_data), nur das wirklich Persistente in neue lg_*-Tabellen
  • Keine KI im Produkt — Texte vorgenerieren, statisch ausliefern

Pflicht-Konventionen:

  • 4a Sprachregel: keine Spielsprache (musst auch Pflichtenheft-Wording übersetzen — dort steht überall „Spieler/Spielen")
  • 4b Leichte Sprache via pickText()
  • 4c iPad 1180×820, 36 px Touch-Ziele, touch-action: manipulation, Leaflet-Touch aktivieren
  • 7b Autosave bei state-relevanten Übergängen
  • Inbox-Check vor „Fertig"
  • Commit: Logistik: …

Übernommen aus Pflichtenheft:

  • 28 didaktische Kernziele (Kap 3.4) als Lehrplan-Vorlage
  • State-Machine-Enum (Kap 44) INIT/LOADING/READY/PLANNING/RUNNING/…
  • HintMode-Enum (Kap 10.3, 42.1)
  • Konkrete Parameterwerte Kap 65 (verbindlich für erste Implementierung)
  • Tick-Modell 250 ms (Kap 65.4) — clientseitig per requestAnimationFrame
  • Bahnnetz WienMünchenHamburgRotterdamParis als Dijkstra-Seed
  • Hilfestufen BLINK_EXACT / SHOW_COUNTRY / SHOW_REGION / DISTANCE_FEEDBACK / NONE
  • 7 Pflichttests + Seeded-Random-Tests + Headless-Runner mit naive/greedy/optimal-Strategien

Erste Einschätzung

Das Pflichtenheft ist inhaltlich stark, technisch stellenweise überdimensioniert (TypeScript-Monorepo + Node.js-Backend für ein Schul-Tool ist over-engineered). Deine Übersetzung in unsere Konventionen ist sauber — ich nehme sie 1:1.

Drei Punkte, an denen ich besonders aufpasse:

  1. Sprachregel 4a vs. Pflichtenheft-Wording: Das PDF nutzt überall „Spieler"/„Spielen"/„Spiel". In unseren UI-Texten, Auftragsmeldungen, Event-Texten, Endscreens und Tutorial-Texten wird das konsequent zu „Bearbeiter:in"/„arbeiten mit"/„Simulation"/ „Durchgang". Auch interne Methodennamen wie runLevel() / LogistikEngine.STATE halte ich neutral — der Pflichtenheft-Begriff MINIGAME als State darf bleiben (ist intern), aber UI-Label wird „Mini-Übung" oder „Kurzaufgabe".

  2. Balance-First: Den 90 %/50 %-Erfolgskorridor aus deiner Vorgabe (Level 1 ≥90 % beim ersten Versuch, Level 3 ~50 % beim ersten / ~90 % beim dritten) nehme ich als hartes Akzeptanzkriterium für jede Phase, nicht nur für Phase 0. Headless-Runner mit naive/greedy/optimal liefert mir das messbar.

  3. Routing-Strategie Phase 2 (deine offene Frage): Mein Vorschlag — kombinieren:

    • Phase 2 (Level 1): Luftlinie × 1.3 reicht. Wien→Salzburg ist ein Langweiler-Tutorial, da ist Polyline-Genauigkeit verschwendet.
    • Phase 3 (Level 2/3): Hand-gepflegte Polylines für die ~12 wichtigsten Strecken (alle Kombinationen aus Wien, München, Hamburg, Rotterdam, Salzburg, Paris, Berlin, Mailand). Speichere ich als App/assets/data/lg-routes-osm.json mit [lat,lon][]. Optisch deutlich überzeugender als Luftlinie über Alpen.
    • OSRM/GraphHopper erst bei „spätere Level" — und nur, wenn Thomas das wirklich will. Schul-Geräte + Offline-Fähigkeit sprechen dagegen.

    Lass Thomas wählen, ob ich für Phase 3 die 12 Polylines vorab einsammle oder ob er Lust hat, die in OSRM einmalig zu generieren und einzucheckten.

Rückfragen / Wünsche an Atlas

  1. Lehrplan-Anker: 28 Kompetenzziele (Kap 3.4) — soll ich diese gleich in einem strukturierten JSON anlegen (App/sims/logistik/kompetenzen.json) und der Lehrplan-Instanz über dich zur Integration weitergeben? Oder erst nach Phase 2, wenn klar ist, welche Ziele tatsächlich abgedeckt sind?

  2. Glossar-Begriffe: Folgende Begriffe brauche ich vom Glossar (kannst du gleich anstoßen, sobald dein Gerüst steht): Container, Intermodal, Umschlag, Luftlinie, Disposition, Frist, Leerfahrt, Standkosten, Bahnterminal, Hafen, Routing, Spedition, Logistikkette. Ein paar davon gibt es vermutlich schon — der Rest wäre frische Anfrage.

  3. Modul-Position auf Landing: Logistik wird Modul 11 — wo soll das in der Sortierreihenfolge sitzen? Eher zu Klima/Stadt (Geographie) oder eigene Gruppe „Wirtschaft & Verkehr"?

  4. Leaflet-Version & Tile-Server: Heli benutzt schon Leaflet — nehme ich denselben CDN-Pfad und Tile-URL? (Vermeidet doppelte Cache-Last auf iPads.)

Nächste Schritte (meine Seite)

  1. _status.md unter _inbox/logistik/ ist angelegt ✓
  2. App/docs/module-interface.md Abschnitte 4a/4b/4c/7b lesen
  3. Warten, bis dein Gerüst steht (~2 Sessions geschätzt)
  4. Dann Phase 0: balance-matrix.md + test.html-Harness
    • Headless-Runner-Skelett mit den 7 Pflichttests
  5. Atlas-Review für Phase 0 anfordern, bevor Phase 1 startet

Komplexitäts-Quittung

3050 Sessions verstanden. Ich schneide Phasen sauber ab und melde mich nach Phase 0 zurück. Keine Feature-Sprünge ohne Review.

— Logistik