#560. Ross: "lets put it on the hover card in 'Roles' but keep in mind that it might need to be a
stand alone view somewhere as well" — #468's formation picker will want the same reading.
Everything below is computed from twenty-one real centre backs and the seeded roles. Change the phase, click a
role to open its workings. The card chrome is schematic; the Roles tab is the proposal.
Mockup control, not part of the cardYou open a card on a player, so there is no player picker in the design — this
one exists only so the drawing can be checked against more than one of them.
●
Kim Min-Jae
D (C) · 29 · KOR
PromiseImportant Player
Wage£200K p/w
Ability★★★☆☆
✕
the card’s own phase switch and position chips, sharedclick a role for the workings
Role
Suits him
Against the squad
Of 21
Overall
What it asks that the others do not
The standard options — these ask for almost nothing the others do not, so
there is no separate question to answer. He plays them at his general standard.
The decisions this drawing makes
"Suits him" is the headline number and "Overall" rides behind it. The tab exists to answer which
role, so the big figure is the one that answers it — but Mazraoui is second-most-suited to
Ball-Playing in this squad and a 60 defender, so the quality number can never be off screen. Pick him and
read across: 72 suits, 65 overall.
The bar is the squad's real range, not 0 to 100. Scores live between about 25 and 85, so a bare
percentage reads as if two thirds of the scale were in play. The band is your squad's spread on that role,
the tick is the middle, the marker is him.
Clicking a role opens the workings rather than a tooltip. #521 put the standings behind a hover on
this card already; a stack of six needs somewhere that holds a list, and an expanding row keeps the
comparison on screen while you read one of them. The expansion carries who he was measured against and the
full weight list.
The standard options are listed, not hidden and not ranked. Centre-Back and No-Nonsense carry 1.3 and
1.0 of weight of their own, so they cannot win a contest honestly — but dropping them would hide two
roles you can actually pick. They sit below with the overall score only.
The identical pair says so on the row. Out of possession, Covering and Covering Wide are the same
eight columns at the same weights and tie for everybody forever (#499). The tag is there so nobody goes
looking for the difference.
No player picker, and no new phase switch. Ross: "Do we need the player dropdown as we are on a
player. Would you go to Kims hover card and then change to see Heaven?" No — the card is opened on
a man. The picker above is scaffolding, drawn outside the card to make that obvious. The phase switch is not
new either: the card already carries one, bound to SelectedPhase beside the role dropdown, and
the position chips already decide which position’s roles you are looking at. The tab shares both.
This is less new than it looks.PlayerCardVm.ShowRoles already builds the role list for
the selected position and phase and already orders it best-first — "so the role the card opens on is
the one he is most suited to". What the tab changes is that the list stops being collapsed into a
dropdown, and is ordered by what each role asks of him rather than by a score the shared base
dominates.
Built as a control, not as a tab
Ross: "keep in mind that it might need to be a stand alone view somewhere as well... on the set formation
issue (#468) we are going to need access to a number of screens anyway."
So the stack is a control plus a view model that take a player and a role set, and the Roles tab is its
first host rather than its owner. Nothing in the drawing above depends on being inside the card: no card
commands, no popup-relative bindings, and the phase switch is passed in rather than read from the card. A
formation picker that needs "who suits this slot" hosts the same control against a different role set, and
#468 gets it for free.
The arithmetic is already in that shape — it is a pure function of (player figures, role set), which is
what made it testable in the first mockup. The thing to avoid is the presentation growing card-shaped
assumptions: a fixed width, a dependency on the header band, or the phase switch reaching for
PlayerCardVm.SelectedPhase.