feat: complete placement analysis workflow

This commit is contained in:
2026-08-18 14:22:04 +09:00
parent dd3ea911f6
commit 7b713bffe3
452 changed files with 97115 additions and 24 deletions
+33
View File
@@ -0,0 +1,33 @@
/// <reference lib="webworker" />
import { optimizeExactOrderAndCooldowns } from '../engine/index.ts';
import type { ExactOptimizeOptions, ExactSongChart, OptimizerCard } from '../engine/index.ts';
type OptimizeRequest = {
type: 'optimize-exact';
cards: OptimizerCard[];
chart: ExactSongChart;
perfectNoteScore: number;
directSongScoreBonusPercent?: number;
};
self.onmessage = (event: MessageEvent<OptimizeRequest>) => {
if (event.data.type !== 'optimize-exact') return;
try {
const options: ExactOptimizeOptions = {
perfectNoteScore: event.data.perfectNoteScore,
directSongScoreBonusPercent: event.data.directSongScoreBonusPercent,
onProgress: (progress) => self.postMessage({ type: 'progress', progress })
};
const result = optimizeExactOrderAndCooldowns(event.data.cards, event.data.chart, options);
self.postMessage({ type: 'result', result });
} catch (error) {
self.postMessage({
type: 'error',
message: error instanceof Error ? error.message : '분석 중 알 수 없는 오류가 발생했습니다.'
});
}
};
export {};