update
This commit is contained in:
34
.planer/einheiten/backend__tft__constants__loader.py.md
Normal file
34
.planer/einheiten/backend__tft__constants__loader.py.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Einheiten: backend/tft/constants/loader.py
|
||||
stand: f41ac76b5789
|
||||
|
||||
## backend/tft/constants/loader.py::load_constants
|
||||
beschreibung: Lädt die TOML-Konstantendatei für ein gegebenes Set und gibt das eingelesene Dict zurück.
|
||||
input: set_number (int) – die zu ladende Set-Nummer.
|
||||
output: dict – die deserialisierten Konstanten aus der TOML-Datei.
|
||||
entscheidungen:
|
||||
- Fehlt die Set-Datei, bricht der Lader mit einer FileNotFoundError ab und gibt einen Hinweis zur Behebung.
|
||||
beleg: "if not path.exists():"
|
||||
- Die Datei wird im Binary-Modus geöffnet, da tomllib rohe Bytes erwartet.
|
||||
beleg: "with path.open(\"rb\") as f:"
|
||||
- Geladene Werte werden unmittelbar über validate einer Konsistenzprüfung unterzogen.
|
||||
beleg: "validate(c)"
|
||||
kanten:
|
||||
- ruft-auf: backend/tft/constants/loader.py::validate
|
||||
|
||||
## backend/tft/constants/loader.py::validate
|
||||
beschreibung: Validiert die Struktur und Plausibilität der geladenen Konstanten und wirft bei Verstößen ValueError.
|
||||
input: c (dict) – das zuvor aus TOML geladene Konstanten-Dict.
|
||||
output: None – signalisiert Gültigkeit durch stilles Zurückkehren oder Auslösen einer Ausnahme.
|
||||
entscheidungen:
|
||||
- Jede Shop-Odds-Zeile muss genau 5 Einträge besitzen.
|
||||
beleg: "if len(row) != 5:"
|
||||
- Die Pool-Größenliste muss exakt 5 Kostenstufen umfassen.
|
||||
beleg: "if len(c[\"pool\"][\"sizes\"]) != 5:"
|
||||
- Die Anzahl der XP-Stufen-Übergänge muss zur maximalen Stufe passen (to_next = max_level − 1).
|
||||
beleg: "if len(xp[\"to_next\"]) != xp[\"max_level\"] - 1:"
|
||||
- Die streak_gold-Tabelle muss aufsteigend nach Streak-Länge sortiert sein.
|
||||
beleg: "if streaks != sorted(streaks):"
|
||||
- Jede Shop-Odds-Zeile muss in Summe genau 100 ergeben.
|
||||
beleg: "if sum(row) != 100:"
|
||||
kanten:
|
||||
- wird-genutzt-von: backend/tft/constants/loader.py::load_constants
|
||||
Reference in New Issue
Block a user