ocation(0) position: vec2f, }; struct Cell { position: vec2f, unused1: vec2f, glyphIndex: f32, textureIndex: f32 }; struct LayoutInfo { canvasDims: vec2f, viewportOffset: vec2f, viewportDims: vec2f, } struct ScrollOffset { offset: vec2f } struct VSOutput { @builtin(position) position: vec4f, @location(1) layerIndex: f32, @location(0) texcoord: vec2f, }; // Uniforms @group(0) @binding(4) var layoutInfo: LayoutInfo; @group(0) @binding(5) var atlasDims: vec2f; @group(0) @binding(6) var scrollOffset: ScrollOffset; // Storage buffers @group(0) @binding(0) var glyphInfo: array