From b6f185d5e8f3e7e25c9049bd9437f138de021280 Mon Sep 17 00:00:00 2001 From: owain Date: Mon, 8 Jun 2026 00:56:46 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20VO2=20gauge:=20large-arc-flag=20must=20al?= =?UTF-8?q?ways=20be=200=20for=20a=20180=C2=B0=20gauge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Segments covering >50% of the gauge range were getting large=1, causing the SVG to draw a 234°+ arc going the wrong way around, producing a spurious lobe on the right side of the widget. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/pages/HealthPage.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/pages/HealthPage.jsx b/frontend/src/pages/HealthPage.jsx index 74402a5..0e452b4 100644 --- a/frontend/src/pages/HealthPage.jsx +++ b/frontend/src/pages/HealthPage.jsx @@ -75,7 +75,7 @@ function Vo2MaxGauge({ value, birthYear, biologicalSex }) { const arc = (v1, v2, radius = r) => { const [x1, y1] = toXY(v1, radius) const [x2, y2] = toXY(v2, radius) - const large = (v2 - v1) / (MAX - MIN) > 0.5 ? 1 : 0 + const large = 0 // gauge spans 180°, so no segment ever exceeds 180° return `M ${x1.toFixed(2)} ${y1.toFixed(2)} A ${radius} ${radius} 0 ${large} 1 ${x2.toFixed(2)} ${y2.toFixed(2)}` }