diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2025-05-25 12:12:38 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2025-05-25 12:12:38 +0200 |
| commit | 8dcdfd23ef6fedf89b8a485f6bb54974e5077881 (patch) | |
| tree | e510a5bafbd9fc05b00c08a20daa8aa1247668db | |
| parent | 238702e7dd860af59d22f33cbfe163f28c3beb4e (diff) | |
| download | nissy-core-8dcdfd23ef6fedf89b8a485f6bb54974e5077881.tar.gz nissy-core-8dcdfd23ef6fedf89b8a485f6bb54974e5077881.zip | |
Oops forgot to add these files
| -rw-r--r-- | web/http/solve.mjs | 33 | ||||
| -rw-r--r-- | web/http/worker.mjs | 11 |
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 @@ | |||
| 1 | var solveButton = document.getElementById("solveButton"); | ||
| 2 | var scrField = document.getElementById("scrambleText"); | ||
| 3 | var solutionText = document.getElementById("solution"); | ||
| 4 | var solverSelector = document.getElementById("solverSelector"); | ||
| 5 | |||
| 6 | var worker = new Worker("./worker.mjs", { type: "module" }); | ||
| 7 | worker.onmessage = (e) => { | ||
| 8 | updateResults(e.data); | ||
| 9 | enableSolveButton(); | ||
| 10 | }; | ||
| 11 | |||
| 12 | function updateResults(s) { | ||
| 13 | solutionText.innerText = s; | ||
| 14 | } | ||
| 15 | |||
| 16 | function disableSolveButton() { | ||
| 17 | solveButton.disabled = true; | ||
| 18 | solveButton.innerText = "Solving..."; | ||
| 19 | } | ||
| 20 | |||
| 21 | function enableSolveButton() { | ||
| 22 | solveButton.disabled = false; | ||
| 23 | solveButton.innerText = "Solve!"; | ||
| 24 | } | ||
| 25 | |||
| 26 | solveButton.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 @@ | |||
| 1 | import Nissy from "./nissy_web_module.mjs" | ||
| 2 | |||
| 3 | const nissy = await Nissy(); | ||
| 4 | nissy.setLogger(nissy._addCallbackFunction(console.log)); | ||
| 5 | |||
| 6 | onmessage = (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 | }; | ||
