Canvas render
Palette recoloring is the only WebGL/CPU branch, in recolorImage() in
sources/canvas/palette-recolor.ts.
The two implementations can disagree, and only one runs on a given machine.
You cannot confirm both paths. Ask the user to follow
Force CPU Mode and
Visual Verification:
setPaletteRecolorMode("cpu"), then setPaletteRecolorMode("webgl"), and
compare with getPaletteRecolorStats().
Lower zPos draws first and ends up behind
(ARCHITECTURE.md). Magenta #FF2CE6 is
keyed out in sources/canvas/mask.ts.
ZIP export drawing and render timing (WebGL and CPU) are a separate check: performance-profiling. Visual correctness of both recolor paths is still this skill.