Group qualification scenarios: who's through, who needs what

Once a group reaches its closing stretch (≤3 open matches), every
remaining win/draw/loss combination is enumerated and ranked with the
real tiebreaker logic. Under each table: Top 2 secured / Top 2 with a
win / Still possible (n of N outcomes) / Can't reach the top 2 — with
an honest footnote that tight cases hinge on goal difference and third
place runs through the cross-group best-thirds race. Pure, tested
enumeration in src/lib/scenarios.ts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 01:01:42 +02:00
parent 8e6c9416fa
commit 005b4d72ca
5 changed files with 231 additions and 10 deletions
+6
View File
@@ -148,6 +148,12 @@ export const de: Dict = {
allTeams: "Alle 48 Teams",
legendTop2: "Top 2 — kommen weiter",
legendThird: "Platz 3 — im Rennen um die besten Dritten",
scenarios: "Szenarien für die letzte Runde",
scThrough: "Top 2 sicher",
scWin: "Top 2 mit einem Sieg",
scAlive: "Noch möglich ({n}/{total} Ausgänge)",
scOut: "Top 2 nicht mehr erreichbar",
scNote: "Die Szenarien zählen Sieg/Unentschieden/Niederlage der verbleibenden Gruppenspiele; knappe Fälle können trotzdem an der Tordifferenz hängen. Platz 3 läuft über den gruppenübergreifenden Vergleich der besten Dritten.",
tableHeaderPldPts: "Sp. · Pkt.",
colTeam: "Team",
colPlayed: "Sp",
+6
View File
@@ -147,6 +147,12 @@ export const en = {
allTeams: "All 48 teams",
legendTop2: "Top 2 — advance",
legendThird: "3rd — still in the race for best third",
scenarios: "Final-round scenarios",
scThrough: "Top 2 secured",
scWin: "Top 2 with a win",
scAlive: "Still possible ({n}/{total} outcomes)",
scOut: "Can't reach the top 2",
scNote: "Scenarios count win/draw/loss outcomes of the remaining group matches; tight cases can still hinge on goal difference. Third place runs through the best-thirds race across all groups.",
tableHeaderPldPts: "Pld · Pts",
colTeam: "Team",
colPlayed: "P",