4717bb3a1a337f493e9698fd684b03c97bf3f3f3
맥락: - /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 는 추가 정규화가 필요할 수 있다.
VibeRoom Web
Next.js(App Router) + TypeScript + TailwindCSS 기반 VibeRoom 프론트엔드입니다.
실행 방법
npm install
npm run dev
브라우저에서 http://localhost:3000 접속
주요 라우트
/: Landing 페이지 (src/app/(landing)/page.tsx)/app: 가상공간 입장 허브/space: 집중공간 스켈레톤/stats: 집중 통계 목업/settings: 설정 목업/login: 로그인
구조
FSD 스타일로 src/ 하위 레이어를 사용합니다.
src/entities: room/user/session 타입 + 더미 데이터src/features: room-select/check-in/reactions/custom-entry-modal/profile-menu/distraction-dumpsrc/widgets: 페이지 섹션 단위 UI (TopBar, StartRitual, RoomsGallery, SpaceShell 등)src/shared: 공용 UI, 유틸, 설정src/app: App Router 페이지 조합
구현 범위
이번 변경은 UI 목업 중심입니다.
- 타이머 카운트다운/오디오 재생/실시간/DB 저장/API 호출 미구현
- 선택 하이라이트, 패널 토글, 모달 탭, 드롭다운, 라우팅, 토스트만 구현
문서(작업 재개용)
세션이 끊겨도 같은 품질로 이어서 작업하려면 아래 문서를 먼저 확인합니다.
docs/README.mddocs/00_project_brief.mddocs/01_ui_guidelines.mddocs/02_arch_fsd_rules.mddocs/03_routes_map.mddocs/90_current_state.md
Description
Languages
TypeScript
92.8%
CSS
6.7%
Shell
0.3%
JavaScript
0.2%