From 25311001a91b90b3835aa6772c752dba501dfba4 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Sat, 19 Sep 2026 19:50:13 -0700 Subject: [PATCH] Avoid visual beat bias during rhythmic audio measurement --- .../system/the_galaxy/assets/mobile/js/views/RoadScore.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/starpilot/system/the_galaxy/assets/mobile/js/views/RoadScore.js b/starpilot/system/the_galaxy/assets/mobile/js/views/RoadScore.js index 0627af53be..4462393b41 100644 --- a/starpilot/system/the_galaxy/assets/mobile/js/views/RoadScore.js +++ b/starpilot/system/the_galaxy/assets/mobile/js/views/RoadScore.js @@ -75,7 +75,7 @@ export const RoadScore = { const first = this.testClicks.find(click => click.beat === 0) const index = first ? Math.floor((now - first.server_ms) / (60000 / this.bpm)) : -1 this.beatIndex = index - this.beat = index >= 0 && index < (this.testMode ? 12 : this.calibrationStage === 'rhythm' ? this.countIn + this.targetTaps : this.countIn) ? String(index % 4 + 1) : '♪' + this.beat = index >= 0 && index < (this.testMode ? 12 : this.countIn) ? String(index % 4 + 1) : '♪' this.cue = index < 0 ? 'Getting ready…' : index < this.countIn && !this.testMode ? `Listen · count-in bar ${Math.floor(index / 4) + 1} of 2` : this.testMode ? (index < 12 ? `Watch and listen · bar ${Math.floor(index / 4) + 1} of 3` : 'Test complete') : this.calibrationStage === 'rhythm' ? 'Tap with every beat · keep a steady rhythm' : 'Tap once when you hear each chime · wait through the gaps' this.animation = requestAnimationFrame(() => this.animateBeat()) }, @@ -140,7 +140,7 @@ export const RoadScore = {

Placement estimate: {{result.latency_ms}} ms, including reaction time. Continue to Step 2 before saving.