Slice 5: Audio Level Assist + fixed guidance slot (Codex)
- AudioAssistStateMachine (core/audio, pure, tested): proximity bands with enter/exit hysteresis (close 1.0/1.2, near 3.0/3.4 degrees), cadence preserved across band changes (no threshold double-ping), lock cue driven solely by LockDetector's fireFeedback transition - no second lock threshold, and the haptic debounce paces the ping. - Silence gates: disabled, backgrounded, settling, invalid placement, or outside FACE_UP all reset and mute; all five unit-tested. - SonarSoundPool: locally synthesized WAV pings via SoundPool with USAGE_ASSISTANCE_SONIFICATION; zero audio-focus APIs (verified by grep); player exists only while enabled and resumed, released on composition disposal. - Persisted SONAR ON/OFF header control using the existing audioCueEnabled preference; off by default; state shown as text, never color alone. - Guidance slot fixed at 56dp so settling/correction/level copy no longer shifts the instrument (Slice 4 polish note). 59 tests passing. Audited-by: Claude (no findings) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
Reference in New Issue
Block a user