struct CommonUniforms { resolution: vec2f, // Screen dimensions aspect_ratio: f32, // Width/height ratio time: f32, // Physical time in seconds (unaffected by tempo) beat_time: f32, // Musical time in beats (absolute, tempo-scaled) beat_phase: f32, // Fractional beat (0.0-1.0 within current beat) audio_intensity: f32, // Audio peak for beat sync _pad: f32, // Padding }; struct GlobalUniforms { view_proj: mat4x4f, inv_view_proj: mat4x4f, camera_pos_time: vec4f, params: vec4f, resolution: vec2f, }; struct ObjectData { model: mat4x4f, inv_model: mat4x4f, color: vec4f, params: vec4f, }; struct ObjectsBuffer { objects: array, };