Skip to content

ApexLap Coach v0.3.0

Choose a tag to compare

@github-actions github-actions released this 26 May 00:45
· 13 commits to main since this release

[0.3.0] - 2026-05-25

Added

  • Módulo telemetry-event-analyzer.ts para extração de eventos granulares por canal: throttle, freio, coast, volante e marcha, com limites por fase da curva.
  • Fases ENTRY, MID, EXIT e POST_EXIT com janelas calculadas pela geometria da curva (computePhaseBoundaries).
  • Ledger de delta por fase (PhaseDeltaLedger) com entryDeltaGrowth, midDeltaGrowth, exitDeltaGrowth, postExitDeltaGrowth e totalCornerDeltaGrowth; postExitDeltaGrowth captura perdas que continuam após o fim da curva.
  • Detecção de auto-blip: pico curto de throttle durante redução de marcha em zona de frenagem é classificado e ignorado na análise de throttle.
  • Detecção de throttle parcial sustentado (partialDurationSeconds, partialDeltaGrowth) — separa "50% constante" de "100% por metade do trecho, 0% no restante".
  • Novas causas de mainIssue: throttle_partial_exit, throttle_hesitation, throttle_early_with_steering, coast_excessive_entry, coast_excessive_exit, trail_brake_excessive, entry_too_aggressive, steering_scrub, gear_too_high, gear_too_low.
  • Pesos de fase no scoring: ENTRY=0.90, MID=1.00, EXIT=1.35, POST_EXIT=1.50.
  • Supressão de steering: não ganha quando throttle parcial, coast ou freio explicam melhor a perda no exit; só pontua quando yawEfficiency ou scrub confirmam understeer real.
  • throttle_committed como nova causa de ganho, ativada quando o piloto acelerou mais decisivamente na saída.
  • Novas frases de voz em pt-BR, en-US, es-ES e fr-FR para todas as novas causas.
  • Testes telemetry-causality.test.ts e throttle-events.test.ts cobrindo throttle parcial, auto-blip, coast por fase, ledger de delta e análise causal.
  • Debug log aprimorado: exibe postΔ, partialDiff e causas secundárias em modo desenvolvedor.

Changed

  • lap-comparator.ts refatorado para usar telemetry-event-analyzer.ts; scoring agora baseado em eventos + delta de fase em vez de médias simples.
  • throttleSeverity inclui partialDurationDiff com peso dobrado quando exitDeltaGrowth > 0.06s.
  • steeringSeverity reduzida a 20% quando outras causas explicam o exit; requer confirmação de yaw/lateral efficiency.
  • coastIssue diferencia coast_excessive_entry de coast_excessive_exit conforme a fase onde ocorre.
  • gearIssue retorna gear_too_high ou gear_too_low em vez de sempre gear_wrong.
  • corner-feedback.service.ts mapeado para todas as novas causas.
  • issueWeight em electron-main.ts atualizado com prioridades para as novas causas.