test(e2e): scrub tier — currentTime + gains track dial, reverse, commit-lock, wheel

Per plan Task 5. Replaces the .rev-asserting zoom-out test with a turn-back test
(same forward morph seeked backward, audio recedes, re-locks the start clip); adds
a detent-crossing commit+lock test via a new window.__hefState diagnostic seam.
Full tier (6 tests) green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
BenStullsBets
2026-06-27 15:47:25 -07:00
parent 8458ab59eb
commit 31a3fd733f
2 changed files with 53 additions and 27 deletions
+4
View File
@@ -636,6 +636,10 @@ let pos = 0; // continuous knob position; rest value == ringInd
let activeSeg = null; // { lo, clipLo, clipHi, file } for the segment being scrubbed
let seekPending = false; // throttle: at most one currentTime seek per animation frame
// Diagnostic seam (sibling of window.__hefMorphs): the committed altitude state, so
// E2E can assert the locked clip mid-scrub when #scale-name (settle-only) is stale.
if (typeof window !== "undefined") window.__hefState = () => ({ ringIndex, activeClipId, pos });
function dialStep() { return ring && ring.scales.length ? 360 / ring.scales.length : 360; }
function _xy(r, deg) {