Two defects in the tuner, both visible in the in-game logs:
1. AFTER lines read Canvas.scaleFactor immediately after writing, but that is
recomputed in CanvasScaler.Update(), so it reported last frame's value
(showed 1.3333 after ref was set to 1350). Now prints the mathematically
expected scale instead.
2. WORLD_SCALE set CanvasScaler.scaleFactor on WorldSpace canvases, which
HandleWorldCanvas() overwrites with dynamicPixelsPerUnit every frame - the
log showed 'APPLIED scaleFactor 1 -> 0.8' followed by effectiveScale=1.0.
World-space label size is driven by the canvas transform localScale, so it
now scales that, stashing a baseline child so repeated runs don't compound.
Also documents that MATCH must stay 1.0: match .8 + ref 1350 yields 1.281 vs
1.067 at match 1, largely cancelling the shrink.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>