pub fn pcg_hash(x: u32) -> u32
PCG output hash — identical to shaders/dropout.wgsl so masks match bit-for-bit across backends.