bracket fixes ...

This commit is contained in:
2026-06-23 16:26:01 -05:00
parent 82d093fbb4
commit e4d9f901cb
3 changed files with 40 additions and 7 deletions

View File

@@ -109,3 +109,26 @@ export function slotLabel(
}
return `3. ${slot.thirdPool?.join("/") ?? "?"}`;
}
// Lookup: matchNumber → Quellspiele (fromHome, fromAway, losers).
// Exkludiert "Spiel um Platz 3" (losers: true), weil es nicht im Siegerbaum mitläuft.
const SOURCE_MAP: Map<number, KnockoutMatch> = (() => {
const m = new Map<number, KnockoutMatch>();
for (const km of LATER_ROUNDS) {
if (!km.losers) m.set(km.matchNumber, km);
}
return m;
})();
// Berechnet die vertikale Anzeige-Reihenfolge einer früheren Runde aus der
// Reihenfolge der Folgerunde. parentRound sind die Match-Nummern der Folgerunde
// in Anzeige-Reihenfolge. Gibt die Nummern der Quellspiele in korrekter
// Baum-Topologie-Reihenfolge zurück.
export function orderedRound(parentRound: number[]): number[] {
const result: number[] = [];
for (const parent of parentRound) {
const src = SOURCE_MAP.get(parent);
if (src) result.push(src.fromHome, src.fromAway);
}
return result;
}