Vertical slice. As a listener I want switching sessions to crossfade smoothly instead of snapping. Blocked by: None — can start immediately. Acceptance criteria: - [ ] Loading/switching a session ramps from the current audio state to the new session's t=0 baseline over a configurable duration (default ~300ms). - [ ] No audible snap on switch. - [ ] Manual (non-sequencer) mode is unaffected. - [ ] crossfade param interpolation is unit-tested (reuse evaluateSession-style assertions). - [ ] npx tsc --noEmit = 0, npx vitest run green, npm run build = 0. Branch: feat/n2-crossfade (off main). See docs/spec-anahata-next.md (N2).
Vertical slice. As a listener I want switching sessions to crossfade smoothly instead of snapping.
Blocked by: None — can start immediately.
Acceptance criteria:
Branch: feat/n2-crossfade (off main). See docs/spec-anahata-next.md (N2).