From f8a5e4c44f83741e60786c1fb200a09775f81afa Mon Sep 17 00:00:00 2001 From: klaus Date: Thu, 25 Jun 2026 15:59:39 +0900 Subject: [PATCH] =?UTF-8?q?docs(content):=20=ED=81=AC=EB=A6=AC=EC=97=90?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EB=9E=AD=ED=82=B9=20rank=20=EB=B3=B4?= =?UTF-8?q?=EC=A0=95=EC=9D=84=20=EA=B8=B0=EB=A1=9D=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan-task.md | 33 +++++++++++++++++++ docs/20260608_크리에이터_랭킹_페이지/prd.md | 3 ++ 2 files changed, 36 insertions(+) diff --git a/docs/20260608_크리에이터_랭킹_페이지/plan-task.md b/docs/20260608_크리에이터_랭킹_페이지/plan-task.md index d1f0ed1b..7abf6426 100644 --- a/docs/20260608_크리에이터_랭킹_페이지/plan-task.md +++ b/docs/20260608_크리에이터_랭킹_페이지/plan-task.md @@ -344,6 +344,37 @@ --- +### Phase 9: rank-num 간격 시각 보정 + +- [x] **Task 9.1: rank 텍스트 하단 보정 회귀 테스트 추가** + - 수정: `app/src/test/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingAdapterLayoutTest.kt` + - 구현 내용: + - Large, Compact medium, Compact small, Horizontal variant의 순위 `TextView`가 `includeFontPadding=false`를 유지하는지 검증한다. + - 순위 `TextView`에 variant별 하단 padding이 적용되어 Pattaya glyph가 rank-num 영역에 붙어 보이지 않도록 검증한다. + - 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"` + - 기대 결과: production 수정 전 padding assertion이 실패한다. + +- [x] **Task 9.2: rank 텍스트 내부 하단 padding 보정** + - 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingLargeCardView.kt` + - 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingCompactCardView.kt` + - 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingHorizontalCardView.kt` + - 구현 내용: + - 기존 Figma 좌표값과 rank-num top/left는 변경하지 않는다. + - 순위 숫자 `TextView` 내부에 scale 기반 하단 padding을 적용해 폰트 glyph가 위쪽으로 보정되도록 한다. + - 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"` + - 기대 결과: RED 테스트가 `BUILD SUCCESSFUL`로 전환된다. + +- [x] **Task 9.3: 후속 검증과 문서 기록 누적** + - 실행: + - `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"` + - `./gradlew :app:mergeDebugResources` + - `./gradlew :app:ktlintCheck` + - 수정: `docs/20260608_크리에이터_랭킹_페이지/prd.md` + - 수정: `docs/20260608_크리에이터_랭킹_페이지/plan-task.md` + - 기대 결과: 모두 `BUILD SUCCESSFUL`, Verification Log 누적. + +--- + ## Verification Log - 2026-06-08: `superpowers:writing-plans` 지침, PRD `docs/20260608_크리에이터_랭킹_페이지/prd.md`, 기존 홈 추천 계획 문서, `fragment_v2_main_home.xml`, `HomeMainFragment`, `AppDI`, 기존 홈 추천 API/ViewModel, `creatorranking` 위젯 구조와 테스트 위치를 확인했다. - 2026-06-08: 이번 단계는 계획 문서 작성만 수행했으며 구현/빌드/테스트는 실행하지 않았다. @@ -366,3 +397,5 @@ - 2026-06-09: Phase 8.1 RED로 `CreatorRankingAdapterLayoutTest`의 순위 숫자 박스/순위 변화 표시 위치 기대값을 Figma `24:5658` 기준으로 갱신하고 실행했다. production 수정 전 1위/2~7위/8~10위 순위 박스, 11위 이후 rank group top, 1위/8~10위 rank-num 위치 assertion 6건 실패를 확인했다. - 2026-06-09: Phase 8.2로 `CreatorRankingLargeCardView`, `CreatorRankingCompactCardView`, `CreatorRankingHorizontalCardView`의 위치 계산을 Figma 기준으로 보정했다. 동일 `CreatorRankingAdapterLayoutTest`가 `BUILD SUCCESSFUL`로 전환됐다. New badge는 기존 PRD가 이미지 리소스 사용을 요구하고 `ic_rank_new.png`가 36x23으로 Figma 크기와 일치해 유지했다. - 2026-06-09: Phase 8.3 검증으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`, `./gradlew :app:mergeDebugResources`, `./gradlew :app:ktlintCheck`를 실행했다. 최초 ktlint에서 테스트 파일 불필요한 빈 줄 2건이 실패해 정리했고, 이후 `CreatorRankingAdapterLayoutTest`와 `ktlintCheck`가 `BUILD SUCCESSFUL`로 통과했다. Gradle deprecated feature warning은 기존 빌드 경고로 보고 수정하지 않았다. +- 2026-06-25: Phase 9.1로 `CreatorRankingAdapterLayoutTest`에 순위 `TextView`의 `includeFontPadding=false` 유지와 variant별 하단 padding(1위 10px, 2~7위 6px, 8~10위 5px, 11위 이후 4px) 검증을 추가했다. Phase 9.2로 기존 Figma 좌표와 rank-num top/left는 유지하고 순위 `TextView` 내부 하단 padding만 scale 기반으로 적용했다. +- 2026-06-25: Phase 9 검증 중 최초 병렬 Gradle 실행에서 Kotlin incremental cache 충돌과 timeout이 발생해 `./gradlew --stop`, `./gradlew clean` 후 순차 재실행했다. `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`, `./gradlew :app:mergeDebugResources`, `./gradlew :app:compileDebugKotlin`은 모두 `BUILD SUCCESSFUL`로 통과했다. `./gradlew :app:ktlintCheck`는 변경 파일이 아닌 기존 전역 위반(`Agora.kt`, `audio_content` package-name, 기존 `CreatorRankingAdapter.kt` 긴 줄 등)으로 실패했으며, `git diff --check`는 출력 없이 통과했다. diff --git a/docs/20260608_크리에이터_랭킹_페이지/prd.md b/docs/20260608_크리에이터_랭킹_페이지/prd.md index da6a14ef..58f0ac92 100644 --- a/docs/20260608_크리에이터_랭킹_페이지/prd.md +++ b/docs/20260608_크리에이터_랭킹_페이지/prd.md @@ -202,6 +202,9 @@ --- ## 13. Verification Log +- 2026-06-25: Figma `24:5659`의 rank component screenshot을 확인했다. rank 숫자와 rank-num은 좌표상 분리되어 있으나, 실제 구현에서는 `includeFontPadding=false`가 이미 적용된 상태에서도 Pattaya glyph가 고정 rank box 하단에 붙어 보여 rank-num과 시각적으로 붙는 문제가 발생할 수 있음을 확인했다. +- 2026-06-25: 후속 요구사항으로 크리에이터 랭킹 카드의 기존 Figma 위치값(`rank-num` top: 1위 116, 2~7위 70, 8~10위 50, 11위 이후 rank group 내부 배치)은 유지하고, 순위 숫자 `TextView` 내부 하단 padding만 보정해 폰트별 glyph 하단 차이가 rank-num 간격을 침범하지 않도록 한다. +- 2026-06-25: 크리에이터 랭킹 Large/Compact/Horizontal 카드에 scale 기반 하단 padding을 적용하고, `CreatorRankingAdapterLayoutTest`에서 `includeFontPadding=false`와 padding 값을 검증하도록 했다. `CreatorRankingAdapterLayoutTest`, `creatorranking.*`, `mergeDebugResources`, `compileDebugKotlin`은 통과했고, `ktlintCheck`는 기존 전역 위반으로 실패했다. - 2026-06-08: `docs/prd/sample-prd.md`, `docs/agent-guides/work-plan-docs.md`, 기존 크리에이터 랭킹 위젯 PRD, `CreatorRankingItem`, `CreatorRankingAdapter`, `CreatorRankingDeltaPresentation`, `RankingChangeType`, `HomeMainFragment`를 확인했다. - 2026-06-08: Figma `24:5654`의 design context와 screenshot을 확인했다. 화면에는 Capsule Tab bar가 포함되어 있으나 사용자 요구에 따라 PRD 범위에서 제외했다. - 2026-06-08: 이번 단계는 PRD 작성만 수행했으며 구현/빌드/테스트는 실행하지 않았다.