cubing 0.25.5 → 0.25.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{2x2x2.sgs.json-FBJ4RQ4C.js → 2x2x2.sgs.json-GQVTWF7L.js} +3 -3
- package/dist/esm/{2x2x2.sgs.json-FBJ4RQ4C.js.map → 2x2x2.sgs.json-GQVTWF7L.js.map} +0 -0
- package/dist/esm/{3d-dynamic-TNYERP4O.js → 3d-dynamic-DKWMBHRS.js} +4 -4
- package/dist/esm/{3d-dynamic-TNYERP4O.js.map → 3d-dynamic-DKWMBHRS.js.map} +0 -0
- package/dist/esm/{444-solver-YZ6PC54L.js → 444-solver-ZBJQH3QR.js} +4 -4
- package/dist/esm/{444-solver-YZ6PC54L.js.map → 444-solver-ZBJQH3QR.js.map} +0 -0
- package/dist/esm/bluetooth/index.js +3 -3
- package/dist/esm/{chunk-V5K5JN2N.js → chunk-BOKO2BWT.js} +20 -3
- package/dist/esm/chunk-BOKO2BWT.js.map +7 -0
- package/dist/esm/{chunk-Y32HHZUY.js → chunk-FE3HTWQK.js} +8 -2
- package/dist/esm/chunk-FE3HTWQK.js.map +7 -0
- package/dist/esm/{chunk-RJSX2HO4.js → chunk-HTPDDD3Q.js} +2 -2
- package/dist/esm/{chunk-RJSX2HO4.js.map → chunk-HTPDDD3Q.js.map} +0 -0
- package/dist/esm/{chunk-QEDC2QTN.js → chunk-L73RWUDG.js} +2 -2
- package/dist/esm/{chunk-QEDC2QTN.js.map → chunk-L73RWUDG.js.map} +0 -0
- package/dist/esm/{chunk-TXTMBIUR.js → chunk-L7AOT5LY.js} +2 -2
- package/dist/esm/{chunk-TXTMBIUR.js.map → chunk-L7AOT5LY.js.map} +0 -0
- package/dist/esm/{chunk-KJZNEDOV.js → chunk-LZGPOT2V.js} +2 -2
- package/dist/esm/{chunk-KJZNEDOV.js.map → chunk-LZGPOT2V.js.map} +0 -0
- package/dist/esm/{chunk-LGM2HUUG.js → chunk-ME2QTCHN.js} +3 -3
- package/dist/esm/{chunk-LGM2HUUG.js.map → chunk-ME2QTCHN.js.map} +0 -0
- package/dist/esm/{chunk-JLNFWJIT.js → chunk-T2BDGTK3.js} +3 -3
- package/dist/esm/{chunk-JLNFWJIT.js.map → chunk-T2BDGTK3.js.map} +0 -0
- package/dist/esm/{chunk-4VNM5SER.js → chunk-TG5KP5IL.js} +2 -2
- package/dist/esm/{chunk-4VNM5SER.js.map → chunk-TG5KP5IL.js.map} +0 -0
- package/dist/esm/{fto.dynamic-RAXDXLKL.js → fto.dynamic-ZH5IVUKX.js} +3 -3
- package/dist/esm/{fto.dynamic-RAXDXLKL.js.map → fto.dynamic-ZH5IVUKX.js.map} +0 -0
- package/dist/esm/kpuzzle/index.js +1 -1
- package/dist/esm/{megaminx.sgs.json-3ZEDZMWF.js → megaminx.sgs.json-JXXOXGQE.js} +3 -3
- package/dist/esm/{megaminx.sgs.json-3ZEDZMWF.js.map → megaminx.sgs.json-JXXOXGQE.js.map} +0 -0
- package/dist/esm/protocol/index.js +2 -2
- package/dist/esm/puzzles/index.js +2 -2
- package/dist/esm/{pyraminx.sgs.json-AUUH6ELM.js → pyraminx.sgs.json-EHYGSC7B.js} +4 -4
- package/dist/esm/{pyraminx.sgs.json-AUUH6ELM.js.map → pyraminx.sgs.json-EHYGSC7B.js.map} +0 -0
- package/dist/esm/redi_cube-E5F64NIQ.js +564 -0
- package/dist/esm/redi_cube-E5F64NIQ.js.map +7 -0
- package/dist/esm/redi_cube.kpuzzle.json-EPBKWOMV.js +66 -0
- package/dist/esm/redi_cube.kpuzzle.json-EPBKWOMV.js.map +7 -0
- package/dist/esm/redi_cube.kpuzzle.svg-BSHCMC2Z.js +160 -0
- package/dist/esm/redi_cube.kpuzzle.svg-BSHCMC2Z.js.map +7 -0
- package/dist/esm/scramble/index.js +4 -4
- package/dist/esm/search/index.js +4 -4
- package/dist/esm/{search-worker-js-entry-B76LGKC2.js → search-worker-js-entry-BDMABBZV.js} +26 -17
- package/dist/esm/{search-worker-js-entry-B76LGKC2.js.map → search-worker-js-entry-BDMABBZV.js.map} +3 -3
- package/dist/esm/{search-worker-ts-entry-JZTMF3AC.js → search-worker-ts-entry-3B5U6XER.js} +2 -2
- package/dist/esm/{search-worker-ts-entry-JZTMF3AC.js.map → search-worker-ts-entry-3B5U6XER.js.map} +0 -0
- package/dist/esm/{skewb.sgs.json-6NDFH63U.js → skewb.sgs.json-F5FL7533.js} +3 -3
- package/dist/esm/{skewb.sgs.json-6NDFH63U.js.map → skewb.sgs.json-F5FL7533.js.map} +0 -0
- package/dist/esm/twisty/index.js +4 -3
- package/dist/esm/twisty/index.js.map +2 -2
- package/dist/esm/worker-inside-generated-string-AHMSHHSF.js +3674 -0
- package/dist/esm/worker-inside-generated-string-AHMSHHSF.js.map +7 -0
- package/dist/types/kpuzzle/KPuzzleDefinition.d.ts +1 -0
- package/dist/types/puzzles/implementations/redi-cube/index.d.ts +2 -0
- package/dist/types/puzzles/implementations/redi-cube/redi_cube.kpuzzle.json.d.ts +2 -0
- package/dist/types/puzzles/implementations/redi-cube/redi_cube.kpuzzle.svg.d.ts +1 -0
- package/dist/types/search/inside/solve/puzzles/redi_cube.d.ts +2 -0
- package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
- package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +1 -0
- package/dist/types/vendor/xyzzy/fto-solver-original.d.ts +1 -30
- package/dist/types/vendor/xyzzy/redi_cube.d.ts +2 -0
- package/package.json +1 -1
- package/dist/esm/chunk-V5K5JN2N.js.map +0 -7
- package/dist/esm/chunk-Y32HHZUY.js.map +0 -7
- package/dist/esm/worker-inside-generated-string-QVH4RRM7.js +0 -3522
- package/dist/esm/worker-inside-generated-string-QVH4RRM7.js.map +0 -7
- package/dist/types/vendor/xyzzy/rediscrambler.d.ts +0 -72
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/cubing/vendor/xyzzy/redi_cube.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable */\n/* Redi cube scramble generator */\n// From https://torchlight.github.io/rediscrambler.js\n// Added to `cubing.js` under the GPL license by permission from the author (@torchlight/xyzzy).\n\n\"use strict\";\n\nimport { Alg } from \"../../alg\";\nimport { randomUIntBelowFactory } from \"../random-uint-below\";\n\nfunction counter(A) {\n let counts = [];\n for (let a of A) counts[a] = (counts[a] || 0) + 1;\n return counts;\n}\n\n/* Combinatoric functions */\n\nfunction factorial(n) {\n if (n < 2) return n;\n let f = 1;\n for (let i = 2; i <= n; i++) f *= i;\n return f;\n}\n\nfunction C(n, k) {\n if (k < 0 || k > n) return 0;\n if (k === 0 || k === n) return 1;\n let c = 1;\n for (let i = 0; i < k; i++) {\n c = ((c * (n - i)) / (i + 1)) | 0;\n }\n return c;\n}\n\nfunction permutation_to_index(perm) {\n perm = perm.slice();\n let n = perm.length;\n let f = factorial(n - 1);\n let ind = 0;\n while (n > 1) {\n n--;\n // invariant: f == factorial(n)\n // also, perm stores meaningful values up to perm[n]\n let e = perm[0];\n ind += e * f;\n for (let i = 0; i < n; i++) {\n let x = perm[i + 1];\n perm[i] = x - (x > e);\n }\n f /= n;\n }\n return ind;\n}\n\nfunction index_to_permutation(ind, n) {\n let perm = [];\n let f = factorial(n - 1);\n for (let i = 0; i < n; i++) {\n perm[i] = (ind / f) | 0;\n ind %= f;\n f /= n - 1 - i;\n }\n // could probably use some kind of binary tree to make this linearithmic, but I am hella lazy.\n for (let i = n - 2; i >= 0; i--) {\n for (let j = i + 1; j < n; j++) {\n perm[j] += +(perm[j] >= perm[i]);\n }\n }\n return perm;\n}\n\nfunction permutation_parity(A) {\n let n = A.length;\n let parity = 0;\n // again, there is a linearithmic algorithm to count inversions, but >lazy\n for (let i = 0; i < n - 1; i++) {\n for (let j = i; j < n; j++) {\n if (A[i] > A[j]) parity ^= 1;\n }\n }\n return parity;\n}\n\nfunction index_to_evenpermutation(ind, n) {\n let perm = [];\n let f = factorial(n - 1) / 2;\n let parity = 0;\n for (let i = 0; i < n - 1; i++) {\n perm[i] = (ind / f) | 0;\n ind %= f;\n f /= n - 1 - i;\n }\n perm[n - 1] = 0;\n for (let i = n - 2; i >= 0; i--) {\n for (let j = i + 1; j < n; j++) {\n if (perm[j] >= perm[i]) perm[j]++;\n else parity ^= 1;\n }\n }\n if (parity === 1) [perm[n - 2], perm[n - 1]] = [perm[n - 1], perm[n - 2]];\n return perm;\n}\n\nfunction evenpermutation_to_index(perm) {\n return permutation_to_index(perm) >> 1;\n}\n\nfunction comb_to_index(l) {\n let bits = l.length;\n let ones = 0;\n for (let i = 0; i < bits; i++) ones += +(l[i] === 1);\n let zeros = bits - ones;\n if (zeros === 0 || ones === 0 || bits === 1) return 0;\n let b = C(bits - 1, ones);\n let ind = 0;\n for (let i = 0; zeros > 0 && ones > 0 && bits > 1; i++) {\n bits--;\n if (l[i] === 0) {\n b = (b * --zeros) / bits;\n } // l[i] === 1\n else {\n ind += b;\n b = (b * ones--) / bits;\n }\n }\n return ind;\n}\n\nfunction index_to_comb(ind, ones, bits) {\n let zeros = bits - ones;\n let b = C(bits - 1, ones);\n let l = [];\n let n = bits - 1;\n for (let i = 0; i < n; i++) {\n bits--;\n if (ind < b) {\n l.push(0);\n b = (b * --zeros) / bits;\n } else {\n l.push(1);\n ind -= b;\n b = (b * ones--) / bits;\n }\n }\n l.push(ones);\n return l;\n}\n\nfunction compose(A, B) {\n let C = [];\n for (let i = 0; i < B.length; i++) C[i] = A[B[i]];\n return C;\n}\n\nfunction permutation_from_cycle(cycle, n) {\n let perm = [];\n for (let i = 0; i < n; i++) perm[i] = i;\n for (let i = 0; i < cycle.length; i++) {\n perm[cycle[i]] = cycle[(i + 1) % cycle.length];\n }\n return perm;\n}\n\nfunction unsparsify_list(d, n) {\n let l = Array(n).fill(0);\n for (let k in d) l[k] = d[k];\n return l;\n}\n\nfunction compose_state(state1, state2) {\n let o = Array(8).fill(0);\n for (let i = 0; i < 8; i++) o[i] = (state1[1][i] + state2[1][i]) % 3;\n return [compose(state1[0], state2[0]), o];\n}\n\nlet move_UL = [\n permutation_from_cycle([0, 1, 4], 12),\n unsparsify_list({ 0: 2 }, 8),\n];\nlet move_U = [\n permutation_from_cycle([1, 2, 5], 12),\n unsparsify_list({ 1: 2 }, 8),\n];\nlet move_UR = [\n permutation_from_cycle([2, 3, 6], 12),\n unsparsify_list({ 2: 2 }, 8),\n];\nlet move_F = [\n permutation_from_cycle([3, 0, 7], 12),\n unsparsify_list({ 3: 2 }, 8),\n];\nlet move_L = [\n permutation_from_cycle([9, 8, 4], 12),\n unsparsify_list({ 4: 2 }, 8),\n];\nlet move_B = [\n permutation_from_cycle([10, 9, 5], 12),\n unsparsify_list({ 5: 2 }, 8),\n];\nlet move_R = [\n permutation_from_cycle([11, 10, 6], 12),\n unsparsify_list({ 6: 2 }, 8),\n];\nlet move_D = [\n permutation_from_cycle([8, 11, 7], 12),\n unsparsify_list({ 7: 2 }, 8),\n];\n\nlet solved = [index_to_permutation(0, 12), Array(8).fill(0)];\n\nlet moves = [move_UL, move_U, move_UR, move_F, move_L, move_B, move_R, move_D];\nlet move_names = [\"UL\", \"U\", \"UR\", \"F\", \"L\", \"B\", \"R\", \"D\"];\nlet tetrad = [0, 1, 0, 1, 1, 0, 1, 0];\n\nfunction apply_move_sequence(state, move_sequence) {\n for (let [m, r] of move_sequence) {\n for (let i = 0; i < r; i++) state = compose_state(state, moves[m]);\n }\n return state;\n}\n\nfunction stringify_move_sequence(move_sequence) {\n let suffixes = [\"0\", \"\", \"'\"];\n let s = move_sequence.map(([m, r]) => move_names[m] + suffixes[r]);\n return s.join(\" \");\n}\n\nfunction print_move_sequence(move_sequence) {\n console.log(stringify_move_sequence(move_sequence));\n}\n\nfunction generate_random_state(randomUintBelow) {\n let p = index_to_evenpermutation(\n Math.floor(randomUintBelow(factorial(12)) / 2),\n 12,\n );\n let o = Array(8);\n for (let i = 0; i < 8; i++) o[i] = randomUintBelow(3);\n return [p, o];\n}\n\nfunction generate_random_state_scramble(randomUintBelow) {\n return solve(generate_random_state(randomUintBelow));\n}\n\nfunction generate_scramble_sequence() {\n return stringify_move_sequence(generate_random_state_scramble());\n}\n\nfunction solve(state) {\n let phase1_indices = index_phase1(state);\n let phase1_mtables = [\n generate_phase1_edge_mtable(),\n generate_phase1_separate_mtable(),\n ];\n let phase1_ptables = [\n generate_phase1_edge_ptable(),\n generate_phase1_separate_ptable(),\n ];\n let phase2_mtables = [\n generate_phase2_edge_mtable(),\n generate_phase2_corner_mtable(),\n ];\n let phase2_ptables = [\n generate_phase2_edge_ptable(),\n generate_phase1_corner_ptable(),\n ];\n\n let phase1gen = ida_solve_gen(phase1_indices, phase1_mtables, phase1_ptables);\n let best = undefined;\n let intermediate_states = new Set();\n let start_time = +new Date();\n for (let i = 0; i < 25; i++) {\n let { value: sol1, done } = phase1gen.next();\n let new_state = state;\n for (let [m, r] of sol1) {\n for (let i = 0; i < r; i++)\n new_state = compose_state(new_state, moves[m]);\n }\n if (intermediate_states.has(new_state.toString())) {\n // console.log(\"skip\");\n continue;\n } else intermediate_states.add(new_state.toString());\n let edge_ind = evenpermutation_to_index(new_state[0].slice(0, 8));\n let corner_ind = 0;\n for (let i = 0; i < 4; i++) corner_ind += new_state[1][i] * 3 ** i;\n let phase2_indices = [edge_ind, corner_ind];\n //let sol2 = [];\n let moves_left = best ? best.length - sol1.length - 1 : 999999;\n let sol2 = ida_solve(\n phase2_indices,\n phase2_mtables,\n phase2_ptables,\n moves_left,\n );\n if (sol2 === undefined) {\n // console.log(\"prune\");\n continue;\n }\n // console.log(\n // `to ${new_state} in ${sol1.length} moves; total move count ${\n // sol1.length + sol2.length\n // }`,\n // );\n if (best === undefined || best.length > sol1.length + sol2.length) {\n best = sol1.concat(sol2);\n }\n // bail if we've spent too much time\n if (new Date() - start_time > 300) break;\n }\n return best;\n}\n\nfunction index_phase1(state) {\n let edge_ind = 0;\n for (let i = 0; i < 4; i++) edge_ind += state[0].indexOf(i + 8) * 12 ** i;\n let corner_ind = 0;\n for (let i = 0; i < 4; i++) corner_ind += state[1][i + 4] * 3 ** i;\n let filtered = state[0].map((x) => Math.max(-1, x - 8));\n let separate_ind =\n comb_to_index(filtered.map((x) => +(x >= 0))) * 2 +\n permutation_parity(filtered.filter((x) => x >= 0));\n return [edge_ind, corner_ind + 81 * separate_ind];\n}\n\nlet tables = {};\n\nfunction generate_phase1_corner_mtable() {\n if (tables.phase1cm) return tables.phase1cm;\n let mtable = [];\n for (let i = 0; i < 81; i++) {\n mtable[i] = Array(8);\n let o = [\n i % 3,\n Math.floor(i / 3) % 3,\n Math.floor(i / 9) % 3,\n Math.floor(i / 27),\n ];\n mtable[i][0] = mtable[i][1] = mtable[i][2] = mtable[i][3] = i;\n for (let j = 0; j < 4; j++) {\n o[j] = (o[j] + 2) % 3;\n mtable[i][4 + j] = o[0] + o[1] * 3 + o[2] * 9 + o[3] * 27;\n o[j] = (o[j] + 1) % 3;\n }\n }\n return (tables.phase1cm = mtable);\n}\n\nfunction generate_phase1_corner_ptable() {\n if (tables.phase1cp) return tables.phase1cp;\n let ptable = Array(81);\n for (let i = 0; i < 81; i++) {\n let o = [\n i % 3,\n Math.floor(i / 3) % 3,\n Math.floor(i / 9) % 3,\n Math.floor(i / 27),\n ];\n ptable[i] = (o[0] !== 0) + (o[1] !== 0) + (o[2] !== 0) + (o[3] !== 0);\n }\n return (tables.phase1cp = ptable);\n}\n\nfunction generate_phase1_edge_mtable() {\n if (tables.phase1em) return tables.phase1em;\n let mtable_single = [];\n for (let i = 0; i < 12; i++) {\n mtable_single[i] = [];\n for (let m = 0; m < 8; m++) {\n mtable_single[i][m] = moves[m][0].indexOf(i);\n }\n }\n let mtable = Array(12 ** 4);\n for (let i = 0; i < 12 ** 4; i++) {\n mtable[i] = Array(8);\n for (let m = 0; m < 8; m++) {\n let I = 0;\n for (let j = 0; j < 4; j++) {\n I += mtable_single[Math.floor(i / 12 ** j) % 12][m] * 12 ** j;\n }\n mtable[i][m] = I;\n }\n }\n return (tables.phase1em = mtable);\n}\n\nfunction generate_phase1_edge_ptable() {\n if (tables.phase1ep) return tables.phase1ep;\n return (tables.phase1ep = bfs(generate_phase1_edge_mtable(), [\n 8 + 12 * (9 + 12 * (10 + 12 * 11)),\n ]));\n}\n\nfunction generate_phase1_separate_mtable() {\n if (tables.phase1sm) return tables.phase1sm;\n const C12_4 = C(12, 4);\n let mtable_c = [];\n for (let i = 0; i < C12_4; i++) {\n mtable_c[i] = [];\n let comb = index_to_comb(i, 4, 12),\n perm = [];\n for (let j = 0, k = 0; j < 12; j++) {\n if (comb[j] === 0) perm[j] = -1;\n else perm[j] = k++;\n }\n for (let m = 0; m < 8; m++) {\n let new_perm = compose(perm, moves[m][0]);\n let new_comb = compose(comb, moves[m][0]);\n let parity = permutation_parity(new_perm.filter((x) => x >= 0));\n mtable_c[i][m] = comb_to_index(new_comb) * 2 + parity;\n }\n }\n let mtable_co = generate_phase1_corner_mtable();\n let mtable = [];\n for (let j = 0; j < C12_4; j++) {\n for (let i = 0; i < 81; i++) {\n let m0 = (mtable[i + 81 * (2 * j)] = []);\n let m1 = (mtable[i + 81 * (2 * j + 1)] = []);\n for (let m = 0; m < 8; m++) {\n m0[m] = mtable_co[i][m] + 81 * mtable_c[j][m];\n m1[m] = mtable_co[i][m] + 81 * (mtable_c[j][m] ^ 1);\n }\n }\n }\n return (tables.phase1sm = mtable);\n}\n\nfunction generate_phase1_separate_ptable() {\n if (tables.phase1sp) return tables.phase1sp;\n return (tables.phase1sp = bfs(generate_phase1_separate_mtable(), [0]));\n}\n\nfunction generate_phase2_corner_mtable() {\n if (tables.phase2cm) return tables.phase2cm;\n let phase1_mtable = generate_phase1_corner_mtable();\n let mtable = Array(81);\n for (let i = 0; i < 81; i++) {\n mtable[i] = phase1_mtable[i].slice(4, 8);\n }\n return (tables.phase2cm = mtable);\n}\n\nfunction generate_phase2_edge_mtable() {\n if (tables.phase2em) return tables.phase2em;\n const n = 8;\n const HALFFACT8 = factorial(n) / 2;\n let mtable = Array(HALFFACT8);\n let perm = [0, 1, 2, 3, 4, 5, 6, 7];\n for (let i = 0; i < HALFFACT8; i++) {\n //perm = index_to_evenpermutation(i, 8);\n mtable[i] = Array(4);\n for (let m = 0; m < 4; m++) {\n let new_perm = compose(perm, moves[m][0].slice(0, 8));\n mtable[i][m] = evenpermutation_to_index(new_perm);\n }\n\n if (i === HALFFACT8 - 1) break;\n // update perm to lex-next even permutation\n let parity = 0;\n do {\n for (let k = n - 2; k >= 0; k--) {\n if (perm[k] > perm[k + 1]) continue;\n let l = k + 1;\n for (let L = l; L < n; L++) if (perm[L] > perm[k]) l = L;\n [perm[k], perm[l]] = [perm[l], perm[k]];\n parity ^= 1;\n for (let j = 0; k + 1 + j < n - 1 - j; j++, parity ^= 1) {\n [perm[k + 1 + j], perm[n - 1 - j]] = [\n perm[n - 1 - j],\n perm[k + 1 + j],\n ];\n }\n break;\n }\n } while (parity !== 0);\n }\n return (tables.phase2em = mtable);\n}\n\nfunction generate_phase2_edge_ptable() {\n if (tables.phase2ep) return tables.phase2ep;\n return (tables.phase2ep = bfs(generate_phase2_edge_mtable(), [0]));\n}\n\nfunction bfs(mtable, goal_states) {\n let N = mtable.length;\n let nmoves = mtable[0].length;\n let ptable = Array(N).fill(-1);\n let queue = goal_states.slice(),\n new_queue = [];\n let depth = 0;\n while (queue.length > 0) {\n new_queue.length = 0;\n for (let state of queue) {\n if (ptable[state] !== -1) continue;\n ptable[state] = depth;\n for (let move_index = 0; move_index < nmoves; move_index++) {\n let new_state = mtable[state][move_index];\n while (new_state != state) {\n new_queue.push(new_state);\n new_state = mtable[new_state][move_index];\n }\n }\n }\n [queue, new_queue] = [new_queue, queue];\n depth += 1;\n }\n return ptable;\n}\n\nfunction ida_solve(indices, mtables, ptables, max_bound) {\n max_bound = max_bound || 999999;\n let ncoords = indices.length;\n let bound = 0;\n for (let i = 0; i < ncoords; i++)\n bound = Math.max(bound, ptables[i][indices[i]]);\n while (bound <= max_bound) {\n let path = ida_search(indices, mtables, ptables, bound, -1);\n if (path !== undefined) return path;\n bound++;\n }\n}\n\nfunction ida_search(indices, mtables, ptables, bound, last) {\n let ncoords = indices.length;\n let nmoves = mtables[0][0].length;\n let heuristic = 0;\n for (let i = 0; i < ncoords; i++)\n heuristic = Math.max(heuristic, ptables[i][indices[i]]);\n if (heuristic > bound) return;\n if (bound === 0) return [];\n if (heuristic === 0 && bound === 1) return;\n for (let m = 0; m < nmoves; m++) {\n if (m === last) continue;\n if (m < last && tetrad[m] == tetrad[last]) continue;\n let new_indices = indices.slice();\n for (let c = 0; c < ncoords; c++)\n new_indices[c] = mtables[c][indices[c]][m];\n let r = 1;\n while (indices.some((_, i) => indices[i] != new_indices[i])) {\n let subpath = ida_search(new_indices, mtables, ptables, bound - 1, m);\n if (subpath !== undefined) return [[m, r]].concat(subpath);\n for (let c = 0; c < ncoords; c++) {\n new_indices[c] = mtables[c][new_indices[c]][m];\n }\n r++;\n }\n }\n return;\n}\n\nfunction* ida_solve_gen(indices, mtables, ptables) {\n let ncoords = indices.length;\n let bound = 0;\n for (let i = 0; i < ncoords; i++)\n bound = Math.max(bound, ptables[i][indices[i]]);\n while (true) {\n yield* ida_search_gen(indices, mtables, ptables, bound, -1);\n bound++;\n }\n}\n\nfunction* ida_search_gen(indices, mtables, ptables, bound, last) {\n let ncoords = indices.length;\n let nmoves = mtables[0][0].length;\n let heuristic = 0;\n for (let i = 0; i < ncoords; i++)\n heuristic = Math.max(heuristic, ptables[i][indices[i]]);\n if (heuristic > bound) return;\n if (bound === 0) {\n yield [];\n return;\n }\n if (heuristic === 0 && bound === 1) return;\n for (let m = 0; m < nmoves; m++) {\n if (m === last) continue;\n if (m < last && tetrad[m] == tetrad[last]) continue;\n let new_indices = indices.slice();\n for (let c = 0; c < ncoords; c++)\n new_indices[c] = mtables[c][indices[c]][m];\n let r = 1;\n while (indices.some((_, i) => indices[i] != new_indices[i])) {\n let subpath_gen = ida_search_gen(\n new_indices,\n mtables,\n ptables,\n bound - 1,\n m,\n );\n while (true) {\n let { value: subpath, done } = subpath_gen.next();\n if (done) break;\n yield [[m, r]].concat(subpath);\n }\n for (let c = 0; c < ncoords; c++) {\n new_indices[c] = mtables[c][new_indices[c]][m];\n }\n r++;\n }\n }\n}\n\nconst randomUintBelow = randomUIntBelowFactory();\nexport async function getRandomRediCubeScramble() {\n return new Alg(\n stringify_move_sequence(\n generate_random_state_scramble(await randomUintBelow),\n ),\n );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import "./chunk-WO2AXYFE.js";
|
|
2
|
+
|
|
3
|
+
// src/cubing/puzzles/implementations/redi-cube/redi_cube.kpuzzle.json.ts
|
|
4
|
+
var rediCubeKPuzzleDefinition = {
|
|
5
|
+
name: "redi_cube",
|
|
6
|
+
orbits: {
|
|
7
|
+
EDGES: { numPieces: 12, numOrientations: 2 },
|
|
8
|
+
CORNERS: { numPieces: 8, numOrientations: 3 }
|
|
9
|
+
},
|
|
10
|
+
startStateData: {
|
|
11
|
+
EDGES: {
|
|
12
|
+
pieces: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
|
|
13
|
+
orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
|
14
|
+
},
|
|
15
|
+
CORNERS: {
|
|
16
|
+
pieces: [0, 1, 2, 3, 4, 5, 6, 7],
|
|
17
|
+
orientation: [0, 0, 0, 0, 0, 0, 0, 0]
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
moves: {
|
|
21
|
+
F: {
|
|
22
|
+
EDGES: {
|
|
23
|
+
permutation: [8, 0, 2, 3, 4, 5, 6, 7, 1, 9, 10, 11],
|
|
24
|
+
orientation: [0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
|
|
25
|
+
},
|
|
26
|
+
CORNERS: {
|
|
27
|
+
permutation: [0, 1, 2, 3, 4, 5, 6, 7],
|
|
28
|
+
orientation: [1, 0, 0, 0, 0, 0, 0, 0]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
x: {
|
|
32
|
+
EDGES: {
|
|
33
|
+
permutation: [4, 8, 0, 9, 6, 10, 2, 11, 5, 7, 1, 3],
|
|
34
|
+
orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0]
|
|
35
|
+
},
|
|
36
|
+
CORNERS: {
|
|
37
|
+
permutation: [4, 0, 3, 5, 7, 6, 2, 1],
|
|
38
|
+
orientation: [2, 1, 2, 1, 1, 2, 1, 2]
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
y: {
|
|
42
|
+
EDGES: {
|
|
43
|
+
permutation: [1, 2, 3, 0, 5, 6, 7, 4, 10, 8, 11, 9],
|
|
44
|
+
orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1]
|
|
45
|
+
},
|
|
46
|
+
CORNERS: {
|
|
47
|
+
permutation: [1, 2, 3, 0, 7, 4, 5, 6],
|
|
48
|
+
orientation: [0, 0, 0, 0, 0, 0, 0, 0]
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
experimentalDerivedMoves: {
|
|
53
|
+
z: "[x: y]",
|
|
54
|
+
UR: "[y: F]",
|
|
55
|
+
U: "[y2: F]",
|
|
56
|
+
UL: "[y': F]",
|
|
57
|
+
D: "[x: F]",
|
|
58
|
+
L: "[z2: F]",
|
|
59
|
+
R: "[x2: F]",
|
|
60
|
+
B: "[y2 x: F]"
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
rediCubeKPuzzleDefinition
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=redi_cube.kpuzzle.json-EPBKWOMV.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/cubing/puzzles/implementations/redi-cube/redi_cube.kpuzzle.json.ts"],
|
|
4
|
+
"sourcesContent": ["import type { KPuzzleDefinition } from \"../../../kpuzzle\";\n\nexport const rediCubeKPuzzleDefinition: KPuzzleDefinition = {\n name: \"redi_cube\",\n orbits: {\n EDGES: { numPieces: 12, numOrientations: 2 },\n CORNERS: { numPieces: 8, numOrientations: 3 },\n },\n startStateData: {\n EDGES: {\n pieces: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n pieces: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n moves: {\n F: {\n EDGES: {\n permutation: [8, 0, 2, 3, 4, 5, 6, 7, 1, 9, 10, 11],\n orientation: [0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],\n },\n CORNERS: {\n permutation: [0, 1, 2, 3, 4, 5, 6, 7],\n orientation: [1, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n x: {\n EDGES: {\n permutation: [4, 8, 0, 9, 6, 10, 2, 11, 5, 7, 1, 3],\n orientation: [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0],\n },\n CORNERS: {\n permutation: [4, 0, 3, 5, 7, 6, 2, 1],\n orientation: [2, 1, 2, 1, 1, 2, 1, 2],\n },\n },\n y: {\n EDGES: {\n permutation: [1, 2, 3, 0, 5, 6, 7, 4, 10, 8, 11, 9],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],\n },\n CORNERS: {\n permutation: [1, 2, 3, 0, 7, 4, 5, 6],\n orientation: [0, 0, 0, 0, 0, 0, 0, 0],\n },\n },\n },\n experimentalDerivedMoves: {\n z: \"[x: y]\",\n UR: \"[y: F]\",\n U: \"[y2: F]\",\n UL: \"[y': F]\",\n D: \"[x: F]\",\n L: \"[z2: F]\",\n R: \"[x2: F]\",\n B: \"[y2 x: F]\",\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;AAEO,IAAM,4BAA+C;AAAA,EAC1D,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,OAAO,EAAE,WAAW,IAAI,iBAAiB;AAAA,IACzC,SAAS,EAAE,WAAW,GAAG,iBAAiB;AAAA;AAAA,EAE5C,gBAAgB;AAAA,IACd,OAAO;AAAA,MACL,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI;AAAA,MAC3C,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA,IAEjD,SAAS;AAAA,MACP,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA,MAC9B,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA;AAAA,EAGvC,OAAO;AAAA,IACL,GAAG;AAAA,MACD,OAAO;AAAA,QACL,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI;AAAA,QAChD,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA,MAEjD,SAAS;AAAA,QACP,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA,QACnC,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA;AAAA,IAGvC,GAAG;AAAA,MACD,OAAO;AAAA,QACL,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG;AAAA,QACjD,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA,MAEjD,SAAS;AAAA,QACP,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA,QACnC,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA;AAAA,IAGvC,GAAG;AAAA,MACD,OAAO;AAAA,QACL,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI;AAAA,QACjD,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA,MAEjD,SAAS;AAAA,QACP,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA,QACnC,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAAA;AAAA;AAAA;AAAA,EAIzC,0BAA0B;AAAA,IACxB,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,GAAG;AAAA,IACH,IAAI;AAAA,IACJ,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import "./chunk-WO2AXYFE.js";
|
|
2
|
+
|
|
3
|
+
// src/cubing/puzzles/implementations/redi-cube/redi_cube.kpuzzle.svg.ts
|
|
4
|
+
var rediCubeSVG = `<?xml version="1.0" encoding="UTF-8"?>
|
|
5
|
+
<svg width="546px" height="418px" viewBox="-20 -20 546 418" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
6
|
+
<title>redi-cube</title>
|
|
7
|
+
<g istroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
8
|
+
<g transform="translate(1.000000, 1.000000)" fill-rule="nonzero" stroke="#000000" stroke-width="1.6">
|
|
9
|
+
<g id="CORNERS-l0-o0" transform="translate(208.000000, 80.000000)" style="fill: #FFFFFF;">
|
|
10
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
11
|
+
</g>
|
|
12
|
+
<g id="CORNERS-l0-o1" transform="translate(256.000000, 128.000000)" style="fill: #FF0000;">
|
|
13
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
14
|
+
</g>
|
|
15
|
+
<g id="CORNERS-l0-o2" transform="translate(208.000000, 128.000000)" style="fill: #32CD32;">
|
|
16
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
17
|
+
</g>
|
|
18
|
+
<g id="CORNERS-l1-o0" transform="translate(208.000000, 0.000000)" style="fill: #FFFFFF;">
|
|
19
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
20
|
+
</g>
|
|
21
|
+
<g id="CORNERS-l1-o1" transform="translate(384.000000, 128.000000)" style="fill: #2266FF;">
|
|
22
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="CORNERS-l1-o2" transform="translate(336.000000, 128.000000)" style="fill: #FF0000;">
|
|
25
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
26
|
+
</g>
|
|
27
|
+
<g id="CORNERS-l2-o0" transform="translate(128.000000, 0.000000)" style="fill: #FFFFFF;">
|
|
28
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
29
|
+
</g>
|
|
30
|
+
<g id="CORNERS-l2-o1" transform="translate(0.000000, 128.000000)" style="fill: #FFA500;">
|
|
31
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
32
|
+
</g>
|
|
33
|
+
<g id="CORNERS-l2-o2" transform="translate(464.000000, 128.000000)" style="fill: #2266FF;">
|
|
34
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
35
|
+
</g>
|
|
36
|
+
<g id="CORNERS-l3-o0" transform="translate(128.000000, 80.000000)" style="fill: #FFFFFF;">
|
|
37
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
38
|
+
</g>
|
|
39
|
+
<g id="CORNERS-l3-o1" transform="translate(128.000000, 128.000000)" style="fill: #32CD32;">
|
|
40
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
41
|
+
</g>
|
|
42
|
+
<g id="CORNERS-l3-o2" transform="translate(80.000000, 128.000000)" style="fill: #FFA500;">
|
|
43
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
44
|
+
</g>
|
|
45
|
+
<g id="CORNERS-l4-o0" transform="translate(208.000000, 256.000000)" style="fill: #FFFF00;">
|
|
46
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
47
|
+
</g>
|
|
48
|
+
<g id="CORNERS-l4-o1" transform="translate(208.000000, 208.000000)" style="fill: #32CD32;">
|
|
49
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
50
|
+
</g>
|
|
51
|
+
<g id="CORNERS-l4-o2" transform="translate(256.000000, 208.000000)" style="fill: #FF0000;">
|
|
52
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
53
|
+
</g>
|
|
54
|
+
<g id="CORNERS-l5-o0" transform="translate(128.000000, 256.000000)" style="fill: #FFFF00;">
|
|
55
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
56
|
+
</g>
|
|
57
|
+
<g id="CORNERS-l5-o1" transform="translate(80.000000, 208.000000)" style="fill: #FFA500;">
|
|
58
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
59
|
+
</g>
|
|
60
|
+
<g id="CORNERS-l5-o2" transform="translate(128.000000, 208.000000)" style="fill: #32CD32;">
|
|
61
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
62
|
+
</g>
|
|
63
|
+
<g id="CORNERS-l6-o0" transform="translate(128.000000, 336.000000)" style="fill: #FFFF00;">
|
|
64
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
65
|
+
</g>
|
|
66
|
+
<g id="CORNERS-l6-o1" transform="translate(464.000000, 208.000000)" style="fill: #2266FF;">
|
|
67
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
68
|
+
</g>
|
|
69
|
+
<g id="CORNERS-l6-o2" transform="translate(0.000000, 208.000000)" style="fill: #FFA500;">
|
|
70
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
71
|
+
</g>
|
|
72
|
+
<g id="CORNERS-l7-o0" transform="translate(208.000000, 336.000000)" style="fill: #FFFF00;">
|
|
73
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
74
|
+
</g>
|
|
75
|
+
<g id="CORNERS-l7-o1" transform="translate(336.000000, 208.000000)" style="fill: #FF0000;">
|
|
76
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
77
|
+
</g>
|
|
78
|
+
<g id="CORNERS-l7-o2" transform="translate(384.000000, 208.000000)" style="fill: #2266FF;">
|
|
79
|
+
<rect id="Rectangle" x="0" y="0" width="40" height="40"></rect>
|
|
80
|
+
</g>
|
|
81
|
+
<g id="EDGES-l0-o0" transform="translate(168.000000, 60.000000)" style="fill: #FFFFFF;">
|
|
82
|
+
<polygon id="Rectangle" points="0 20 20 -8.8817842e-16 40 20 40 60 0 60"></polygon>
|
|
83
|
+
</g>
|
|
84
|
+
<g id="EDGES-l0-o1" transform="translate(168.000000, 128.000000)" style="fill: #32CD32;">
|
|
85
|
+
<polygon id="Rectangle" points="0 0 40 0 40 40 20 60 0 40"></polygon>
|
|
86
|
+
</g>
|
|
87
|
+
<g id="EDGES-l1-o0" transform="translate(188.000000, 40.000000)" style="fill: #FFFFFF;">
|
|
88
|
+
<polygon id="Rectangle" points="20 0 60 0 60 40 20 40 0 20"></polygon>
|
|
89
|
+
</g>
|
|
90
|
+
<g id="EDGES-l1-o1" transform="translate(296.000000, 128.000000)" style="fill: #FF0000;">
|
|
91
|
+
<polygon id="Rectangle" points="0 0 40 0 40 40 20 60 0 40"></polygon>
|
|
92
|
+
</g>
|
|
93
|
+
<g id="EDGES-l2-o0" transform="translate(168.000000, 0.000000)" style="fill: #FFFFFF;">
|
|
94
|
+
<polygon id="Rectangle" points="0 0 40 0 40 40 20 60 0 40"></polygon>
|
|
95
|
+
</g>
|
|
96
|
+
<g id="EDGES-l2-o1" transform="translate(424.000000, 128.000000)" style="fill: #2266FF;">
|
|
97
|
+
<polygon id="Rectangle" points="0 0 40 0 40 40 20 60 0 40"></polygon>
|
|
98
|
+
</g>
|
|
99
|
+
<g id="EDGES-l3-o0" transform="translate(128.000000, 40.000000)" style="fill: #FFFFFF;">
|
|
100
|
+
<polygon id="Rectangle" points="0 0 40 0 60 20 40 40 0 40"></polygon>
|
|
101
|
+
</g>
|
|
102
|
+
<g id="EDGES-l3-o1" transform="translate(40.000000, 128.000000)" style="fill: #FFA500;">
|
|
103
|
+
<polygon id="Rectangle" points="0 0 40 0 40 40 20 60 0 40"></polygon>
|
|
104
|
+
</g>
|
|
105
|
+
<g id="EDGES-l4-o0" transform="translate(168.000000, 256.000000)" style="fill: #FFFF00;">
|
|
106
|
+
<polygon id="Rectangle" points="0 0 40 0 40 40 20 60 0 40"></polygon>
|
|
107
|
+
</g>
|
|
108
|
+
<g id="EDGES-l4-o1" transform="translate(168.000000, 188.000000)" style="fill: #32CD32;">
|
|
109
|
+
<polygon id="Rectangle" points="0 20 20 0 40 20 40 60 0 60"></polygon>
|
|
110
|
+
</g>
|
|
111
|
+
<g id="EDGES-l5-o0" transform="translate(188.000000, 296.000000)" style="fill: #FFFF00;">
|
|
112
|
+
<polygon id="Rectangle" points="20 0 60 0 60 40 20 40 0 20"></polygon>
|
|
113
|
+
</g>
|
|
114
|
+
<g id="EDGES-l5-o1" transform="translate(296.000000, 188.000000)" style="fill: #FF0000;">
|
|
115
|
+
<polygon id="Rectangle" points="0 20 20 0 40 20 40 60 0 60"></polygon>
|
|
116
|
+
</g>
|
|
117
|
+
<g id="EDGES-l6-o0" transform="translate(168.000000, 316.000000)" style="fill: #FFFF00;">
|
|
118
|
+
<polygon id="Rectangle" points="0 20 20 -5.32907052e-14 40 20 40 60 0 60"></polygon>
|
|
119
|
+
</g>
|
|
120
|
+
<g id="EDGES-l6-o1" transform="translate(424.000000, 188.000000)" style="fill: #2266FF;">
|
|
121
|
+
<polygon id="Rectangle" points="0 20 20 -1.77635684e-15 40 20 40 60 0 60"></polygon>
|
|
122
|
+
</g>
|
|
123
|
+
<g id="EDGES-l7-o0" transform="translate(128.000000, 296.000000)" style="fill: #FFFF00;">
|
|
124
|
+
<polygon id="Rectangle" points="0 0 40 0 60 20 40 40 0 40"></polygon>
|
|
125
|
+
</g>
|
|
126
|
+
<g id="EDGES-l7-o1" transform="translate(40.000000, 188.000000)" style="fill: #FFA500;">
|
|
127
|
+
<polygon id="Rectangle" points="0 20 20 0 40 20 40 60 0 60"></polygon>
|
|
128
|
+
</g>
|
|
129
|
+
<g id="EDGES-l8-o0" transform="translate(188.000000, 168.000000)" style="fill: #32CD32;">
|
|
130
|
+
<polygon id="Rectangle" points="20 0 60 0 60 40 20 40 2.66453526e-14 20"></polygon>
|
|
131
|
+
</g>
|
|
132
|
+
<g id="EDGES-l8-o1" transform="translate(256.000000, 168.000000)" style="fill: #FF0000;">
|
|
133
|
+
<polygon id="Rectangle" points="0 0 40 0 60 20 40 40 0 40"></polygon>
|
|
134
|
+
</g>
|
|
135
|
+
<g id="EDGES-l9-o0" transform="translate(128.000000, 168.000000)" style="fill: #32CD32;">
|
|
136
|
+
<polygon id="Rectangle" points="0 0 40 0 60 20 40 40 0 40"></polygon>
|
|
137
|
+
</g>
|
|
138
|
+
<g id="EDGES-l9-o1" transform="translate(60.000000, 168.000000)" style="fill: #FFA500;">
|
|
139
|
+
<polygon id="Rectangle" points="20 0 60 0 60 40 20 40 0 20"></polygon>
|
|
140
|
+
</g>
|
|
141
|
+
<g id="EDGES-l10-o0" transform="translate(384.000000, 168.000000)" style="fill: #2266FF;">
|
|
142
|
+
<polygon id="Rectangle" points="0 0 40 0 60 20 40 40 0 40"></polygon>
|
|
143
|
+
</g>
|
|
144
|
+
<g id="EDGES-l10-o1" transform="translate(316.000000, 168.000000)" style="fill: #FF0000;">
|
|
145
|
+
<polygon id="Rectangle" points="20 0 60 0 60 40 20 40 5.32907052e-14 20"></polygon>
|
|
146
|
+
</g>
|
|
147
|
+
<g id="EDGES-l11-o0" transform="translate(444.000000, 168.000000)" style="fill: #2266FF;">
|
|
148
|
+
<polygon id="Rectangle" points="20 0 60 0 60 40 20 40 -3.55271368e-15 20"></polygon>
|
|
149
|
+
</g>
|
|
150
|
+
<g id="EDGES-l11-o1" transform="translate(0.000000, 168.000000)" style="fill: #FFA500;">
|
|
151
|
+
<polygon id="Rectangle" points="0 0 40 0 60 20 40 40 0 40"></polygon>
|
|
152
|
+
</g>
|
|
153
|
+
</g>
|
|
154
|
+
</g>
|
|
155
|
+
</svg>
|
|
156
|
+
`;
|
|
157
|
+
export {
|
|
158
|
+
rediCubeSVG
|
|
159
|
+
};
|
|
160
|
+
//# sourceMappingURL=redi_cube.kpuzzle.svg-BSHCMC2Z.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/cubing/puzzles/implementations/redi-cube/redi_cube.kpuzzle.svg.ts"],
|
|
4
|
+
"sourcesContent": ["export const rediCubeSVG = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"546px\" height=\"418px\" viewBox=\"-20 -20 546 418\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<title>redi-cube</title>\n<g istroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(1.000000, 1.000000)\" fill-rule=\"nonzero\" stroke=\"#000000\" stroke-width=\"1.6\">\n <g id=\"CORNERS-l0-o0\" transform=\"translate(208.000000, 80.000000)\" style=\"fill: #FFFFFF;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l0-o1\" transform=\"translate(256.000000, 128.000000)\" style=\"fill: #FF0000;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l0-o2\" transform=\"translate(208.000000, 128.000000)\" style=\"fill: #32CD32;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l1-o0\" transform=\"translate(208.000000, 0.000000)\" style=\"fill: #FFFFFF;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l1-o1\" transform=\"translate(384.000000, 128.000000)\" style=\"fill: #2266FF;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l1-o2\" transform=\"translate(336.000000, 128.000000)\" style=\"fill: #FF0000;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l2-o0\" transform=\"translate(128.000000, 0.000000)\" style=\"fill: #FFFFFF;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l2-o1\" transform=\"translate(0.000000, 128.000000)\" style=\"fill: #FFA500;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l2-o2\" transform=\"translate(464.000000, 128.000000)\" style=\"fill: #2266FF;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l3-o0\" transform=\"translate(128.000000, 80.000000)\" style=\"fill: #FFFFFF;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l3-o1\" transform=\"translate(128.000000, 128.000000)\" style=\"fill: #32CD32;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l3-o2\" transform=\"translate(80.000000, 128.000000)\" style=\"fill: #FFA500;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l4-o0\" transform=\"translate(208.000000, 256.000000)\" style=\"fill: #FFFF00;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l4-o1\" transform=\"translate(208.000000, 208.000000)\" style=\"fill: #32CD32;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l4-o2\" transform=\"translate(256.000000, 208.000000)\" style=\"fill: #FF0000;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l5-o0\" transform=\"translate(128.000000, 256.000000)\" style=\"fill: #FFFF00;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l5-o1\" transform=\"translate(80.000000, 208.000000)\" style=\"fill: #FFA500;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l5-o2\" transform=\"translate(128.000000, 208.000000)\" style=\"fill: #32CD32;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l6-o0\" transform=\"translate(128.000000, 336.000000)\" style=\"fill: #FFFF00;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l6-o1\" transform=\"translate(464.000000, 208.000000)\" style=\"fill: #2266FF;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l6-o2\" transform=\"translate(0.000000, 208.000000)\" style=\"fill: #FFA500;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l7-o0\" transform=\"translate(208.000000, 336.000000)\" style=\"fill: #FFFF00;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l7-o1\" transform=\"translate(336.000000, 208.000000)\" style=\"fill: #FF0000;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"CORNERS-l7-o2\" transform=\"translate(384.000000, 208.000000)\" style=\"fill: #2266FF;\">\n <rect id=\"Rectangle\" x=\"0\" y=\"0\" width=\"40\" height=\"40\"></rect>\n </g>\n <g id=\"EDGES-l0-o0\" transform=\"translate(168.000000, 60.000000)\" style=\"fill: #FFFFFF;\">\n <polygon id=\"Rectangle\" points=\"0 20 20 -8.8817842e-16 40 20 40 60 0 60\"></polygon>\n </g>\n <g id=\"EDGES-l0-o1\" transform=\"translate(168.000000, 128.000000)\" style=\"fill: #32CD32;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 40 40 20 60 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l1-o0\" transform=\"translate(188.000000, 40.000000)\" style=\"fill: #FFFFFF;\">\n <polygon id=\"Rectangle\" points=\"20 0 60 0 60 40 20 40 0 20\"></polygon>\n </g>\n <g id=\"EDGES-l1-o1\" transform=\"translate(296.000000, 128.000000)\" style=\"fill: #FF0000;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 40 40 20 60 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l2-o0\" transform=\"translate(168.000000, 0.000000)\" style=\"fill: #FFFFFF;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 40 40 20 60 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l2-o1\" transform=\"translate(424.000000, 128.000000)\" style=\"fill: #2266FF;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 40 40 20 60 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l3-o0\" transform=\"translate(128.000000, 40.000000)\" style=\"fill: #FFFFFF;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 60 20 40 40 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l3-o1\" transform=\"translate(40.000000, 128.000000)\" style=\"fill: #FFA500;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 40 40 20 60 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l4-o0\" transform=\"translate(168.000000, 256.000000)\" style=\"fill: #FFFF00;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 40 40 20 60 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l4-o1\" transform=\"translate(168.000000, 188.000000)\" style=\"fill: #32CD32;\">\n <polygon id=\"Rectangle\" points=\"0 20 20 0 40 20 40 60 0 60\"></polygon>\n </g>\n <g id=\"EDGES-l5-o0\" transform=\"translate(188.000000, 296.000000)\" style=\"fill: #FFFF00;\">\n <polygon id=\"Rectangle\" points=\"20 0 60 0 60 40 20 40 0 20\"></polygon>\n </g>\n <g id=\"EDGES-l5-o1\" transform=\"translate(296.000000, 188.000000)\" style=\"fill: #FF0000;\">\n <polygon id=\"Rectangle\" points=\"0 20 20 0 40 20 40 60 0 60\"></polygon>\n </g>\n <g id=\"EDGES-l6-o0\" transform=\"translate(168.000000, 316.000000)\" style=\"fill: #FFFF00;\">\n <polygon id=\"Rectangle\" points=\"0 20 20 -5.32907052e-14 40 20 40 60 0 60\"></polygon>\n </g>\n <g id=\"EDGES-l6-o1\" transform=\"translate(424.000000, 188.000000)\" style=\"fill: #2266FF;\">\n <polygon id=\"Rectangle\" points=\"0 20 20 -1.77635684e-15 40 20 40 60 0 60\"></polygon>\n </g>\n <g id=\"EDGES-l7-o0\" transform=\"translate(128.000000, 296.000000)\" style=\"fill: #FFFF00;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 60 20 40 40 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l7-o1\" transform=\"translate(40.000000, 188.000000)\" style=\"fill: #FFA500;\">\n <polygon id=\"Rectangle\" points=\"0 20 20 0 40 20 40 60 0 60\"></polygon>\n </g>\n <g id=\"EDGES-l8-o0\" transform=\"translate(188.000000, 168.000000)\" style=\"fill: #32CD32;\">\n <polygon id=\"Rectangle\" points=\"20 0 60 0 60 40 20 40 2.66453526e-14 20\"></polygon>\n </g>\n <g id=\"EDGES-l8-o1\" transform=\"translate(256.000000, 168.000000)\" style=\"fill: #FF0000;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 60 20 40 40 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l9-o0\" transform=\"translate(128.000000, 168.000000)\" style=\"fill: #32CD32;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 60 20 40 40 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l9-o1\" transform=\"translate(60.000000, 168.000000)\" style=\"fill: #FFA500;\">\n <polygon id=\"Rectangle\" points=\"20 0 60 0 60 40 20 40 0 20\"></polygon>\n </g>\n <g id=\"EDGES-l10-o0\" transform=\"translate(384.000000, 168.000000)\" style=\"fill: #2266FF;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 60 20 40 40 0 40\"></polygon>\n </g>\n <g id=\"EDGES-l10-o1\" transform=\"translate(316.000000, 168.000000)\" style=\"fill: #FF0000;\">\n <polygon id=\"Rectangle\" points=\"20 0 60 0 60 40 20 40 5.32907052e-14 20\"></polygon>\n </g>\n <g id=\"EDGES-l11-o0\" transform=\"translate(444.000000, 168.000000)\" style=\"fill: #2266FF;\">\n <polygon id=\"Rectangle\" points=\"20 0 60 0 60 40 20 40 -3.55271368e-15 20\"></polygon>\n </g>\n <g id=\"EDGES-l11-o1\" transform=\"translate(0.000000, 168.000000)\" style=\"fill: #FFA500;\">\n <polygon id=\"Rectangle\" points=\"0 0 40 0 60 20 40 40 0 40\"></polygon>\n </g>\n </g>\n</g>\n</svg>\n`;\n"],
|
|
5
|
+
"mappings": ";;;AAAO,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
randomScrambleForEvent
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-T2BDGTK3.js";
|
|
4
4
|
import "../chunk-BEXHMXCT.js";
|
|
5
5
|
import "../chunk-IVQ4ITE2.js";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-ME2QTCHN.js";
|
|
7
7
|
import "../chunk-RENZB7QN.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-BOKO2BWT.js";
|
|
9
|
+
import "../chunk-FE3HTWQK.js";
|
|
10
10
|
import "../chunk-EWRBHQFX.js";
|
|
11
11
|
import "../chunk-WO2AXYFE.js";
|
|
12
12
|
export {
|
package/dist/esm/search/index.js
CHANGED
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
solveMegaminx,
|
|
7
7
|
solvePyraminx,
|
|
8
8
|
solveSkewb
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-T2BDGTK3.js";
|
|
10
10
|
import "../chunk-BEXHMXCT.js";
|
|
11
11
|
import "../chunk-IVQ4ITE2.js";
|
|
12
12
|
import {
|
|
13
13
|
random333State
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-ME2QTCHN.js";
|
|
15
15
|
import "../chunk-RENZB7QN.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-BOKO2BWT.js";
|
|
17
|
+
import "../chunk-FE3HTWQK.js";
|
|
18
18
|
import "../chunk-EWRBHQFX.js";
|
|
19
19
|
import "../chunk-WO2AXYFE.js";
|
|
20
20
|
export {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
sgsDataSkewbFixedCorner,
|
|
3
|
+
skewbKPuzzleWithoutMOCached
|
|
4
|
+
} from "./chunk-L73RWUDG.js";
|
|
1
5
|
import {
|
|
2
6
|
expose
|
|
3
7
|
} from "./chunk-WDJDRVZZ.js";
|
|
4
8
|
import {
|
|
5
9
|
cachedMegaminxKPuzzleWithoutMO
|
|
6
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LZGPOT2V.js";
|
|
7
11
|
import {
|
|
8
12
|
sgsDataPyraminxFixedOrientation
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
sgsDataSkewbFixedCorner,
|
|
12
|
-
skewbKPuzzleWithoutMOCached
|
|
13
|
-
} from "./chunk-QEDC2QTN.js";
|
|
13
|
+
} from "./chunk-HTPDDD3Q.js";
|
|
14
14
|
import "./chunk-27KJGD3S.js";
|
|
15
15
|
import {
|
|
16
16
|
countMoves
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
random333Scramble,
|
|
27
27
|
setIsInsideWorker,
|
|
28
28
|
solve333
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-ME2QTCHN.js";
|
|
30
30
|
import {
|
|
31
31
|
randomChoiceFactory,
|
|
32
32
|
randomPermute,
|
|
@@ -34,10 +34,10 @@ import {
|
|
|
34
34
|
} from "./chunk-RENZB7QN.js";
|
|
35
35
|
import {
|
|
36
36
|
puzzles
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-BOKO2BWT.js";
|
|
38
38
|
import {
|
|
39
39
|
KState
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-FE3HTWQK.js";
|
|
41
41
|
import {
|
|
42
42
|
Alg,
|
|
43
43
|
AlgBuilder,
|
|
@@ -165,7 +165,7 @@ var TREMBLE_DEPTH = 3;
|
|
|
165
165
|
var cachedTrembleSolver = null;
|
|
166
166
|
async function getCachedTrembleSolver() {
|
|
167
167
|
return cachedTrembleSolver || (cachedTrembleSolver = (async () => {
|
|
168
|
-
const sgsCachedData = await (await import("./2x2x2.sgs.json-
|
|
168
|
+
const sgsCachedData = await (await import("./2x2x2.sgs.json-GQVTWF7L.js")).cachedData222();
|
|
169
169
|
return new TrembleSolver(await puzzles["2x2x2"].kpuzzle(), sgsCachedData, "URFLBD".split(""));
|
|
170
170
|
})());
|
|
171
171
|
}
|
|
@@ -212,7 +212,7 @@ var randomSuffixes = [
|
|
|
212
212
|
];
|
|
213
213
|
var cachedImport = null;
|
|
214
214
|
function dynamicScramble444() {
|
|
215
|
-
return cachedImport ?? (cachedImport = import("./444-solver-
|
|
215
|
+
return cachedImport ?? (cachedImport = import("./444-solver-ZBJQH3QR.js"));
|
|
216
216
|
}
|
|
217
217
|
async function initialize444() {
|
|
218
218
|
return (await dynamicScramble444()).initialize();
|
|
@@ -301,7 +301,7 @@ async function oriented555RandomMoves() {
|
|
|
301
301
|
// src/cubing/search/inside/solve/puzzles/fto.ts
|
|
302
302
|
async function randomFTOScramble() {
|
|
303
303
|
mustBeInsideWorker();
|
|
304
|
-
const { randomFTOScrambleString } = await import("./fto.dynamic-
|
|
304
|
+
const { randomFTOScrambleString } = await import("./fto.dynamic-ZH5IVUKX.js");
|
|
305
305
|
return new Alg(await randomFTOScrambleString());
|
|
306
306
|
}
|
|
307
307
|
|
|
@@ -309,7 +309,7 @@ async function randomFTOScramble() {
|
|
|
309
309
|
async function randomKilominxScramble() {
|
|
310
310
|
mustBeInsideWorker();
|
|
311
311
|
const { getRandomKilominxScramble } = await import("./kilosolver-N6JM5PUY.js");
|
|
312
|
-
return
|
|
312
|
+
return getRandomKilominxScramble();
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
// src/cubing/search/inside/solve/puzzles/master_tetraminx.ts
|
|
@@ -324,7 +324,7 @@ var TREMBLE_DEPTH2 = 2;
|
|
|
324
324
|
var cachedTrembleSolver2 = null;
|
|
325
325
|
async function getCachedTrembleSolver2() {
|
|
326
326
|
return cachedTrembleSolver2 || (cachedTrembleSolver2 = (async () => {
|
|
327
|
-
const sgs = await import("./megaminx.sgs.json-
|
|
327
|
+
const sgs = await import("./megaminx.sgs.json-JXXOXGQE.js");
|
|
328
328
|
const json = await sgs.cachedSGSDataMegaminx();
|
|
329
329
|
return new TrembleSolver(await cachedMegaminxKPuzzleWithoutMO(), json, [
|
|
330
330
|
"U",
|
|
@@ -357,7 +357,7 @@ var TREMBLE_DEPTH3 = 3;
|
|
|
357
357
|
var cachedTrembleSolver3 = null;
|
|
358
358
|
async function getCachedTrembleSolver3() {
|
|
359
359
|
return cachedTrembleSolver3 || (cachedTrembleSolver3 = (async () => {
|
|
360
|
-
const sgs = await import("./pyraminx.sgs.json-
|
|
360
|
+
const sgs = await import("./pyraminx.sgs.json-EHYGSC7B.js");
|
|
361
361
|
const json = await sgs.sgsDataPyraminx();
|
|
362
362
|
return new TrembleSolver(await puzzles.pyraminx.kpuzzle(), json, "RLUB".split(""));
|
|
363
363
|
})());
|
|
@@ -376,12 +376,19 @@ async function randomPyraminxScrambleFixedOrientation() {
|
|
|
376
376
|
return solvePyraminx(await randomPyraminxStateFixedOrientation());
|
|
377
377
|
}
|
|
378
378
|
|
|
379
|
+
// src/cubing/search/inside/solve/puzzles/redi_cube.ts
|
|
380
|
+
async function randomRediCubeScramble() {
|
|
381
|
+
mustBeInsideWorker();
|
|
382
|
+
const { getRandomRediCubeScramble } = await import("./redi_cube-E5F64NIQ.js");
|
|
383
|
+
return getRandomRediCubeScramble();
|
|
384
|
+
}
|
|
385
|
+
|
|
379
386
|
// src/cubing/search/inside/solve/puzzles/skewb.ts
|
|
380
387
|
var TREMBLE_DEPTH4 = 3;
|
|
381
388
|
var cachedTrembleSolver4 = null;
|
|
382
389
|
async function getCachedTrembleSolver4() {
|
|
383
390
|
return cachedTrembleSolver4 || (cachedTrembleSolver4 = (async () => {
|
|
384
|
-
const sgs = await import("./skewb.sgs.json-
|
|
391
|
+
const sgs = await import("./skewb.sgs.json-F5FL7533.js");
|
|
385
392
|
const json = await sgs.sgsDataSkewb();
|
|
386
393
|
return new TrembleSolver(await sgs.skewbKPuzzleWithoutMOCached(), json, "RLUB".split(""));
|
|
387
394
|
})());
|
|
@@ -491,6 +498,8 @@ var insideAPI = {
|
|
|
491
498
|
return measurePerf("randomMasterTetraminxScramble", randomMasterTetraminxScramble);
|
|
492
499
|
case "kilominx":
|
|
493
500
|
return measurePerf("randomKilominxScramble", randomKilominxScramble);
|
|
501
|
+
case "redi_cube":
|
|
502
|
+
return measurePerf("randomRediCubeScramble", randomRediCubeScramble);
|
|
494
503
|
default:
|
|
495
504
|
throw new Error(`unsupported event: ${eventID}`);
|
|
496
505
|
}
|
|
@@ -525,4 +534,4 @@ var insideAPI = {
|
|
|
525
534
|
|
|
526
535
|
// src/cubing/search/inside/search-worker-js-entry.js
|
|
527
536
|
expose(insideAPI);
|
|
528
|
-
//# sourceMappingURL=search-worker-js-entry-
|
|
537
|
+
//# sourceMappingURL=search-worker-js-entry-BDMABBZV.js.map
|