- audioService: replace 'as any' with 'as unknown as AudioService' in
resetInstance() to satisfy @typescript-eslint/no-explicit-any
- SongPage: add isReady to spacebar useEffect deps so the handler always
sees the current readiness state
- useWaveform: add containerRef to deps (stable ref, safe to include);
suppress exhaustive-deps for options.onReady with explanation — adding
an un-memoized callback would cause initialization on every render
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>