The player ranking is swallowing the start year.
And there seems to be a lot of junk in pak64.
The dropped start year is an off-by-one in the chart width.
The ranking chart sizes itself to the game's age with
clamp(last_year - starting_year, 2, MAX_PLAYER_HISTORY_YEARS). That is the
*difference* of the years, but the number of columns needed to show
starting_year..last_year inclusive is difference + 1. The x-axis labels each
column abs(seed - j) from seed = last_year, so the oldest column falls on
starting_year + 1 and the first game year is never drawn.
It is only the chart. The years-back dropdown builds "This Year", "Last Year" and
then years_back-1 dated entries, so it already reaches starting_year correctly - it
must not get the +1, or it would gain a phantom year before the game began.
Fix: + 1 on the two expressions that feed chart.set_dimension() (the constructor and
update_chart); the dropdown expression in draw() is left alone. It is a no-op at both
ends of the clamp - a brand-new game still gets 2 columns, a game past the 25-year
history cap still gets 25 - and only fills in the missing oldest column in between.
Verified on pak128.german: a timeline game started in 1850 and run to 1858 showed the
x-axis 1858..1851 before (1850 missing) and 1858..1850 after. Patch attached, one
file, applies on r12096.
The "junk in pak64" is separate - that is pakset content rather than engine code, so
this patch does not touch it.
Thank you, submitted in r12099