Remudio — 개발 전체 흐름 지도

원격 합주 DAW. 한 줄 로드맵(Phase 0~10) + 병렬 트랙 2개(영상 SFU·오디오 P2P) + 3계층 시스템(프론트·Rust·C++엔진). 문서 156개를 한 화면으로 압축.
완료 진행 중 대기 막힘/회귀 병렬 트랙

개발 로드맵 — 지금 어디까지 왔나

왼→오 한 줄 흐름: 리스크 먼저 증명 → 실시간 합주 → 멀티트랙 → 로컬녹음 → 클라우드 파일동기화 → DAW 편집신뢰성 → 출시준비 → 상업출시 → 확장. 로드맵 순서 밖에서 먼저 당겨 구현한 병렬 트랙 2개가 따로 굴러간다.

시스템 구조 — 뭐가 뭐랑 연결되나

합주 소리는 두 PC가 직접 주고받는다(P2P, 클라우드 안 거침 → 저레이턴시). 영상만 SFU(서버 중계). 클라우드는 시그널·녹음파일·인증만 거든다.

☁ 클라우드 — 거드는 역할 (실시간 소리는 안 지나감)
Cloudflare signal Worker · roster / 첫 접속자=호스트 선출 · 영상 SFU broker · TURN cred 발급
R2 · 녹음 파일 백그라운드 동기화 (checksum 게이트)    Firebase · Google 로그인
🖥 내 PC (Tauri 앱)
프론트 src/ · React+TS — 로비·DAW·영상·권한 UI, Zustand 스토어
Rust src-tauri/ · UDP 오디오 메시·녹음·미디어 relay
C++ engine/ · JUCE + Tracktion — 진짜 소리내는 엔진
🖥 다른 참가자 PC
같은 앱 스택 — 프론트 · Rust · C++ 엔진
각자 자기 입력을 로컬 WAV로 녹음
녹음은 끝나고 R2로 백그라운드 교환
합주 오디오 = 두 PC 직접 연결(P2P UDP, 무압축 PCM16/48kHz, 목표 왕복 <20ms). NAT로 막히면 TURN relay 폴백.  ● 영상 = SFU(클라우드 서버 중계, broker 통함) — 레이턴시 덜 민감.  ● 클라우드는 실시간 소리를 나르지 않는다.

최근 작업 흐름 — 시간순

5월 중하순 녹음 동기화·테스트 인프라 안정화 → 6월 초 Phase 4 미디어 relay 병합·클라우드 비용 guard → 6월 중순 DAW shell v3 설계·영상 SFU/카메라 서명 → 현재 Phase 5 엔진배선·Phase 10 AI 설계·cross-NAT 회귀 진단. (dev-log는 06-14에서 멈췄고 이후는 git 커밋에만 기록)

기능 × 코드 — 어디에 사는가

사용자 기능 영역과 그게 사는 코드 위치. 프론트 src/ · Rust src-tauri/ · C++ engine/ · 클라우드 signal/·R2·Firebase

테스트 체계 & 교훈

테스트는 4계층으로 분리(섞지 않음). 핵심 철학: "카운터(TX>0, RX>0)만으로 오디오 성공 판정 금지" — 양방향을 따로 검증. 디버깅은 압도적으로 cross-NAT 오디오 메시 회귀에 집중됐다.

테스트 레벨 0~4

피로 배운 핵심 함정

문서 관계도 — 150개 MD가 어떻게 엮이나

카테고리(폴더)별로 묶고, 본문에서 서로 참조하는 문서를 선으로 연결(실제 참조 210개). 점이 클수록 많이 참조됨. 범례 클릭=카테고리 켜고 끄기, 점 위에 올리면 경로+이웃 강조, 드래그로 옮길 수 있다.

점선 = 폴더 소속 · 실선 = 문서 간 실제 참조.   허브 문서(많이 참조됨): CLAUDE.md · lessons/testing.md · AGENTS.md · testing/audio-routing-gate.md · PROJECT_RULES.md