From 8dcdfd23ef6fedf89b8a485f6bb54974e5077881 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 25 May 2025 12:12:38 +0200 Subject: Oops forgot to add these files --- web/http/solve.mjs | 33 +++++++++++++++++++++++++++++++++ web/http/worker.mjs | 11 +++++++++++ 2 files changed, 44 insertions(+) create mode 100644 web/http/solve.mjs create mode 100644 web/http/worker.mjs (limited to 'web/http') diff --git a/web/http/solve.mjs b/web/http/solve.mjs new file mode 100644 index 0000000..127e1e3 --- /dev/null +++ b/web/http/solve.mjs @@ -0,0 +1,33 @@ +var solveButton = document.getElementById("solveButton"); +var scrField = document.getElementById("scrambleText"); +var solutionText = document.getElementById("solution"); +var solverSelector = document.getElementById("solverSelector"); + +var worker = new Worker("./worker.mjs", { type: "module" }); +worker.onmessage = (e) => { + updateResults(e.data); + enableSolveButton(); +}; + +function updateResults(s) { + solutionText.innerText = s; +} + +function disableSolveButton() { + solveButton.disabled = true; + solveButton.innerText = "Solving..."; +} + +function enableSolveButton() { + solveButton.disabled = false; + solveButton.innerText = "Solve!"; +} + +solveButton.addEventListener("click", () => { + disableSolveButton(); + updateResults("Loading solutions..."); + worker.postMessage({ + solver: solverSelector.options[solverSelector.selectedIndex].value, + scramble: scrField.value + }); +}); diff --git a/web/http/worker.mjs b/web/http/worker.mjs new file mode 100644 index 0000000..5756598 --- /dev/null +++ b/web/http/worker.mjs @@ -0,0 +1,11 @@ +import Nissy from "./nissy_web_module.mjs" + +const nissy = await Nissy(); +nissy.setLogger(nissy._addCallbackFunction(console.log)); + +onmessage = (e) => { + var cube = new nissy.Cube(); + cube.move(e.data.scramble); + nissy.solve(e.data.solver, cube, nissy.NissFlag.normal, 0, 17, 1, 99, 4, -1) + .then((sol) => postMessage(sol)) +}; -- cgit v1.3