const fn gradient_hash(p: &[u8; 256], px: i32, py: i32, pz: i32) -> usize
Matches vanilla’s shared permutation lookup and typed gradient dot product.