8449a2e4fb
Fix v16 grid position calculation for fractional spans Match frontend span-to-width conversion logic by flooring span first, then multiplying by width factor, instead of multiplying first then flooring. This fixes dashboard layout inconsistencies where panels with fractional spans (e.g. 5.929860088365242) would have different widths between backend and frontend migration paths. - Backend old: Math.floor(5.93 * 2) = Math.floor(11.86) = 11 - Backend new: Math.floor(5.93) * 2 = 5 * 2 = 10 (matches frontend) Includes comprehensive unit test to prevent regression.