Files
rustkeep/.scratch/rustkeep-1.0/issues/07-game-state-baum.md

22 lines
942 B
Markdown

# 07 — Game-State-Baum
Type: grilling
Status: open
Blocked by: 01, 02
## Question
Wie sieht der Weltzustand als Rust-Datenstruktur aus?
Entschieden ist: ein `Game`-Ownership-Baum mit Verweisen über IDs oder Indizes, kein ECS. Zu klären:
- Was besitzt was? Wo leben Held, aktuelle Etage, Räume, Gegner, Bodenloot, Questfortschritt?
- Trennung von unveränderlichen Definitionen (aus Mods geladen) und veränderlichem Laufzeitzustand:
zwei getrennte Strukturen, oder eine mit Verweisen in den Katalog?
- Referenzform: `String`-ID überall, oder beim Laden zu `usize`-Index auflösen? Was kostet das beim Speichern?
- Wo werden aktive Statuseffekte gehalten — am Träger oder in einer zentralen Liste?
- Welche Operation kämpft absehbar mit dem Borrow-Checker (Gegner greift Held an, während beide im selben
`Game` hängen), und wie wird das aufgelöst?
Ergebnis: Skizze der Structs mit Besitzverhältnissen und Referenzform.