-- Workflow vertex stage test: in/out/do plus top-level out assignments. struct Uniforms model: mat4 view_proj: mat4 normal_mat: mat4 end uniform uniforms: Uniforms vertex transform in position: vec3 in normal: vec3 in uv: vec2 out position: vec4 @builtin(position) out uv: vec2 out normal: vec3 do let pos = position let world_pos = uniforms.model * vec4(pos, 1.0) let clip_pos = uniforms.view_proj * world_pos out.position = clip_pos out.uv = uv out.normal = normalize((uniforms.normal_mat * vec4(normal, 0.0)).xyz) end