From 907c11b0e6e083aef0bbd5e14391362a3c9b1944 Mon Sep 17 00:00:00 2001 From: dal4segno Date: Mon, 7 Sep 2026 13:55:55 +0900 Subject: [PATCH] feat: add leader rating song recommendations --- UPDATES.md | 10 +- offline/OfflineApp.svelte | 3 + src/lib/components/LeaderSongRanking.svelte | 446 ++++++++++++++++++++ src/lib/engine/song-rating.test.ts | 33 ++ src/lib/engine/song-rating.ts | 50 +++ src/routes/+layout.svelte | 1 + src/routes/+page.svelte | 9 +- src/routes/analysis/+page.svelte | 83 +++- src/routes/rating/+page.svelte | 5 + 9 files changed, 625 insertions(+), 15 deletions(-) create mode 100644 src/lib/components/LeaderSongRanking.svelte create mode 100644 src/lib/engine/song-rating.test.ts create mode 100644 src/lib/engine/song-rating.ts create mode 100644 src/routes/rating/+page.svelte diff --git a/UPDATES.md b/UPDATES.md index f4dabf3..d7cf959 100644 --- a/UPDATES.md +++ b/UPDATES.md @@ -1,9 +1,17 @@ --- -updatedAt: 2026-09-07T00:16:12+09:00 +updatedAt: 2026-09-07T13:44:23+09:00 --- ## 2026년 9월 7일 +### 리더 레이팅 곡 추천 + +`NEW` 상위 메뉴에 리더 레이팅 탭을 추가했습니다. 입력한 멤버 5명과 리더·의상·성장 설정으로 가창 대상 곡의 최적 배치를 계산해, 가창곡의 Hard·Expert를 각각 예상 고점 레이팅 순으로 최대 20개, 5개씩 확인할 수 있습니다. 가창 보너스는 모든 곡에 10%를 적용합니다. Hard·Expert 비교, 상위 3곡 합계, 계산 취소와 추천 곡의 상세 배치 확인을 지원합니다. + +리더와 분석 조건, 합산 레이팅과 상위 3곡을 요약해 보여주며, 모바일에서는 추천곡을 카드 형태로 확인할 수 있습니다. 계산 기준은 펼쳐서 확인할 수 있습니다. + +‘최대 컴퓨팅 자원 활용’을 켜면 기기의 논리 코어 수에 맞춰 여러 채보를 동시에 계산합니다. 동시 계산 수와 전체 진행률을 표시하며, 취소하거나 입력 조건을 바꾸면 모든 계산을 중단합니다. + ### 배치 분석의 인게임 1노트 점수 표시 `NEW` 배치 분석에서 기본 1노트 점수와 가창 보너스를 합산한 인게임 1노트 점수를 함께 확인할 수 있습니다. 일반 PERFECT·스킬/콤보 보너스 제외 기준이며, 가창 보너스 덮어쓰기 값도 즉시 반영합니다. diff --git a/offline/OfflineApp.svelte b/offline/OfflineApp.svelte index 5c06066..1cca795 100644 --- a/offline/OfflineApp.svelte +++ b/offline/OfflineApp.svelte @@ -4,6 +4,7 @@ import HomePage from '../src/routes/+page.svelte'; import CardsPage from '../src/routes/cards/+page.svelte'; import AnalysisPage from '../src/routes/analysis/+page.svelte'; + import RatingPage from '../src/routes/rating/+page.svelte'; import CombinationPage from '../src/routes/combination/+page.svelte'; import EventPage from '../src/routes/event/+page.svelte'; import DataPage from '../src/routes/data/+page.svelte'; @@ -18,6 +19,7 @@ ['/', HomePage], ['/cards', CardsPage], ['/analysis', AnalysisPage], + ['/rating', RatingPage], ['/combination', CombinationPage], ['/event', EventPage], ['/data', DataPage], @@ -78,6 +80,7 @@