Issue Type
Implementation - Architecture Refactoring
Severity
High - Critical path for Option B implementation
Problem Statement
Current architecture has IAudioMode and IAudioRenderer as separate coupled interfaces, violating SRP and creating tight coupling. Need to consolidate into single IAudioStrategy interface.
Current State
- IAudioMode (11 methods) - audio mode behavior
- IAudioRenderer (4 methods) - rendering strategy
- Coupled pairs: ThreadedAudioMode + ThreadedRenderer, SyncPullAudioMode + SyncPullRenderer
- Cannot swap renderers independently
- SRP violations: Each mode owns renderer creation in createContext()
Target State
Single IAudioStrategy interface combining lifecycle + rendering responsibilities:
- getModeName() / getName() - diagnostics
- updateSimulation() - simulation updates
- generateAudio() / render() - audio rendering
- startAudioThread() / configure() - lifecycle
- createContext() - factory pattern
- AddFrames() - buffer management
Implementation Tasks
- Design IAudioStrategy interface with clear method contracts
- Create IAudioStrategy.h with proper documentation
- Define acceptance criteria for implementations
Acceptance Criteria
Testing Requirements
Related Issues
References
- ARCHITECTURE_FILE_CLASS_AUDIT.md - SRP violations identified
- AUDIO_MODULE_ARCHITECTURE.md - Phase 6 consolidation plan
Issue Type
Implementation - Architecture Refactoring
Severity
High - Critical path for Option B implementation
Problem Statement
Current architecture has IAudioMode and IAudioRenderer as separate coupled interfaces, violating SRP and creating tight coupling. Need to consolidate into single IAudioStrategy interface.
Current State
Target State
Single IAudioStrategy interface combining lifecycle + rendering responsibilities:
Implementation Tasks
Acceptance Criteria
Testing Requirements
Related Issues
References