# In what SPACE does the game blend? -- answered from RB_COLOR_INFO.color_format,
# over every draw of two full captures.
#
# The mechanism, from Canary's own source (a non-ours instrument):
#   ColorRenderTargetFormat (xenos.h:297)
#       k_8_8_8_8       = 0     plain UNORM. No conversion anywhere.
#       k_8_8_8_8_GAMMA = 1     the ONLY colour format for which a piecewise-linear
#                               gamma<->linear conversion is applied around the
#                               render target (spirv_shader_translator.h:510,
#                               PWLGammaToLinear / LinearToPWLGamma;
#                               render_target_cache.h:720; dxbc_shader_translator_om.cc)
# So: fmt=1 would mean "decode to linear, blend, re-encode".
#     fmt=0 means the blender operates on the stored values as they are.
#
# ── census ────────────────────────────────────────────────────────────────────
#
# Capture A -- both boot splashes (2402 draws, frames 1..600)
#   2402  rt0=[tile=0 fmt=0 exp=0]
#
# Capture B -- boot through the attract movie to the settled title with the
#             PRESS (A) plate (33 791 draws over 6565 frame labels)
#  33779  rt0=[tile=0 fmt=0 exp=0]
#     10  rt0=[tile=0 fmt=14 exp=0]      k_32_FLOAT -- 10 draws, not a colour pass
#      2  rt0=[tile=0 fmt=6  exp=0]      k_16_16_FLOAT -- 2 draws
#
# k_8_8_8_8_GAMMA (fmt=1) appears ZERO times in either capture.
# color_exp_bias is 0 on every draw in both, so there is no exponent scaling
# standing in for a gamma either.
#
# ── conclusion ────────────────────────────────────────────────────────────────
# The game blends in the ENCODED space, on the stored 8-bit values, with no
# linearisation and no re-encode. A renderer that linearises before blending and
# re-encodes after is performing a different operation, and the difference is
# gamma-shaped and exactly zero on unblended pixels -- which is the signature the
# port reports.
