맥락:
- /space 하단 HUD의 30초 복귀 액션을 저자극 감성 톤으로 정리해 복귀 행동의 심리적 부담을 낮춘다.
변경사항:
- restart-30s feature에 카피 상수(model/copy)를 추가하고 버튼/모드/안내 문구를 중앙 관리로 전환했다.
- useRestart30s에 더미 상태 전환(isBreatheMode, hintMessage)을 추가해 클릭 후 2초 내 안내 노출과 자동 복귀를 구현했다.
- HUD에서 30초 진입 중 상태 라벨을 BREATHE로 표시하고, 안내 문구를 목표 라인에 저대비로 잠깐 노출하도록 조정했다.
- 30초 액션 버튼을 "숨 고르기 30초" + 🌬️ 형태의 보조 액션 톤으로 변경했다.
- 세션 복구 문서(90_current_state, session_brief)에 이번 작업 상태/리스크를 반영했다.
검증:
- npx tsc --noEmit
세션-상태: /space 30초 복귀 액션 카피 리브랜딩 및 HUD 더미 안내 반영 완료
세션-다음: RoomSheet/도크 인원수 기반 카피를 큐레이션형 표현으로 전환
세션-리스크: HUD 목표 문구와 안내 문구가 교체 노출되어 정보 우선순위 점검 필요
맥락:
- 몰입 OFF의 나가기 롱프레스 bar에서 진행 표시가 즉시 보이지 않고 완료 시 0으로 역방향 축소되는 문제를 해결하기 위해
변경사항:
- bar 진행 표시를 JS width 갱신에서 CSS keyframes 기반으로 교체
- 키프레임에 가속 규칙 반영(0.05초 20%, 1.0초 100%)
- 완료 후 100% 상태를 짧게 유지한 뒤 언마운트하도록 훅 상태(isCompleted) 보강
- progress fill의 rounded 캡을 제거해 끝단 직선화
- docs/90_current_state.md, docs/session_brief.md 최신 상태 반영
검증:
- npx tsc --noEmit
세션-상태: bar 롱프레스 진행은 눌렀을 때 즉시 보이고 완료 리셋 시 역방향 축소가 사라짐
세션-다음: 롱프레스 인지성 보조 카피 도입 여부 검토
세션-리스크: bar(CSS)와 ring(JS) 진행 로직이 분리되어 향후 규칙 변경 시 동시 점검 필요
맥락:
- /space에서 실수 이탈을 줄이면서도 명확한 탈출 동선을 유지하기 위해 나가기 액션을 1초 롱프레스 방식으로 변경
변경사항:
- features/exit-hold 추가(useHoldToConfirm, ExitHoldButton)
- 1초 롱프레스와 가속 진행 규칙(0.05초 -> 20%)을 feature 내부에 구현
- 몰입 OFF에서는 bar(좌->우 fill), 몰입 ON에서는 ring 진행 표시로 분기
- 1초 미만 해제/마우스 leave/touch cancel 시 진행률 즉시 리셋
- 완료 시 나가기(더미) 토스트 + 몰입 모드 OFF 동작 연결
- docs/90_current_state.md, docs/session_brief.md 상태 업데이트
검증:
- npx tsc --noEmit
세션-상태: 상단 나가기 액션은 롱프레스 완료 시에만 트리거됨
세션-다음: 롱프레스 인터랙션 인지성 보완용 힌트 카피 도입 여부 검토
세션-리스크: 터치 환경에서 롱프레스 UI 의도를 즉시 이해하지 못할 가능성 있음
맥락:
- 몰입 모드 ON에서 상단 우측 액션이 허브 이동으로 보이는 혼선을 줄이고 즉시 이탈 동선을 제공하기 위해
변경사항:
- 몰입 모드 훅에 exitImmersionMode 액션 추가
- 몰입 모드 ON 시 상단 우측 액션을 나가기 버튼으로 전환
- 나가기 클릭 시 토스트(나가기(더미)) 노출 후 몰입 모드 OFF 처리
- docs/90_current_state.md, docs/session_brief.md 최신 상태 반영
검증:
- npx tsc --noEmit
세션-상태: 몰입 모드 ON에서 상단 우측 액션은 나가기로 동작함
세션-다음: RoomSheet/도크의 인원수 중심 정보를 분위기형 정보로 교체
세션-리스크: 터치 환경에서 미니 레일 발견성이 낮을 수 있어 UX 보완이 필요
맥락:
- /space 하단 사운드 바를 제거하고 도구를 우측 도크에 수납해 배경 몰입을 강화하며, 몰입 모드 ON 체감을 높이기 위해
변경사항:
- 하단 사운드 프리셋 바를 제거하고 도크에 🎧 Sound 패널을 추가
- features/sound-preset + widgets/sound-sheet를 추가해 프리셋 선택/믹서 UI(더미) 구성
- features/immersion-mode + shared/ui/Toggle을 추가하고 Quick 시트 토글과 연결
- 몰입 모드 ON 시 상단 Current Room 숨김, 허브 버튼 소형화, 레일 미니화, HUD 저대비, 비네팅/그레인 강화
- widgets/space-chrome를 신설해 /space 상단 크롬 렌더링을 분리
- docs/90_current_state.md, docs/session_brief.md 최신 상태로 갱신
검증:
- npx tsc --noEmit
세션-상태: /space는 사운드 시트 기반 도크 구조와 몰입 모드 UI를 제공함
세션-다음: RoomSheetWidget 인원수 기반 정보를 큐레이션 표현으로 전환
세션-리스크: 터치 환경에서 미니 레일 발견성이 낮을 수 있어 보조 힌트가 필요할 수 있음
맥락:
- 기존 라우트/컴포넌트 구조를 FSD 기준으로 정리하고, /app 허브와 /space 집중 화면 중심의 목업 흐름을 구성하기 위해
변경사항:
- App Router 구조를 /landing, /app, /space, /stats, /settings 중심으로 재배치
- entities/session/room/user 더미 데이터와 타입 정의 추가
- features(커스텀 입장, 룸 선택, 체크인, 리액션, 30초 리스타트 등) 단위로 로직 분리
- widgets(허브, 룸 갤러리, 타이머 HUD, 툴 도크 등) 조합형 UI 추가
- shared 공용 UI(Button/Chip/Modal/Toast 등) 및 유틸(cn/useReducedMotion) 정비
- 로그인 후 이동 경로를 /dashboard 에서 /app 으로 변경
- README를 현재 프로젝트 구조/라우트/구현 범위 기준으로 갱신
검증:
- npx tsc --noEmit
세션-상태: 허브·스페이스 목업이 FSD 레이어로 동작 가능하도록 정리됨
세션-다음: /space 상단 및 도크의 인원 수 카피를 분위기형 카피로 후속 정리
세션-리스크: build는 네트워크 환경에서 Google Fonts fetch 실패 가능