I have an idea for covering both bases
What I was thinking was:
the contestants and associated data is stored in a list, and the CLV is recreated each time a change is made, eg:
1/ if you can display all the scored contestants, and at least one or two of the yet-to-be-scored contestants, then no problem
eg if 40 contestants, and CLV can display 10 of them on screen, and 7 of them are scored, then display all 7 scored contestants and the first 3 unscored contestants, with the other 30 unscored contestants being off-screen below (at least until they're scrolled into view)
2/ if you can't do that, then replace the lower scored contestants with a single placeholder "..." CLV entry
eg if 40 contestants, and CLV can display 10 of them on screen, and 12 of them are scored, then load the CLV up with:
7 scored contestants
1 placeholder "..." entry to represent the remaining 5 scored contestants
2 first unscored contestants (1 would be enough, but 2 gives a visual clue that we're not at the end of the contest yet)
30 remaining unscored contestants (off-screen)
and if the judge clicks on the placeholder entry, then the CLV is filled will all 30 contestants ie no placeholder
Perhaps even include the last scored contestant as well, instead of the 7th score contestant, so that the judge can see the range of scores assigned so far.
On the one hand I'm itching to code that up; on the other hand, you're probably adding ideas to your example at the same time, and we'd end doing things twice.
Plus, of course, it's your baby, and I have
sometimes been known to take up a challenge and run too far with it. 🫣
And the clinching reason: it's dinner time here, and as much as I love programming, I don't love it enough to starve over it.