diff --git a/UPDATES.md b/UPDATES.md index 634cf74..84a4092 100644 --- a/UPDATES.md +++ b/UPDATES.md @@ -1,9 +1,15 @@ --- -updatedAt: 2026-09-09T12:00:00+09:00 +updatedAt: 2026-09-09T17:59:00+09:00 --- ## 2026년 9월 9일 +### 배치 분석·조합 탐색 결과 유지 및 변경 안내 + +`IMPROVED` 입력 조건이나 사용자 데이터가 바뀌어도 배치 분석 결과를 지우지 않고 이전 조건의 결과임을 표시합니다. 기존 점수·확률·그래프는 새 분석이 완료될 때까지 유지하며, 결과에 분석 당시 악곡·난이도·종합력을 함께 표시합니다. + +`FIXED` 다른 탭에서 사용자 데이터를 변경하면 조합 탐색에 이전 데이터 기준임을 표시합니다. 기존 결과와 진행 중인 탐색은 유지하며, 다시 탐색할 때 최신 보드·연결 카드·성장 데이터를 적용합니다. + ### 일부 악곡의 노트 타이밍·분류 수정 `FIXED` HoloHawk, Tri-Unity♡LoveSystem, Simulacre, Illusion Night, Mekurumeku Rendezvous의 영향받은 18개 난이도 채보를 수정했습니다. 롱노트 끝 중복으로 후반 노트가 누락되던 문제와 중간 판정 시각을 바로잡고, 롱노트 끝 플릭은 일반 노트와 같은 점수로 계산하도록 분류했습니다. diff --git a/src/lib/engine/analysis-result-retention.test.ts b/src/lib/engine/analysis-result-retention.test.ts new file mode 100644 index 0000000..cbbc31a --- /dev/null +++ b/src/lib/engine/analysis-result-retention.test.ts @@ -0,0 +1,80 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; +import { readFileSync } from 'node:fs'; +import { createContext, runInContext } from 'node:vm'; +import ts from 'typescript'; +import { compile } from 'svelte/compiler'; + +const page = readFileSync(new URL('../../routes/analysis/+page.svelte', import.meta.url), 'utf8'); +const script = page.match(/