# 작업 플랜 - UUID: `aef651b6-b741-429f-ac7e-215acb633181` - 작업자: `Codex` - 생성 시각: `2026-06-02 16:18` - 요청 요약: `서버 기준 Homebrew 판단, 상세 패킷 헤더, 음량 조절 제외 결정 반영` ## 할 일 - [x] 현재 요청 확인 - [x] 서버 기준 변경 대상 확인 - [x] Homebrew 사용 위치 정리 - [x] 서버 지정 패킷 헤더 v1 후보 정리 - [x] 음량 조절 제외 결정 반영 - [x] 서버 문서와 설정 예시 갱신 - [x] 결과 검증 - [x] 완료 내용 정리 ## 범위 - 서버 방향성 문서와 서버 폴더 문서만 수정합니다. - 다른 AI가 작업 중인 `client/`와 클라이언트 구현 파일은 수정하지 않습니다. - C++ 소스 코드, 빌드 시스템, 테스트 코드는 만들지 않습니다. ## 결정 및 판단 ### Homebrew - Windows 네이티브 지원까지 포함하는 공통 기준으로는 Homebrew를 기본 의존성 관리 도구로 두지 않습니다. - macOS, Ubuntu, Rocky Linux 9 같은 Linux 환경에서는 개발 도구 설치 보조 수단으로 사용할 수 있습니다. - 4개 OS 공통 서버 구현 기준은 `CMake`와 의존성 최소화 또는 `vcpkg` 후보를 우선합니다. - 오디오 출력은 외부 설치 부담이 작은 `miniaudio`를 우선 후보로 둡니다. ### 패킷 헤더 - 서버가 패킷 형식을 지정합니다. - 초기 헤더는 고정 길이 56바이트 후보로 둡니다. - 여러 송신기는 포트를 나누지 않고 `sender_id`, `session_id`, `sequence`, `capture_sample_index`로 구분합니다. - 헤더는 네트워크 바이트 오더를 사용하고, PCM payload는 `PCM_S16LE`을 기본 후보로 둡니다. ### 오디오 범위 - 초기 목표는 수신한 A 송신기 데이터를 노트북 스피커로 출력하는 것입니다. - 송신기별 음량 조절은 현재 범위에서 제외합니다. - 다중 송신기 믹싱, UI, 실시간 gain 조절은 초기 재생 성공 이후 확장 후보로 둡니다. ## 완료 요약 - `docs/03-server-direction.md`에 4개 OS 지원 방향, Homebrew의 위치, `miniaudio` 우선 후보를 정리했습니다. - 서버 지정 패킷 헤더 v1 후보를 56바이트 고정 헤더로 정리했습니다. - 초기 프레임 길이를 `10 ms`로 정리하고 `server/server.conf.example`에도 반영했습니다. - 서버 문서에서 Mac 전용 표현을 지원 OS 기준 표현으로 정리했습니다. - 송신기별 음량 조절은 현재 범위에서 제외했습니다.