feat(audio): getLatencyBreakdown — one owner for every latency term

Deep-read §5: latency had three unreconciled truths — getLatencyMs' static
half-capacity ring guess (42.7 ms), the verifier's input-delta-only offset,
and the renderer bus adding prime+fill+resample that no figure surfaced.

New engine API + export: per-term breakdown (deviceBufferMs, input/output
driver latency, MEASURED split-ring residency, monitor total) plus the
renderer-bus song-audio delay (measured bus fill) as its own term. On the
user's split exclusive setup the measured ring sits at ~10 ms — the legacy
figure overstated monitor latency by ~33 ms (102.7 reported vs ~70 real).

getLatencyMs is unchanged for compatibility; UI adoption of the breakdown
is renderer follow-up. Snapshots regenerated (104 exports).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
OmikronApex
2026-07-14 03:05:19 +02:00
co-authored by Claude Fable 5
parent f0340ed425
commit 9d0963d6d5
6 changed files with 90 additions and 0 deletions
+1
View File
@@ -17,6 +17,7 @@
"getDeviceMetrics",
"getDeviceTypes",
"getKnownPlugins",
"getLatencyBreakdown",
"getLevels",
"getMonitorMuteState",
"getNoteVerdicts",