10 로드맵 - kyhsa93/karda GitHub Wiki

10. 단계별 로드맵

10.1 원칙

  • **첫 마일스톤 B1은 "플레이 가능한 게임이 다시 생기는 최소 단계"**다. 기존 콘텐츠 제거(D13) 직후 게임에는 타이틀·설정·크레딧만 남는다. 가장 빨리 한 판을 할 수 있게 하는 길은 이미 완성된 아파치를 탈것으로 쓰는 빠른 점령전이다(보병·새 탈것은 그 뒤).
  • 마일스톤은 순서대로. 각 마일스톤 끝은 배포 가능한 상태: 그때까지 만든 것만으로 한 판이 처음부터 끝까지 돌아가고, 아직 없는 선택지는 전장 설정·배치 화면에서 "준비 중"으로 보인다.
  • 작업 ID 하나 = 커밋(또는 PR) 하나. 크면 B2-7a, B2-7b로 쪼갠다. 이슈마다 이 표의 목표·완료 조건·선행을 옮긴다.
  • 모든 작업: npm run check 통과 + 회귀 기준(남은 아파치 계통 테스트, sw.test.ts, 전장 결정론 테스트) 통과. 렌더·UI 작업은 헤드리스 스크린샷으로 직접 확인. 수치 작업은 하니스·벤치 결과표를 이슈에 첨부.
  • 작업 ID는 B1~B10. 풀 배틀필드(D1)라 작업이 많다(92개). 수를 줄이려 뭉치지 않고, 대신 마일스톤마다 게임이 한 겹씩 넓어지게 순서를 잡았다.
  • 외부 에셋 후보 조사 작업(B2-15·B6-5·B7-10 등)은 비차단이다 — 모든 기능은 코드 폴백으로 완결된다.
  • 사람 관문(O5): 마일스톤마다 소유자가 기기에서 한 판 해 보고 메모(녹화 또는 스크린샷 3장)를 남기기 전에는 다음 마일스톤을 시작하지 않는다. 첫 적용은 B1-16(#101).
  • P0 띠는 완료 조건이다(O4): B3 병과·B4 이후 탈것 작업은 그 역할의 영향력이 비전 1.3의 P0 띠를 통과해야 끝난다.
  • 역할 수치 동결(O11): 역할 공정 비교 하니스(#193)가 나오기 전에는 어느 역할의 수치도 조정하지 않는다.

10.2 의존 관계

(제거 작업 D13 완료)
  └→ B1 다시 플레이 가능: 아파치 빠른 점령전
       └→ B2 보병: 돌격병
            └→ B3 병과 4종
                 └→ B4 지상 탈것
                      └→ B5 대규모 점령전
                           ├→ B6 헬기 확장(수송·VPA 헬기)
                           ├→ B7 전투기
                           └→ B8 진행(기록·평점·숙련·오늘의 전장)
                                     └────────┬───────┘
                                              └→ B9 콘텐츠(맵 2·3, 돌파, 작전)
                                                   └→ B10 완성도
  • B6·B7·B8은 B5 뒤라면 서로 순서가 무관하다. 권장 순서는 B6 → B7 → B8(조종 가능한 탈것을 먼저 채워 D1·D8 대칭을 빨리 완성).

10.3 마일스톤 요약

마일스톤 목표 배포 조건 (마일스톤 완료 조건) 선행 작업 수
B1 다시 플레이 가능 하레크 계곡 빠른 점령전(거점 3)을 아파치로 처음부터 끝까지. 봇은 양 진영 지상군, 게임식 HUD, 전장 안 첫 경기 안내 Pages 배포본에서 타이틀 → 3탭 → 한 판 완주(소유자 확인) / 하니스 idle 3050%·proxy ≥ 60% / 한 판 812분 제거 작업 16
B2 보병 플레이어가 돌격병(1인칭)으로 싸우고 점령한다. 코드 인형, 진영 선택(VPA 보병) 보병만으로 한 판 완주 / 엄폐 생존 ≥ 노출의 2배 / 양 진영 결정론 B1 16
B3 병과 4종 돌격·공병·지원·정찰 + 장비, 봇 분대 병과 병과 4종 모두 배치 화면에서 선택·사용 / 병과 대리 승률 차 ≤ 10%p B2 8
B4 지상 탈것 전차·장갑차·경차량·트럭·방공 차량 조종, 봇 자동 탑승 탈것 5종 손맛 목록 전부 / 탈것 풀·재생성 동작 B3 11
B5 대규모 점령전 7거점 대규모(D4 기본), 봇 헬기·공중 강습, 지원 요청·집중 거점(D5) 한 판 18~28분 / 데스크톱 성능 예산 / 모바일 low 측정 결과표(A9 자료) B4 8
B6 헬기 확장 수송 헬기 조종, VPA 공격 헬기 조종(D8 대칭 헬기 완성) 양 진영 헬기 슬롯 전부 조종 가능 / 아파치 동작 불변 B5 5
B7 전투기 외곽 공역, 전투기 조종·무장, 봇 전투기, 대공 위협(D7) 저공 헬기 잠금 0회 / 전투기 손맛 목록 / 한 판 길이 유지 B5 11
B8 진행 저장, 점수·평점, 계급·숙련(기록·도색), 리본, 오늘의 전장 경기 결과가 저장되고 복무 기록에 쌓임 B5 6
B9 콘텐츠 맵 2·3, 돌파, 작전 맵 3개 × 경기 방식 하니스 기준 통과 B7, B8 5
B10 완성도 모바일 실기기, 밸런스, 번들 검사, 접근성, 문서, 에셋 교체 소유자 기기 30fps / 번들 예산 테스트 / docs/design 개정 B9 6
합계 92

B1. 다시 플레이 가능 — 아파치 빠른 점령전

목표: 제거 직후의 빈 게임에 플레이할 수 있는 전장 한 판을 돌려놓는다. 탈것은 아파치 하나(연합), 봇은 양 진영 지상군(보병·차량·방공), 적 헬기·수송 헬기·탑승은 아직 없다.

ID 작업 목표 완료 조건 선행
B1-1 제거 결과 확인·기준선 기술 설계 9.0의 가정을 실제 코드로 확정하고 번들·테스트 기준선을 잡는다 9.0 표 갱신 / vite build 크기 기록(제거로 줄어든 KB) / 회귀 기준 테스트 목록 문서화 제거 작업
B1-2 전장 훅·아키텍처 규칙 World.battleHooks(10Hz·1Hz 주입점), 전장 코드 지연 청크 arch.test.ts "world.ts는 ./battle import 금지" / 훅 없는 월드 스텝 결과 해시가 변경 전과 동일 B1-1
B1-3 무기 대상 구분·유닛 표 대칭 무기 vs·penetration, 대칭 신규 유닛 정의, 분대 인원 5 잘못된 vs 검증 오류 테스트 / 연합·VPA 같은 분류 수치 동일 테스트 B1-1
B1-4 봇 표적 일반화 TargetRef, stepBattleBrains, targeting.ts(후보 ≤ 4·상성·id % 10), LosCache 쌍 키 봇 AI 5.9 테스트 1·2·7 B1-2, B1-3
B1-5 봇 대 봇 사격 combat.ts 통계 판정·관통·인원 비례·fire 이벤트 반경 진영·병과·탈것 4.3 교전 5개가 20시드 평균으로 기대 시간 ±40% B1-4
B1-6 전장 맵 스키마 + 하레크(빠른) schema.ts, battleTerrain, harek.json(quick), 생성 도구, 전투 구역 스키마 오류 경로 테스트 / 전장 맵 6.2 원칙 14·6·7·9·1113 / 지형 스크린샷 B1-2
B1-7 아바타 v1 + BattleRuntime + 리스폰 PlayerBody(AI가 world.player 직접 참조 제거), 아바타 heli/dead, deploy 모드, spawnAvatar, 전투 구역 경계 규칙(A3) 사망 → deploy → 출격 테스트 / deploy 중 월드 시간 흐름 테스트 / 아파치 계통 테스트 통과 / 경계 이탈 10초 사망 테스트 B1-6
B1-8 거점·티켓·승패 conquest.ts, modes.json 5.9 테스트 3 / 출혈(1개 열세 분당 6) / 손실 티켓 / 시간 제한·무승부 테스트 B1-7
B1-9 편제·파도 스폰(지상) roster.ts·spawner.ts·rosters.json(빠른, 지상만) 30초 파도 / 티켓 없으면 스폰 안 함 / 활성 유닛 ≤ 150 테스트 B1-5, B1-8
B1-10 소대·지휘관 v1 platoon.ts(하차 없음), commander.ts(효용·예비·흔들림 방지·안개), setGroupRoute 5.9 테스트 4·5 / 대기 지점에서 멈췄다가 슬롯으로 들어가는 테스트 B1-9
B1-11 전장 HUD v1 + 깃발 티켓 바·거점 줄·미니맵(음영)·거점/아군/발견된 적 표식·처치 알림·무전 한 줄, 깃발 기둥 스크린샷(1280×720·844×390) / 발견 전 적 표식 없음·가시선 없으면 숨김 테스트 / IHADSS와 겹치지 않음 스크린샷 B1-8
B1-12 최소 메뉴 타이틀 전장, 전장 설정(하레크 빠른·연합·난이도), 배치(본진 FARP·공중 투입·아파치 프리셋 3·10초 대기), 결과(승패·티켓·처치), 해시 라우팅 화면별 스크린샷 3뷰포트 / 타이틀 → 출격 3탭 / 경기 중 새로고침 → 전장 설정 B1-7
B1-13 첫 경기 안내 v1 첫 실행 기본값, 조작 카드(아파치), 코치(전장 규칙·아파치), 조종 보조 기본 켬, 사망 팁 코치가 한 번만 나오는 테스트(저장 tips) / 스크린샷 B1-11, B1-12
B1-14 잔해 은퇴 + 규모 측정 v1 world.retire(90초), battle-bench.ts 유닛 500 생성·사망 후 units.length ≤ 150 / sim 평균 ≤ 1ms/프레임·AI 틱 최악 ≤ 2ms — 결과표 B1-9
B1-15 하니스 v1 + 1차 밸런스 battle-harness.ts(idle·proxy — 대리는 air.ts), 수치 JSON 반영 20시드: 한 판 중앙값 812분 / idle 3050% / proxy ≥ 60% / 80% 시드에서 거점마다 소유 변경 ≥ 1 B1-10, B1-14
B1-16 첫 배포 점검 경로별 번들 크기 기록(경고), docs/design 01·09장을 전장 기준으로 1차 개정, 로드맵 체크 npm run check / 배포본 한 판 완주(소유자) B1-13, B1-15

B2. 보병 — 돌격병으로 싸운다

목표: 플레이어가 1인칭 돌격병으로 스폰해 걷고, 쏘고, 거점을 점령한다. 봇 보병은 코드 인형으로 보인다. 진영 선택이 열린다.

ID 작업 목표 완료 조건 선행
B2-1 아바타 v2 + 역할별 입력 soldier 아바타, input/roles.ts, 포인터 잠금 보병 스폰·사망·헬기 ↔ 보병 전환 테스트 / 입력 세트 전환 테스트 B1-16
B2-2 보병 이동·충돌 soldier.ts: 속도·지구력·경사·물·낙하·충돌·탈것에 치임 보병 12.3 수치 테스트 / 나무·민가·교량 충돌 테스트 B2-1
B2-3 엄폐 소품 + 가시선 거점 소품 배치(채택 CC0), 충돌, LosCache 소품 검사 원칙 5 콘텐츠 테스트 / 소품 뒤 가시선 차단 테스트 / 스크린샷 B2-2
B2-4 1인칭 카메라·뷰모델·조준경 시야각·조준경 전환, 뷰모델 별도 장면 스크린샷(지향·조준경) / 벽 앞에서 뷰모델이 뚫지 않음 스크린샷 B2-1
B2-5 돌격소총·유탄 실제 발사체, 반동·퍼짐(world.rng), 재장전 발사율·탄창·재장전 테스트 / 퍼짐 결정론 테스트 B2-4
B2-6 분대원 개별화 squad.ts 슬롯·체력, 캡슐·머리 판정, 300m 판정 LOD 5.9 테스트 10 / 헤드샷 ×2 테스트 / 300m 밖은 분대 단위 판정 테스트 B2-5
B2-7 코드 인형 v1 puppets.ts 부위 7·절차 애니메이션·진영 모양·LOD 4단계·협각 예외 드로우콜 +11 이하 / 상태·LOD별 스크린샷 / 조준경 협각에서 1.5km 인형 보임 테스트 B2-6
B2-8 봇 ↔ 플레이어 보병 교전 soldierAwareness, 분대원 사격, 난이도 배율 5.9 테스트 8 / 12.5 교전 표 20시드 ±40% B2-6
B2-9 보병 점령·스폰 세력 0.6, 거점·분대 스폰, 사망 티켓 1, 대기 10초 혼자 점령 42초 테스트 / 스폰 조건 테스트 B2-8
B2-10 보병 HUD 체력·탄약·장비·자세, 조준선·명중·피격 방향, 스폿 키, 미니맵 150m 스크린샷 / 스폿 10초·봇 표적 공유 테스트 B2-9
B2-11 보병 조작(패드·터치) + 조준 보조 보병 12.8 터치 대상 ≥ 48px 테스트 / 844×390 스크린샷 / 조준 보조 끄기 B2-10
B2-12 진영 선택 v1 전장 설정 진영, VPA 보병 외형·문자열, VPA의 공격 헬기 슬롯 "준비 중"(A8) 양 진영 결정론 테스트 / 5.9 테스트 12 / 스크린샷 B2-9
B2-13 첫 사용 안내: 보병 공통 조작 카드·코치, 첫 경기 기본 병과 = 돌격 tips 한 번 / 스크린샷 B2-11
B2-14 보병 소리 폴백(기존 클립 가공) 구현 + 후보 조사 오디오 목 테스트 / 조사표 이슈 첨부 B2-5
B2-15 보병 애니메이션 에셋 후보 조사 외부 에셋 16.4 표 조사표 이슈 첨부, A4 결정 요청 (비차단) B2-7
B2-16 하니스 v2(보병) --player soldier 대리 20시드: soldier 대리 승률 ≥ 55%(추정) / 엄폐 대 노출 생존 ≥ 2배 / 한 판 8~12분 유지 B2-8, B2-9

B2.5 선행 묶음 (2026-10-03 디렉션 결정 O7)

B3를 시작하기 전에 한다. 없이 B3를 하면 새 병과도 거점에 못 닿고 측정은 다시 0을 잰다(비전과 방향 5장).

이슈 작업 결정
#196 디렉션 결정 문서 반영 O3·O4·O5·O7·O11·O13
#190 이름 "카르다 전선" — 입구 전부 + 이름 일치 테스트 O1·O8
#195 라이선스 고지 3건 O7
#194 첫 로드 정리(아파치 소리·안 쓰는 모델) + 재유입 검사 O7
#187 경사 45° + 공통 경사 함수, 못 오르는 곳 바위색 O6
#192 전방 집결지 + 맵 도달 검사 O9
#193 역할 공정 비교 하니스(P0 판정) O3
#191 저장소·주소 karda로 이전 O2
#101 사람 관문 첫 적용 O5

B3. 병과 4종

목표: 돌격·공병·지원·정찰을 배치 화면에서 골라 서로 다른 역할을 한다. 봇 분대에도 병과가 생긴다.

ID 작업 목표 완료 조건 선행
B3-1 병과 틀 classes.json, 장비 슬롯, 배치 화면 병과 선택 병과 전환 테스트 / 스크린샷 B2-16, B2.5 선행 묶음
B3-2 돌격 장비 구급 상자(회복·분대원 복귀), 연막(봇 가시선 차단) 회복량·복귀 주기 테스트 / 연막 뒤 봇 사격 불가 테스트 B3-1
B3-3 공병 장비 카빈, 대전차 로켓, 수리 도구, 대전차 지뢰, 측·후면 배율 로켓 탄도·배율 테스트 / 수리 +20/s·과열 / 지뢰가 아군에 안 터짐 B3-1
B3-4 지원 장비 경기관총, 탄약 상자, 휴대용 대공(stinger 재사용) 엎드림 퍼짐 절반 / 탄약 부족 해제 / 잠금 1.5초·플레어 회피 테스트 B3-1
B3-5 정찰 장비 저격소총, 쌍안경, 레이저 지시(remoteLasers), 스폰 비콘 숨 참기·흔들림 / 스폿 20초 / 레이저 지시 20초 안 봇 공격 헬기 1순위 테스트(B5 전에는 봇 헬기 없음 → 테스트 월드에 직접 배치) / 비콘 스폰 B3-1
B3-6 봇 분대 병과 대전차·기관총·대공·저격 봇 분대, 탄약 부족 상태, 봇 저격조 레이저 5.3 상성 테스트 / 4.3 교전 표 B3-2~B3-5
B3-7 첫 사용 안내: 병과 4 병과별 조작 카드·코치 tips / 스크린샷 B3-5
B3-8 병과 밸런스 표 12.4·12.5 수치 측정·조정 역할 공정 비교 하니스(#193): 병과마다 P0 띠 통과, 병과별 대리 승률 차 ≤ 10%p(추정) — 결과표. 뷰모델은 코드(O13) B3-6
B3-9 자동 집중 거점(#197) 제거 구현해서 100시드씩 켬/끔 비교: 연합 51→50%, VPA 58→53% — 효과 없음, O10대로 제거(2026-10-03) — —

B4. 지상 탈것

목표: 전차·장갑차·경차량·수송 트럭·방공 차량을 조종하고, 봇 분대를 태워 나른다.

ID 작업 목표 완료 조건 선행
B4-1 탈것 공통 아바타 v3, 탑승·하차·좌석, 탈것 풀·재생성 타이머, 배치 화면 탈것 슬롯, 빈 탈것 60초 회수, 3인칭 추적·조준경 카메라 탑승·하차·좌석 테스트 / 풀 타이머 테스트 / 회수 테스트 B3-8
B4-2 지상 차량 조종 모델 ground.ts 궤도·바퀴·경사·도하·충돌 지상 탈것 13.2 항목별 테스트 / 결정론 B4-1
B4-3 전차 포탑 분리(모델 가공 조사 포함), 주포 2탄종·동축·연막, 측·후면, 조준경 2단·거리계 2.4 전차 손맛 목록 / 13.8 교전 표 / 스크린샷 B4-2
B4-4 장갑차 30mm, 유선 대전차 미사일(조준선 유도), 탑승석 조준선이 벗어나면 빗나가는 테스트 / 교전 표 B4-3
B4-5 경차량·수송 트럭 좌석 전환·사수석, 트럭 탑승석 운전자 없으면 정지 / 좌석 전환 / 교전 표 B4-2
B4-6 봇 자동 탑승·하차 cargo.ts(봇 탈것 + 플레이어 탈것), 봇 AI 5.4 규칙 5.9 테스트 9 / 봇 트럭 하차 테스트 B4-5
B4-7 방공 차량 레이더 잠금·선도 조준점 선도 조준점 정확도 테스트 / 교전 표 B4-3
B4-8 탈것 HUD·조작 13.7 표, 차체·포탑·재장전 HUD 터치 ≥ 48px / 스크린샷 3뷰포트 B4-3
B4-9 기동 불능·수리·재보급 20% 불, 본진·FARP 수리 불·수리·재보급 테스트 B4-2
B4-10 탈것 소리 폴백 + 후보 조사 오디오 목 테스트 / 조사표 B4-3
B4-11 첫 사용 안내 + VPA 외형 지상 탈것 코치, VPA 색·코드 부품 tips / 양 진영 스크린샷 B4-8

B5. 대규모 점령전

목표: D4 대규모 기본 — 7거점 점령전, 인형 180, 봇 헬기와 공중 강습, 지원 요청·집중 거점.

ID 작업 목표 완료 조건 선행
B5-1 하레크 7거점 + 거점 효과 conquest 모드, farp·radar 6.2 원칙 전부 / radar 테스트 / 거점 FARP 스폰 조건 테스트 B4-11
B5-2 대규모 편제 대규모·표준 편제(대칭), 플레이어 진영 보정, 난이도 편제 배율 편제 대칭 테스트 / sim 유닛 최대 ≤ 134 검증 B5-1
B5-3 인형 LOD 완성 인스턴스 상한·단계 낮춤(기술 설계 9.5) 인형 190에서 드로우콜·삼각형 기록 / LOD 스크린샷 B5-2
B5-4 봇 항공 air.ts 표적 일반화, 수송 헬기 공중 강습, 대공 대 헬기 통계 5.9 테스트 6 / 4.3 대공 교전 ±40% B5-2
B5-5 지원 요청 + 집중 거점(D5) requests.ts, 무전 메뉴. 자동 집중(플레이어 위치 기본값)은 B3-9로 당겨짐(O10), 여기서는 수동 지정 요청 조건·쿨다운 / +300 / 효용 +0.8·90초 쿨다운 테스트 / 스크린샷 B5-1
B5-6 먼 전장 소리 1.5km 밖 이벤트 믹서 오디오 목(상한 6·감쇠) B5-2
B5-7 성능 측정 v2 + 모바일 조정 단계 대규모 벤치, 헤드리스 모바일 뷰포트 low 측정, 렌더 단계적 축소 구현 데스크톱 sim ≤ 4ms·드로우콜 ≤ 200 / low 드로우콜 ≤ 120·삼각형 ≤ 350k — 결과표(A9 자료) B5-3, B5-4
B5-8 하니스 v3(대규모) popup·hover, 양 진영 1828분 / idle 3050% / P0 띠(역할마다, 100시드 구간 판정 — O3) / popup 생존 > hover × 2 B5-4, B5-5

B6. 헬기 확장

목표: 수송 헬기 조종, VPA 공격 헬기 조종 — 양 진영 헬기 슬롯을 모두 연다(D8 대칭 헬기 완성).

ID 작업 목표 완료 조건 선행
B6-1 기체 정의 주입 + 수송 헬기 AirframeDef(아바타 v4), transport.json, 조종석·HUD, 헬기 봇 자동 탑승 아파치 스텝 해시 불변 / 탑재 무게 추력 테스트 / 착지 하차 테스트 / 스크린샷 B5-8
B6-2 VPA 공격 헬기 조종 계단식 조종석·조준 유리 HUD·이름표·소리 피치 무장·센서 수치가 아파치와 같은 테스트 / 스크린샷 / "준비 중" 해제(A8) B6-1
B6-3 VPA 수송 헬기 외형·헬기 슬롯 양 진영 헬기 슬롯 전부 슬롯 테스트 / 스크린샷 B6-1
B6-4 첫 사용 안내: 헬기 2종 수송 헬기·VPA 헬기 코치 tips B6-2
B6-5 수송 헬기 모델 후보 조사 16.4 표 조사표 (비차단) B6-1

B7. 전투기

목표: 처음부터 조종 가능한 전투기(D7) — 외곽 공역, 무장, 봇 전투기, 대공 위협과 P2.

ID 작업 목표 완료 조건 선행
B7-1 외곽 공역 + 경계 원경 지형 링(A2), 경계 10초, 원거리 평면 12km·안개 생성 ≤ 0.2초 / 경계 테스트 / 드로우콜 +4 이하 / 스크린샷 B5-8
B7-2 비행 모델 + 조종 보조 jet/flight.ts, 아바타 v5 실속·G·최고 속도·선회율 테스트 / 보조 수평 복귀 / 결정론 B7-1
B7-3 조종석·HUD 2종 코드 조종석, 캔버스 HUD 스크린샷(두 진영) B7-2
B7-4 기관포·공대공 선도 조준점, stinger 시커, 지면 클러터 지면 30m 이하 헬기 잠금 0회 테스트 / 선도 조준점 정확도 B7-2
B7-5 공대지·로드아웃 폭탄 CCIP, 공대지 미사일(조준 포드 = TADS 뷰), 레이저 유도 폭탄 CCIP 탄착 오차 테스트 / 공격 주기 테스트 B7-4
B7-6 출격·재보급 회랑·손실 공중 스폰, 회랑 재보급 회랑 재보급 테스트 / 원칙 14 콘텐츠 테스트 B7-2
B7-7 봇 전투기 jetAi.ts 제공·대지 대지 120초 주기 / 저공 헬기 무시 / 비용 < 0.01ms B7-4
B7-8 대공 위협 + P2 하니스 방공 → 플레이어 전투기 실제 미사일, 100m 이하 발견 규칙 하니스: 전투기 대리 vs 저공 헬기 잠금 0 / 방공 회피 테스트 B7-7
B7-9 전투기 조작 전투기 15.9, 마우스 조종 모드 터치 ≥ 48px / 스크린샷 B7-3
B7-10 전투기 모델·제트 소리 폴백 소리 + 후보 조사 오디오 테스트 / 조사표 (비차단) B7-3
B7-11 첫 사용 안내: 전투기 코치 4단계 tips B7-9

B8. 진행

목표: 캠페인 없이 "한 판 더"의 이유 — 기록·평점·계급·숙련·리본·오늘의 전장(진행과 보상).

ID 작업 목표 완료 조건 선행
B8-1 BattleSave v1 + 복무 기록 새 키 heli-battle-v1 저장·로드·손상 필드 복구 테스트 B5-8
B8-2 점수·기여도 + 경기 후 보고 score.ts, 티켓 추이 그래프, 오사 감점(D9) 7.2 항목별 테스트 / 스크린샷 B8-1
B8-3 평점 문턱 확정 하니스 분포 → 중앙값 B·상위 20% A·상위 5% S 결과표 B8-2
B8-4 계급·숙련 7.4·7.5 — A6 결정으로 장비는 모두 처음부터 열림, 숙련은 기록·도색만 레벨 경계 테스트 / 모든 장비가 첫 경기부터 선택 가능한 테스트 / 숙련 레벨별 도색 보상 테스트 B8-2
B8-5 리본 20종 조건별 테스트 B8-2
B8-6 오늘의 전장 날짜 → 시드(UI 층) 같은 날짜 → 같은 설정 / 연속 일수 테스트 B8-1

B9. 콘텐츠

ID 작업 목표 완료 조건 선행
B9-1 맵 2 베로스 저수지 주간·야간·안개 원칙 테스트 / 하니스 18~28분 B7-8
B9-2 돌파 규칙 구역·잠금·본진 전진·수비 파도, 공격/수비 선택 구역 붕괴·잠금·+200 / 수비 파도 3회 테스트 B5-8
B9-3 맵 3 카르다 고개 돌파 전용 원칙 테스트 / 하니스 공격 proxy 50~70%·idle ≤ 30% B9-2
B9-4 작전 새 작전 지도 UI, 진영 선택 진행·재시도 저장 테스트 / 스크린샷 B8-1, B9-1, B9-3
B9-5 (선택) artillery 거점 효과 효과 테스트 B9-1

B10. 완성도

ID 작업 목표 완료 조건 선행
B10-1 모바일 실기기 + 조정 확정 A9 결정 반영 소유자 기기 30fps 확인 B9-4
B10-2 밸런스 패스 난이도 3 × 맵 3 × 진영 2 결과표 B10-1
B10-3 경로별 번들 검사 A1 수치를 테스트로 빌드 산출 크기 테스트 B9-4
B10-4 접근성 점검 모양 구분·글자·터치 대상 a11y.test.ts 통과 / 점검 목록 이슈 B10-1
B10-5 기획 문서 최종 반영 docs/design 전면 개정(비전·기둥·예산·채택 에셋·로드맵) 문서 리뷰 B10-2
B10-6 채택 에셋 교체 A4 결과 반영(인형 근거리 LOD·전투기·수송 헬기 모델·소리) 교체 후 예산·스크린샷 / 채택 없으면 닫음 B10-1