The dot syntax used everywhere really confuses me. I get its use in struct fields, or for defining anonymous structs, but what is this one for? (Some kind of module-level enum space, where .sampler and .unknown are defined previously?)
const Sampler = @SpirvType(.sampler);
^
const Image = @SpirvType(.{ .image = .{
.usage = .{ .sampled = u32 },
.format = .unknown,
^
} });
Everything else about zig is quite readable, but this gets me every time. Maybe I'm being dumb though.