I think I've found a #zig compiler bug. When passing extern structs with f32 static arrays to C functions or C functions returning a struct with a static array field. All data is corrupted. For both sides. If you return or pass struct { float x, y, z } problem disappears. I wonder if this is reported. I'm not sure how to search issues for this problem
Reported anyways: codeberg.org/ziglang/zig/issues/36195