4.3 KiB
4.3 KiB
버그 수정 및 작업 기록
2026-06-19
- Vue 3와 Vite 기본 프로젝트를 생성했다.
- Tailwind CSS Vite 플러그인을 적용했다.
- 기본 샘플 화면을 프로젝트 안내 화면으로 교체했다.
- UGREEN NAS Docker 테스트·운영 배포 문서를 작성했다.
- AI 작업 지침과 초기 명세, 화면 구조, 할 일, 의사결정 문서를 추가했다.
- Vue 프로덕션 빌드, Docker Compose 설정, Docker 이미지 빌드와 Nginx 헬스체크를 검증했다.
- NAS의 기존
uniare/config/www/images를 읽기 전용으로 공유하는 Compose 설정과/card-assetsNginx 경로를 추가했다. - 로컬 Socket.IO 기본 포트를
31873으로 변경하고 운영 리버스 프록시 원칙을 문서화했다. - NAS HTTP 포트 충돌을 해결하기 위해 테스트·운영 포트를 환경변수로
변경하고
port is already allocated복구 절차를 추가했다. - NAS ACL로 인한 카드 이미지와 favicon의 403 오류를 해결하기 위해 Nginx 워커 UID와 정적 파일 권한을 조정했다.
- 테스트는 로컬에서 수행하고 NAS에는 운영 컨테이너만 배포하도록 Compose와 배포 문서를 단순화했다.
- 운영 주소
http://playuniare.sori.studio와 향후 데이터 마이그레이션 원칙을 문서화했다. - 3840×2160 표준 플레이 보드를 반응형 화면에 적용하고 카드 크기 기준 가이드를 추가했다.
- 보드 좌우 여백에 양쪽 플레이어의 라이프와 상태 정보를 표시하는 패널을 배치했다.
/card-assets의 실제 카드 한 장을 보드 기준 크기로 표시하고, 보드 정규화 좌표를 사용하는 마우스·터치 드래그를 구현했다.- 로컬 개발에서 운영 카드 자산을 사용할 수 있도록
.env.local예시를 현재 운영 주소로 수정했다. - 화면과 배포 점검에 사용하는 기준 카드를
ua01/EX02BT_CGH-2-007.png로 변경했다. - 선택 카드 조작 바를 추가하고 앞면·뒷면, 탭·언탭, 맨 위 레이어 이동을 구현했다.
- 카드 뒷면 임시 스타일과 키보드 포커스 선택을 추가했다.
- 독립 카드 인스턴스 3장을 겹쳐 배치하고 선택·드래그 시 최상단으로 올리는 레이어 처리를 추가했다.
- 선택 카드의 정규화 좌표와 상태를 표시하고 탭 회전 상태의 보드 경계 계산을 보강했다.
- 기존 덱 빌더의
series와cards쿼리를 검증해 카드 수량만큼 독립 인스턴스로 확장하는 덱 파서를 추가했다. - 불러온 카드를 내 덱 영역에 뒷면으로 쌓고 잘못된 항목은 오류로 표시한다.
- 게임 화면의 고정 헤더를 제거하고 16:9 보드가 뷰포트를 최대한 채우도록 변경했다.
F키 전체화면, 카드 더블클릭 탭·언탭, 우클릭 카드 조작 메뉴를 추가했다.- 내 덱의 1장 드로우와 셔플을 구현하고 손패 카드를 화면 하단에 자동 정렬하도록 했다.
- 우클릭 메뉴에 손패, 덱 위, 덱 아래, 무덤 이동 명령을 추가하고 영역별 덱·손패 카운터를 연결했다.
- 덱 위에서 1~10장을 공개해 중앙에 정렬하고 각 카드를 기존 우클릭 메뉴로 정리하는 기능을 추가했다.
- Vue Router와 Pinia를 도입하고 메인 화면을 비공개 방 대기실로 변경했다.
- 덱 URL 등록과 50장·동일 카드 4장·트리거별 4장·AP 분리 검증을 추가했다.
- 게임 진입 후 첫 손패 7장, 1회 멀리건, 라이프 7장 세팅을 구현했다.
- 턴 시작 시 선후공별 AP·드로우를 처리하고 잠기지 않은 내 필드 카드를 일괄 언탭하도록 했다.
- 게임 보드 기능이 커짐에 따라 후속 작업에서 영역 상태와 조작 로직을 composable·store로 분리할 항목을 등록했다.
- Socket.IO 서버와 실제 방 생성·참가·덱 등록·준비 동기화를 추가했다.
- 두 플레이어가 모두 준비하면 각 좌석에 맞는 게임 시작 정보를 전달하도록 구현했다.
- 방을 이동할 때 이전 Socket.IO 채널에서 확실히 나가도록 정리했다.
- Nginx의
/socket.io프록시와 Docker 내부 실시간 서버 서비스를 추가했다. - 방 생성부터 양쪽 게임 시작까지 검증하는 2인 통합 테스트를 추가했다.