diff --git a/solitaire_server/e2e/scripts/cycle_metrics.js b/solitaire_server/e2e/scripts/cycle_metrics.js index fa29ab8..71149a5 100644 --- a/solitaire_server/e2e/scripts/cycle_metrics.js +++ b/solitaire_server/e2e/scripts/cycle_metrics.js @@ -103,6 +103,9 @@ async function main() { const policyArg = readArg("--policy", "loop_aware"); const policy = policyArg === "baseline" ? "baseline" : "loop_aware"; const outPath = readArg("--out", "/tmp/playwright-cycle-metrics.json"); + // --route play-classic (default) or --route play + const routeArg = readArg("--route", "play-classic"); + const route = routeArg === "play" ? "play" : "play-classic"; const maxCycleRateAll = parseOptionalNumber("--max-cycle-rate-all"); const maxCycleRateDraw1 = parseOptionalNumber("--max-cycle-rate-draw1"); const maxCycleRateDraw3 = parseOptionalNumber("--max-cycle-rate-draw3"); @@ -155,17 +158,19 @@ async function main() { } }); - await page.goto(`${baseUrl}/play-classic?seed=${seed}${suffix}`, { + await page.goto(`${baseUrl}/${route}?seed=${seed}${suffix}`, { waitUntil: "domcontentloaded", }); - const resumeVisible = await page - .locator("#resume-overlay:not(.hidden)") - .isVisible() - .catch(() => false); - if (resumeVisible) { - await page.evaluate(() => localStorage.removeItem("fs_game_save")); - await page.reload({ waitUntil: "domcontentloaded" }); + if (route === "play-classic") { + const resumeVisible = await page + .locator("#resume-overlay:not(.hidden)") + .isVisible() + .catch(() => false); + if (resumeVisible) { + await page.evaluate(() => localStorage.removeItem("fs_game_save")); + await page.reload({ waitUntil: "domcontentloaded" }); + } } await page.waitForFunction( diff --git a/solitaire_server/web/play.html b/solitaire_server/web/play.html index 9751687..9b0ca6f 100644 --- a/solitaire_server/web/play.html +++ b/solitaire_server/web/play.html @@ -14,7 +14,201 @@