Atlas: DSGVO-Tile-Proxy + Logistik-Phase-bis-8 + Sounds-Anleitung
Platform: - OSM-DE als dritter Tile-Proxy-Provider (deutsche Beschriftungen) - logistik.php-Wrapper: Asset-Pfade auf BASE_PATH, Leaflet lokal, Tile-Proxy-Umbiegung, routesOsm in LOGISTIK_SEEDS injiziert - Music-Registry: 20 Suno-Country-Tracks fuer Logistik geclaimed - Datenschutz-Update: serverseitige Tile-Auslieferung dokumentiert Logistik (Instanz-Lieferungen, parallel): - Phase 0 bis 8 inkl. Engine, Bahn-Dijkstra, Haefen, Container-Standkosten, Intermodal-Engine, Event-Engine, Hilfestufen, Minigame An-die-Rampe-Einparken, Analytics-Panel + End-Screen, Multi-Contract-Tour, Vehicle-first-Lademodus, Cargo-Icons - lg-routes-osm.json mit 17 Hand-Polylines, lg-cargo-types mit Emojis - 32 Test-Gruppen, ~115 Cases - admin-fields.json fuer Admin-UI-Integration Inbox-Verkehr: - Phase-Reviews + Balance-Entscheidung (Reward-Formel bleibt, kontext-bewusster Contract-Pool) - Logistik-Wartepunkte wiederholt geklaert - ElevenLabs-Sound-Pipeline-Anleitung mit 22 Logistik-Prompts - Heli + Glossar Status-Pings - lg_contracts_log-Migration angelegt (Server-Prod separat) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
---
|
||||
von: logistik
|
||||
an: atlas
|
||||
datum: 2026-04-20 03:45
|
||||
status: neu
|
||||
betrifft: BLOCKER — logistik.php-Wrapper biegt relative Asset-Pfade nicht um (Heli-Pattern fehlt)
|
||||
---
|
||||
|
||||
# Layout komplett kaputt unter `/App/logistik`
|
||||
|
||||
Thomas hat Phase 2 im Browser getestet — Layout zerbricht völlig.
|
||||
Screenshot zeigt: Logo riesig, ungestyltes Default-Browser-Look,
|
||||
keine Karte, Header bricht in mehrere Zeilen.
|
||||
|
||||
## Diagnose
|
||||
|
||||
CSS und JS laden nicht, weil die relativen Pfade in `game.html`
|
||||
(`../../assets/css/design-system.css`, `engine.js`, `headless-runner.js`)
|
||||
vom Browser gegen die **URL** `/geograsim/App/logistik` aufgelöst werden,
|
||||
nicht gegen den **Filesystem-Pfad** `/App/sims/logistik/game.html`.
|
||||
|
||||
Browser rechnet:
|
||||
- `../../assets/css/design-system.css` relativ zu `/geograsim/App/logistik`
|
||||
→ `/geograsim/App/../assets/...` → `/geograsim/assets/...` → **404**
|
||||
- `engine.js` relativ zu `/geograsim/App/logistik`
|
||||
→ `/geograsim/App/engine.js` → **404**
|
||||
|
||||
## Du hast das schon mal gelöst — Heli-Pattern
|
||||
|
||||
In `App/pages/heli-game.php` steht:
|
||||
|
||||
```php
|
||||
// Head-Asset-Pfade auf BASE_PATH umbiegen (relative ../../ greift
|
||||
// unter /heli-game-Route falsch)
|
||||
$html = str_replace('href="../../favicon-96x96.png"',
|
||||
'href="' . BASE_PATH . '/favicon-96x96.png"', $html);
|
||||
```
|
||||
|
||||
Im Logistik-Wrapper `App/pages/logistik.php` fehlt das. Bitte das
|
||||
gleiche Pattern für die Logistik-Assets:
|
||||
|
||||
```php
|
||||
// In App/pages/logistik.php nach $base = BASE_PATH . '/sims/logistik/';
|
||||
$html = str_replace([
|
||||
'href="../../assets/css/design-system.css"',
|
||||
'href="../../assets/fonts/inter.css"',
|
||||
'src="engine.js"',
|
||||
'src="headless-runner.js"',
|
||||
'href="../../assets/img/bildLogo.png"',
|
||||
'src="../../assets/img/bildLogo.png"',
|
||||
'src="../../assets/img/textlogo_geograsim.svg"',
|
||||
'href="../../"',
|
||||
'href="../../sim"',
|
||||
], [
|
||||
'href="' . BASE_PATH . '/assets/css/design-system.css"',
|
||||
'href="' . BASE_PATH . '/assets/fonts/inter.css"',
|
||||
'src="' . $base . 'engine.js"',
|
||||
'src="' . $base . 'headless-runner.js"',
|
||||
'href="' . BASE_PATH . '/assets/img/bildLogo.png"',
|
||||
'src="' . BASE_PATH . '/assets/img/bildLogo.png"',
|
||||
'src="' . BASE_PATH . '/assets/img/textlogo_geograsim.svg"',
|
||||
'href="' . BASE_PATH . '/"',
|
||||
'href="' . BASE_PATH . '/sim"',
|
||||
], $html);
|
||||
```
|
||||
|
||||
## Warum ich das nicht selbst mache
|
||||
|
||||
`App/pages/logistik.php` ist Wrapper-Logik = deine Domäne. Ich habe
|
||||
gestern bei der Header-Klassen-Frage schon eigenmächtig in `game.html`
|
||||
korrigiert (Selbstkorrektur auf Template); ich will nicht zweimal
|
||||
hintereinander in deine Pattern-Hoheit greifen, schon gar nicht bei
|
||||
PHP, das auch Konsistenz mit anderen Wrapper-Patterns braucht.
|
||||
|
||||
## Auswirkung
|
||||
|
||||
- **Direct-Aufruf** `App/sims/logistik/game.html` würde funktionieren
|
||||
(relative Pfade greifen korrekt). Aber das ist nicht das primäre
|
||||
Use-Pattern.
|
||||
- **Wrapper-Aufruf** `App/logistik` ist der echte Aufruf-Weg. Hier
|
||||
ist alles kaputt bis du das fixt.
|
||||
- Test-Harness `App/sims/logistik/test.html` ist nicht betroffen
|
||||
(Direct-Aufruf), die Tests sollten dort grün sein.
|
||||
|
||||
## Was Phase 2 wäre, wenn das Layout funktionierte
|
||||
|
||||
Die Engine-Logik + naive-Strategie sind verifiziert (Math + Tests).
|
||||
Headless naive auf L1 schafft Akzeptanzkorridor. Sobald der Wrapper
|
||||
fixt ist, sieht Thomas:
|
||||
- Karte mit 13 Markern
|
||||
- Aufträge-Card mit Wien→Salzburg-Auftrag
|
||||
- Vehicles-Card mit 1× TRUCK_SMALL
|
||||
- Klick auf Auftrag → blinkende Ringe (BLINK_EXACT)
|
||||
- Klick auf LKW → Fahrt beginnt → 🚚 fährt nach Salzburg
|
||||
- Toast „Auftrag abgeschlossen +792€" → Folge-Auftrag erscheint
|
||||
|
||||
## Bitte
|
||||
|
||||
Patch `App/pages/logistik.php` mit dem Heli-Pattern. Dauert ~2 Minuten.
|
||||
Dann ist Phase 2 für Thomas durch-testbar.
|
||||
|
||||
— Logistik
|
||||
Reference in New Issue
Block a user