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>
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
---
|
||||
von: atlas
|
||||
an: heli
|
||||
datum: 2026-04-19 22:15
|
||||
status: neu
|
||||
betrifft: Willkommen, Heli — Kickoff-Briefing für die eigene Instanz
|
||||
---
|
||||
|
||||
# Heli bekommt eine eigene Instanz
|
||||
|
||||
Thomas will die Heli-Rettung aufräumen. Das Modul ist zu groß für die
|
||||
Zentrale, also bekommst du deine eigene Session nach Vorbild von Klima
|
||||
und Fluss. Diese Nachricht ist dein Einstieg.
|
||||
|
||||
## Deine Rolle
|
||||
|
||||
Du bist die **Heli-Instanz**. Du besitzt:
|
||||
- `App/sims/heli/` (game.html, start.html, landing.html, bewertung.html,
|
||||
radio-test.html, routes.html, waypoints.js, sounds/, assets/)
|
||||
- `App/pages/heli.php`, `App/pages/heli-game.php`, `App/pages/modul-heli.php`
|
||||
- `App/heli.html` (alte statische Version — NICHT ANFASSEN, bleibt für
|
||||
Nicht-XAMPP-Abruf; Refactor-Ziel ist die PHP-Variante)
|
||||
|
||||
Atlas bleibt Plattform-Zentrale (Design-System, APIs, Admin, Templates,
|
||||
Dashboards, Music-Registry, Crash-Recovery). Anfragen dafür schickst du
|
||||
an `_inbox/zentrale/`.
|
||||
|
||||
## Stand (Kurzfassung, bitte verifizieren)
|
||||
|
||||
### Spielfluss (6 Phasen)
|
||||
1. Auftragswahl (`game.html`) — 3 zufällige aus 9 Missionen
|
||||
2. Routenplanung (`game.html`) — Pilot gibt Richtung+Distanz, Klick auf
|
||||
Karte (4 km Toleranz)
|
||||
3. Start (`start.html` via iframe) — Flappy-Physik, Autostart über URL
|
||||
4. Kartenflug (`game.html`) — Heli fliegt animiert, Pilot-Kommentare,
|
||||
1×/2×/4× Speed
|
||||
5. Landung (`landing.html` via iframe) — Bergrettung
|
||||
6. Auswertung (`game.html`) — Sterne aus allen Phasen
|
||||
|
||||
### Audio
|
||||
- 100+ TTS-Dateien in `sounds/radio/` + `sounds/nav/`
|
||||
- 6 Stimmen getestet, Pilot wechselt echo/alloy
|
||||
- Walkie-Talkie-Effekt (Bandpass 1800 Hz Q=3 + Distortion)
|
||||
- Touch-Controls für Tablet
|
||||
|
||||
### Routen & Karte
|
||||
- 60 Routen (30 Vorarlberg + 30 Tirol), Basen: Nenzing, Hohenems,
|
||||
Innsbruck, Zams, Kitzbühel, Lienz
|
||||
- `routes.html` als Demo-Ansicht
|
||||
- Karte: Leaflet + OSM, alle Heli-Basen AT, Städte mit KI-Bildern, Berge
|
||||
- Quartett-Cards bei Klick auf Hubschrauber
|
||||
|
||||
### Bekannte offene Punkte (aus Memory, 4 Tage alt)
|
||||
- Kartenflug: Pilot muss alle Stationen ansagen (TTS teils da)
|
||||
- Wirkungsklammer (Pre/Post-Fragen) fehlt im Flow
|
||||
- Level-System UI fehlt (Backend-API existiert)
|
||||
- Lehrkräfte-Dashboard für Heli-Auswertungen erweitern
|
||||
|
||||
## Heute frisch gefixt (Atlas)
|
||||
|
||||
Die Tabelle `geo_waypoints` war auf dieser DB nicht angelegt —
|
||||
`heli-game.php` warf Fatal Error. Seed-Script liegt jetzt unter
|
||||
`App/php/seed-waypoints.php`; Tabelle hat 70 Waypoints. Falls du
|
||||
nochmal eine frische DB hast: `curl http://localhost/geograsim/App/php/seed-waypoints.php`.
|
||||
|
||||
Schema: `App/assets/data/waypoints.sql` (einfache INSERT-Liste).
|
||||
|
||||
## Was Thomas heute Abend will
|
||||
|
||||
Er spielt gerade durch und notiert:
|
||||
- **„Sprachausgabe etwas chaotisch"** — Reihenfolge, Timing, Dopplungen,
|
||||
Lücken in TTS-Ansagen
|
||||
- **„Da und dort eine Kleinigkeit"** — sammelt er beim Durchspielen
|
||||
|
||||
Er wird dir eine Bug-Liste geben. Priorisiere daraus.
|
||||
|
||||
## Konventionen (PFLICHT)
|
||||
|
||||
### Sprachregel 4a — Keine Spielsprache
|
||||
**Nie** „spielen", „Spiel", „Spieler:in", „Game Over", „Mission erfüllt".
|
||||
**Stattdessen** „arbeiten mit", „Simulation", „Bearbeiter:in",
|
||||
„Durchgang beendet", „Ziel erreicht". Bildungstheoretische Grundlage:
|
||||
Wygotski, Lernarbeit statt Spiel.
|
||||
|
||||
Siehe `App/docs/module-interface.md`, Abschnitt 4a. Bei Heli besonders
|
||||
wichtig in Pilot-Ansagen und Endscreens. TTS-Dateinamen kannst du
|
||||
lassen, **gesprochener Text** aber anpassen — das bedeutet ggf. neue
|
||||
TTS-Generierung.
|
||||
|
||||
### iPad als Referenzgerät
|
||||
1180×820 (Landscape). Touch-Ziele min 36 px, `touch-action: manipulation`,
|
||||
kein Hover-Kleber. Media Query `@media (hover: hover)` für Desktop-only.
|
||||
|
||||
### Inbox-Check vor „Fertig"
|
||||
Bevor du Thomas „fertig" meldest, schaue in `_inbox/heli/` — sonst
|
||||
gehen Antworten verloren.
|
||||
|
||||
### Commit-Format
|
||||
`Heli: <Kurzbeschreibung>` — z.B. `Heli: TTS-Reihenfolge Phase 2 fixiert`.
|
||||
|
||||
### `_status.md`
|
||||
Lege dir eines an unter `App/sims/_inbox/heli/_status.md` mit:
|
||||
Rolle, aktueller Stand, offene Aufgaben, Blocker. Aktualisiere es
|
||||
nach jeder Phase.
|
||||
|
||||
## Zentrale Dateien
|
||||
|
||||
| Datei | Zweck |
|
||||
|-------|-------|
|
||||
| `App/sims/heli/game.html` | Haupt-Spielloop (6 Phasen) |
|
||||
| `App/sims/heli/start.html` | Iframe Phase 3 (Start) |
|
||||
| `App/sims/heli/landing.html` | Iframe Phase 5 (Landung) |
|
||||
| `App/sims/heli/waypoints.js` | Routen + Waypoint-Daten (JS-Fallback) |
|
||||
| `App/sims/heli/sounds/radio/` | TTS Pilot-Funk |
|
||||
| `App/sims/heli/sounds/nav/` | TTS Navigations-Ansagen |
|
||||
| `App/pages/heli-game.php` | PHP-Wrapper, lädt WP aus DB |
|
||||
| `App/pages/modul-heli.php` | Detailseite mit Launcher |
|
||||
| `App/pages/heli.php` | Übersichtskarte (Leaflet) |
|
||||
| `App/assets/data/waypoints.sql` | DB-Seed für `geo_waypoints` |
|
||||
|
||||
## Test-Links (absolute URLs)
|
||||
|
||||
- Spiel: `http://localhost/geograsim/App/heli-game`
|
||||
- Detailseite: `http://localhost/geograsim/App/modul-heli`
|
||||
- Übersichtskarte: `http://localhost/geograsim/App/heli`
|
||||
|
||||
## Audio-Pipeline
|
||||
|
||||
Zentrale SFX-Generierung läuft über `App/scripts/generate-sounds.py`
|
||||
(ElevenLabs SFX-API). Für neue TTS-Ansagen bitte dort anhängen, nicht
|
||||
eigene Pipeline aufbauen. Musik-Claims in `App/docs/music-registry.md`
|
||||
eintragen, wenn du einen Track belegst.
|
||||
|
||||
## Crash-Recovery
|
||||
|
||||
`App/docs/crash-recovery.md` lesen. Nach Absturz: `_status.md` +
|
||||
Inbox + Memory prüfen, dann weiter.
|
||||
|
||||
## Deine ersten Schritte
|
||||
|
||||
1. Bestätige den Empfang dieser Nachricht in `_inbox/zentrale/`
|
||||
2. Lies `App/docs/module-interface.md` Abschnitte 4a, 4b, 4c, 7b
|
||||
3. Lege `_inbox/heli/_status.md` an
|
||||
4. Aktualisiere dein Memory `project_heli_state.md`
|
||||
5. Spiele einmal selbst durch
|
||||
(`http://localhost/geograsim/App/heli-game`), um den Ist-Zustand zu
|
||||
verstehen, und gleiche mit Thomas' Bug-Liste ab
|
||||
6. Priorisiere mit Thomas: welche Baustelle zuerst
|
||||
|
||||
## Bestätigen
|
||||
|
||||
- status: gelesen
|
||||
- Empfangsbestätigung + erste Einschätzung in `_inbox/zentrale/`
|
||||
- Bei Unklarheiten zur Plattform-Architektur, Design-System, APIs:
|
||||
frag Atlas (mich) über `_inbox/zentrale/`
|
||||
Reference in New Issue
Block a user