From 33a6dd09c04e34749b784cf6931ca0b1a31f9581 Mon Sep 17 00:00:00 2001 From: rojonaitor Date: Mon, 1 Jan 2024 08:51:59 -0600 Subject: [PATCH] refactor: scramble display --- package-lock.json | 73 +++++++++++++++++++ package.json | 1 + src/app/layout.tsx | 5 -- .../scramble-display/ScrambleDisplay.tsx | 48 +++++++++--- src/components/solves/ModalSolve.tsx | 10 +-- src/interfaces/cubeCollection.ts | 2 + src/lib/createScrambleImage.ts | 8 -- src/lib/cubeCollection.ts | 11 +++ 8 files changed, 130 insertions(+), 28 deletions(-) delete mode 100644 src/lib/createScrambleImage.ts diff --git a/package-lock.json b/package-lock.json index d1a48bb8..5dbb1744 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@types/react": "18.2.21", "@types/react-dom": "18.2.7", "autoprefixer": "10.4.15", + "cubing": "^0.44.1", "date-fns": "^2.30.0", "eslint": "8.49.0", "eslint-config-next": "13.4.19", @@ -491,12 +492,38 @@ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, + "node_modules/@types/stats.js": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", + "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==" + }, + "node_modules/@types/three": { + "version": "0.157.2", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.157.2.tgz", + "integrity": "sha512-2kykrMgvO5LTAiahadM6ijoER+GcbEJ61pQVOyGxIJTCASoUnzwJvfhilsLxvEw4+glzhLYUDvvTvNjx+58Vzw==", + "dependencies": { + "@types/stats.js": "*", + "@types/webxr": "*", + "fflate": "~0.6.10", + "meshoptimizer": "~0.18.1" + } + }, "node_modules/@types/uuid": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.3.tgz", "integrity": "sha512-taHQQH/3ZyI3zP8M/puluDEIEvtQHVYcC6y3N8ijFtAd28+Ey/G4sg1u2gB01S8MwybLOKAp9/yCMu/uR5l3Ug==", "dev": true }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.18.tgz", + "integrity": "sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==" + }, + "node_modules/@types/webxr": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.10.tgz", + "integrity": "sha512-n3u5sqXQJhf1CS68mw3Wf16FQ4cRPNBBwdYLFzq3UddiADOim1Pn3Y6PBdDilz1vOJF3ybLxJ8ZEDlLIzrOQZg==" + }, "node_modules/@typescript-eslint/parser": { "version": "6.7.2", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.2.tgz", @@ -1166,6 +1193,11 @@ "simple-swizzle": "^0.2.2" } }, + "node_modules/comlink": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.1.tgz", + "integrity": "sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q==" + }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -1213,6 +1245,24 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, + "node_modules/cubing": { + "version": "0.44.1", + "resolved": "https://registry.npmjs.org/cubing/-/cubing-0.44.1.tgz", + "integrity": "sha512-BMBts7FsCC8DzbkFKTryA1LEc/xl5SgRZITeemE2Ib9/73gMiAwvREm9FpBYmqochbQ7w9vxOZbabvm2Z9H5jA==", + "dependencies": { + "@types/three": "^0.157.0", + "@types/web-bluetooth": "^0.0.18", + "comlink": "^4.4.1", + "random-uint-below": "^2.0.0", + "three": "^0.157.0" + }, + "bin": { + "scramble": "dist/bin/scramble.js" + }, + "engines": { + "node": ">=19" + } + }, "node_modules/d3-array": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", @@ -2118,6 +2168,11 @@ "reusify": "^1.0.4" } }, + "node_modules/fflate": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", + "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==" + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3057,6 +3112,11 @@ "node": ">= 8" } }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==" + }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -3760,6 +3820,14 @@ "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" }, + "node_modules/random-uint-below": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/random-uint-below/-/random-uint-below-2.0.0.tgz", + "integrity": "sha512-2gD9r+3IkNJ6JGfra+T2tA4SGf3ne5pz2QGuXQ9fXdxAX38i0OEsqJ19smnEsYnjhYi0H0ICo8D4pfqw3Pszhw==", + "engines": { + "node": ">=19" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -4574,6 +4642,11 @@ "node": ">=0.8" } }, + "node_modules/three": { + "version": "0.157.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.157.0.tgz", + "integrity": "sha512-CeAwQrf4x3z0/e+MC4F+nXLW5t0gh3pw+L6CCBqpHvOq3bGYIgRYub7Pv0j/9wR+d++OiEglyZzWyuSYbwWGOA==" + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/package.json b/package.json index b441573d..8a2db96e 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@types/react": "18.2.21", "@types/react-dom": "18.2.7", "autoprefixer": "10.4.15", + "cubing": "^0.44.1", "date-fns": "^2.30.0", "eslint": "8.49.0", "eslint-config-next": "13.4.19", diff --git a/src/app/layout.tsx b/src/app/layout.tsx index b5e79f73..0199c752 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,5 +1,4 @@ import "./globals.css"; -import Script from "next/script"; import type { Metadata } from "next"; import PreloadSettings from "@/components/PreloadSettings"; @@ -20,10 +19,6 @@ export default function RootLayout({
{children}
-