WebGPU: subgroupAdd after a lane-divergent store, unrolled tail

Dispatches one 32-invocation workgroup. Accumulates per-lane partial sums in a loop, then in an unrolled tail does reduce, lane-divergent if (tid==0) store, reduce again, with an earlier reduction result live across the store. Runs it with a bare subgroupAdd and with a subgroupShuffleXor butterfly, and compares both to a CPU reference. Expected: both PASS. Observed on NVIDIA/D3D12: the subgroupAdd variant FAILS, the butterfly PASSES. No model, no external resources, ~2 seconds.

running...