struct CommonUniforms { resolution: vec2, // 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: mat4x4, inv_view_proj: mat4x4, camera_pos_time: vec4, params: vec4, resolution: vec2, }; struct ObjectData { model: mat4x4, inv_model: mat4x4, color: vec4, params: vec4, }; struct ObjectsBuffer { objects: array, };