사이드바 Admin Menu 최상단에 '대시보드' 버튼 추가 → /admin/dashboard 이동 · 탭 클릭 시 router.replace로 URL 쿼리 동기화 (?tab=pending 등) · 새로고침·공유 시 선택 탭 상태 보존
2026-05-26
1be975f
fix: 관리자 로그인 후 /admin/dashboard 로 일관 이동
LoginView: admin 그룹의 redirect=/admin 을 무시하고 /admin/dashboard 로 fallback · guide/index.html 관리자 접속 URL·링크를 /admin/dashboard 로 업데이트
2026-05-26
85188e8
feat: 협력사·관리자 모델링 리스트에 검수상태 배지 + 검수 상황 모달
QaSessionsModal 컴포넌트(readonly 토글) · "검수 · 진행 중/완료/미시작" 배지 공통화 · 협력사 DashboardView(readonly) · AdminDashboardView·AdminView 제품 관리 행(editable) 연동
2026-05-21
fd9d39a
feat: 관리자 대시보드에 사이드바 + 카드 드래그 정렬
Sidebar(Admin Menu + Category + Pantone + Guidelines) 컴포넌트 통합 · 카드 drag&drop reorder (PATCH /api/admin/products/order) · 가시 6개 사이 sortOrder 교환
2026-05-21
31eb604
feat: 관리자 대시보드 — 최근 6개 제품 미리보기 + 3D 화면 빠른 진입
상단에 최신 등록 제품 6개 썸네일 카드(0번 프레임 또는 OBJ 아이콘) · 카드 클릭 시 /admin/products/:id 3D 화면으로 즉시 진입
2026-05-21
ff79772
feat: 신규 제품 'MADE 머스트 플레어 이중쉬폰탑 (참고)' 등록 (id=13)
절차 생성 OBJ 마네킹(T-pose, 5,004 verts) + PIL 정사영 360 36프레임(10°). 외부 이미지 fetch 없이 머스트색 시폰 탑/네이비 하의 표현. backend/scripts/{render-mannequin-obj.py, render-mannequin-360.py, register-mannequin.js} 추가
2026-05-21
5c9df5b
chore: 랜덤 제품 3개 시드 스크립트 + guide 비공개 섹션 hidden
데모/테스트용 랜덤 제품 생성 스크립트 추가 · 가이드 내부 비공개 섹션은 hidden 처리
2026-05-21
0327fbf
feat: 관리자 제품 목록 드래그앤드롭 순서 변경
관리자 페이지의 제품 카드를 드래그로 재정렬 → 백엔드 sort_order 컬럼 저장 · 대시보드/관리자 양쪽에 일관 적용
2026-05-21
d652581
style: 댓글 수 배지 색상 빨강 → 파랑 (#2563eb)
오렌지(3D)/퍼플(360) 마커 본체와 더 잘 구분되도록 경고색 대신 정보색으로 변경
2026-05-21
b9fc006
feat: 주석 마커 우상단에 댓글 수 배지 표시
본 주석 외 댓글이 1개 이상일 때만 좌표 동그라미 우상단에 배지(99+ 축약) · pointer-events:none 으로 마커 클릭 가로채지 않음 · ThreeViewer/Viewer360 양쪽 적용
2026-05-21
6766a3a
fix: WebGLRenderer setSize updateStyle=true — DPR>1 환경 canvas 크기 어긋남 해소
고DPI 모니터(레티나/4K)에서 canvas 의 CSS 사이즈가 컨테이너와 어긋나 클릭 좌표가 빗나가던 문제. setSize 두 번째 인자 true 로 CSS 도 동기화
2026-05-21
cd7b77f
fix: 3D 뷰어 fit-to-view 를 fov+aspect 기반으로 — 컨테이너 비/해상도에 무관한 동일 시점
기존 fit 거리 산출이 모델 바운딩 크기만 쓰던 것을 fov+aspect 결합으로 수정. 협력사·관리자·뷰포트 차이에 관계없이 모델이 동일한 비율·방향에서 보임
2026-05-21
abcbcdf
fix: 3D 뷰어를 16:9 고정 비율로 잠금 (해상도와 무관한 좌표 일관성)
aspect-video w-full max-w-[1024px] mx-auto · 뷰포트별 aspect 변동(1.96/2.28/2.91 등) 제거 → 800×600·1366×768·1920×1080 에서 동일 (50%,35%) 클릭이 (0.22, 1.82, 0.22) 로 동일 산출
2026-05-21
07a56cc
fix: 협력사·관리자 뷰어 사이즈 통일 (3D 픽 좌표 일관성)
두 뷰어의 aspect 가 달라(1.54 vs 1.96) 같은 시각 위치 클릭이 다른 world 좌표를 산출하던 문제. 협력사도 h-[min(60vh,580px)] 로 통일 → 동일 click → 동일 좌표 (검증: (0.22, 1.82, 0.22))
2026-05-21
aa27bf6
feat: 360 뷰어 — 주석 작성 중 회전 잠금 + 주석 선택 시 해당 프레임 자동 이동
pendingCoord 가 있을 때 드래그/슬라이더/자동회전 비활성화 · 사이드바 주석 클릭 시 해당 frameIndex 로 점프
2026-05-21
341c8f9
feat: admin 계정의 협력사 대시보드(/) 진입 시 /admin 으로 자동 이동
router beforeEach 가드 · admin 그룹이 home 라우트 접근 시 /admin 으로 redirect
2026-05-21
99b5013
fix: 협력사 제품 상세 페이지 레이아웃이 뷰포트를 채우지 못하던 문제
루트 min-h-screen → h-screen 으로 변경, flex chain 에 min-h-0/min-w-0 추가, 뷰어 flex-1 로 가용 수직 공간 전부 채움 (협력사가 "주석 기능이 작동 안 함"으로 인지하던 fold 문제 근본 해결)
2026-05-21
15033b7
fix: 주석 입력 패널이 짧은 뷰포트에서 화면 밖으로 밀려나는 문제
뷰어 h-[580px] 고정 + section overflow-auto 에서 입력 패널이 fold 아래로 가려지던 문제. 뷰어를 flex-1 min-h 로 변환하고 입력 패널 shrink-0 으로 항상 보이도록 수정
2026-05-21
85e62c5
fix: 3D 뷰어 GLB 응답 처리 (백엔드 OBJ→GLB swap 서빙 대응)
Content-Type / 매직바이트로 실제 포맷 감지 · GLTFLoader 로 GLB 파싱 · GLB 의 PBR 머티리얼 보존 (OBJ/STL만 회색 기본 머티리얼)
2026-05-21
0255f7a
feat: 관리자 제품 CRUD UI (등록·수정·삭제)
ProductFormModal · 제품 관리 탭 [+ 신규 등록] · 카드별 수정/삭제 · cascade 안내 confirm
2026-05-21
55ebc87
feat: 감수 세션 완료 시 리포트 노트 입력 모달 (관리자)
완료 버튼 → 노트 입력 모달 · 빈 문자열은 null 로 전달 · 세션 카드에 저장된 notes 표시
2026-05-21
1293755
feat: 뷰어 클릭으로 주석 좌표 픽업 + 마커 오버레이
3D Raycaster 픽 + setRenderHook 매 프레임 3D→2D 투영 · 360 letterbox 보정 u,v 픽 · 사이드바↔마커 양방향 + 다른 좌표 타입 시 뷰어 자동 전환
2026-05-21
da1d1e3
feat: 관리자 제품 파일 삭제 API (admin 전용)
DELETE /api/products/:productId/files/:fileId · DB row 제거 + 원본/GLB 파일 unlink
2026-05-21
3b85a4e
feat: 감수 세션 완료 시 리포트 노트 저장
qa_sessions.notes TEXT 컬럼 + 마이그레이션 · complete API notes 입력 (최대 5000자) · 프론트 completeSession 노트 전달
2026-05-21
5291113
feat: 팬톤 색상표 모달 + 관리자 제품 키워드 검색
PantoneModal (그리드·검색·HEX 복사) · Sidebar 전체 보기 + 항목 hover tooltip · 관리자 제품 관리 탭 키워드 검색/카운터/필터 초기화
2026-05-21
026dced
fix: 시드 360 프레임이 회전을 보여주지 않던 문제 해결 스크립트
36프레임 레인보우 베어 절차적 생성(10° 간격) · 기존 storage path 덮어쓰기 (UUID 유지로 DB 무변경)
2026-05-21
1c9b81d
feat: 360 뷰어 UX 개선 + 관리자 파일 일괄 업로드 UI
자동 회전 · 스크럽 슬라이더 · 키보드 방향키 · 드래그 가이드 · ProductFileUpload 컴포넌트 (드래그드롭 + 진행률)
2026-05-21
c548343
fix: 관리자 카테고리 '전체' 선택 후 뒤로가기 시 강조 풀리는 문제 수정
URL 쿼리 category='' 를 null 로 정규화 · hasCategoryQuery 로 탭 활성 판정 분리