Commit Graph

132 Commits

Author SHA1 Message Date
16d620ee4a fix(flow): app entry를 no-session 전용으로 단순화 2026-03-16 12:28:28 +09:00
721212ec1f feat(app): atmosphere entry shell 1차 구현 2026-03-16 12:12:03 +09:00
c6e342e93d docs(docs): 화면별 current와 archive 구조로 분리 2026-03-16 11:46:13 +09:00
38a9d1e762 docs(docs): 문서를 화면과 용도별 폴더로 재구성 2026-03-16 11:31:03 +09:00
acfa8f4f48 docs(docs): 문서 인덱스와 화면별 가이드 재정리 2026-03-16 11:24:14 +09:00
3471c96972 docs(product): stale app flow 문서 정리 2026-03-16 11:18:39 +09:00
56385ec2eb docs(product): app atmosphere entry spec 추가 2026-03-16 11:04:02 +09:00
3c5154178d fix(space): break와 recovery 상태의 완료 경로 복구 2026-03-15 23:10:29 +09:00
728330bf74 feat(app): paused session takeover flow 추가 2026-03-15 19:57:18 +09:00
3aba789c97 feat(stats): recovery 통계를 서버 계약으로 연결 2026-03-15 19:18:05 +09:00
1b01ceaa8b feat(flow): paused resume gate와 auto-resume 연결 2026-03-15 18:52:19 +09:00
6b70d07e3c fix(space): pause 중 app redirect 방지 2026-03-15 18:47:13 +09:00
6a0710d023 feat(flow): session routing contract 정리 2026-03-15 18:40:00 +09:00
cbeeb38413 docs(flow): paused session re-entry spec 추가 2026-03-15 18:30:22 +09:00
0f01ecd8a1 docs(product): alignment findings ledger 시작 2026-03-15 13:31:46 +09:00
b3853c98d2 docs(product): alignment audit plan 추가 2026-03-15 11:51:53 +09:00
6bf3336aec fix(flow): 기획-구현 불일치 정렬 2026-03-15 11:46:21 +09:00
de95505d2f feat(space): secondary weekly review teaser 추가 2026-03-14 20:00:38 +09:00
5d3a5ac8ac feat(stats): pro personalized handoff 추가 2026-03-14 19:45:55 +09:00
c8b00905cd feat(app): weekly review return handoff 연결 2026-03-14 19:39:41 +09:00
fe908ec415 feat(app): weekly review teaser 진입 추가 2026-03-14 19:35:01 +09:00
445ef54528 docs(product): weekly review entry flow spec 추가 2026-03-14 19:27:46 +09:00
dc97a78fdd feat(stats): weekly review snapshot 1차 구현 2026-03-14 19:22:58 +09:00
679601d201 docs(product): weekly review reframe spec 추가 2026-03-14 19:13:35 +09:00
74e44fff69 fix(space): rail과 수정 액션 역할 분리 2026-03-14 19:04:00 +09:00
0b8c207fe2 fix(space): intent 카드 dismissal 규칙 정리 2026-03-14 18:56:27 +09:00
729afe0cbf fix(space): 목표 수정 affordance를 명시화 2026-03-14 18:51:43 +09:00
278fc11135 feat(space): 목표 카드를 collapsed rail로 재설계 2026-03-14 18:46:27 +09:00
b0fe2887c6 fix(space): recovery 트레이 공통 레이아웃 정리 2026-03-14 18:30:23 +09:00
425943cf89 fix(space): next beat 문구를 초심자 기준으로 정리 2026-03-14 18:27:30 +09:00
9abe868db6 fix(space): next beat 트레이 레이아웃 보정 2026-03-14 18:24:32 +09:00
caf53f0b68 fix(space): recovery 트레이 모션 polish 2026-03-14 18:22:52 +09:00
cc3eafb2fa feat(space): recovery 카피와 CTA 위계 분리 2026-03-14 18:16:03 +09:00
4421e776b2 docs(roadmap): 코어 루프 진행 상태 반영 2026-03-14 18:07:23 +09:00
fe67597320 feat(space): break와 return 톤 분리 2026-03-14 18:05:59 +09:00
a27cce9a67 fix(space): pause refocus 트레이 가독성 정리 2026-03-14 18:03:32 +09:00
b4ed94cf1b feat(core-loop): /app 진입과 /space 복구 흐름 구현 2026-03-14 18:02:50 +09:00
bc08a049b6 fix(space): 정리된 intent hud와 리뷰 반영 2026-03-14 16:28:26 +09:00
6154bd54a8 fix(landing): 인증 상태에 따라 CTA 경로 분기 2026-03-14 00:48:24 +09:00
a1424a4794 fix(app): 배경 공간 드래그 스크롤 클릭 충돌 수정 2026-03-13 16:22:11 +09:00
88bb4f40b8 feat(space/hud): Exit 버튼 좌측 하단 Invisible Door UI로 재배치
맥락:
- 기존의 우측 상단 Exit(나가기) 버튼이 너무 동떨어져 있었음.
- 목표(Goal) 패널 하단에 Exit 버튼을 두려는 시도가 있었으나, '목표 유지'와 '목표 포기(Exit)'라는 상반된 의미가 한 공간에 묶여 인지적 충돌을 발생시킴.
- 몰입을 방해하지 않는 투명함(Invisible UI)과 본능적인 이탈 경로가 필요함.

변경사항:
- SpaceToolsDockWidget에 새로운 좌측 하단(Bottom-Left) 모서리 Exit 버튼 렌더링 영역 추가.
- 평소에는 투명한 Escape(⎋) 아이콘만 노출하여 배경 공간의 방해 최소화.
- 사용자가 마우스를 Hover할 때만 알약(Pill) 형태로 부드럽게 확장(Expansion)되며 ExitHoldButton(Bar)이 나타나는 고급 인터랙션 구현.
- FloatingGoalWidget에 테스트로 추가했던 Exit 버튼 코드 원복(제거) 및 SpaceFocusHudWidget, SpaceWorkspaceWidget의 불필요한 prop 전달 정리.

검증:
- npm run build 정상 통과.

세션-상태: 몰입 공간(/space)의 하이엔드 UI 레이아웃 재배치 및 디자인 고도화 완료.
세션-다음: 향후 필요 시 통계(Analytics) 또는 결제(Paywall) 세부 기능 구현.
세션-리스크: 없음.
2026-03-13 15:26:53 +09:00
abdde2a8ae feat(space/app): app 진입부 및 space 몰입 환경(HUD/Tools) 프리미엄 UI 리팩토링
맥락:
- 기존 app 대시보드와 space 화면의 UI가 SaaS 툴처럼 딱딱하고 투박하여, 유저가 기꺼이 지갑을 열 만한 몰입감과 고급스러움(Premium feel)이 부족함.
- 인지적 과부하를 줄이기 위해 제안된 '첫 5분 행동(Micro-step)'이 타이머 영역에 묻혀 있어 행동 유발 효과가 미미함.

변경사항:
- app: 컨테이너 박스를 제거하고 전체 배경 화면(Immersive Background)과 Glassmorphism을 활용한 1.5 Step 진입 플로우로 전면 개편.
- space/hud: 하단의 두꺼운 타이머 패널을 초박형(Slim) 글라스 알약 형태로 축소하여 배경 씬의 개방감 확보.
- space/hud: 목표(Goal)와 첫 단계(Micro-step)를 분리하여 좌측 상단의 우아한 Floating UI로 재배치하고, 체크 완료 시 사라지는 도파민 인터랙션 추가.
- space/tools: 흩어져 있던 노트, 사운드, 설정 도구들을 우측 레일(Right-Rail)로 통합하고 팝오버 디자인을 고급화함.
- ui/contrast: 밝은 배경에서도 텍스트가 잘 보이도록 좌측 상단 비네팅(Vignette) 및 다중 텍스트 그림자(Multi-layered Shadow) 효과 적용.

검증:
- npm run build 정상 통과 확인.
- 브라우저 상에서 micro-step 완료 애니메이션 및 도구막대 팝오버 슬라이드 동작 확인.

세션-상태: app 진입부터 space 몰입까지의 코어 UX/UI 하이엔드 개편 완료.
세션-다음: 프로 요금제(PRO) 전환 유도(Paywall) 흐름 및 상세 분석 리포트(Analytics) 뷰 구현.
세션-리스크: 없음.
2026-03-13 14:57:35 +09:00
2506dd53a7 feat(app): focus entry surface로 진입 화면 재구성 2026-03-13 09:54:33 +09:00
698c124ade fix: 오디오가 재생되지 않는 문제 수정
- SpaceWorkspaceWidget 내 순환 참조를 피하기 위해 하드코딩되었던 `shouldPlay: false` 문제 해결
- 핵심 UI 상태(workspaceMode, previewPlaybackState 등)를 SpaceWorkspaceWidget 최상단으로 끌어올림(Lifting State Up)
- useHudStatusLine의 중복 호출 제거
2026-03-11 16:21:44 +09:00
972be117cb fix: 매니페스트 로드 실패 시 로컬 자산으로 안전하게 대체되지 않는 버그 수정
- normalizeMediaManifest에서 빈 데이터 수신 시 DEFAULT_MEDIA_MANIFEST를 활용하도록 수정
- 매니페스트 로드 실패 시 상세 정보(URL, 상태 코드)를 에러 메시지에 포함
- useMediaCatalog에서 fetch 에러 발생 시 명시적으로 로컬 기반 매니페스트를 적용하도록 보강
2026-03-11 15:16:00 +09:00
35f1dfb92d refactor: FSD 구조 강화 및 파일 500줄 제한에 따른 대규모 리팩토링
- SpaceWorkspaceWidget 로직을 전용 훅 및 유틸리티로 분리 (900줄 -> 300줄)
- useSpaceWorkspaceSelection 훅을 기능별(영속성, 진단 등) 소형 훅으로 분리
- SpaceToolsDockWidget의 상태 및 핸들러 로직 추출
- 거대 i18n 번역 파일(ko.ts)을 도메인별 메시지 파일로 구조화
- AdminConsoleWidget 누락분 추가 및 미디어 엔티티 타입 오류 수정
2026-03-11 15:08:36 +09:00
7867bd39ca style(space): stage 배경 overscan과 문서 상태 갱신
맥락:
- space stage 배경 pan 애니메이션 중 가장자리 빈틈이 보일 수 있었다.
- 관련 코드와 세션 문서 상태를 함께 맞춰둘 필요가 있었다.

변경사항:
- SpaceWorkspaceWidget 의 stage background layer 를 로 확장했다.
- 90_current_state, session_brief 에 overscan 보정과 관련 리스크를 반영했다.
- work.md 를 다음 브라우저 QA 작업 기준으로 갱신했다.

검증:
- npx tsc --noEmit

세션-상태: stage 배경 overscan 보정과 문서 정리를 마쳤다.
세션-다음: forest/green-forest manifest 변형을 실제 브라우저에서 QA 한다.
세션-리스크: overscan 으로 좁은 화면에서 배경 crop 체감이 조금 더 커질 수 있다.
2026-03-11 13:46:59 +09:00
4717bb3a1a fix(space): 배경 asset fallback 경로와 scene alias 해석 보강
맥락:
- /space 에서 forest 배경이 remote manifest asset 대신 기본 이미지로 조용히 fallback 될 수 있었다.
- scene key alias 와 manifest 실패 상태가 코드상 드러나지 않아 원인 추적이 어려웠다.

변경사항:
- media scene asset key 를 alias-aware 하게 정규화하고 asset source(fallback|remote) 메타를 추가했다.
- useMediaCatalog 가 remote manifest 실패와 fallback 사용 여부를 노출하도록 보강했다.
- SpaceWorkspaceWidget 에서 manifest 실패와 scene fallback 사용을 진단 로그/상태 메시지로 남기도록 정리했다.
- docs/work.md, docs/90_current_state.md, docs/session_brief.md 를 이번 작업 기준으로 갱신했다.

검증:
- npx tsc --noEmit

세션-상태: /space 배경 asset lookup 과 manifest fallback 진단을 보강했다.
세션-다음: forest/green-forest manifest 변형을 실제 브라우저에서 QA 한다.
세션-리스크: alias 목록 밖의 legacy scene id 는 추가 정규화가 필요할 수 있다.
2026-03-11 13:35:44 +09:00
9811134d8a feat(space): persist media selection and stabilize sound playback 2026-03-10 17:36:10 +09:00
c47f60163d refactor(admin): scene 업로드 화면을 단순화 2026-03-10 14:30:25 +09:00