cubing 0.53.12 → 0.53.14

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.
Files changed (59) hide show
  1. package/dist/lib/cubing/{PuzzleLoader-BN2CTwbG.d.ts → PuzzleLoader-BYI7PA7C.d.ts} +2 -0
  2. package/dist/lib/cubing/{TwizzleLink.d-BzfMIk_O.d.ts → TwizzleLink.d-yDfHSjux.d.ts} +5 -3
  3. package/dist/lib/cubing/alg/index.d.ts +3 -3
  4. package/dist/lib/cubing/bluetooth/index.d.ts +6 -6
  5. package/dist/lib/cubing/bluetooth/index.js +3 -3
  6. package/dist/lib/cubing/{bluetooth-puzzle.d-C-95fTCe.d.ts → bluetooth-puzzle.d-B2L3nzXn.d.ts} +2 -2
  7. package/dist/lib/cubing/chunks/{chunk-WTJ326HQ.js → chunk-63PE4ND6.js} +3 -3
  8. package/dist/lib/cubing/chunks/{chunk-IMO4YKJO.js → chunk-7LAJDOI3.js} +1 -1
  9. package/dist/lib/cubing/chunks/{chunk-KZE4TK74.js → chunk-IWH3E6EY.js} +2 -2
  10. package/dist/lib/cubing/chunks/{chunk-4A5X67G6.js → chunk-JVHCFNBL.js} +1 -1
  11. package/dist/lib/cubing/chunks/{chunk-MNGQLIZL.js → chunk-KIC77KAO.js} +3 -3
  12. package/dist/lib/cubing/chunks/{chunk-IPUTXJEJ.js → chunk-US5D7CVM.js} +2 -2
  13. package/dist/lib/cubing/chunks/{chunk-2DFT7OFB.js → chunk-YSHXHFL2.js} +2 -2
  14. package/dist/lib/cubing/chunks/{inside-FE3UMYVY.js → inside-JHHWCKZI.js} +10 -10
  15. package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-CR5RLWPU.js → search-dynamic-sgs-side-events-JOC5DT7H.js} +3 -3
  16. package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-BR77UWSI.js → search-dynamic-sgs-unofficial-ZKP3UOZQ.js} +3 -3
  17. package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-W5GCSX3J.js → search-dynamic-solve-4x4x4-DKSRKWDZ.js} +5 -5
  18. package/dist/lib/cubing/chunks/search-worker-entry.js +1 -1
  19. package/dist/lib/cubing/chunks/{twisty-dynamic-3d-GHONCSOH.js → twisty-dynamic-3d-YGAIMWZ2.js} +4 -4
  20. package/dist/lib/cubing/chunks/{twsearch-P5MOXX3O.js → twsearch-2T5RAJYA.js} +2 -2
  21. package/dist/lib/cubing/chunks/{twsearch-P5MOXX3O.js.map → twsearch-2T5RAJYA.js.map} +1 -1
  22. package/dist/lib/cubing/chunks/twsearch_wasm_bg-VKUQN4MD-IPLXEKL7.js +15 -0
  23. package/dist/lib/cubing/chunks/twsearch_wasm_bg-VKUQN4MD-IPLXEKL7.js.map +7 -0
  24. package/dist/lib/cubing/{KPattern.d-DdYwFXdd.d.ts → index-ByJRFnO6.d.ts} +104 -104
  25. package/dist/lib/cubing/{index-CB2Rc3zO.d.ts → index-nwbgtVtK.d.ts} +2 -2
  26. package/dist/lib/cubing/kpuzzle/index.d.ts +2 -2
  27. package/dist/lib/cubing/notation/index.d.ts +4 -4
  28. package/dist/lib/cubing/notation/index.js +2 -2
  29. package/dist/lib/cubing/{parseAlg.d-DewXU-Sn.d.ts → parseAlg.d-BMkZo3Y-.d.ts} +1 -1
  30. package/dist/lib/cubing/protocol/index.d.ts +2 -2
  31. package/dist/lib/cubing/protocol/index.js +2 -2
  32. package/dist/lib/cubing/puzzle-geometry/index.d.ts +3 -3
  33. package/dist/lib/cubing/puzzle-geometry/index.js +31 -28
  34. package/dist/lib/cubing/puzzle-geometry/index.js.map +2 -2
  35. package/dist/lib/cubing/puzzles/index.d.ts +4 -4
  36. package/dist/lib/cubing/puzzles/index.js +2 -2
  37. package/dist/lib/cubing/scramble/index.d.ts +3 -3
  38. package/dist/lib/cubing/scramble/index.js +4 -4
  39. package/dist/lib/cubing/search/index.d.ts +3 -3
  40. package/dist/lib/cubing/search/index.js +4 -4
  41. package/dist/lib/cubing/stream/index.d.ts +5 -5
  42. package/dist/lib/cubing/twisty/index.d.ts +5 -5
  43. package/dist/lib/cubing/twisty/index.js +23 -5
  44. package/dist/lib/cubing/twisty/index.js.map +2 -2
  45. package/package.json +2 -1
  46. package/dist/lib/cubing/chunks/twsearch_wasm_bg-7OSYYTWX-SEPIFK5Y.js +0 -15
  47. package/dist/lib/cubing/chunks/twsearch_wasm_bg-7OSYYTWX-SEPIFK5Y.js.map +0 -7
  48. /package/dist/lib/cubing/chunks/{chunk-WTJ326HQ.js.map → chunk-63PE4ND6.js.map} +0 -0
  49. /package/dist/lib/cubing/chunks/{chunk-IMO4YKJO.js.map → chunk-7LAJDOI3.js.map} +0 -0
  50. /package/dist/lib/cubing/chunks/{chunk-KZE4TK74.js.map → chunk-IWH3E6EY.js.map} +0 -0
  51. /package/dist/lib/cubing/chunks/{chunk-4A5X67G6.js.map → chunk-JVHCFNBL.js.map} +0 -0
  52. /package/dist/lib/cubing/chunks/{chunk-MNGQLIZL.js.map → chunk-KIC77KAO.js.map} +0 -0
  53. /package/dist/lib/cubing/chunks/{chunk-IPUTXJEJ.js.map → chunk-US5D7CVM.js.map} +0 -0
  54. /package/dist/lib/cubing/chunks/{chunk-2DFT7OFB.js.map → chunk-YSHXHFL2.js.map} +0 -0
  55. /package/dist/lib/cubing/chunks/{inside-FE3UMYVY.js.map → inside-JHHWCKZI.js.map} +0 -0
  56. /package/dist/lib/cubing/chunks/{search-dynamic-sgs-side-events-CR5RLWPU.js.map → search-dynamic-sgs-side-events-JOC5DT7H.js.map} +0 -0
  57. /package/dist/lib/cubing/chunks/{search-dynamic-sgs-unofficial-BR77UWSI.js.map → search-dynamic-sgs-unofficial-ZKP3UOZQ.js.map} +0 -0
  58. /package/dist/lib/cubing/chunks/{search-dynamic-solve-4x4x4-W5GCSX3J.js.map → search-dynamic-solve-4x4x4-DKSRKWDZ.js.map} +0 -0
  59. /package/dist/lib/cubing/chunks/{twisty-dynamic-3d-GHONCSOH.js.map → twisty-dynamic-3d-YGAIMWZ2.js.map} +0 -0
@@ -1,4 +1,107 @@
1
- import { M as Move, A as Alg } from './PuzzleLoader-BN2CTwbG.js';
1
+ import { M as Move, A as Alg } from './PuzzleLoader-BYI7PA7C.js';
2
+
3
+ interface NotationMapper {
4
+ notationToInternal(move: Move): Move | null;
5
+ notationToExternal(move: Move): Move | null;
6
+ }
7
+
8
+ declare function parseOptions(argv: string[]): {
9
+ puzzleDescription: PuzzleDescription | null;
10
+ options: PuzzleGeometryOptions;
11
+ };
12
+ type FaceName = string;
13
+ type OrientationDirection = [number, number, number];
14
+ type FaceBasedOrientationDescription = [
15
+ [
16
+ FaceName,
17
+ OrientationDirection
18
+ ],
19
+ [
20
+ FaceName,
21
+ OrientationDirection
22
+ ]
23
+ ];
24
+ type BaseFaceCount = 4 | 6 | 8 | 12 | 20;
25
+ type FaceBasedOrientationDescriptionLookup = Record<BaseFaceCount, FaceBasedOrientationDescription>;
26
+ declare class PuzzleGeometryFullOptions {
27
+ verbosity: number;
28
+ allMoves: boolean;
29
+ outerBlockMoves: boolean;
30
+ vertexMoves: boolean;
31
+ addRotations: boolean;
32
+ moveList: string[] | null;
33
+ fixedOrientation: boolean;
34
+ fixedPieceType: null | "e" | "v" | "f";
35
+ orientCenters: boolean;
36
+ includeCornerOrbits: boolean;
37
+ includeCenterOrbits: boolean;
38
+ includeEdgeOrbits: boolean;
39
+ excludeOrbits: string[];
40
+ optimizeOrbits: boolean;
41
+ grayCorners: boolean;
42
+ grayCenters: boolean;
43
+ grayEdges: boolean;
44
+ puzzleOrientation: FaceBasedOrientationDescription | null;
45
+ puzzleOrientations: FaceBasedOrientationDescriptionLookup | null;
46
+ scrambleAmount: number;
47
+ constructor(options?: PuzzleGeometryOptions);
48
+ }
49
+ type PuzzleGeometryOptions = Partial<PuzzleGeometryFullOptions>;
50
+
51
+ declare class Perm {
52
+ n: number;
53
+ p: number[];
54
+ constructor(a: number[]);
55
+ toString(): string;
56
+ mul(p2: Perm): Perm;
57
+ rmul(p2: Perm): Perm;
58
+ inv(): Perm;
59
+ compareTo(p2: Perm): number;
60
+ toGap(): string;
61
+ toMathematica(): string;
62
+ order(): number;
63
+ }
64
+
65
+ declare class KTransformation {
66
+ #private;
67
+ readonly kpuzzle: KPuzzle;
68
+ readonly transformationData: KTransformationData;
69
+ constructor(kpuzzle: KPuzzle, transformationData: KTransformationData);
70
+ toJSON(): any;
71
+ invert(): KTransformation;
72
+ isIdentityTransformation(): boolean;
73
+ /** @deprecated */
74
+ static experimentalConstructIdentity(kpuzzle: KPuzzle): KTransformation;
75
+ isIdentical(t2: KTransformation): boolean;
76
+ /** @deprecated */
77
+ apply(source: KTransformationSource): KTransformation;
78
+ applyTransformation(t2: KTransformation): KTransformation;
79
+ applyMove(move: Move | string): KTransformation;
80
+ applyAlg(alg: Alg | string): KTransformation;
81
+ toKPattern(): KPattern;
82
+ repetitionOrder(): number;
83
+ selfMultiply(amount: number): KTransformation;
84
+ }
85
+
86
+ declare class KPattern {
87
+ readonly kpuzzle: KPuzzle;
88
+ readonly patternData: KPatternData;
89
+ constructor(kpuzzle: KPuzzle, patternData: KPatternData);
90
+ toJSON(): any;
91
+ static fromTransformation(transformation: KTransformation): KPattern;
92
+ /** @deprecated */
93
+ apply(source: KTransformationSource): KPattern;
94
+ applyTransformation(transformation: KTransformation): KPattern;
95
+ applyMove(move: Move | string): KPattern;
96
+ applyAlg(alg: Alg | string): KPattern;
97
+ isIdentical(other: KPattern): boolean;
98
+ /** @deprecated */
99
+ experimentalToTransformation(): KTransformation | null;
100
+ experimentalIsSolved(options: {
101
+ ignorePuzzleOrientation: boolean;
102
+ ignoreCenterOrientation: boolean;
103
+ }): boolean;
104
+ }
2
105
 
3
106
  type KPatternData = Record<string, KPatternOrbitData>;
4
107
  interface KPatternOrbitData {
@@ -151,89 +254,6 @@ interface KPuzzleDefinition {
151
254
  }) => boolean;
152
255
  }
153
256
 
154
- declare class KTransformation {
155
- #private;
156
- readonly kpuzzle: KPuzzle;
157
- readonly transformationData: KTransformationData;
158
- constructor(kpuzzle: KPuzzle, transformationData: KTransformationData);
159
- toJSON(): any;
160
- invert(): KTransformation;
161
- isIdentityTransformation(): boolean;
162
- /** @deprecated */
163
- static experimentalConstructIdentity(kpuzzle: KPuzzle): KTransformation;
164
- isIdentical(t2: KTransformation): boolean;
165
- /** @deprecated */
166
- apply(source: KTransformationSource): KTransformation;
167
- applyTransformation(t2: KTransformation): KTransformation;
168
- applyMove(move: Move | string): KTransformation;
169
- applyAlg(alg: Alg | string): KTransformation;
170
- toKPattern(): KPattern;
171
- repetitionOrder(): number;
172
- selfMultiply(amount: number): KTransformation;
173
- }
174
-
175
- interface NotationMapper {
176
- notationToInternal(move: Move): Move | null;
177
- notationToExternal(move: Move): Move | null;
178
- }
179
-
180
- declare function parseOptions(argv: string[]): {
181
- puzzleDescription: PuzzleDescription | null;
182
- options: PuzzleGeometryOptions;
183
- };
184
- type FaceName = string;
185
- type OrientationDirection = [number, number, number];
186
- type FaceBasedOrientationDescription = [
187
- [
188
- FaceName,
189
- OrientationDirection
190
- ],
191
- [
192
- FaceName,
193
- OrientationDirection
194
- ]
195
- ];
196
- type BaseFaceCount = 4 | 6 | 8 | 12 | 20;
197
- type FaceBasedOrientationDescriptionLookup = Record<BaseFaceCount, FaceBasedOrientationDescription>;
198
- declare class PuzzleGeometryFullOptions {
199
- verbosity: number;
200
- allMoves: boolean;
201
- outerBlockMoves: boolean;
202
- vertexMoves: boolean;
203
- addRotations: boolean;
204
- moveList: string[] | null;
205
- fixedOrientation: boolean;
206
- fixedPieceType: null | "e" | "v" | "f";
207
- orientCenters: boolean;
208
- includeCornerOrbits: boolean;
209
- includeCenterOrbits: boolean;
210
- includeEdgeOrbits: boolean;
211
- excludeOrbits: string[];
212
- optimizeOrbits: boolean;
213
- grayCorners: boolean;
214
- grayCenters: boolean;
215
- grayEdges: boolean;
216
- puzzleOrientation: FaceBasedOrientationDescription | null;
217
- puzzleOrientations: FaceBasedOrientationDescriptionLookup | null;
218
- scrambleAmount: number;
219
- constructor(options?: PuzzleGeometryOptions);
220
- }
221
- type PuzzleGeometryOptions = Partial<PuzzleGeometryFullOptions>;
222
-
223
- declare class Perm {
224
- n: number;
225
- p: number[];
226
- constructor(a: number[]);
227
- toString(): string;
228
- mul(p2: Perm): Perm;
229
- rmul(p2: Perm): Perm;
230
- inv(): Perm;
231
- compareTo(p2: Perm): number;
232
- toGap(): string;
233
- toMathematica(): string;
234
- order(): number;
235
- }
236
-
237
257
  declare class PGOrbitDef {
238
258
  size: number;
239
259
  mod: number;
@@ -527,24 +547,4 @@ declare class KPuzzle {
527
547
  canConvertDefaultPatternToUniqueTransformation(): boolean;
528
548
  }
529
549
 
530
- declare class KPattern {
531
- readonly kpuzzle: KPuzzle;
532
- readonly patternData: KPatternData;
533
- constructor(kpuzzle: KPuzzle, patternData: KPatternData);
534
- toJSON(): any;
535
- static fromTransformation(transformation: KTransformation): KPattern;
536
- /** @deprecated */
537
- apply(source: KTransformationSource): KPattern;
538
- applyTransformation(transformation: KTransformation): KPattern;
539
- applyMove(move: Move | string): KPattern;
540
- applyAlg(alg: Alg | string): KPattern;
541
- isIdentical(other: KPattern): boolean;
542
- /** @deprecated */
543
- experimentalToTransformation(): KTransformation | null;
544
- experimentalIsSolved(options: {
545
- ignorePuzzleOrientation: boolean;
546
- ignoreCenterOrientation: boolean;
547
- }): boolean;
548
- }
549
-
550
550
  export { KPattern as K, Perm as P, Quat as Q, type StickerDat as S, getPuzzleGeometryByDesc as a, getPuzzleGeometryByName as b, getPG3DNamedPuzzles as c, PuzzleGeometry as d, type StickerDatAxis as e, type StickerDatFace as f, getPuzzleDescriptionString as g, type StickerDatSticker as h, parseOptions as i, type PuzzleGeometryOptions as j, PGNotation as k, type PuzzleCutDescription as l, type PuzzleDescription as m, PUZZLE_CUT_TYPES as n, type PuzzleCutType as o, parsePuzzleDescription as p, PUZZLE_BASE_SHAPES as q, type PuzzleBaseShape as r, KPuzzle as s, KTransformation as t, type PuzzleDescriptionString as u, type KPuzzleDefinition as v, type KPatternData as w, type KPatternOrbitData as x, type KTransformationData as y, type KTransformationOrbitData as z };
@@ -1,5 +1,5 @@
1
- import { A as Alg } from './PuzzleLoader-BN2CTwbG.js';
2
- import { K as KPattern, s as KPuzzle } from './KPattern.d-DdYwFXdd.js';
1
+ import { A as Alg } from './PuzzleLoader-BYI7PA7C.js';
2
+ import { K as KPattern, s as KPuzzle } from './index-ByJRFnO6.js';
3
3
 
4
4
  declare enum PrefetchLevel {
5
5
  Auto = "auto",
@@ -1,3 +1,3 @@
1
- export { K as KPattern, w as KPatternData, x as KPatternOrbitData, s as KPuzzle, v as KPuzzleDefinition, t as KTransformation, y as KTransformationData, z as KTransformationOrbitData } from '../KPattern.d-DdYwFXdd.js';
2
- import '../PuzzleLoader-BN2CTwbG.js';
1
+ export { K as KPattern, w as KPatternData, x as KPatternOrbitData, s as KPuzzle, v as KPuzzleDefinition, t as KTransformation, y as KTransformationData, z as KTransformationOrbitData } from '../index-ByJRFnO6.js';
2
+ import '../PuzzleLoader-BYI7PA7C.js';
3
3
  import 'three';
@@ -1,8 +1,8 @@
1
- import { A as Alg } from '../PuzzleLoader-BN2CTwbG.js';
2
- import { P as PuzzleLoader } from '../TwizzleLink.d-BzfMIk_O.js';
1
+ import { A as Alg } from '../PuzzleLoader-BYI7PA7C.js';
2
+ import { P as PuzzleLoader } from '../TwizzleLink.d-yDfHSjux.js';
3
3
  import 'three';
4
- import '../parseAlg.d-DewXU-Sn.js';
5
- import '../KPattern.d-DdYwFXdd.js';
4
+ import '../parseAlg.d-BMkZo3Y-.js';
5
+ import '../index-ByJRFnO6.js';
6
6
 
7
7
  declare enum CommonMetric {
8
8
  OuterBlockTurnMetric = "OBTM",
@@ -5,8 +5,8 @@ import {
5
5
  countMetricMoves,
6
6
  countMoves,
7
7
  countMovesETM
8
- } from "../chunks/chunk-IPUTXJEJ.js";
9
- import "../chunks/chunk-IMO4YKJO.js";
8
+ } from "../chunks/chunk-US5D7CVM.js";
9
+ import "../chunks/chunk-7LAJDOI3.js";
10
10
  import "../chunks/chunk-TA6HSIQ6.js";
11
11
  import "../chunks/chunk-2SBMIHZV.js";
12
12
  export {
@@ -1,4 +1,4 @@
1
- import { A as Alg, a as AlgNode } from './PuzzleLoader-BN2CTwbG.js';
1
+ import { A as Alg, a as AlgNode } from './PuzzleLoader-BYI7PA7C.js';
2
2
 
3
3
  declare const startCharIndexKey: unique symbol;
4
4
  declare const endCharIndexKey: unique symbol;
@@ -1,5 +1,5 @@
1
- import '../PuzzleLoader-BN2CTwbG.js';
2
- import { K as KPattern } from '../KPattern.d-DdYwFXdd.js';
1
+ import '../PuzzleLoader-BYI7PA7C.js';
2
+ import { K as KPattern } from '../index-ByJRFnO6.js';
3
3
  import 'three';
4
4
 
5
5
  type Binary3x3x3Pattern = Uint8Array;
@@ -5,8 +5,8 @@ import {
5
5
  spacedHexToBuffer,
6
6
  twizzleBinaryToBinaryComponents,
7
7
  twizzleBinaryToReid3x3x3
8
- } from "../chunks/chunk-2DFT7OFB.js";
9
- import "../chunks/chunk-IMO4YKJO.js";
8
+ } from "../chunks/chunk-YSHXHFL2.js";
9
+ import "../chunks/chunk-7LAJDOI3.js";
10
10
  import "../chunks/chunk-TA6HSIQ6.js";
11
11
  import "../chunks/chunk-2SBMIHZV.js";
12
12
  export {
@@ -1,6 +1,6 @@
1
- import { P as Perm } from '../KPattern.d-DdYwFXdd.js';
2
- export { q as EXPERIMENTAL_PUZZLE_BASE_SHAPES, n as EXPERIMENTAL_PUZZLE_CUT_TYPES, k as ExperimentalPGNotation, r as ExperimentalPuzzleBaseShape, l as ExperimentalPuzzleCutDescription, o as ExperimentalPuzzleCutType, m as ExperimentalPuzzleDescription, j as ExperimentalPuzzleGeometryOptions, d as PuzzleGeometry, Q as Quat, S as StickerDat, e as StickerDatAxis, f as StickerDatFace, h as StickerDatSticker, c as getPG3DNamedPuzzles, g as getPuzzleDescriptionString, a as getPuzzleGeometryByDesc, b as getPuzzleGeometryByName, i as parseOptions, p as parsePuzzleDescription } from '../KPattern.d-DdYwFXdd.js';
3
- import '../PuzzleLoader-BN2CTwbG.js';
1
+ import { P as Perm } from '../index-ByJRFnO6.js';
2
+ export { q as EXPERIMENTAL_PUZZLE_BASE_SHAPES, n as EXPERIMENTAL_PUZZLE_CUT_TYPES, k as ExperimentalPGNotation, r as ExperimentalPuzzleBaseShape, l as ExperimentalPuzzleCutDescription, o as ExperimentalPuzzleCutType, m as ExperimentalPuzzleDescription, j as ExperimentalPuzzleGeometryOptions, d as PuzzleGeometry, Q as Quat, S as StickerDat, e as StickerDatAxis, f as StickerDatFace, h as StickerDatSticker, c as getPG3DNamedPuzzles, g as getPuzzleDescriptionString, a as getPuzzleGeometryByDesc, b as getPuzzleGeometryByName, i as parseOptions, p as parsePuzzleDescription } from '../index-ByJRFnO6.js';
3
+ import '../PuzzleLoader-BYI7PA7C.js';
4
4
  import 'three';
5
5
 
6
6
  declare function schreierSims(g: Perm[], disp: (s: string) => void): bigint;
@@ -3922,42 +3922,45 @@ var PuzzleGeometry = class {
3922
3922
  }
3923
3923
  r.push(parsedmove[5]);
3924
3924
  }
3925
- } else if (this.options.vertexMoves && !this.options.allMoves) {
3925
+ } else {
3926
3926
  const msg = this.movesetgeos[k];
3927
- if (msg[1] !== msg[3]) {
3928
- for (let i = 0; i < slices; i++) {
3929
- if (msg[1] !== "v") {
3930
- if (this.options.outerBlockMoves) {
3931
- r.push([i + 1, slices]);
3932
- } else {
3933
- r.push([i + 1]);
3934
- }
3935
- r.push(1);
3936
- } else {
3937
- if (this.options.outerBlockMoves) {
3938
- r.push([0, i]);
3927
+ const isTetrahedron = msg[1] !== msg[3];
3928
+ if (this.options.vertexMoves && isTetrahedron && !this.options.allMoves) {
3929
+ if (msg[1] !== msg[3]) {
3930
+ for (let i = 0; i < slices; i++) {
3931
+ if (msg[1] !== "v") {
3932
+ if (this.options.outerBlockMoves) {
3933
+ r.push([i + 1, slices]);
3934
+ } else {
3935
+ r.push([i + 1, i + 1]);
3936
+ }
3937
+ r.push(1);
3939
3938
  } else {
3940
- r.push([i, i]);
3939
+ if (this.options.outerBlockMoves) {
3940
+ r.push([0, i]);
3941
+ } else {
3942
+ r.push([i, i]);
3943
+ }
3944
+ r.push(1);
3941
3945
  }
3942
- r.push(1);
3943
3946
  }
3944
3947
  }
3945
- }
3946
- } else {
3947
- for (let i = 0; i <= slices; i++) {
3948
- if (!this.options.allMoves && i + i === slices) {
3949
- continue;
3950
- }
3951
- if (this.options.outerBlockMoves) {
3952
- if (i + i > slices) {
3953
- r.push([i, slices]);
3948
+ } else {
3949
+ for (let i = 0; i <= slices; i++) {
3950
+ if (!this.options.allMoves && i + i === slices) {
3951
+ continue;
3952
+ }
3953
+ if (this.options.outerBlockMoves) {
3954
+ if (i + i > slices) {
3955
+ r.push([i, slices]);
3956
+ } else {
3957
+ r.push([0, i]);
3958
+ }
3954
3959
  } else {
3955
- r.push([0, i]);
3960
+ r.push([i, i]);
3956
3961
  }
3957
- } else {
3958
- r.push([i, i]);
3962
+ r.push(1);
3959
3963
  }
3960
- r.push(1);
3961
3964
  }
3962
3965
  }
3963
3966
  if (this.fixedCubie >= 0) {