From c9817f518ee70508501f8b587bf1c92a4cbaecec Mon Sep 17 00:00:00 2001 From: corpi Date: Thu, 5 Mar 2026 12:27:24 +0900 Subject: [PATCH] =?UTF-8?q?docs(session):=20=EC=B6=94=EC=B2=9C=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=ED=99=94/override=20=ED=9D=90=EB=A6=84=20=EA=B8=B0?= =?UTF-8?q?=EC=A4=80=EC=9C=BC=EB=A1=9C=20=EC=84=B8=EC=85=98=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=EA=B0=B1=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 맥락: - workflow 종료 규칙에 따라 현재 구현 상태와 다음 리스크를 세션 복구 문서에 반영해야 했습니다. 변경사항: - docs/90_current_state.md의 DONE/NEXT/RISKS/CHANGED FILES를 Scene 추천 자동화, override, Control Center 단순화, 로컬 저장/복원 기준으로 업데이트했습니다. - docs/session_brief.md의 현재 우선순위/최근 세션 상태/리스크를 최신 구현 상태로 압축 갱신했습니다. 검증: - 문서 갱신 작업(코드 검증 없음) 세션-상태: 세션 복구 문서가 현재 코드 상태와 다음 작업 우선순위를 반영합니다. 세션-다음: work.md의 다음 작업 지시를 기준으로 구현을 이어갑니다. 세션-리스크: docs/work.md와 docs/01_ui_guidelines.md의 사용자 수정분은 별도 검토 없이 유지 중입니다. --- docs/90_current_state.md | 37 ++++++++++++++++++++++++++++++------- docs/session_brief.md | 23 +++++++++++++++++++---- 2 files changed, 49 insertions(+), 11 deletions(-) diff --git a/docs/90_current_state.md b/docs/90_current_state.md index 10ba21d..9fcb4b1 100644 --- a/docs/90_current_state.md +++ b/docs/90_current_state.md @@ -1,9 +1,26 @@ # 90. Current State -Last Updated: 2026-02-28 +Last Updated: 2026-03-05 ## DONE +- `/space` Scene 기반 자동 추천 적용: + - `RoomTheme`에 `recommendedSoundPresetId`, `recommendedTimerPresetId` 필드 추가 + - 첫 진입/시작 시 Scene 추천 타이머/사운드가 자동 반영되도록 초기화 로직 정리 + - Scene 변경 시 `override.sound/timer`가 `false`인 항목만 자동 동기화 +- `/space` 사용자 override 존중 규칙 도입: + - `override.sound`, `override.timer` UI 상태 추가 + - 사용자가 직접 고른 항목은 이후 Scene 변경에도 자동 덮어쓰기되지 않도록 반영 + - `추천으로 되돌리기(더미)` 액션으로 override 초기화 + 추천값 즉시 복원 지원 +- `Control Center`를 Scene/Time 중심으로 단순화: + - Sound/Preset Packs 섹션 제거 + - 비인터랙션 추천 정보 1줄(`추천: 사운드 · 타이머`) 추가 + - 하단 tertiary 액션 `추천으로 되돌리기` 추가 +- 우하단 Sound Quick 경로를 override 적용의 명시적 경로로 분리: + - `onQuickSoundSelect` 콜백으로 연결해 `override.sound` 규칙을 코드 레벨에서 고정 +- 세션 상태 더미 저장/복원 추가: + - `sceneId`, `timerPresetId`, `soundPresetId`, `override(sound/timer)`를 localStorage에 저장 + - 복원 우선순위: 쿼리 파라미터 > 저장 상태 > Scene 추천 - 세션 복구 운영 문서 추가: - `docs/06_commit_convention.md` - `docs/07_session_recovery.md` @@ -103,16 +120,16 @@ Last Updated: 2026-02-28 ## NEXT -1. `RoomSheetWidget`/도크 패널의 인원수 기반 UI를 큐레이션형 정보로 재정의 -2. 몰입 모드에서 터치 환경(hover 없음) 레일 노출 UX를 보완할지 정책 확정 -3. `/space` 헤더 최소화 스타일을 테마별(밝은 배경) 대비 점검 -4. 롱프레스 나가기 버튼의 터치 환경 힌트(첫 진입 안내) 필요 여부 판단 -5. Room 시트 인원수 기반 카피를 분위기형 카피로 치환 -6. 30초 복귀 안내 카피의 노출 위치(HUD 내 vs 토스트 전용) AB 점검 +1. Scene 추천 매핑(`recommendedSoundPresetId`, `recommendedTimerPresetId`)의 큐레이션 품질 점검 및 보정 +2. Setup Drawer에서 수동 선택한 타이머/사운드도 override 정책과 사용자 기대치가 일치하는지 UX 검증 +3. Focus 전환/Scene 변경/추천 복원 시 HUD 피드백 노출 정책(무표시 vs 최소 표시) 최종 확정 +4. 터치 환경에서 우측 도구 레일 발견성(미니 핸들 UX) 보완 여부 확정 ## RISKS - `npm run build`는 네트워크 제한 시 Google Font fetch 실패 가능 +- localStorage 포맷 변경 시 이전 세션 저장값과의 호환성 이슈 가능 +- Scene 추천값과 실제 사용자 선호가 어긋나면 자동 적용 체감 품질이 낮아질 수 있음 - 터치 기기에서 레일 미니 상태가 발견성 낮을 수 있어 추가 힌트가 필요할 수 있음 - 일부 시트(예: Room)는 아직 인원수 중심 문구가 남아 있어 톤 불일치 가능성 존재 - safe-area 값이 작은 기기에서는 HUD가 너무 낮게 느껴질 수 있어 세부 조정 여지 존재 @@ -131,6 +148,12 @@ Last Updated: 2026-02-28 ## CHANGED FILES +- `src/entities/room/model/types.ts` +- `src/entities/room/model/rooms.ts` +- `src/widgets/space-workspace/ui/SpaceWorkspaceWidget.tsx` +- `src/widgets/space-tools-dock/ui/SpaceToolsDockWidget.tsx` +- `src/widgets/control-center-sheet/ui/ControlCenterSheetWidget.tsx` +- `src/widgets/space-tools-dock/model/applyQuickPack.ts` (삭제) - `docs/06_commit_convention.md` - `docs/07_session_recovery.md` - `docs/context_core.md` diff --git a/docs/session_brief.md b/docs/session_brief.md index ff26d31..8e495f7 100644 --- a/docs/session_brief.md +++ b/docs/session_brief.md @@ -1,6 +1,6 @@ # Session Brief -Last Updated: 2026-02-28 +Last Updated: 2026-03-05 세션 시작 시 항상 읽는 초소형 스냅샷 문서. @@ -14,12 +14,25 @@ Last Updated: 2026-02-28 ## 현재 우선순위 -1. `RoomSheetWidget`/도크 패널의 인원 수 UI를 큐레이션형으로 전환 -2. 몰입 모드에서 터치 환경 레일 발견성(미니 핸들 UX) 보완 여부 결정 -3. `/space` 헤더 최소화 스타일의 밝은 배경 대비 점검 +1. Scene 추천 매핑 품질 점검(공간별 사운드/타이머 추천값 보정) +2. override 정책(수동 선택 후 Scene 변경 시 유지)의 사용자 기대치 검증 +3. 터치 환경 도구 레일 발견성(미니 핸들 UX) 보완 여부 결정 ## 최근 세션 상태 +- `/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` 시트로 이동했다. @@ -80,6 +93,8 @@ Last Updated: 2026-02-28 ## 리스크 - 네트워크 제한 환경에서는 `npm run build` 시 Google Fonts fetch 실패 가능 +- localStorage 저장 포맷 변경 시 이전 세션 데이터와의 호환성 이슈가 생길 수 있음 +- Scene 추천값이 사용자 선호와 어긋나면 자동 추천 체감 품질이 낮을 수 있음 - 터치 환경에서 레일 미니 상태가 발견성 낮을 수 있어 UX 보완이 필요할 수 있음 - safe-area가 작은 기기에서는 HUD 하단 간격 체감이 과도할 수 있어 미세 조정이 필요할 수 있음 - 롱프레스 인터랙션은 신규 사용자에게 즉시 인지되지 않을 수 있어 보조 카피가 필요할 수 있음