cubing 0.32.1 → 0.33.0
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/{chunk-JVM7R4NB.js → chunk-ILVYXTHD.js} +6 -7
- package/dist/esm/{chunk-JVM7R4NB.js.map → chunk-ILVYXTHD.js.map} +2 -2
- package/dist/esm/{chunk-PXAYHEVD.js → chunk-OEHG3BF3.js} +6 -5
- package/dist/esm/chunk-OEHG3BF3.js.map +7 -0
- package/dist/esm/scramble/index.js +1 -2
- package/dist/esm/search/index.js +2 -3
- package/dist/esm/{search-dynamic-sgs-unofficial-2V7VKWGI.js → search-dynamic-sgs-unofficial-LORSO7LF.js} +2 -4
- package/dist/esm/{search-dynamic-sgs-unofficial-2V7VKWGI.js.map → search-dynamic-sgs-unofficial-LORSO7LF.js.map} +1 -1
- package/dist/esm/{search-dynamic-solve-4x4x4-RCBTBQF3.js → search-dynamic-solve-4x4x4-BJLOSTR2.js} +3 -5
- package/dist/esm/{search-dynamic-solve-4x4x4-RCBTBQF3.js.map → search-dynamic-solve-4x4x4-BJLOSTR2.js.map} +1 -1
- package/dist/esm/{search-dynamic-solve-fto-PZSGTVO7.js → search-dynamic-solve-fto-L5CX2BTQ.js} +2 -5
- package/dist/esm/{search-dynamic-solve-fto-PZSGTVO7.js.map → search-dynamic-solve-fto-L5CX2BTQ.js.map} +1 -1
- package/dist/esm/{search-dynamic-solve-kilominx-VRIE77AN.js → search-dynamic-solve-kilominx-FBEDWIPR.js} +2 -4
- package/dist/esm/{search-dynamic-solve-kilominx-VRIE77AN.js.map → search-dynamic-solve-kilominx-FBEDWIPR.js.map} +1 -1
- package/dist/esm/{search-dynamic-solve-master_tetraminx-EPWI375K.js → search-dynamic-solve-master_tetraminx-4R5R7LC5.js} +2 -5
- package/dist/esm/{search-dynamic-solve-master_tetraminx-EPWI375K.js.map → search-dynamic-solve-master_tetraminx-4R5R7LC5.js.map} +1 -1
- package/dist/esm/{search-dynamic-solve-sq1-PXS5SUQJ.js → search-dynamic-solve-sq1-CBPKRTVA.js} +2 -5
- package/dist/esm/{search-dynamic-solve-sq1-PXS5SUQJ.js.map → search-dynamic-solve-sq1-CBPKRTVA.js.map} +1 -1
- package/dist/esm/{search-worker-js-entry-Y6RQKL2N.js → search-worker-js-entry-M6ECI442.js} +17 -17
- package/dist/esm/{search-worker-js-entry-Y6RQKL2N.js.map → search-worker-js-entry-M6ECI442.js.map} +4 -4
- package/dist/esm/{search-worker-ts-entry-Q6HRXMHV.js → search-worker-ts-entry-TZANLWZL.js} +2 -2
- package/dist/esm/{search-worker-ts-entry-Q6HRXMHV.js.map → search-worker-ts-entry-TZANLWZL.js.map} +0 -0
- package/dist/esm/twisty/index.js +253 -32
- package/dist/esm/twisty/index.js.map +4 -4
- package/dist/types/{TwizzleLink-b28e5d4f.d.ts → TwizzleLink-3b4382cf.d.ts} +57 -11
- package/dist/types/puzzles/index.d.ts +2 -2
- package/dist/types/twisty/index.d.ts +2 -2
- package/package.json +2 -2
- package/dist/esm/alg/index.d.ts +0 -1
- package/dist/esm/bluetooth/index.d.ts +0 -1
- package/dist/esm/chunk-5AILXG4K.js +0 -60
- package/dist/esm/chunk-5AILXG4K.js.map +0 -7
- package/dist/esm/chunk-PXAYHEVD.js.map +0 -7
- package/dist/esm/kpuzzle/index.d.ts +0 -1
- package/dist/esm/notation/index.d.ts +0 -1
- package/dist/esm/protocol/index.d.ts +0 -1
- package/dist/esm/puzzle-geometry/index.d.ts +0 -1
- package/dist/esm/puzzles/index.d.ts +0 -1
- package/dist/esm/scramble/index.d.ts +0 -1
- package/dist/esm/search/index.d.ts +0 -1
- package/dist/esm/stream/index.d.ts +0 -1
- package/dist/esm/twisty/index.d.ts +0 -1
- package/dist/types/.DS_Store +0 -0
|
@@ -255,6 +255,7 @@ declare class CurrentLeavesSimplifiedProp extends TwistyPropDerived<CurrentLeave
|
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
declare const smartTimestamps: {
|
|
258
|
+
auto: boolean;
|
|
258
259
|
start: boolean;
|
|
259
260
|
end: boolean;
|
|
260
261
|
anchor: boolean;
|
|
@@ -271,6 +272,7 @@ interface DetailedTimelineInfoInputs {
|
|
|
271
272
|
timestampRequest: TimestampRequest;
|
|
272
273
|
timeRange: TimeRange;
|
|
273
274
|
setupAnchor: SetupToLocation;
|
|
275
|
+
setupAlg: AlgWithIssues;
|
|
274
276
|
}
|
|
275
277
|
interface DetailedTimelineInfo {
|
|
276
278
|
timestamp: MillisecondTimestamp;
|
|
@@ -500,6 +502,16 @@ declare class TwistyPlayerController {
|
|
|
500
502
|
visitTwizzleLink(): Promise<void>;
|
|
501
503
|
}
|
|
502
504
|
|
|
505
|
+
declare const darkModeThemes: {
|
|
506
|
+
light: boolean;
|
|
507
|
+
dark: boolean;
|
|
508
|
+
};
|
|
509
|
+
declare type DarkModeTheme = keyof typeof darkModeThemes;
|
|
510
|
+
declare type DarkModeThemeWithAuto = DarkModeTheme | "auto";
|
|
511
|
+
declare class DarkModeRequstProp extends SimpleTwistyPropSource<DarkModeThemeWithAuto> {
|
|
512
|
+
getDefaultValue(): DarkModeThemeWithAuto;
|
|
513
|
+
}
|
|
514
|
+
|
|
503
515
|
declare const buttonCommands: {
|
|
504
516
|
fullscreen: boolean;
|
|
505
517
|
"jump-to-start": boolean;
|
|
@@ -514,16 +526,18 @@ declare class TwistyButtons extends ManagedCustomElement {
|
|
|
514
526
|
#private;
|
|
515
527
|
model?: TwistyPlayerModel | undefined;
|
|
516
528
|
controller?: TwistyPlayerController | undefined;
|
|
517
|
-
private
|
|
529
|
+
private defaultFullscreenElement?;
|
|
518
530
|
buttons: Record<ButtonCommand, TwistyButton> | null;
|
|
519
|
-
constructor(model?: TwistyPlayerModel | undefined, controller?: TwistyPlayerController | undefined,
|
|
531
|
+
constructor(model?: TwistyPlayerModel | undefined, controller?: TwistyPlayerController | undefined, defaultFullscreenElement?: HTMLElement | undefined);
|
|
520
532
|
connectedCallback(): void;
|
|
521
533
|
onFullscreenButton(): Promise<void>;
|
|
522
534
|
update(buttonAppearances: ButtonAppearances): Promise<void>;
|
|
535
|
+
updateDarkMode(darkMode: DarkModeTheme): void;
|
|
523
536
|
}
|
|
524
537
|
declare class TwistyButton extends ManagedCustomElement {
|
|
525
538
|
#private;
|
|
526
539
|
htmlButton: HTMLButtonElement;
|
|
540
|
+
updateDarkMode(darkMode: DarkModeTheme): void;
|
|
527
541
|
connectedCallback(): void;
|
|
528
542
|
setIcon(iconName: ButtonIcon): void;
|
|
529
543
|
}
|
|
@@ -576,6 +590,11 @@ declare class TimeRangeProp extends TwistyPropDerived<{
|
|
|
576
590
|
}): TimeRange;
|
|
577
591
|
}
|
|
578
592
|
|
|
593
|
+
declare type FaceletScale = "auto" | number;
|
|
594
|
+
declare class FaceletScaleProp extends SimpleTwistyPropSource<FaceletScale> {
|
|
595
|
+
getDefaultValue(): FaceletScale;
|
|
596
|
+
}
|
|
597
|
+
|
|
579
598
|
declare type FoundationDisplay = "auto" | "opaque" | "none";
|
|
580
599
|
declare class FoundationDisplayProp extends SimpleTwistyPropSource<FoundationDisplay> {
|
|
581
600
|
getDefaultValue(): FoundationDisplay;
|
|
@@ -623,11 +642,6 @@ declare class StickeringMaskRequestProp extends TwistyPropSource<StickeringMask
|
|
|
623
642
|
derive(input: string | StickeringMask | null): StickeringMask | null;
|
|
624
643
|
}
|
|
625
644
|
|
|
626
|
-
declare type FaceletScale = "auto" | number;
|
|
627
|
-
declare class FaceletScaleProp extends SimpleTwistyPropSource<FaceletScale> {
|
|
628
|
-
getDefaultValue(): FaceletScale;
|
|
629
|
-
}
|
|
630
|
-
|
|
631
645
|
declare const dragInputModes: {
|
|
632
646
|
auto: boolean;
|
|
633
647
|
none: boolean;
|
|
@@ -653,6 +667,7 @@ declare class MovePressInputProp extends SimpleTwistyPropSource<MovePressInput>
|
|
|
653
667
|
|
|
654
668
|
declare const backgroundThemes: {
|
|
655
669
|
checkered: boolean;
|
|
670
|
+
"checkered-transparent": boolean;
|
|
656
671
|
none: boolean;
|
|
657
672
|
};
|
|
658
673
|
declare type BackgroundTheme = keyof typeof backgroundThemes;
|
|
@@ -661,6 +676,17 @@ declare class BackgroundProp extends SimpleTwistyPropSource<BackgroundThemeWithA
|
|
|
661
676
|
getDefaultValue(): BackgroundThemeWithAuto;
|
|
662
677
|
}
|
|
663
678
|
|
|
679
|
+
interface DarkModePropInputs {
|
|
680
|
+
darkModeRequest: DarkModeThemeWithAuto;
|
|
681
|
+
}
|
|
682
|
+
declare class DarkModeProp extends TwistyPropDerived<DarkModePropInputs, DarkModeTheme> {
|
|
683
|
+
protected derive(inputs: DarkModePropInputs): DarkModeTheme;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
declare class DOMElementReferenceProp extends SimpleTwistyPropSource<Element | null> {
|
|
687
|
+
getDefaultValue(): Element | null;
|
|
688
|
+
}
|
|
689
|
+
|
|
664
690
|
declare type CoordinateDegrees = number;
|
|
665
691
|
interface OrbitCoordinates {
|
|
666
692
|
latitude: CoordinateDegrees;
|
|
@@ -692,9 +718,11 @@ declare class OrbitCoordinatesProp extends TwistyPropDerived<OrbitCoordinatesPro
|
|
|
692
718
|
declare class TwistySceneModel {
|
|
693
719
|
twistyPlayerModel: TwistyPlayerModel;
|
|
694
720
|
background: BackgroundProp;
|
|
721
|
+
darkModeRequest: DarkModeRequstProp;
|
|
695
722
|
dragInput: DragInputProp;
|
|
696
723
|
foundationDisplay: FoundationDisplayProp;
|
|
697
724
|
foundationStickerSpriteURL: URLProp;
|
|
725
|
+
fullscreenElement: DOMElementReferenceProp;
|
|
698
726
|
hintFacelet: HintFaceletProp;
|
|
699
727
|
hintStickerSpriteURL: URLProp;
|
|
700
728
|
initialHintFaceletsAnimation: InitialHintFaceletsAnimationProp;
|
|
@@ -705,6 +733,7 @@ declare class TwistySceneModel {
|
|
|
705
733
|
stickeringMaskRequest: StickeringMaskRequestProp;
|
|
706
734
|
stickeringRequest: StickeringRequestProp;
|
|
707
735
|
faceletScale: FaceletScaleProp;
|
|
736
|
+
darkMode: DarkModeProp;
|
|
708
737
|
foundationStickerSprite: SpriteProp;
|
|
709
738
|
hintStickerSprite: SpriteProp;
|
|
710
739
|
orbitCoordinates: OrbitCoordinatesProp;
|
|
@@ -979,6 +1008,8 @@ declare abstract class TwistyPlayerSettable extends ManagedCustomElement {
|
|
|
979
1008
|
get backView(): never;
|
|
980
1009
|
set background(backgroundTheme: BackgroundThemeWithAuto);
|
|
981
1010
|
get background(): never;
|
|
1011
|
+
set darkMode(darkMode: DarkModeThemeWithAuto);
|
|
1012
|
+
get darkMode(): never;
|
|
982
1013
|
set controlPanel(newControlPanel: ControlPanelThemeWithAuto);
|
|
983
1014
|
get controlPanel(): never;
|
|
984
1015
|
set visualization(visualizationFormat: VisualizationFormatWithAuto);
|
|
@@ -1011,6 +1042,8 @@ declare abstract class TwistyPlayerSettable extends ManagedCustomElement {
|
|
|
1011
1042
|
get experimentalSprite(): never;
|
|
1012
1043
|
set experimentalHintSprite(url: string | URL);
|
|
1013
1044
|
get experimentalHintSprite(): never;
|
|
1045
|
+
set fullscreenElement(element: Element | null);
|
|
1046
|
+
get fullscreenElement(): never;
|
|
1014
1047
|
set experimentalInitialHintFaceletsAnimation(anim: InitialHintFaceletsAnimation);
|
|
1015
1048
|
get experimentalInitialHintFaceletsAnimation(): never;
|
|
1016
1049
|
set experimentalDragInput(dragInputMode: DragInputMode);
|
|
@@ -1066,7 +1099,8 @@ interface TwistyPlayerConfig {
|
|
|
1066
1099
|
hintFacelets?: HintFaceletStyleWithAuto;
|
|
1067
1100
|
experimentalStickering?: ExperimentalStickering;
|
|
1068
1101
|
experimentalStickeringMaskOrbits?: StickeringMask | string;
|
|
1069
|
-
background?:
|
|
1102
|
+
background?: BackgroundThemeWithAuto;
|
|
1103
|
+
darkMode?: DarkModeThemeWithAuto;
|
|
1070
1104
|
controlPanel?: ControlPanelThemeWithAuto;
|
|
1071
1105
|
backView?: BackViewLayoutWithAuto;
|
|
1072
1106
|
experimentalInitialHintFaceletsAnimation?: InitialHintFaceletsAnimation;
|
|
@@ -1304,17 +1338,29 @@ declare global {
|
|
|
1304
1338
|
/** @category Other Custom Elements */
|
|
1305
1339
|
declare class TwizzleLink extends ManagedCustomElement {
|
|
1306
1340
|
#private;
|
|
1341
|
+
private options?;
|
|
1307
1342
|
twistyPlayer: TwistyPlayer | null;
|
|
1308
1343
|
a: HTMLAnchorElement | null;
|
|
1309
|
-
constructor(
|
|
1344
|
+
constructor(options?: {
|
|
1345
|
+
cdnForumTweaks?: boolean | undefined;
|
|
1346
|
+
darkMode: boolean;
|
|
1347
|
+
} | undefined);
|
|
1310
1348
|
fallback(): void;
|
|
1311
1349
|
connectedCallback(): Promise<void>;
|
|
1312
|
-
addHeading(text: string): HTMLElement;
|
|
1350
|
+
addHeading(text: string, getTextToCopy?: () => Promise<string | null>): HTMLElement;
|
|
1313
1351
|
}
|
|
1314
1352
|
declare global {
|
|
1315
1353
|
interface HTMLElementTagNameMap {
|
|
1316
1354
|
"twizzle-link": TwizzleLink;
|
|
1317
1355
|
}
|
|
1318
1356
|
}
|
|
1357
|
+
declare class TwizzleForumLink extends TwizzleLink {
|
|
1358
|
+
constructor();
|
|
1359
|
+
}
|
|
1360
|
+
declare global {
|
|
1361
|
+
interface HTMLElementTagNameMap {
|
|
1362
|
+
"twizzle-forum-link": TwizzleForumLink;
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1319
1365
|
|
|
1320
|
-
export { AlgIndexer as A, BackViewLayout as B, Duration as D, ExperimentalStickering as E, MillisecondTimestamp as M, NO_VALUE as N, PuzzleID as P, StickeringMask as S, Timestamp as T, VisualizationFormat as V, PuzzleLoader as a, TwistyPlayer as b, TwistyAlgViewer as c, TwistyAlgEditor as d, TwistyPlayerConfig as e, backViewLayouts as f,
|
|
1366
|
+
export { AlgIndexer as A, BackViewLayout as B, Duration as D, ExperimentalStickering as E, MillisecondTimestamp as M, NO_VALUE as N, PuzzleID as P, StickeringMask as S, Timestamp as T, VisualizationFormat as V, PuzzleLoader as a, TwistyPlayer as b, TwistyAlgViewer as c, TwistyAlgEditor as d, TwistyPlayerConfig as e, backViewLayouts as f, TwizzleForumLink as g };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PuzzleID, a as PuzzleLoader } from '../TwizzleLink-
|
|
2
|
-
export { a as PuzzleLoader } from '../TwizzleLink-
|
|
1
|
+
import { P as PuzzleID, a as PuzzleLoader } from '../TwizzleLink-3b4382cf.js';
|
|
2
|
+
export { a as PuzzleLoader } from '../TwizzleLink-3b4382cf.js';
|
|
3
3
|
import 'three';
|
|
4
4
|
import '../Alg-8b4e9255.js';
|
|
5
5
|
import '../parseAlg-2dd4194b.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as AlgIndexer, T as Timestamp, D as Duration, S as StickeringMask } from '../TwizzleLink-
|
|
2
|
-
export { A as AlgIndexer, B as BackViewLayout, N as EXPERIMENTAL_PROP_NO_VALUE, M as ExperimentalMillisecondTimestamp, E as ExperimentalStickering, P as PuzzleID, d as TwistyAlgEditor, c as TwistyAlgViewer, b as TwistyPlayer, e as TwistyPlayerConfig, g as TwizzleLink, V as VisualizationFormat, f as backViewLayouts } from '../TwizzleLink-
|
|
1
|
+
import { A as AlgIndexer, T as Timestamp, D as Duration, S as StickeringMask } from '../TwizzleLink-3b4382cf.js';
|
|
2
|
+
export { A as AlgIndexer, B as BackViewLayout, N as EXPERIMENTAL_PROP_NO_VALUE, M as ExperimentalMillisecondTimestamp, E as ExperimentalStickering, P as PuzzleID, d as TwistyAlgEditor, c as TwistyAlgViewer, b as TwistyPlayer, e as TwistyPlayerConfig, g as TwizzleLink, V as VisualizationFormat, f as backViewLayouts } from '../TwizzleLink-3b4382cf.js';
|
|
3
3
|
import { a as Alg, M as Move } from '../Alg-8b4e9255.js';
|
|
4
4
|
import { a as KPuzzle, K as KState, e as KTransformation } from '../KState-0da22515.js';
|
|
5
5
|
import 'three';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cubing",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "A collection of JavaScript cubing libraries.",
|
|
5
5
|
"author": "The js.cubing.net team",
|
|
6
6
|
"type": "module",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@web/dev-server-esbuild": "^0.3.2",
|
|
71
71
|
"@web/test-runner": "^0.14.0",
|
|
72
72
|
"@web/test-runner-playwright": "^0.8.10",
|
|
73
|
-
"barely-a-dev-server": "^0.
|
|
73
|
+
"barely-a-dev-server": "^0.4.0",
|
|
74
74
|
"chai": "^4.3.6",
|
|
75
75
|
"esbuild": "^0.15.3",
|
|
76
76
|
"jszip": "^3.10.1",
|
package/dist/esm/alg/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/alg";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/bluetooth";
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// node_modules/random-uint-below/dist/esm/index.js
|
|
2
|
-
var MAX_JS_PRECISE_INT = 9007199254740992;
|
|
3
|
-
var UPPER_HALF_MULTIPLIER = 2097152;
|
|
4
|
-
var LOWER_HALF_DIVIDER = 2048;
|
|
5
|
-
function crypto() {
|
|
6
|
-
const { crypto: crypto2 } = globalThis;
|
|
7
|
-
if (!crypto2) {
|
|
8
|
-
const { node: nodeVersion } = globalThis.process?.versions;
|
|
9
|
-
if (nodeVersion && parseInt(nodeVersion.split(".")[0]) < 19) {
|
|
10
|
-
throw new Error(
|
|
11
|
-
"`node` 19 or above is required for randomization using `random-uint-below`"
|
|
12
|
-
);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return crypto2;
|
|
16
|
-
}
|
|
17
|
-
function random53BitNumber() {
|
|
18
|
-
const arr = new Uint32Array(2);
|
|
19
|
-
crypto().getRandomValues(arr);
|
|
20
|
-
const upper = arr[0];
|
|
21
|
-
const lower = arr[1];
|
|
22
|
-
return Math.floor(upper * UPPER_HALF_MULTIPLIER) + Math.floor(lower / LOWER_HALF_DIVIDER);
|
|
23
|
-
}
|
|
24
|
-
function validateMax(max) {
|
|
25
|
-
if (typeof max !== "number" || max < 0 || Math.floor(max) !== max) {
|
|
26
|
-
throw new Error(
|
|
27
|
-
"randomUIntBelow() not called with a positive integer value."
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
if (max > MAX_JS_PRECISE_INT) {
|
|
31
|
-
throw new Error(
|
|
32
|
-
`Called randomUIntBelow() with max === ${max}, which is larger than JavaScript can handle with integer precision.`
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function randomUIntBelow(max) {
|
|
37
|
-
validateMax(max);
|
|
38
|
-
let val = random53BitNumber();
|
|
39
|
-
const maxUniformSamplingRange = Math.floor(MAX_JS_PRECISE_INT / max) * max;
|
|
40
|
-
while (val >= maxUniformSamplingRange) {
|
|
41
|
-
return val = random53BitNumber();
|
|
42
|
-
}
|
|
43
|
-
return val % max;
|
|
44
|
-
}
|
|
45
|
-
function randomChoice(arr) {
|
|
46
|
-
return arr[randomUIntBelow(arr.length)];
|
|
47
|
-
}
|
|
48
|
-
async function randomPermuteInPlace(arr) {
|
|
49
|
-
for (let i = 1; i < arr.length; i++) {
|
|
50
|
-
const j = randomUIntBelow(i);
|
|
51
|
-
[arr[i], arr[j]] = [arr[j], arr[i]];
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export {
|
|
56
|
-
randomUIntBelow,
|
|
57
|
-
randomChoice,
|
|
58
|
-
randomPermuteInPlace
|
|
59
|
-
};
|
|
60
|
-
//# sourceMappingURL=chunk-5AILXG4K.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../node_modules/random-uint-below/dist/esm/index.js"],
|
|
4
|
-
"sourcesContent": ["// src/random-uint-below/randomUIntBelow.ts\nvar MAX_JS_PRECISE_INT = 9007199254740992;\nvar UPPER_HALF_MULTIPLIER = 2097152;\nvar LOWER_HALF_DIVIDER = 2048;\nfunction crypto() {\n const { crypto: crypto2 } = globalThis;\n if (!crypto2) {\n const { node: nodeVersion } = globalThis.process?.versions;\n if (nodeVersion && parseInt(nodeVersion.split(\".\")[0]) < 19) {\n throw new Error(\n \"`node` 19 or above is required for randomization using `random-uint-below`\"\n );\n }\n }\n return crypto2;\n}\nfunction random53BitNumber() {\n const arr = new Uint32Array(2);\n crypto().getRandomValues(arr);\n const upper = arr[0];\n const lower = arr[1];\n return Math.floor(upper * UPPER_HALF_MULTIPLIER) + Math.floor(lower / LOWER_HALF_DIVIDER);\n}\nfunction validateMax(max) {\n if (typeof max !== \"number\" || max < 0 || Math.floor(max) !== max) {\n throw new Error(\n \"randomUIntBelow() not called with a positive integer value.\"\n );\n }\n if (max > MAX_JS_PRECISE_INT) {\n throw new Error(\n `Called randomUIntBelow() with max === ${max}, which is larger than JavaScript can handle with integer precision.`\n );\n }\n}\nfunction randomUIntBelow(max) {\n validateMax(max);\n let val = random53BitNumber();\n const maxUniformSamplingRange = Math.floor(MAX_JS_PRECISE_INT / max) * max;\n while (val >= maxUniformSamplingRange) {\n return val = random53BitNumber();\n }\n return val % max;\n}\n\n// src/random-uint-below/array-operations.ts\nfunction randomChoice(arr) {\n return arr[randomUIntBelow(arr.length)];\n}\nasync function randomPermuteInPlace(arr) {\n for (let i = 1; i < arr.length; i++) {\n const j = randomUIntBelow(i);\n [arr[i], arr[j]] = [arr[j], arr[i]];\n }\n}\nexport {\n randomChoice,\n randomPermuteInPlace,\n randomUIntBelow\n};\n"],
|
|
5
|
-
"mappings": ";AACA,IAAI,qBAAqB;AACzB,IAAI,wBAAwB;AAC5B,IAAI,qBAAqB;AACzB,SAAS,SAAS;AAChB,QAAM,EAAE,QAAQ,QAAQ,IAAI;AAC5B,MAAI,CAAC,SAAS;AACZ,UAAM,EAAE,MAAM,YAAY,IAAI,WAAW,SAAS;AAClD,QAAI,eAAe,SAAS,YAAY,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI;AAC3D,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,oBAAoB;AAC3B,QAAM,MAAM,IAAI,YAAY,CAAC;AAC7B,SAAO,EAAE,gBAAgB,GAAG;AAC5B,QAAM,QAAQ,IAAI;AAClB,QAAM,QAAQ,IAAI;AAClB,SAAO,KAAK,MAAM,QAAQ,qBAAqB,IAAI,KAAK,MAAM,QAAQ,kBAAkB;AAC1F;AACA,SAAS,YAAY,KAAK;AACxB,MAAI,OAAO,QAAQ,YAAY,MAAM,KAAK,KAAK,MAAM,GAAG,MAAM,KAAK;AACjE,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,MAAI,MAAM,oBAAoB;AAC5B,UAAM,IAAI;AAAA,MACR,yCAAyC;AAAA,IAC3C;AAAA,EACF;AACF;AACA,SAAS,gBAAgB,KAAK;AAC5B,cAAY,GAAG;AACf,MAAI,MAAM,kBAAkB;AAC5B,QAAM,0BAA0B,KAAK,MAAM,qBAAqB,GAAG,IAAI;AACvE,SAAO,OAAO,yBAAyB;AACrC,WAAO,MAAM,kBAAkB;AAAA,EACjC;AACA,SAAO,MAAM;AACf;AAGA,SAAS,aAAa,KAAK;AACzB,SAAO,IAAI,gBAAgB,IAAI,MAAM;AACvC;AACA,eAAe,qBAAqB,KAAK;AACvC,WAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,UAAM,IAAI,gBAAgB,CAAC;AAC3B,KAAC,IAAI,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;AAAA,EACpC;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/cubing/search/inside/inside-worker.ts", "../../src/cubing/search/inside/solve/addOrientationSuffix.ts", "../../src/cubing/search/inside/solve/puzzles/dynamic/3x3x3/index.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/convert.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/filter.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/legacy-sgs.ts", "../../src/cubing/search/inside/solve/puzzles/3x3x3/index.ts"],
|
|
4
|
-
"sourcesContent": ["let isInsideWorker = false;\n\nexport function setIsInsideWorker(inside: boolean) {\n isInsideWorker = inside;\n}\n\nexport function mustBeInsideWorker(): void {\n if (!isInsideWorker) {\n throw new Error(\n \"Must be called from inside a worker, to avoid impact on page performance. Try importing from the top level of `cubing/solve`?\",\n );\n }\n}\n", "import { Alg, AlgBuilder, Move } from \"../../../alg\";\nimport { randomChoice } from \"random-uint-below\";\n\nexport function addOrientationSuffix(\n alg: Alg,\n suffixSpec: (null | string)[][],\n): Alg {\n const algBuilder = new AlgBuilder();\n algBuilder.experimentalPushAlg(alg);\n for (const suffix of suffixSpec) {\n const choice = randomChoice(suffix);\n if (choice !== null) {\n algBuilder.push(Move.fromString(choice));\n }\n }\n return algBuilder.toAlg();\n}\n", "import { from } from \"../../../../../../vendor/p-lazy/p-lazy\";\n\nexport const dynamic3x3x3min2phase = from<\n typeof import(\"./search-dynamic-solve-3x3x3\")\n>(() => import(\"./search-dynamic-solve-3x3x3\"));\n", "/*\n\nFace order:\n\n U\nLFRB\n D\n\n | 0| 1| 2|\n | 3| 4| 5|\n | 6| 7| 8|\n| 9|10|11|18|19|20|27|28|29|36|37|38|\n|12|13|14|21|22|23|30|31|32|39|40|41|\n|15|16|17|24|25|26|33|34|35|42|43|44|\n |45|46|47|\n |48|49|50|\n |51|52|53|\n*/\n\nimport type { KState } from \"../../../../../kpuzzle/KState\";\n\nconst reidEdgeOrder = \"UF UR UB UL DF DR DB DL FR FL BR BL\".split(\" \");\nconst reidCornerOrder = \"UFR URB UBL ULF DRF DFL DLB DBR\".split(\" \");\nconst centerOrder = \"U L F R B D\".split(\" \");\n\n// const stickers = [reidEdgeOrder, reidCornerOrder, centerOrder];\n\n// /*\n// |1 20|0 20|1 10|\n// |0 30|2 00|0 10|\n// |1 30|0 00|1 00|\n// |1 22|0 31|1 31|1 32|0 01|1 01|1 02|0 11|1 11|1 12|0 21|1 21|\n// |0111|2 10|0 91|0 90|2 20|0 80|0 81|2 30|0101|0100|2 40|0110|\n// |1 61|0 71|1 52|1 51|0 41|1 42|1 41|0 51|1 72|1 71|0 61|1 62|\n// |1 50|0 40|1 40|\n// |0 70|2 50|0 50|\n// |1 60|0 60|1 70|\n// */\n\nconst map: [number, number, number][] = [\n [1, 2, 0],\n [0, 2, 0],\n [1, 1, 0],\n [0, 3, 0],\n [2, 0, 0],\n [0, 1, 0],\n [1, 3, 0],\n [0, 0, 0],\n [1, 0, 0],\n [1, 0, 2],\n [0, 1, 1],\n [1, 1, 1],\n [0, 8, 1],\n [2, 3, 0],\n [0, 10, 1],\n [1, 4, 1],\n [0, 5, 1],\n [1, 7, 2],\n [1, 3, 2],\n [0, 0, 1],\n [1, 0, 1],\n [0, 9, 0],\n [2, 2, 0],\n [0, 8, 0],\n [1, 5, 1],\n [0, 4, 1],\n [1, 4, 2],\n [1, 5, 0],\n [0, 4, 0],\n [1, 4, 0],\n [0, 7, 0],\n [2, 5, 0],\n [0, 5, 0],\n [1, 6, 0],\n [0, 6, 0],\n [1, 7, 0],\n [1, 2, 2],\n [0, 3, 1],\n [1, 3, 1],\n [0, 11, 1],\n [2, 1, 0],\n [0, 9, 1],\n [1, 6, 1],\n [0, 7, 1],\n [1, 5, 2],\n [1, 1, 2],\n [0, 2, 1],\n [1, 2, 1],\n [0, 10, 0],\n [2, 4, 0],\n [0, 11, 0],\n [1, 7, 1],\n [0, 6, 1],\n [1, 6, 2],\n];\n\nfunction rotateLeft(s: string, i: number): string {\n return s.slice(i) + s.slice(0, i);\n}\n\nfunction toReid333Struct(state: KState): string[][] {\n const output: string[][] = [[], []];\n for (let i = 0; i < 6; i++) {\n if (state.stateData[\"CENTERS\"].pieces[i] !== i) {\n throw new Error(\"non-oriented puzzles are not supported\");\n }\n }\n for (let i = 0; i < 12; i++) {\n output[0].push(\n rotateLeft(\n reidEdgeOrder[state.stateData[\"EDGES\"].pieces[i]],\n state.stateData[\"EDGES\"].orientation[i],\n ),\n );\n }\n for (let i = 0; i < 8; i++) {\n output[1].push(\n rotateLeft(\n reidCornerOrder[state.stateData[\"CORNERS\"].pieces[i]],\n state.stateData[\"CORNERS\"].orientation[i],\n ),\n );\n }\n output.push(centerOrder);\n return output;\n}\n\n// function toReid333String(state: Transformation): string {\n// return toReid333Struct(state)\n// .map((l) => l.join(\" \"))\n// .join(\" \");\n// }\n\nexport function toMin2PhaseState(state: KState): string {\n const reid = toReid333Struct(state);\n return map.map(([orbit, perm, ori]) => reid[orbit][perm][ori]).join(\"\");\n}\n", "import { Move } from \"../../../../../alg\";\nimport type { KPuzzle } from \"../../../../../kpuzzle\";\nimport { KState } from \"../../../../../kpuzzle\";\n\nexport function isEquivalentTranformationIgnoringCENTERS(\n t1: KState,\n t2: KState,\n): boolean {\n const t1NoCenterOri = new KState(t1.kpuzzle, {\n EDGES: t1.stateData.EDGES,\n CORNERS: t1.stateData.CORNERS,\n CENTERS: {\n pieces: t1.stateData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n }).experimentalToTransformation()!;\n const t2NoCenterOri = new KState(t2.kpuzzle, {\n EDGES: t2.stateData.EDGES,\n CORNERS: t2.stateData.CORNERS,\n CENTERS: {\n pieces: t2.stateData.CENTERS.pieces,\n orientation: new Array(6).fill(0),\n },\n }).experimentalToTransformation()!;\n return t1NoCenterOri.isIdentical(t2NoCenterOri);\n}\n\nexport function passesFilter(kpuzzle: KPuzzle, state: KState): boolean {\n if (isEquivalentTranformationIgnoringCENTERS(kpuzzle.startState(), state)) {\n return false;\n }\n\n for (const face of \"ULFRBD\") {\n for (let amount = 1; amount < 4; amount++) {\n const transformation = kpuzzle\n .moveToTransformation(new Move(face, amount))\n .toKState();\n if (isEquivalentTranformationIgnoringCENTERS(transformation, state)) {\n return false;\n }\n }\n }\n\n return true;\n}\n// TODO: implement tests\n// {\n// const def = await puzzles[\"3x3x3\"].def();\n// const kpuzzle = new KPuzzle(def);\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"R\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.applyAlg(parse(\"D\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// kpuzzle.reset();\n// kpuzzle.applyAlg(parse(\"(R' U' R U')5\"));\n// console.log(passesFilter(def, kpuzzle.state));\n// }\n", "// TODO: Verify\nexport const sgs3x3x3: string[][] = [\n [\n \"R U'\",\n \"R2 B\", //\n \"D2 B2\",\n \"D' L B'\", //\n \"R' U'\",\n \"B\", //\n \"D B2\",\n \"R' B\", //\n \"L' U\",\n \"L2 B'\", //\n \"B2\",\n \"D L B'\", //\n \"L U\",\n \"B'\", //\n \"U'\",\n \"R B\", //\n \"D' B2\",\n \"L B'\", //\n \"U2\",\n \"U L' B'\", //\n \"\",\n \"U' L' B'\", //\n \"U\",\n \"L' B'\",\n ],\n [\n \"F2 L2\",\n \"F' L'\",\n \"R' F L2\", //\n \"D' L2\",\n \"F L2\",\n \"F2 L'\", //\n \"R' F' L'\",\n \"R2 F L2\",\n \"R2 F2 L'\", //\n \"L2\",\n \"F L'\",\n \"D' L\", //\n \"D2 L2\",\n \"R2 F' L'\",\n \"D L\", //\n \"\",\n \"L2 F L'\",\n \"L F' L2\", //\n \"L F L'\",\n \"F' L2\",\n \"L'\", //\n \"D L2\",\n \"D F L'\",\n \"L\",\n ],\n [\n \"R B U2 B'\",\n \"R2 B U' B'\", //\n \"F2 B U B'\",\n \"F B2 L' B2\", //\n \"B2 L B2\",\n \"B U' B'\", //\n \"R2 B U2 B'\",\n \"R' B U' B'\", //\n \"B2 L' B2\",\n \"F B U B'\", //\n \"B2 U' B2\",\n \"B' L B\", //\n \"L F' B D' B'\",\n \"B' U' B2 D B'\", //\n \"B U2 B'\",\n \"R B U' B'\", //\n \"B2 L2 B2\",\n \"D' B' L B\", //\n \"B U B'\",\n \"F' B2 L' B2\", //\n \"\",\n \"B2 L' B' U' B'\",\n ],\n [\n \"U F2 L2 U'\",\n \"F' U L' U'\", //\n \"F2 U L' U'\",\n \"U F L2 U'\", //\n \"U2 B2 U2\",\n \"R' U' B U\", //\n \"D2 U L U'\",\n \"D U2 B' U2\", //\n \"U L2 U'\",\n \"F U L' U'\", //\n \"D U L U'\",\n \"U2 B' U2\", //\n \"\",\n \"U2 B' U' L' U'\", //\n \"U2 L' U2\",\n \"U' B U\", //\n \"U L U'\",\n \"D' U2 B' U2\", //\n \"U L' U'\",\n \"U2 B U2\",\n ],\n [\n \"R' D' F2\",\n \"F'\", //\n \"F2\",\n \"D R F'\", //\n \"R D' F2\",\n \"R2 F'\", //\n \"D' F2\",\n \"R F'\", //\n \"F2 R' D' F2\",\n \"F\", //\n \"D2 F2\",\n \"D' R F'\", //\n \"R2 D' F2\",\n \"R' F'\", //\n \"D F2\",\n \"D2 R F'\", //\n \"\",\n \"F R' D' F2\",\n ],\n [\n \"R' D2 F' D F\",\n \"R F2 R2 F2\",\n \"R2 F' D2 F\", //\n \"F' R2 D2 F\",\n \"L D' L'\",\n \"D F' D2 F\", //\n \"F2 R2 F2\",\n \"R F' D2 F\",\n \"F' R2 D' F\", //\n \"F' R' D2 F\",\n \"F2 R' F2\",\n \"L D L'\", //\n \"F' R D' F\",\n \"F2 R F2\",\n \"F' D2 F\", //\n \"\",\n \"L D2 R D' L'\",\n \"F' D2 F' R F2\", //\n \"D2 R2 F2 R2 F2\",\n \"D F' D' F\",\n \"F' D F\",\n ],\n [\n \"U F2 U'\",\n \"R U F' U'\", //\n \"D R U F2 U'\",\n \"U F U'\", //\n \"R2 U F2 U'\",\n \"R' U F' U'\", //\n \"R U F2 U'\",\n \"R2 U F' U'\", //\n \"\",\n \"U L D L' F U'\", //\n \"F2 D' R D F2\",\n \"D2 U F U'\", //\n \"R' U F2 U'\",\n \"U F' U'\", //\n \"F2 D2 R D2 F2\",\n \"D U F U'\",\n ],\n [\n \"R2\",\n \"R' B' D B\", //\n \"D R'\",\n \"F' R2 F\", //\n \"\",\n \"R B' D B\", //\n \"R'\",\n \"B' D B\", //\n \"D' R'\",\n \"D2 F' R2 F\", //\n \"R\",\n \"R2 B' D B\", //\n \"D2 R'\",\n \"B' D' B\",\n ],\n [\n \"R2 D' R2\",\n \"F' R' F R\",\n \"R D' R2 D R'\", //\n \"D2 R2 D2 R2\",\n \"R' D' F' R F\",\n \"U F D F' U'\", //\n \"\",\n \"R2 D2 B R' B' R'\",\n \"R' F D' F2 R F\", //\n \"R2 D R2\",\n \"F2 U F U' F\",\n \"R' D F' R F\", //\n \"D R2 D2 R2\",\n \"U F D' F' U'\",\n \"D R' D2 F' R F\", //\n \"R2 D2 R2\",\n \"U F D2 F' U'\",\n \"R' D2 F' R F\",\n ],\n [\n \"B R B'\",\n \"F D F' B R2 B'\", //\n \"D B R2 B'\",\n \"D2 B R' B'\", //\n \"B R2 B'\",\n \"D B R' B'\", //\n \"D' B R2 B'\",\n \"B R' B'\", //\n \"\",\n \"B R2 B' D B R' B'\", //\n \"D2 B R2 B'\",\n \"D' B R' B'\",\n ],\n [\n \"\",\n \"R' D R F D2 F'\", //\n \"R' D R\",\n \"D F D' F'\", //\n \"R F' R' F\",\n \"F D' F'\", //\n \"R' D' R\",\n \"F D2 F'\", //\n \"R' D2 R\",\n \"F D F'\",\n ],\n [\n \"\",\n \"F2 D2 R F' R' D2 F' D2 F'\",\n \"F2 D2 F' D' F D' F' D2 F'\", //\n \"F2 D F2 D F2 D2 F2\",\n \"D2 F L D2 L' D2 F'\",\n \"D F D2 L D2 L' F'\", //\n \"R' D B' D2 B D' R\",\n \"R' D2 B' D2 B R\",\n \"F D2 F' D F D F'\", //\n \"F D' L D2 L' D F'\",\n \"B D' F D B' D' F'\",\n \"F D2 L D2 L' F'\", //\n \"F D' L D L' D F'\",\n \"F L D2 L' D2 F'\",\n \"R' B' D2 B D2 R\",\n ],\n [\n \"D'\",\n \"F L D L' D' F'\", //\n \"D2\",\n \"L B D B' D' L'\", //\n \"D\",\n \"B' L' D' L D B\", //\n \"\",\n \"D F L D L' D' F'\",\n ],\n [\n \"F' D2 F D F' D F\",\n \"F' D' R' D R F\", //\n \"F' R' D' R D F\",\n \"B D R D' R' B'\", //\n \"\",\n \"D B' D' L' D L B\",\n ],\n [\n \"D F D F' D F D2 F'\",\n \"F' U2 B' R' B U2 F' L F' L' F'\", //\n \"\",\n \"D2 L D L2 F L F2 D F\",\n ],\n [\n \"L B' L' F L B L' F'\",\n \"F2 U F' D2 F U' F' D2 F'\",\n \"D' F' D B D' F D B'\", //\n \"F L2 F R2 F' L2 F R2 F2\",\n \"D B D' F' D B' D' F\",\n \"R F L F' R' F L' F'\", //\n \"\",\n \"D2 B L' U2 L B' D2 B L' U2 L B'\",\n \"D2 F R' U2 R F' D2 F R' U2 R F'\", //\n \"R F L' F' R' F L F'\",\n \"D F D' B' D F' D' B\",\n \"L2 F2 L' B2 L F2 L' B2 L'\",\n ],\n [\n \"L B R' B' L' B R B'\",\n \"R' B R F' R' B' R F\",\n \"L D2 L U L' D2 L U' L2\", //\n \"\",\n \"D2 B' D2 F D' L2 F L2 F' D2 B D' F'\",\n \"D2 F' R' F R2 B' D2 B D2 R' F D2 F'\", //\n \"L B L' F L B' L' F'\",\n \"F' D2 F' U' F D2 F' U F2\",\n \"D' B' D F D' B D F'\",\n ],\n [\"\", \"D2 F' L U2 L' F D2 F' L U2 L' F\", \"D2 B' R U2 R' B D2 B' R U2 R' B\"],\n];\n", "import { Alg, AlgBuilder } from \"../../../../../alg\";\nimport type { KState } from \"../../../../../kpuzzle/KState\";\nimport { puzzles } from \"../../../../../puzzles\";\nimport { randomChoice } from \"random-uint-below\";\nimport { mustBeInsideWorker } from \"../../../inside-worker\";\nimport { addOrientationSuffix } from \"../../addOrientationSuffix\";\nimport { dynamic3x3x3min2phase } from \"../dynamic/3x3x3\";\nimport { toMin2PhaseState } from \"./convert\";\nimport { passesFilter } from \"./filter\";\nimport { sgs3x3x3 } from \"./legacy-sgs\";\n\nexport async function random333State(): Promise<KState> {\n const kpuzzle = await puzzles[\"3x3x3\"].kpuzzle();\n let state = kpuzzle.startState();\n for (const piece of sgs3x3x3) {\n state = state.applyAlg(Alg.fromString(randomChoice(piece)));\n }\n if (!passesFilter(kpuzzle, state)) {\n return random333State();\n }\n return state;\n}\n\nexport async function solve333(s: KState): Promise<Alg> {\n mustBeInsideWorker();\n return Alg.fromString(\n (await dynamic3x3x3min2phase).solveState(toMin2PhaseState(s)),\n );\n}\n\nexport async function random333Scramble(): Promise<Alg> {\n return solve333(await random333State());\n}\n\nexport async function initialize333(): Promise<void> {\n (await dynamic3x3x3min2phase).initialize();\n}\n\nconst randomSuffixes = [\n [null, \"Rw\", \"Rw2\", \"Rw'\", \"Fw\", \"Fw'\"],\n [null, \"Dw\", \"Dw2\", \"Dw'\"],\n];\n\nexport async function random333OrientedScramble(): Promise<Alg> {\n return addOrientationSuffix(await random333Scramble(), randomSuffixes);\n}\n\nconst extraBit = new Alg(\"R' U' F\");\nexport async function random333FewestMovesScramble(): Promise<Alg> {\n const algBuilder = new AlgBuilder();\n const unorientedScramble = await random333Scramble();\n algBuilder.experimentalPushAlg(extraBit);\n // TODO:Avoid cancellable moves.\n algBuilder.experimentalPushAlg(unorientedScramble);\n algBuilder.experimentalPushAlg(extraBit);\n return algBuilder.toAlg();\n}\n"],
|
|
5
|
-
"mappings": "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A;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,CAAC,IAAI,mCAAmC,iCAAiC;AAC3E;;;ACvRA,eAAsB,iBAAkC;AACtD,QAAM,UAAU,MAAM,QAAQ,SAAS,QAAQ;AAC/C,MAAI,QAAQ,QAAQ,WAAW;AAC/B,aAAW,SAAS,UAAU;AAC5B,YAAQ,MAAM,SAAS,IAAI,WAAW,aAAa,KAAK,CAAC,CAAC;AAAA,EAC5D;AACA,MAAI,CAAC,aAAa,SAAS,KAAK,GAAG;AACjC,WAAO,eAAe;AAAA,EACxB;AACA,SAAO;AACT;AAEA,eAAsB,SAAS,GAAyB;AACtD,qBAAmB;AACnB,SAAO,IAAI;AAAA,KACR,MAAM,uBAAuB,WAAW,iBAAiB,CAAC,CAAC;AAAA,EAC9D;AACF;AAEA,eAAsB,oBAAkC;AACtD,SAAO,SAAS,MAAM,eAAe,CAAC;AACxC;AAEA,eAAsB,gBAA+B;AACnD,GAAC,MAAM,uBAAuB,WAAW;AAC3C;AAEA,IAAM,iBAAiB;AAAA,EACrB,CAAC,MAAM,MAAM,OAAO,OAAO,MAAM,KAAK;AAAA,EACtC,CAAC,MAAM,MAAM,OAAO,KAAK;AAC3B;AAEA,eAAsB,4BAA0C;AAC9D,SAAO,qBAAqB,MAAM,kBAAkB,GAAG,cAAc;AACvE;AAEA,IAAM,WAAW,IAAI,IAAI,SAAS;AAClC,eAAsB,+BAA6C;AACjE,QAAM,aAAa,IAAI,WAAW;AAClC,QAAM,qBAAqB,MAAM,kBAAkB;AACnD,aAAW,oBAAoB,QAAQ;AAEvC,aAAW,oBAAoB,kBAAkB;AACjD,aAAW,oBAAoB,QAAQ;AACvC,SAAO,WAAW,MAAM;AAC1B;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/kpuzzle";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/notation";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/protocol";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/puzzle-geometry";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/puzzles";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/scramble";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/search";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/stream";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../types/twisty";
|
package/dist/types/.DS_Store
DELETED
|
Binary file
|