Skip to content

feat: #14 in white, not just a name - #42

Merged
ralyodio merged 2 commits into
masterfrom
feat/jersey-and-team
Aug 10, 2026
Merged

feat: #14 in white, not just a name#42
ralyodio merged 2 commits into
masterfrom
feat/jersey-and-team

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

"we should use team color and names not just names ... (ie: #14 in white team not #14 on black team)"

Right, and the column was already there. jersey_color has been on the athlete row since the first migration and nothing has ever written or shown it. So the picker could only offer a name — the one attribute a detector cannot help you match against — while the two things a parent actually points with, the number and the shirt, went unrecorded.

Changes

  • Identity (name, number, shirt colour, team) is collected in the picker, where you are already looking at the child, rather than in a separate "Add an athlete" form you have to find first. All optional; pointing at the right player is still the only thing scoring needs.
  • Quick-identify no longer produces "My athlete" when you told it who it was.
  • Every place an athlete is named now reads Fred #14 in white (Triton) — colour before team, because colour is what is visible in the footage.
  • /candidates returns team and jerseyColor so the picker can show them.

On "would help with detection"

Worth being precise: the appearance matcher added in #35 already separates the teams — a shirt-colour signature is exactly how it refuses the black team's 14, and measurably so (colour alone matched 661 of 1152 tracks; colour plus continuity, 14). This PR makes the thing it already keys on visible to the person judging its suggestions, rather than adding a second mechanism that could disagree with the first.

4 new tests. 575 pass, 8 skipped. Lint and build clean.

2 of 3 from the same report; ball detection recall is next.

🤖 Generated with Claude Code

"we should use team color and names not just names — that would help with
detection (ie: #14 in white team not #14 on black team)."

Correct, and the column was already there: `jersey_color` has been on the
athlete row since the first migration, and nothing has ever written it or shown
it. So the picker offered a name — the one attribute a detector cannot help you
match against — while the two things a parent actually points with, the number
and the shirt, went unrecorded. Both teams have a 14 and on a school court they
are regularly on screen together.

Identity is now collected where the user is already looking at the child, in the
picker itself, rather than in a separate "Add an athlete" form they would have to
find first: name, number, shirt colour, team, all optional. Quick-identify no
longer produces "My athlete" when the user told us who it was. Everywhere an
athlete is named now reads "Fred #14 in white (Triton)", colour before team
because colour is the part visible in the footage.

The appearance matcher already separates the teams — a shirt signature is how it
refuses the black team's 14 — so this makes the thing it keys on visible to the
person judging its suggestions, rather than adding a second mechanism.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
# Conflicts:
#	apps/web/src/actions.ts
#	apps/web/src/client/identify.tsx
@ralyodio
ralyodio merged commit 3bd9ee2 into master Aug 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant