맥락: - /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 의도를 즉시 이해하지 못할 가능성 있음
5.0 KiB
5.0 KiB
90. Current State
Last Updated: 2026-02-27
DONE
- 세션 복구 운영 문서 추가:
docs/06_commit_convention.mddocs/07_session_recovery.md
- 워크플로우 토큰 절약 모드 추가:
docs/context_core.md신설docs/workFlow.md를 기본 3문서 + 조건부 로드로 변경
- 워크플로우 기본 로드를 2파일로 축소:
docs/work.mddocs/session_brief.md
- 복구 스크립트 추가:
scripts/session/recover-context.sh
npm run session:recover명령 추가/appStart Ritual에서 절차감을 높이던건너뛰기제거/app에서다시 시작(30초)제거/spaceHUD에features/restart-30s기반↻ 다시 시작 + 30초 배지추가/space하단 사운드 프리셋 바 제거, 오른쪽🎧 Sound시트로 이동features/sound-preset+widgets/sound-sheet추가features/immersion-mode추가, Quick 시트에서 몰입 모드 토글 연결/space상단 헤더 크롬 최소화:- 헤더 프레임(border/강한 배경) 제거
- 패딩 축소로 배경 노출 증가
- 타이머 HUD 하단 위치를 safe-area 기반 최소 여백으로 조정
- 몰입 모드 ON 시 상단 액션을
나가기버튼으로 전환- 클릭 시 토스트
나가기(더미)노출 + 몰입 모드 OFF
- 클릭 시 토스트
/space상단 우측 나가기 액션을 롱프레스(1초)로 변경- 0.05초에 진행률 20%까지 빠르게 상승
- 1초 유지 시
나가기(더미)토스트 + 몰입 모드 OFF - 몰입 OFF: 좌→우 fill(bar), 몰입 ON: 원형 ring 진행 표시
- 몰입 모드 ON 시
/space크롬 정리:- 상단
Current Room블록 숨김 - 우상단 허브 버튼 소형 아이콘화
- 오른쪽 아이콘 레일 기본 미니화(hover/click 시 확장)
- HUD 대비/불투명도 완화
- 비네팅/그레인 강화
- 상단
/app룸 카드의 인원수 기반 정보 제거entities/room에 분위기/추천 필드 추가:recommendedSoundrecommendedTimevibeLabel
- 룸 카드 정보 표현을 큐레이션 중심으로 전환
NEXT
RoomSheetWidget/도크 패널의 인원수 기반 UI를 큐레이션형 정보로 재정의- 몰입 모드에서 터치 환경(hover 없음) 레일 노출 UX를 보완할지 정책 확정
/space헤더 최소화 스타일을 테마별(밝은 배경) 대비 점검- 롱프레스 나가기 버튼의 터치 환경 힌트(첫 진입 안내) 필요 여부 판단
RISKS
npm run build는 네트워크 제한 시 Google Font fetch 실패 가능- 터치 기기에서 레일 미니 상태가 발견성 낮을 수 있어 추가 힌트가 필요할 수 있음
- 일부 시트(예: Room)는 아직 인원수 중심 문구가 남아 있어 톤 불일치 가능성 존재
- safe-area 값이 작은 기기에서는 HUD가 너무 낮게 느껴질 수 있어 세부 조정 여지 존재
- 롱프레스 인터랙션은 첫 사용자에게 즉시 인지되지 않을 수 있어 시각적 힌트 필요 가능성 있음
CHANGED FILES
docs/06_commit_convention.mddocs/07_session_recovery.mddocs/context_core.mddocs/session_brief.mddocs/workFlow.mddocs/README.md.gitmessage-session.txtscripts/session/recover-context.shpackage.jsonsrc/widgets/start-ritual-widget/ui/StartRitualWidget.tsxsrc/widgets/app-hub/ui/AppHubWidget.tsxsrc/entities/room/model/types.tssrc/entities/room/model/rooms.tssrc/features/room-select/ui/RoomPreviewCard.tsxsrc/features/restart-30s/index.tssrc/features/restart-30s/model/useRestart30s.tssrc/features/restart-30s/ui/Restart30sAction.tsxsrc/features/immersion-mode/index.tssrc/features/immersion-mode/model/useImmersionMode.tssrc/features/immersion-mode/ui/ImmersionModeToggle.tsxsrc/features/sound-preset/index.tssrc/features/sound-preset/model/useSoundPresetSelection.tssrc/features/sound-preset/ui/SoundPresetControls.tsxsrc/shared/ui/Toggle.tsxsrc/widgets/sound-sheet/index.tssrc/widgets/sound-sheet/ui/SoundSheetWidget.tsxsrc/widgets/space-chrome/index.tssrc/widgets/space-chrome/ui/SpaceChromeWidget.tsxsrc/widgets/quick-sheet/ui/QuickSheetWidget.tsxsrc/widgets/space-shell/ui/SpaceSkeletonWidget.tsxsrc/widgets/space-tools-dock/model/useSpaceToolsDock.tssrc/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsxsrc/widgets/space-timer-hud/ui/SpaceTimerHudWidget.tsxsrc/widgets/space-chrome/ui/SpaceChromeWidget.tsxsrc/features/immersion-mode/model/useImmersionMode.tssrc/features/exit-hold/index.tssrc/features/exit-hold/model/useHoldToConfirm.tssrc/features/exit-hold/ui/ExitHoldButton.tsx
QUICK VERIFY
/app: 건너뛰기/다시 시작 노출 없음/app: 룸 카드에 사람 수 문구 없음, 추천 정보 노출/space: 하단 사운드 바 없음, 오른쪽🎧 Sound시트에서 프리셋 선택 가능/space: 몰입 모드 ON 시 상단 룸 블록 숨김 + 레일 미니화 + HUD 저대비 적용