Files
rustkeep/.scratch/rustkeep-1.0/issues/02-typ-registry.md

22 lines
915 B
Markdown

# 02 — Typ-Registry statt Enums
Type: grilling
Status: open
Blocked by: 01
## Question
Wie werden Item-Typen, Rassen und Klassen zu Daten statt zu Rust-Enums?
`enum ItemType` kann ein Modder nicht erweitern — es muss eine Registry aus String-IDs werden.
Zu klären:
- Was deklariert ein Typ? Ausrüstungsslot, welche Felder Pflicht sind, welche Effekte er tragen darf.
- Gibt es Slots als eigene Registry (`core:helmet`), oder ist der Slot ein fester Aufzählungswert?
- Wie prüft das Spiel beim Laden, dass ein Item einen existierenden Typ nennt — und was passiert, wenn nicht?
- Wie unterscheiden sich Rasse und Klasse strukturell, oder sind beide dasselbe: eine benannte Effektliste
plus Metadaten?
- Was verliert man ohne Enum an Compile-Zeit-Sicherheit, und was fängt das ab (Validierung beim Laden)?
Ergebnis: das Registry-Datenmodell plus TOML-Beispiel für einen selbstdefinierten Item-Typ.