App v1.0.1
·
0 commits
to 676c0bc4696bd89bf1a8db1f4993dc9643ba3cf7
since this release
Feat(playback_engine): Implement 'Soft Panic' strategy to prevent micro-loops
- Fix(playback_engine): Replaced the 'Hard Panic' logic (which completely bypassed the recency filter) with a 'Soft Panic' strategy.
- Rationale: Previously, when the engine entered Panic Mode (stuck for >10% of song), it would accept ANY jump candidate to ensure movement. In dense graphs with poor connectivity, this often resulted in jumping to a beat played very recently (e.g., 20 beats ago), causing a repetitive 'micro-loop' that felt like a glitch.
- Implementation:
- Introduced
PANIC_RECENCY_THRESHOLD(0.05 / 5%). - Panic Mode now lowers the recency requirement from 25% (Standard) to 5% (Panic) instead of removing it entirely.
- If all candidates are younger than 5% of the song history, the jump is rejected, forcing the engine to continue linear playback until a better option appears.
- Introduced
- Result: Ensures that even in emergency states, the engine never commits to a jarringly short loop.