# Session Brief Last Updated: 2026-03-05 세션 시작 시 항상 읽는 초소형 스냅샷 문서. ## 고정 규칙 (요약) - 구현 범위는 UI 목업 + 더미 데이터 + 토스트로 제한한다. - `page.tsx`는 조합만 담당한다. - 비즈니스 로직은 `features/entities`로 이동한다. - 파일이 500줄 이상이면 분리한다. - 커밋은 주제별 1커밋, 한국어 Conventional Commit으로 작성한다. ## 현재 우선순위 1. Scene 추천 매핑 품질 점검(공간별 사운드/타이머 추천값 보정) 2. override 정책(수동 선택 후 Scene 변경 시 유지)의 사용자 기대치 검증 3. 터치 환경 도구 레일 발견성(미니 핸들 UX) 보완 여부 결정 ## 최근 세션 상태 - Focus-First 구조로 전환했다. - Quick Controls의 모드 전환 토글(기본/몰입)을 제거했다. - HUD는 외부 모드 상태 없이 기본 몰입 톤으로 유지한다. - 컨트롤 노출은 패널 열림 상태에서만 보이도록 단순화했다. - Quick Controls 패널 내부에 표시 정책 옵션을 추가했다. - 옵션: `컨트롤 자동 숨김` - ON 상태에서 Control Center가 8초 무입력이면 자동 닫힘 처리 - `/space`에 Scene 추천 자동 적용 규칙을 도입했다. - Room 데이터에 `recommendedSoundPresetId`, `recommendedTimerPresetId`를 추가했다. - 초기 진입/Scene 변경 시 override가 없는 항목만 추천값으로 자동 반영된다. - `/space`에 override 상태(`sound`, `timer`)를 추가했다. - 사용자가 직접 고른 사운드/타이머는 Scene 변경에도 자동 덮어쓰지 않는다. - `추천으로 되돌리기(더미)` 액션으로 override 초기화 + 추천값 즉시 복원이 가능하다. - Control Center를 Scene/Time 중심으로 단순화했다. - Sound/Preset Packs 섹션 제거 - 추천 정보 1줄 + `추천으로 되돌리기`만 유지 - 우하단 Sound Quick 선택 경로를 `onQuickSoundSelect`로 분리해 override.sound 규칙을 명시했다. - `/space` 선택 상태 로컬 저장/복원을 추가했다. - 저장: `sceneId`, `timerPresetId`, `soundPresetId`, `override(sound/timer)` - 복원 우선순위: 쿼리 파라미터 > 저장 상태 > Scene 추천 - 세션 복구용 문서/템플릿/스크립트가 준비되어 있다. - `workFlow.md`는 토큰 절약 모드를 사용한다. - `/space` 하단 사운드 바를 제거하고 오른쪽 `🎧 Sound` 시트로 이동했다. - `/space` 헤더 프레임을 축소하고 HUD를 하단 safe-area 기준으로 더 밀착시켰다. - 상단 우측 나가기 액션을 클릭형에서 1초 롱프레스형으로 전환했다. - 0.05초에 진행률 20%까지 빠르게 상승하는 가속 진행을 적용했다. - 몰입 OFF는 bar, 몰입 ON은 ring 형태로 진행률을 표시한다. - 롱프레스 bar 진행 표시를 CSS keyframes 기반으로 교체해 즉시 가시성을 개선했다. - 완료 후 fill이 0으로 역방향 축소되는 현상을 제거했다. - fill 끝단은 직선 형태로 정리했다. - 30초 복귀 액션을 감성 라운지 톤으로 리브랜딩했다. - 버튼 라벨을 `숨 고르기 30초`로 변경했다. - HUD 모드 라벨은 진입 시 `BREATHE`로 표시된다. - 클릭 시 저자극 안내 문구를 HUD 미니 안내 + 토스트로 노출한다. - `/landing` 이후 앱 플로우 배경을 밝은 톤으로 조정했다. - `/app` 허브/룸 카드 오버레이를 완화해 배경 노출을 늘렸다. - `/space` 오버레이/비네팅 강도를 낮춰 전체 명도를 올렸다. - `/stats`, `/settings`는 라이트 팔레트 기반 패널로 전환했다. - `/app` 룸 카드 hydration 에러를 수정했다. - `RoomPreviewCard`의 중첩 `