Issue Type
Implementation - Architecture Refactoring
Severity
High - Critical path for Option B implementation
Problem Statement
ThreadedAudioMode and ThreadedRenderer are separate coupled classes. Need to consolidate into single ThreadedStrategy that combines lifecycle + rendering.
Current State
- ThreadedAudioMode (11 methods) - mode lifecycle
- ThreadedRenderer (4 methods) - cursor-chasing rendering
- Tight coupling: ThreadedAudioMode creates ThreadedRenderer in createContext()
- Cannot use ThreadedRenderer independently
- SRP violation: Responsibility split across two classes
Target State
Single ThreadedStrategy class implementing IAudioStrategy:
- Combines all ThreadedAudioMode + ThreadedRenderer functionality
- Implements IAudioStrategy interface completely
- Self-contained (no external renderer creation)
- Maintains cursor-chasing rendering behavior
- Preserves all existing functionality
Implementation Tasks
- Create ThreadedStrategy.h implementing IAudioStrategy
- Merge ThreadedAudioMode + ThreadedRenderer into ThreadedStrategy
- Remove ThreadedAudioMode + ThreadedRenderer files
- Update AudioPlayer to use ThreadedStrategy
- Ensure all existing tests pass
Acceptance Criteria
Testing Requirements
Related Issues
References
- ARCHITECTURE_FILE_CLASS_AUDIT.md - Coupling violations
- AUDIO_MODULE_ARCHITECTURE.md - Phase 6 consolidation plan
- test/unit/ThreadedRendererTest.cpp - Existing test coverage
Issue Type
Implementation - Architecture Refactoring
Severity
High - Critical path for Option B implementation
Problem Statement
ThreadedAudioMode and ThreadedRenderer are separate coupled classes. Need to consolidate into single ThreadedStrategy that combines lifecycle + rendering.
Current State
Target State
Single ThreadedStrategy class implementing IAudioStrategy:
Implementation Tasks
Acceptance Criteria
Testing Requirements
Related Issues
References