commit 8dcdfd23ef6fedf89b8a485f6bb54974e5077881
parent 238702e7dd860af59d22f33cbfe163f28c3beb4e
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date: Sun, 25 May 2025 12:12:38 +0200
Oops forgot to add these files
Diffstat:
2 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/web/http/solve.mjs 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
@@ -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))
+};