export function createState(config) { return { // WebGPU resources device: null, pipeline: null, vertexBuffer: null, indexBuffer: null, uniformBuffer: null, texture: null, sampler: null, bindGroup: null, // Uniform values and matrices uniformValues: new Float32Array(config.uniformBufferSize / 4), matrix: null, // Glyph details numGlyphs: 0, width: 0, height: 0, // Canvas and context canvas: null, // Timing and animation time: 0, fixedDeltaTime: 1 / 60, maxFrameTime: 0.25, targetFps: 60, frameDuration: 1000 / 60, accumulator: 0, }; }