# TODO — aktueller Stand Kurzfristige, konkrete Punkte aus der laufenden Arbeit. Für den groben Fahrplan siehe `docs/ROADMAP.md`, für die Editor-Klickpfade `docs/EDITOR_SETUP.md`. ## Editor-Setup, noch offen - [ ] ProBuilder installieren (`Window > Package Manager` → Unity Registry → „ProBuilder") - [ ] `OrderTerminal`-Prefab bauen (Anleitung: `EDITOR_SETUP.md` Schritt 7b) - [ ] `SupplierService`-Objekt in der `Shop`-Szene anlegen (Schritt 9.9) - [ ] `OrderTerminal`-Instanz platzieren, `Product Id` auf ein echtes Produkt setzen ## Content - [ ] Weitere `ProductDefinition`-Assets anlegen — laut `ROADMAP.md` Meilenstein 0 sollten es 8–10 sein, bisher nur 1 erstellt - [ ] Für zuverlässiges Kunden-Testing: mind. 2–3 Regale mit unterschiedlichen `Category`-Werten bestücken (Kunden wollen zufällig eine von 5 Kategorien) ## Testen - [ ] Kompletten Golden Path einmal durchspielen und bestätigen: Kunde spawnt → läuft zum Regal → nimmt Ware → stellt sich an → wird kassiert → verlässt den Laden (bisher nur einzelne Teilschritte verifiziert, nicht der volle Ablauf am Stück) - [ ] Bestell-/Lieferfluss testen: `OrderTerminal` per `E` → Guthaben sinkt sofort → nach `Delivery Lead Hours` Spielstunden steigt die Menge in der passenden `StorageCrate` ## Aufräumen - [ ] Debug-`Log`-Zeilen wieder entfernen, sobald Zielerkennung + Regal-Befüllen zuverlässig laufen (markiert mit `// TODO` in `PlayerInteractor.cs` und `ShelfSlot.cs`) ## Bekannte Lücken seit Meilenstein 1 Im Code als `// TODO` markiert oder beim Testen aufgefallen — bewusst nicht für den vertikalen Schnitt behoben, aber vor Meilenstein 2 (Koop) bzw. weiterer Content-Arbeit relevant: - [ ] `CustomerAgent.IsStaffCrowding()` liefert immer `false` — Personal-Nähe-Check für den Komfort-Wert fehlt noch (`CustomerAgent.cs:186`) - [ ] `CustomerAgent.Abandon()` schreibt aufgegebene Warenkorb-Ware nicht zurück ins Regal — Ware ist beim Abbruch einfach weg (`CustomerAgent.cs:202`) - [ ] `GameClock.SkipToOpening()` ("Feierabend"-Button) prüft nicht, ob noch Kunden im Laden sind, bevor der Tag springt (`GameClock.cs:68`) - [ ] Kunden, die dauerhaft kein passendes Regal finden (Kategorie nirgends vorrätig), bleiben für immer stehen — kein Timeout/Aufgeben-Mechanismus - [ ] Kein Fadenkreuz/Crosshair und kein echter Prompt-Text im UI — `PlayerInteractor.CurrentPrompt` wird berechnet, aber nirgends angezeigt - [ ] Keine visuelle Rückmeldung, was der Spieler gerade trägt (`PlayerHands` hat keine Darstellung) - [ ] `ShelfSlot.RefreshVisuals()` ist leer — keine Verpackungs-Darstellung im Regal je nach Menge (`ShelfSlot.cs:129`) ## Meilenstein 3 — noch offen (nach Bestellsystem) - [ ] Tagesabrechnung, Miete, Personalkosten (baut auf `GameClock.DayEnded` + `ShopEconomy` auf) - [ ] Beratungs-Minispiel (Kundenandeutung → passende Kategorie) - [ ] Laden-Upgrades (Umkleide, Vorhang, zweite Kasse, Regalreihen) - [ ] Sichtachsen-System (`ExposedToStreet` automatisch aus Geometrie ableiten) ## Im Hinterkopf behalten - Meilenstein 2 (Koop) kommt erst später, aber neue Systeme sollten schon jetzt server-authoritativ und race-condition-bewusst gebaut werden (siehe CLAUDE.md §3) — ist bei `SupplierService`/`OrderTerminal` bereits berücksichtigt