- 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>
20 KiB
von, an, datum, status, betrifft
| von | an | datum | status | betrifft |
|---|---|---|---|---|
| atlas | logistik | 2026-04-19 23:15 | neu | Kickoff-Briefing — Simulation „Logistik Europa" |
Willkommen, Logistik-Instanz
Thomas baut mit dir das anspruchsvollste Modul der Plattform: eine europaweite Logistik-Simulation auf OSM-Basis. Ein ausführliches Pflichtenheft (64 Seiten, extern verfasst) liegt vor. Dieses Briefing übersetzt es in unsere Arbeitsweise — unsere Plattform-Konventionen haben Vorrang vor dem Pflichtenheft.
1. Deine Rolle
Du bist die Logistik-Instanz. Du besitzt:
App/sims/logistik/(Gerüst wird von Atlas noch angelegt)App/pages/logistik.php,App/pages/modul-logistik.phpApp/php/api/logistik-*.php(neue API-Endpunkte)- Ggf. neue MySQL-Tabellen unter Präfix
lg_…(Vorschläge erst mit Atlas abstimmen — mehr dazu unten)
Atlas bleibt Plattform-Zentrale. Anfragen dafür schickst du an
_inbox/zentrale/.
2. Pflichtenheft-Referenz
Datei: .humanInput/Pflichtenheft Geo Gra Sim Logistik Europa.pdf
Wichtig: Das Dokument wurde extern verfasst und an mehreren Stellen in Konflikt zu unserem bestehenden System. Ich habe es durchgearbeitet und die Übersetzungen in die folgenden Abschnitte geschrieben.
Besonders wertvoll aus dem Pflichtenheft:
- Kap 3.4 — 28 didaktische Kernziele (exakte Vorlage für Lehrplan-Anker)
- Kap 13 — Level-Vereinfachungsstrategie (Level 1 / 2 / 3 / spätere)
- Kap 14 — UI-Zonen (Karte + Aufträge + Fahrzeuge + Status + Ereignisse + Hilfe)
- Kap 17 — Datenmodell-Vorschläge (als Inspiration, nicht als Pflicht)
- Kap 19 — Balancing-Grundsätze
- Kap 34 — Testfälle (fachlich, didaktisch, technisch)
- Kap 42–51 — Enums, Interfaces, Tick-Pipeline, Bewegungslogik, Events
- Kap 65 — konkrete Parameterwerte (verbindliche Startwerte; siehe unten)
3. Plattform-Konventionen haben Vorrang
❌ Nicht übernehmen (Pflichtenheft-Vorschläge, die unserem System widersprechen)
| Pflichtenheft | Unsere Entscheidung |
|---|---|
| TypeScript (Kap 40.2, 43, 47) | Vanilla JS mit JSDoc-Types wie Klima/Fluss. Keine Build-Pipeline für dieses Modul. |
Monorepo /geograsim/packages/* (Kap 41) |
Flache Struktur wie bestehende Module: App/sims/logistik/, App/pages/, App/php/api/. |
| Redux Toolkit / Vue Pinia (Kap 53.2) | Einfache Zustandsobjekte nach Klima-Vorbild (window.LogistikEngine). |
| Node.js-Backend (Kap 7.3) | PHP 8 + PDO (MySQL utf8mb4). Wie alle anderen Module. |
| 25 eigene DB-Tabellen (Kap 17) | Nur das persistieren, was wirklich persistiert werden muss. Vieles läuft als JSON in bestehenden Tabellen (game_levels.params, game_saves.save_data) oder als Seed-Dateien unter App/assets/data/. |
| KI zur Laufzeit (Kap 16, 20) | Keine KI im Produkt. Text-/Bild-/Audio-Generierung nur in der Entwicklung (wie bei Glossar-Bildern), nicht zur Laufzeit. Grund: Kosten, Latenz, Datenschutz, deterministisches Balancing. |
| „Collections" / NoSQL-Wording (Kap 17) | MySQL, relational, normalisiert. |
🔧 Anpassen (inhaltlich übernehmen, in unsere Formate übersetzen)
- Savegame-Format (Kap 54) → unsere Tabelle
game_saves(Feldsave_dataals JSON-Text,save_version). Kein eigenes Savegame-System bauen. - API-Design (Kap 55) → als PHP-Endpunkte
App/php/api/logistik-contracts.php,logistik-sessions.php,logistik-routes.php,logistik-hints.php,logistik-minigame.php. Kein REST-Framework, einfach PHP-Skripte mit JSON-Responses (Pattern wieApp/php/api/glossar.php). - State Machine (Kap 44) → einfache String-Konstanten in JS. Die Zustände
INIT/LOADING/READY/PLANNING/RUNNING/PAUSED_BY_EVENT/PAUSED_BY_ARRIVAL/MINIGAME/LEVEL_SUCCESS/LEVEL_FAILED/SAVING/ERRORsind aber gut durchdacht — übernimm sie alsLogistikEngine.STATEEnum. - Routing-Adapter (Kap 47) → Interface OK, aber erste Implementierung: internes vereinfachtes Modell. Luftlinie * Umwegfaktor oder vordefinierte Polylines zwischen Hauptknoten. OSRM/GraphHopper erst, wenn die Kern-Simulation steht.
- Bahnnetz-Modell (Kap 48, 65.8) → als JSON-Datei
App/assets/data/lg-railnet.jsonmitnodes[]undedges[]. Dijkstra in Vanilla JS implementieren — ist ~50 Zeilen. - Tick-System (Kap 45) → clientseitiger
requestAnimationFrame-Loop mitdeltaMs → simulatedMinutesUmrechnung. Nicht serverseitig. Thomas' Geräte sind Schulen-Geräte, Server-Ticks sind Overkill.
✅ Direkt übernehmen
- Leaflet + OSM-Tiles (wie Heli)
- 28 Kompetenzziele aus Kap 3.4 als Lehrplan-Basis
- Hilfestufen-System (Kap 10.3):
BLINK_EXACT / SHOW_COUNTRY / SHOW_REGION / DISTANCE_FEEDBACK / NONE - Konkrete Parameterwerte aus Kap 65 (siehe Balance-Kapitel unten)
- Level-Progression (Kap 13): Level 1 / 2 / 3 / spätere
- Teststrategie (Kap 34, 61)
- Offline-Fallback (Kap 25)
4. Pflicht-Konventionen unserer Plattform
4a — Sprachregel: keine Spielsprache
Nie „spielen", „Spiel", „Spieler:in", „Game Over", „Punkte sammeln".
Stattdessen „arbeiten mit", „Simulation", „Bearbeiter:in",
„Durchgang beendet", „Kennzahl". Bildungstheoretische Grundlage:
Wygotski, Lernarbeit statt Spiel. Das Pflichtenheft verwendet oft
„Spiel/Spieler" — das musst du in allen UI-Texten ersetzen.
Interne Variablennamen (gameState, GameState, game.tick) dürfen
bleiben.
Siehe App/docs/module-interface.md Abschnitt 4a.
4b — Leichte Sprache
Per Schüler:in-Flag in DB. Fallback-Pattern pickText(). Wichtig:
Auftragstexte, Hilfe, Fehlermeldungen, Event-Meldungen müssen eine
Leichte-Sprache-Variante haben.
4c — iPad als Referenzgerät
1180×820 Landscape. Touch-Ziele min 36 px, touch-action: manipulation,
kein Hover-Kleber (@media (hover: hover) für Desktop-only).
Leaflet Touch-Support aktivieren.
7b — Autosave-Pflicht
Alle state.relevanten Zustandsübergänge → Autosave. Thomas hat explizit
nach persistenter Session gefragt. Pattern: lokal in localStorage +
bei Session optional an Server. Siehe App/docs/module-interface.md.
Inbox-Check vor „Fertig"
Bevor du „fertig" meldest: _inbox/logistik/ prüfen. Sonst gehen
Antworten verloren.
Commit-Format
Logistik: <Kurzbeschreibung> — z.B. Logistik: Tick-Engine + Fahrzeug-Bewegung.
_status.md
Lege dir eines an unter App/sims/_inbox/logistik/_status.md:
Rolle, aktueller Stand, offene Aufgaben, Blocker. Aktualisiere nach
jeder Phase.
Keine KI im Produkt
(Siehe oben.) Wenn du Auftragstexte, Event-Meldungen, Hilfetexte vorgenerieren willst — mach das in der Entwicklung, commite die generierten Texte als statische Dateien (JSON/Content-Tabelle).
5. Balance-First-Approach (WICHTIGSTER Punkt)
Thomas' explizite Vorgabe: Die Simulation muss von Anfang an balanciert sein.
- Level 1 (Lernen): komfortabel zu schaffen, auch bei Anfänger-Fehlern. Ziel: >90 % der 13-15jährigen Schüler:innen schließen Level 1 im ersten Durchgang positiv ab.
- Level 3 (Profi): knapp zu schaffen. Jede Fehlentscheidung (Leerfahrt, falsches Fahrzeug, Hilfe-Überbeanspruchung) spürbar. Ziel: ~50 % schaffen es mit positivem Kontostand im ersten Versuch, ~90 % im dritten.
5.1 — Bevor du ein Feature baust: Balance-Matrix
Erster Schritt in Phase 0 (vor jeder Implementierung):
Erstelle App/sims/logistik/balance-matrix.md mit:
| Parameter | Level 1 | Level 2 | Level 3 | Quelle (Pflichtenheft) |
|---|---|---|---|---|
| Startbudget (€) | 8.000 | 5.000 | 2.500 | (deine Schätzung, testen!) |
| Anzahl Aufträge parallel | 1 | 3 | 6 | Kap 13.3 |
| Anzahl Fahrzeuge | 1 | 3 | 5 | Kap 13.3 |
| Fristlänge-Multiplikator | *1.5 | *1.2 | *1.0 | Kap 65.6 |
| Hilfestufe | BLINK_EXACT |
SHOW_REGION |
NONE |
Kap 10.3 |
| Event-Wahrscheinlichkeit (%/h) | 2 | 5 | 10 | Kap 65.5 (halbiert für L1) |
| Verspätungsstrafe (% Wert/h) | 10 | 20 | 30 | Kap 65.2 |
| Miete Fahrzeug (€/Tag) | 0 | 200 | 500 | Kap 65.2 |
| Min Ziel-Erlös | 3.000 € | 10.000 € | 20.000 € | eigene Schätzung |
| Zeitlimit (Spielstunden) | 24 | 48 | 72 | eigene Schätzung |
Das ist ein Vorschlag als Startpunkt. Testen, justieren, ins
game_levels.params persistieren.
5.2 — Konkrete Pflichtwerte aus Kap 65 (verbindlich)
Fahrzeuge:
- Kleiner LKW: 70 km/h, 1 Container, 1.20 €/km, 25 €/h, Lade-/Entladezeit 5 min
- Großer LKW: 60 km/h, 3 Container, 2.50 €/km, 45 €/h, Lade-/Entladezeit 8 min
- Zug: 90 km/h, 20 Container, 8 €/km, 150 €/h, Lade-/Entladezeit 20 min pro 10er-Block
Aufträge:
- Standard: Basis 1.000 €, 1-3 Container, Frist = Distanz/60 * 1.5 Stunden
- Eilauftrag: Basis 1.500 €, Frist = Distanz/70
Bonus/Malus:
- Pünktlich: +10 %
- Optimal (keine Leerfahrt): +20 %
- Strafe pro Stunde Verspätung: 20 % vom Auftragswert
Event-Wahrscheinlichkeiten (pro Stunde):
- Unfall: 5 % (Geschwindigkeit * 0.5)
- Schnee in Alpen: 10 % (Geschwindigkeit * 0.7)
- Hafenüberlastung: 8 % (Ladezeit * 1.5)
Zeit-Skala:
- 1 Tick = 250 ms Echtzeit
- 1× = 1 min Spielzeit / s Echtzeit
- 4× = 4 min/s, 8× = 8 min/s
Referenz-Distanzen (zum Testen der Routing-Logik):
- Wien → Salzburg: 300 km (~4.5 h LKW)
- Wien → Hamburg: 950 km (~14 h LKW)
- Hamburg → München: 800 km (~12 h LKW)
- Rotterdam → Wien: 1.100 km (~16 h LKW)
Bahnnetz-Kernknoten (Kap 65.8): Wien, München, Hamburg, Rotterdam, Paris
- Wien–München: 400 km
- München–Hamburg: 800 km
- Hamburg–Rotterdam: 500 km
5.3 — Regressionstests-Pflicht vor neuen Features
In App/sims/logistik/tests/ lege Regressionstests an (Vanilla JS,
keine Test-Runner-Pipeline — einfache Self-Tests via <script> in
einer test.html). Jedes neue Feature kommt mit Test.
Pflichttests von Anfang an:
- Fahrkosten-Formel:
distanz=300, costPerKm=1.2, fahrzeit=4.5, costPerHour=25 → 472.50 € - Route-Interpolation: Fahrzeug bei 50 % Progress steht auf Mittelpunkt der Polyline
- Strafkosten: Auftragswert 1.000 €, Verspätung 2 h → 400 € Abzug
- Bonus-Kombi: Pünktlich + optimal → +30 %
- Event-Auswirkung: Unfall während Fahrt halbiert Geschwindigkeit für Event-Dauer
- Savegame-Roundtrip: Zustand X → serialisieren → deserialisieren → Zustand X (deep-equal)
- Bahnrouting Dijkstra: Wien → Hamburg über München → Hamburg = 1.200 km
Seeded-Random-Tests: Gleicher Seed → gleicher Session-Verlauf. Sonst ist Balancing nicht reproduzierbar messbar.
5.4 — Automatisierbare Balance-Tests
Für das eigentliche Balancing: Bau einen Headless-Runner, der einen Level einmal spielen kann (deterministisch, ohne UI) und am Ende Kennzahlen ausspuckt:
runLevel(levelId, seed, strategy) → {
successful: boolean,
endBalance: number,
completedContracts: number,
lateDeliveries: number,
durationHours: number,
hintUsages: number
}
Mit 3 Strategien: naive (erstes Fahrzeug, nächster Auftrag),
greedy (höchster Wert zuerst), optimal (Orakel, best case). Wenn
optimal Level 3 gerade so schafft und naive Level 1 ohne Probleme
schafft, hast du Balance.
6. Phasenplan (inkrementell)
Phase 0 — Balance-Matrix + Test-Infrastruktur (KEIN Feature-Code!)
balance-matrix.mdmit Werten pro Leveltest.htmlmit Regressionstest-Harness (in Vanilla JS)- Die oben genannten 7 Pflichttests implementiert (auch wenn die zu testenden Funktionen noch Stubs sind)
- Headless-Runner-Skelett
- → Atlas-Review, bevor Phase 1 startet
Phase 1 — Fundament
engine.jsmit State Machine + Tick-Loop- Seed-Daten laden:
lg-locations.json(~30 Städte + 5 Häfen + 3 Bahnterminals) - Leaflet-Karte rendern, Marker platzieren
- Keine Aufträge, keine Fahrzeuge — nur Karte + Daten
- Pflichttest: seeded-Karte lädt reproduzierbar
Phase 2 — Kern-Loop (Level 1 spielbar)
- 1 Fahrzeug, 1 Auftrag, gerader-Luftlinie-Route, Tick-Bewegung
- Start/Ziel auswählen, Fahrt starten, Ankunft erkennen, Erlös buchen
- Minimalste UI: Auftragskarte + Fahrzeugpanel + Status + Zeit-Controls
- Level 1 muss hier spielbar sein — nicht mehr, nicht weniger
- → Thomas testet live, bevor Phase 3 startet
Phase 3 — Kostenmodell + Mehrfahrzeuge + mehr Aufträge
- Alle 3 Fahrzeugtypen
- Kostenformel (Kap 65)
- Mehrere Aufträge parallel
- Level 2 wird spielbar
Phase 4 — Bahn + Häfen + Intermodal
- Bahnnetz-Dijkstra (5 Knoten, 3 Kanten)
- Häfen mit Container-Ankunft als Auftragsquelle
- Intermodale Aufträge (Leg1 LKW → Leg2 Zug → Leg3 LKW)
- Verladezeiten
- Level 3 wird spielbar
Phase 5 — Hilfestufen + Events
- Hilfesystem (5 Stufen)
- Event-Engine mit deterministischer Seed
- Event-Auswirkungen (Speed/Cost/Block)
Phase 6 — Minigames + Sprachregel-Check + Leichte Sprache
- 1 Minigame (An-die-Rampe-Einparken) als erstes
- Volle 4a/4b-Durchsicht aller UI-Texte
- Glossar-Anfrage für Logistik-Begriffe (Kontainer, Intermodal, Umschlag, Luftlinie, Dijkstra-anschaulich)
Phase 7 — Lehrkraftmodus + Analytics + Polish
- Lehrkraft kann Level konfigurieren, Hilfen schalten
- Analytics-Dashboard mit Kennzahlen aus Kap 23.2
7. Datenmodell — unser Vorschlag
Statt 25 neue Tabellen: nur das persistieren, was wirklich persistiert werden muss.
Neue MySQL-Tabellen (Vorschlag — mit Atlas abstimmen)
-- Seed-Daten (Orte, Fahrzeugtypen, Bahnnetz) — kann initial auch als JSON-Datei
-- unter App/assets/data/ liegen und nur falls nötig später in DB migriert werden.
CREATE TABLE lg_locations (
id VARCHAR(32) PRIMARY KEY,
country_code CHAR(2),
region_id VARCHAR(32),
name VARCHAR(100),
type ENUM('CAPITAL','CITY','PORT','TERMINAL','INDUSTRY','CUSTOMER'),
lat DECIMAL(8,5),
lon DECIMAL(8,5),
osm_id VARCHAR(32) NULL,
visible_from_level TINYINT,
didactic_difficulty TINYINT,
meta_json JSON
);
-- Aktive Laufzeit-Daten
CREATE TABLE lg_contracts_log (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
session_id CHAR(36),
level_id INT UNSIGNED,
contract_code VARCHAR(32),
assigned_vehicle VARCHAR(32),
state VARCHAR(16),
final_balance INT,
late_minutes INT,
hint_usages INT,
completed_at TIMESTAMP
-- für Lehrkraft-Analytics, nicht für Spielstand
);
Bestehende Tabellen nutzen
module_info: Eintraglogistik(Atlas legt an)game_levels: Einträge Level 1-3 mitparamsJSON (enthält Balance-Matrix)game_saves:save_dataJSON = voller GameStatestudent_sessions,students: unverändert
Was NICHT in DB, sondern als JSON-Seed unter App/assets/data/
- Länder, Regionen (selten änderbar, sinnvoll als Content-File)
- Bahnnetz-Knoten/Kanten (5 Knoten — DB wäre Overkill)
- Fahrzeugtypen (3 Typen — Overkill)
- Warentypen (8 Kategorien — Overkill)
- Event-Templates
- Auftrags-Templates
- Minigame-Definitionen
Regel: Wenn es <50 Einträge sind und selten geändert wird → JSON-Datei. Wenn Admin-UI nötig ist oder Änderungen häufig → DB.
8. UI-Layout (mit Heli-Kompromiss-Note von Thomas)
Thomas' Beobachtung: Heli-Kartenansicht ist ein Kompromiss, mehr Steuerung wäre schön. Für Logistik planen wir deshalb Karte als Canvas-Zentrum, aber mit reichhaltigem Drumherum (Kap 14.2):
┌────────────────────────────────────────────────────────────┐
│ Header (Logo · Speed · Save/Load · Lehrplan · 🏠) │
├───────────┬──────────────────────────────────┬─────────────┤
│ │ │ │
│ Aufträge │ │ Fahrzeuge │
│ (Panel │ Europa-Karte (Leaflet) │ (Panel │
│ links) │ │ rechts) │
│ │ • Marker: Städte, Häfen, │ │
│ │ Terminals, Fahrzeuge │ │
│ │ • Layer: Länder, Bahnlinien, │ │
│ │ Routen │ │
├───────────┴──────────────────────────────────┴─────────────┤
│ Status-Leiste: Zeit · Kontostand · Score · Ereignisfenster │
├────────────────────────────────────────────────────────────┤
│ Hilfebereich / Didaktikfenster (einklappbar) │
└────────────────────────────────────────────────────────────┘
Auf iPad Landscape (1180×820):
- Auftragsliste 240 px
- Karte füllt den Rest
- Fahrzeugliste 240 px
- Status-Leiste 56 px hoch
- Didaktikfenster ausblendbar → 36 px hoch im eingeklappten Zustand
Design-System-Klassen (sind alle schon da):
.ggs-header, .ggs-btn, .ggs-card, .ggs-badge, .ggs-level-grid,
.ggs-level-card, .ggs-graph-card, .ggs-music, Glossar-Popup-System.
Keine neuen Klassen ohne Abstimmung mit Atlas.
9. Was Atlas als Vorarbeit macht (parallel)
Nach deiner Empfangsbestätigung baue ich das Gerüst:
module_info-Eintraglogistik(Status:in_entwicklung)- Landing-Card auf
App/index.html(als LOCKED-Card mit Platzhalter-Detailseite) App/pages/modul-logistik.phpPlatzhalter-DetailseiteApp/pages/logistik.phpWrapper-SkelettApp/sims/logistik/game.htmlSkelett nach TemplateApp/sims/logistik/engine.jsSkelett (leere State Machine)App/sims/logistik/test.htmlTest-Harness-Skelett- Leere Seed-Dateien unter
App/assets/data/lg-*.json
Dauer: ~2 Sessions. Dann ist dein Arbeitsplatz bereit.
10. Komplexitäts-Einschätzung (Atlas)
Dies ist das anspruchsvollste Modul der Plattform. Zum Vergleich:
| Modul | Komplexität | Sessions (geschätzt) |
|---|---|---|
| Fluss | mittel | ~10 |
| Klima 2D | mittel-hoch | ~15 |
| Klima 3D | hoch | ~12 (nach 2D-Engine-Basis) |
| Heli | hoch | ~20 |
| Logistik Europa | sehr hoch | 30–50 |
Gründe:
- 3 Fahrzeugtypen mit getrennter Routing-Logik (Straße vs. Bahn)
- Wirtschaftsmodell mit vielen Formel-Bestandteilen
- Tick-basierte Simulation mit Balancing über Seeds
- Intermodale Aufträge (Ketten aus bis zu 3 Legs)
- Bahn-Dijkstra
- Mindestens 4 Minigames
- Event-Engine mit deterministischer Reproduzierbarkeit
- Lehrkraft-Konfiguration
- Europa-weite Geografie statt regional
Thomas hat in früheren Diskussionen 20–30 Sessions geschätzt — das war vor vollständigem Pflichtenheft-Lesen. Mit den 64 Seiten Anforderungen ist 30–50 realistischer. Das soll dich aber nicht bremsen, sondern Phasen sauber abschneiden lassen.
11. Deine ersten Schritte
- Empfangsbestätigung + erste Einschätzung an
_inbox/zentrale/ _inbox/logistik/_status.mdanlegenApp/docs/module-interface.mdAbschnitte 4a/b/c, 7b lesen- Pflichtenheft PDF lesen (
.humanInput/Pflichtenheft Geo Gra Sim Logistik Europa.pdf) — 64 Seiten, aber die Hälfte ist Architektur-Philosophie, die durch mein Briefing schon übersetzt ist. Fokus auf Kap 3.4, 13, 14, 19, 34, 65. - Phase 0 starten:
balance-matrix.md+test.html-Harness. NICHT mit Feature-Code anfangen. - Sobald Balance-Matrix + Test-Harness stehen → Atlas-Review in
_inbox/zentrale/anfordern.
12. Offene Fragen, die Thomas oder Atlas klären müssen
- Lehrplan-Anker: Die 28 didaktischen Kernziele aus Kap 3.4 sollen in
unser Lehrplan-System (
App/php/api/lehrplan.php). Lehrplan-Instanz bekommt von mir eine Anfrage, sobald Seed-Daten stehen. - Routing-Strategie Phase 2: Nur Luftlinie * 1.3? Oder direkt eine vereinfachte Autobahn-Polyline für die 20 wichtigsten Strecken hand- gepflegt? Schlage beides vor, lass Thomas wählen.
- Admin-UI für Level-Konfiguration: Bauen wir eine Erweiterung von
admin-levels.htmloder separat? Das klären wir, wenn Phase 7 ansteht.
13. Bestätigen
- status: gelesen
- Empfangsbestätigung + Rückfragen (wenn welche) an
_inbox/zentrale/ - Nach Bestätigung baut Atlas das Gerüst. Dann loslegen mit Phase 0.
Viel Erfolg. Das wird ein Brocken, aber ein wichtiges Modul.
— Atlas