v3.1.0: add ua51 series and handoff docs

This commit is contained in:
2026-04-19 17:13:13 +09:00
parent db227dd02e
commit 7970962e18
136 changed files with 1692 additions and 6 deletions

1217
datas/ua51.js Normal file

File diff suppressed because it is too large Load Diff

61
docs/codex-handoff.md Normal file
View File

@@ -0,0 +1,61 @@
# Codex Handoff Guide
## 목적
- 이 문서는 다른 작업 환경이나 다른 Codex 세션에서 프로젝트를 이어받더라도 같은 품질 기준으로 작업하기 위한 운영 기준서다.
- 특히 이 저장소는 정적 HTML/JS 프로젝트이면서 카드 데이터와 이미지 자산 비중이 크기 때문에, "코드 수정"보다 "데이터-번역-이미지 일치"가 더 중요하다.
## 현재 기준 릴리즈
- 현재 작업 기준 버전: `v3.1.0`
- 이번 릴리즈 핵심 반영:
- `ua51` 시리즈 추가
- `ua49` 누락 병렬 이미지 보강
- 다국어 시리즈명 추가
- 버전 표기 및 문서 체계 정리
## 다음 작업자에게 반드시 전달할 것
- 이 프로젝트는 빌드 시스템 중심 앱이 아니라 `index.html`, `cardList.html`, `result.html` 3개 페이지가 직접 동작하는 정적 사이트다.
- 신규 시리즈를 추가할 때는 항상 아래 3가지를 한 세트로 본다.
- `datas/<series>.js`
- `images/<series>/`
- `i18n/translations.ko.json`, `i18n/translations.ja.json`, `i18n/translations.en.json`
- 이미지 자산은 `images/**` 전체가 `Git LFS` 대상이다. 대용량 이미지가 일반 Git 객체로 들어가지 않게 주의한다.
- `cardList.html``?series=<seriesKey>` 값을 기준으로 `./datas/${seriesKey}.js`를 동적 import 한다. 즉, 시리즈 키 불일치가 있으면 화면에서 바로 깨진다.
- 카드 이미지 렌더링은 최종적으로 `images/${seriesKey}/${fileName}` 규칙을 사용하므로, `imgSrc`에는 파일명 기준 일관성이 중요하다.
- 릴리즈 버전이 바뀌면 최소한 아래 두 곳은 함께 맞춘다.
- `index.html``<title>` 및 상단 배지
- `docs/spec.md`, `docs/update.md`, 필요 시 `docs/history.md`
## 품질 기준
- 신규 시리즈 반영 시 데이터 파일만 추가하고 번역 키를 빼먹지 않는다.
- 카드 번호(`Number`) 그룹과 실제 파일명 규칙이 시리즈 키와 일치해야 한다.
- 병렬 카드(`parallel: true`)는 일반 카드와 같은 카드 번호를 공유하되 이미지 파일만 다르게 유지한다.
- `trigger``null`, `COLOR`, `FINAL`, `SPECIAL`만 사용한다.
- AP 카드의 `color``AP`를 사용한다.
- 릴리즈 전에 `git diff --stat`으로 변경 범위를 보고, 데이터/번역/이미지 중 빠진 축이 없는지 확인한다.
## 작업 절차
1. 변경 요청이 신규 시리즈 추가인지, 기존 시리즈 수정인지 먼저 구분한다.
2. 관련 `datas/*.js``images/<series>/` 상태를 확인한다.
3. `i18n/translations.*.json`에 시리즈명 또는 UI 문구 변경이 필요한지 확인한다.
4. 화면에서 버전 표기를 바꿔야 하는 성격의 변경인지 판단한다.
5. `docs/update.md`에 이번 반영 내용을 남긴다.
6. 릴리즈성 변경이면 `docs/history.md` 또는 이 문서에도 기준 변화를 남긴다.
7. 커밋 전 `git status`, `git diff --stat`, 필요한 경우 간단한 구문 체크를 수행한다.
## 릴리즈 전 체크리스트
- `datas/<series>.js`가 실제로 import 가능한 형식인지 확인
- `images/<series>/` 파일이 데이터의 `imgSrc`와 대응되는지 확인
- `translations.ko/ja/en`에 시리즈 키가 모두 존재하는지 확인
- 버전 표기가 문서와 UI에서 일치하는지 확인
- `images/**`가 계속 LFS로 잡히는지 확인
- 커밋 메시지에 릴리즈 의도가 드러나는지 확인
## 커밋 메시지 가이드
- 릴리즈 커밋 예시: `v3.1.0: add ua51 series and handoff docs`
- 수정 커밋 예시: `fix: add missing ua49 parallel images`
- 되돌림 커밋 예시: `revert: restore original card list interactions`
## 주의할 점
- 이 저장소는 이미지 비중이 매우 크다. 원격 업로드 전에 대용량 변경이 의도된 것인지 다시 확인한다.
- 현재 문서 체계는 `docs/update.md`가 작업 로그, `docs/history.md`가 의사결정, `docs/spec.md`가 구조 명세 역할을 맡는다.
- 후속 작업자가 빠르게 맥락을 잡게 하려면, "무엇을 바꿨는지"보다 "왜 같이 바꿔야 하는지"를 문서에 남기는 편이 더 중요하다.

View File

@@ -1,5 +1,14 @@
# 의사결정 이력 # 의사결정 이력
## 2026-04-19 / v3.1.0 릴리즈 기준 확정
- 배경: 저장소의 마지막 명시 릴리즈 기록은 `v3.0.1`인데, 메인 화면은 이미 `v3.1`을 노출하고 있어 실제 릴리즈 이력과 화면 표기가 어긋나 있었다.
- 결정:
- 이번 반영분을 `v3.1.0`으로 정의하고, 화면 표기와 문서 표기를 같은 버전으로 통일한다.
- 이후 버전 증가는 `docs/update.md`에 먼저 기록한 뒤 화면 표기와 함께 반영한다.
- 이유:
- 외부 협업자나 후속 Codex 작업자가 "현재 배포 기준이 무엇인지" 즉시 판단할 수 있어야 한다.
- 자산 중심 정적 프로젝트 특성상 코드보다 데이터/이미지 변경이 잦기 때문에, 명시 릴리즈 기준이 없으면 누락 여부를 추적하기 어렵다.
## 2026-03-30 / 문서 체계 초기화 ## 2026-03-30 / 문서 체계 초기화
- 배경: 프로젝트 루트에 AI 작업 규칙은 있었지만 `docs/` 실체가 없어 규칙과 실제 운영 상태가 분리되어 있었다. - 배경: 프로젝트 루트에 AI 작업 규칙은 있었지만 `docs/` 실체가 없어 규칙과 실제 운영 상태가 분리되어 있었다.
- 결정: 규칙 문서가 요구하는 핵심 문서 6종을 먼저 생성하고, 이후 변경 시 이 파일들을 기준 문서로 유지한다. - 결정: 규칙 문서가 요구하는 핵심 문서 6종을 먼저 생성하고, 이후 변경 시 이 파일들을 기준 문서로 유지한다.

View File

@@ -1,7 +1,7 @@
# 기술 명세 # 기술 명세
## 1. 프로젝트 개요 ## 1. 프로젝트 개요
- 프로젝트명: `UADECK V3.1 - Union Arena Deck Builder` - 프로젝트명: `UADECK V3.1.0 - Union Arena Deck Builder`
- 형태: 정적 HTML/CSS/JavaScript 기반 덱 빌더 - 형태: 정적 HTML/CSS/JavaScript 기반 덱 빌더
- 패키지 의존성: `tailwindcss`, `@tailwindcss/cli` - 패키지 의존성: `tailwindcss`, `@tailwindcss/cli`
- 빌드 산출 스타일: `style/output.css` - 빌드 산출 스타일: `style/output.css`

View File

@@ -1,5 +1,20 @@
# 업데이트 이력 # 업데이트 이력
## 2026-04-19 / v3.1.0
### 수행 작업
- `datas/ua51.js`를 추가해 `ua51` 시리즈 데이터를 등록했다.
- `images/ua51/``나 혼자만 레벨업` 카드 이미지 자산을 반영했다.
- `images/ua49/`에 누락되어 있던 `마도정병의 슬레이브` 병렬 카드 이미지를 보강했다.
- `i18n/translations.ko.json`, `i18n/translations.ja.json`, `i18n/translations.en.json``ua51` 시리즈명을 추가했다.
- `index.html``docs/spec.md`의 버전 표기를 `v3.1.0`으로 통일했다.
- 다음 작업자가 동일한 기준으로 이어받을 수 있도록 `docs/codex-handoff.md`를 작성했다.
### 메모
- 이번 릴리즈는 신규 시리즈(`ua51`) 반영과 누락 자산 보강이 핵심이다.
- 배포 전에는 `datas/<series>.js`, `images/<series>/`, `i18n/translations.*.json` 세 축이 모두 맞물렸는지 반드시 함께 확인해야 한다.
- 이미지 자산은 계속 `Git LFS` 대상으로 유지한다.
## 2026-03-30 / docs-bootstrap-1 ## 2026-03-30 / docs-bootstrap-1
### 수행 작업 ### 수행 작업

View File

@@ -124,7 +124,8 @@
"ua46": "Kagurabachi", "ua46": "Kagurabachi",
"ua47": "Tokyo Ghoul", "ua47": "Tokyo Ghoul",
"ua48": "Kingdom", "ua48": "Kingdom",
"ua49": "Chained Soldier" "ua49": "Chained Soldier",
"ua51": "SOLO LEVELING"
}, },
"uapr": "UNION ARENA" "uapr": "UNION ARENA"
} }

View File

@@ -117,7 +117,8 @@
"ua46": "カグラバチ", "ua46": "カグラバチ",
"ua47": "東京喰種トーキョーグール", "ua47": "東京喰種トーキョーグール",
"ua48": "キングダム", "ua48": "キングダム",
"ua49": "魔都精兵のスレイブ" "ua49": "魔都精兵のスレイブ",
"ua51": "俺だけレベルアップな件"
}, },
"uapr": "UNION ARENA", "uapr": "UNION ARENA",
"CardList": { "CardList": {

View File

@@ -113,7 +113,8 @@
"ua46": "카구라바치", "ua46": "카구라바치",
"ua47": "도쿄 구울", "ua47": "도쿄 구울",
"ua48": "킹덤", "ua48": "킹덤",
"ua49": "마도정병의 슬레이브" "ua49": "마도정병의 슬레이브",
"ua51": "나 혼자만 레벨업"
}, },
"uapr": "UNION ARENA", "uapr": "UNION ARENA",
"CardList": { "CardList": {

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-001.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-002.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-003.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-004.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-005.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-006.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-007.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-008.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-009.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-010.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-011.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-012.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-013.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-014.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-015.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-016.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-017.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-018.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-019.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-020.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-021.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-022.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-023.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-024.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-025.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-026.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-027.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-028.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-029.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-030.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-031.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-032.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-033.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-034.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-035.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-036.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-037.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-038.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-039.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-040.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-041.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-042.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-043.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-044.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-045.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-046.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-047.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-048.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-049.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-050.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-051.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-052.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-053.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-054.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-055.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-056.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-057.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-058.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-059.png LFS Normal file

Binary file not shown.

BIN
images/ua51/UA51BT_SLG-1-060.png LFS Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More