diff --git a/dashboards/forza_composite/index.html b/dashboards/forza_composite/index.html
index 5da56d9..72e5088 100644
--- a/dashboards/forza_composite/index.html
+++ b/dashboards/forza_composite/index.html
@@ -90,29 +90,22 @@ function draw(cur,max){
ctx.clearRect(0,0,W,H);
const sx=Ca/640*W,sy=Cb/480*H,sr=Cr/640*W;
const gw=Math.max(36,W/18);
- const ae=d2r(Ae),ex=sx+sr*Math.cos(ae),ey=sy+sr*Math.sin(ae),lx=W*.93;
- const arcLen=Math.PI*2*sr*((Ae-As)/360),lineLen=lx-ex,totalLen=arcLen+lineLen;
+ const ae=d2r(Ae),ex=sx+sr*Math.cos(ae),ey=sy+sr*Math.sin(ae);
const rl=max*.85;
- // background stroke
+ // background: arc + line
ctx.beginPath();
ctx.arc(sx,sy,sr,d2r(As),d2r(Ae),false);
- ctx.lineTo(lx,ey);
+ ctx.lineTo(W*.93,ey);
ctx.strokeStyle='rgba(255,255,255,.04)';
ctx.lineWidth=gw;
ctx.stroke();
- // progress stroke
+ // progress: ARC ONLY (0→max RPM fills the 90° arc)
const pc=Math.min(cur/max,1);
if(pc>.005){
- const pd=pc*totalLen;
ctx.beginPath();
- if(pd<=arcLen){
- ctx.arc(sx,sy,sr,d2r(As),d2r(As+(Ae-As)*(pd/arcLen)),false);
- }else{
- ctx.arc(sx,sy,sr,d2r(As),d2r(Ae),false);
- ctx.lineTo(ex+(pd-arcLen)/lineLen*(lx-ex),ey);
- }
+ ctx.arc(sx,sy,sr,d2r(As),d2r(As+(Ae-As)*pc),false);
ctx.strokeStyle=cur>=rl?'rgba(255,50,35,.95)':'rgba(255,255,255,.85)';
ctx.lineWidth=gw;
ctx.stroke();