aboutsummaryrefslogtreecommitdiff
path: root/web/http
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-05-25 12:12:38 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2025-05-25 12:12:38 +0200
commit8dcdfd23ef6fedf89b8a485f6bb54974e5077881 (patch)
treee510a5bafbd9fc05b00c08a20daa8aa1247668db /web/http
parent238702e7dd860af59d22f33cbfe163f28c3beb4e (diff)
downloadnissy-core-8dcdfd23ef6fedf89b8a485f6bb54974e5077881.tar.gz
nissy-core-8dcdfd23ef6fedf89b8a485f6bb54974e5077881.zip
Oops forgot to add these files
Diffstat (limited to '')
-rw-r--r--web/http/solve.mjs33
-rw-r--r--web/http/worker.mjs11
2 files changed, 44 insertions, 0 deletions
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 @@
1var solveButton = document.getElementById("solveButton");
2var scrField = document.getElementById("scrambleText");
3var solutionText = document.getElementById("solution");
4var solverSelector = document.getElementById("solverSelector");
5
6var worker = new Worker("./worker.mjs", { type: "module" });
7worker.onmessage = (e) => {
8 updateResults(e.data);
9 enableSolveButton();
10};
11
12function updateResults(s) {
13 solutionText.innerText = s;
14}
15
16function disableSolveButton() {
17 solveButton.disabled = true;
18 solveButton.innerText = "Solving...";
19}
20
21function enableSolveButton() {
22 solveButton.disabled = false;
23 solveButton.innerText = "Solve!";
24}
25
26solveButton.addEventListener("click", () => {
27 disableSolveButton();
28 updateResults("Loading solutions...");
29 worker.postMessage({
30 solver: solverSelector.options[solverSelector.selectedIndex].value,
31 scramble: scrField.value
32 });
33});
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 @@
1import Nissy from "./nissy_web_module.mjs"
2
3const nissy = await Nissy();
4nissy.setLogger(nissy._addCallbackFunction(console.log));
5
6onmessage = (e) => {
7 var cube = new nissy.Cube();
8 cube.move(e.data.scramble);
9 nissy.solve(e.data.solver, cube, nissy.NissFlag.normal, 0, 17, 1, 99, 4, -1)
10 .then((sol) => postMessage(sol))
11};

Generated with cgit - Back to sebastiano.tronto.net