feat(bracket): redesign with wallchart, radial orbit, and rounds pager

Center-out wallchart layout (computeWallchartLayout), radial orbit view with
circular flag tokens, and mobile rounds pager with button navigation (Steps 1–3).
Stadium-night art direction, SVG connectors, fit-to-chart zoom, escalating card
heat toward the Final, dual gold-real/blue-sim champion celebration paths.
Adds bracket view toggle with persistent wc2026_prefs.bracketView storage.
This commit is contained in:
Lucas Kalil 2026-07-03 22:09:49 -03:00
parent 0966a33fa3
commit c246117545
3 changed files with 1420 additions and 233 deletions

View file

@ -95,6 +95,11 @@ const dicts = {
'bracket.groupRunnerUp': 'Group {g} Runner-up',
'bracket.bestThird': 'Best 3rd #{n}',
'bracket.champion': 'Champion',
'bracket.ft': 'FT',
'bracket.viewLabel': 'Bracket view',
'bracket.viewRounds': 'Rounds',
'bracket.viewWallchart': 'Wallchart',
'bracket.viewRadial': 'Radial',
'bracket.zoomIn': 'Zoom in',
'bracket.zoomOut': 'Zoom out',
'bracket.zoomReset': 'Reset zoom',
@ -275,6 +280,11 @@ const dicts = {
'bracket.groupRunnerUp': '2º do Grupo {g}',
'bracket.bestThird': 'Melhor 3º #{n}',
'bracket.champion': 'Campeão',
'bracket.ft': 'FIM',
'bracket.viewLabel': 'Visualização do mata-mata',
'bracket.viewRounds': 'Fases',
'bracket.viewWallchart': 'Chaveamento',
'bracket.viewRadial': 'Radial',
'bracket.zoomIn': 'Aproximar',
'bracket.zoomOut': 'Afastar',
'bracket.zoomReset': 'Restaurar zoom',