[numReal, patchDim] f32 patch vectors, normalized 2*(x/255 - 0.5).
[softTokens, numReal] 3×3 avg-pool weights (1/9 in-block, else 0).
[numReal] x grid position (column) of each patch, f32 — also the RoPE position for the first spatial dim.
[numReal] y grid position (row) of each patch, f32 — RoPE second dim.
[numReal] x grid position as int32, for the position-embedding gather.
[numReal] y grid position as int32, for the position-embedding gather.
Pooled soft-token count = (pH/3)·(pW/3).
Real (unpadded) 16×16 patch count = pH·pW.