0.2.40 & server 0.1.30

This commit is contained in:
ponzischeme89
2026-08-10 08:54:23 +12:00
parent 78d26effbf
commit e1bb687df4
5 changed files with 258 additions and 6 deletions
+14 -3
View File
@@ -1781,9 +1781,20 @@ returns nothing rather than throwing. Things to preserve:
reason — an older television has no idea the kind is special. That floor is the version
the feature shipped *in* rather than one after it, so a 0.2.27 build predating it would
draw the duplicate row; moving the floor up is the fix if that ever bites.
- **No daily rotation on the server's hero.** The facts behind it already change daily, and
rotating a merit ranking is exactly how the best-reviewed release of the week lands in the
fourth slot. The rotation below belongs to the direct path, which has no merit to rank by.
- **The row is a draw from merit bands, re-made four times a day.** Ranking straight to the
row's length was the original design, on the reasoning that the facts behind it change
daily — and they do not: a digital release date does not move, a premiere aired when it
aired, a score settles within a week, so the same two cards led the launcher for five days
at a stretch. `rotateHeroCandidates` ranks a pool of `heroPoolLimit` instead, cuts it into
as many bands as there are cards to send, and draws one from each by
`heroVariationSeed(userID, heroRotationSlot(now, location))` — the `selectSeeds` shape, and
for the same reason it is not a shuffle: merit still decides which *band* a title is in, so
the best-reviewed release of the week can never land in the fourth slot, and variation only
picks between titles the scorer could not separate. The slot is the household's local part
of the day and carries the date, the seed is per viewer, and a pool with no spare
candidates goes out in merit order untouched. Home is cached for a minute and rebuilt
constantly behind it, which is why one slot must always yield the same draw.
The rotation further down belongs to the direct path, which has no merit to rank by.
**The reason sits above the ratings strip**, and that order is load-bearing. The featured
card's text column is what gives way when a title wraps onto two lines, so whatever is last